diff --git a/types/r-script/r-script-tests.ts b/types/r-script/r-script-tests.ts index 91ad055c735029..0b93de0c111e8d 100644 --- a/types/r-script/r-script-tests.ts +++ b/types/r-script/r-script-tests.ts @@ -1,4 +1,4 @@ -import R = require('r-script'); +import R = require("r-script"); function RPromise(r: R): Promise { return new Promise((resolve, reject) => { @@ -14,7 +14,7 @@ function RPromise(r: R): Promise { const options: R.Options = { dataframe: "rows", - anotherRandomOption: true + anotherRandomOption: true, }; const result1 = R("foo.R").data("string data param", "another one").callSync(); const result2 = R("foo.R").data("string data param", "another one").callSync(options); diff --git a/types/r7insight_js/index.d.ts b/types/r7insight_js/index.d.ts index e981358c3a89d3..e24ee4cef6ad0a 100644 --- a/types/r7insight_js/index.d.ts +++ b/types/r7insight_js/index.d.ts @@ -15,7 +15,7 @@ export interface Options { /** * The Insight log region */ - region: 'eu' | 'us'; + region: "eu" | "us"; /** * Use SSL/TLS to send events @@ -40,7 +40,7 @@ export interface Options { /** * Append basic information about browser capabilities */ - page_info?: 'never' | 'per-page' | 'per-entry'; + page_info?: "never" | "per-page" | "per-entry"; /** * Echo events to the screen via the console object. This will logged at the same level as the call to R7Insight, e.g. R7Insight.warn(msg) => console.warn(msg) diff --git a/types/r7insight_js/r7insight_js-tests.ts b/types/r7insight_js/r7insight_js-tests.ts index c585483c69992e..177c8b672549b7 100644 --- a/types/r7insight_js/r7insight_js-tests.ts +++ b/types/r7insight_js/r7insight_js-tests.ts @@ -1,4 +1,4 @@ -import { error, info, init, log, warn } from 'r7insight_js'; +import { error, info, init, log, warn } from "r7insight_js"; // @ts-expect-error init(); @@ -7,55 +7,55 @@ init(); init({}); // @ts-expect-error -init({ token: 'token' }); +init({ token: "token" }); // @ts-expect-error -init({ region: 'eu' }); +init({ region: "eu" }); -init({ token: 'token', region: 'eu' }); // $ExpectType void +init({ token: "token", region: "eu" }); // $ExpectType void init({ - token: 'token', - region: 'eu', + token: "token", + region: "eu", ssl: true, catchall: true, trace: true, no_format: true, - page_info: 'never', + page_info: "never", print: true, }); -const string = 'value'; -const obj = { key: 'value' }; +const string = "value"; +const obj = { key: "value" }; // @ts-expect-error log(); log(undefined); -log('Message'); // $ExpectType void -log('Message with', string, ' and some objects: ', obj, 1); +log("Message"); // $ExpectType void +log("Message with", string, " and some objects: ", obj, 1); log(obj); log(obj, obj); // @ts-expect-error error(); error(undefined); -error('Message'); // $ExpectType void -error('Message with', string, ' and some objects: ', obj, 1); +error("Message"); // $ExpectType void +error("Message with", string, " and some objects: ", obj, 1); error(obj); error(obj, obj); // @ts-expect-error warn(); warn(undefined); -warn('Message'); // $ExpectType void -warn('Message with', string, ' and some objects: ', obj, 1); +warn("Message"); // $ExpectType void +warn("Message with", string, " and some objects: ", obj, 1); warn(obj); warn(obj, obj); // @ts-expect-error info(); info(undefined); -info('Message'); // $ExpectType void -info('Message with', string, ' and some objects: ', obj, 1); +info("Message"); // $ExpectType void +info("Message with", string, " and some objects: ", obj, 1); info(obj); info(obj, obj); diff --git a/types/rabbit.js/index.d.ts b/types/rabbit.js/index.d.ts index c93b9898e716ae..eb33279d840c8d 100644 --- a/types/rabbit.js/index.d.ts +++ b/types/rabbit.js/index.d.ts @@ -5,9 +5,8 @@ /// - -import events = require('events'); -import stream = require('stream'); +import events = require("events"); +import stream = require("stream"); export declare function createContext(url?: string): Context; diff --git a/types/rabbit.js/rabbit.js-tests.ts b/types/rabbit.js/rabbit.js-tests.ts index c31575320bb621..a7c48ba6fe804d 100644 --- a/types/rabbit.js/rabbit.js-tests.ts +++ b/types/rabbit.js/rabbit.js-tests.ts @@ -1,32 +1,41 @@ - -import rabbit = require('rabbit.js'); +import rabbit = require("rabbit.js"); var context = rabbit.createContext(); -context.on('ready', function () { console.log('ready'); }); +context.on("ready", function() { + console.log("ready"); +}); -var pub = context.socket('PUB'); -var sub = context.socket('SUB'); -var push = context.socket('PUSH'); -var pull = context.socket('PULL'); -var req = context.socket('REQ'); -var rep = context.socket('REP'); -var task = context.socket('TASK'); -var worker = context.socket('WORKER'); +var pub = context.socket("PUB"); +var sub = context.socket("SUB"); +var push = context.socket("PUSH"); +var pull = context.socket("PULL"); +var req = context.socket("REQ"); +var rep = context.socket("REP"); +var task = context.socket("TASK"); +var worker = context.socket("WORKER"); -pub.connect('chat'); -pub.write('hello', 'utf8'); +pub.connect("chat"); +pub.write("hello", "utf8"); pub.close(); -sub.connect('chat'); -sub.on('data', function (msg: string) { console.log(msg); }); +sub.connect("chat"); +sub.on("data", function(msg: string) { + console.log(msg); +}); sub.close(); -rep.setEncoding('utf8'); -rep.on('data', function (msg: string) { rep.write('msg', 'utf8'); }); -rep.connect('uppercase'); -req.connect('uppercase', function () { req.pipe(process.stdout); }); +rep.setEncoding("utf8"); +rep.on("data", function(msg: string) { + rep.write("msg", "utf8"); +}); +rep.connect("uppercase"); +req.connect("uppercase", function() { + req.pipe(process.stdout); +}); -push.connect('items', function () { pull.pipe(push); }); +push.connect("items", function() { + pull.pipe(push); +}); push.close(); -pull.connect('items', function () {}); +pull.connect("items", function() {}); pull.close(); diff --git a/types/rabbitmq-schema/index.d.ts b/types/rabbitmq-schema/index.d.ts index d9b1362e3b80c4..175f56967bbf6d 100644 --- a/types/rabbitmq-schema/index.d.ts +++ b/types/rabbitmq-schema/index.d.ts @@ -30,16 +30,16 @@ interface Exchange extends Topology { } interface FanoutExchange extends Exchange { - type: 'fanout'; + type: "fanout"; } interface TopicExchange extends Exchange { - type: 'topic'; + type: "topic"; bindings: TopicBinding[]; } interface DirectExchange extends Exchange { - type: 'direct'; + type: "direct"; bindings: DirectBinding[]; } diff --git a/types/rabbitmq-schema/rabbitmq-schema-tests.ts b/types/rabbitmq-schema/rabbitmq-schema-tests.ts index 067c9c3c5adda3..bbebf92900b5aa 100644 --- a/types/rabbitmq-schema/rabbitmq-schema-tests.ts +++ b/types/rabbitmq-schema/rabbitmq-schema-tests.ts @@ -1,16 +1,16 @@ -import RabbitMqSchema = require('rabbitmq-schema'); +import RabbitMqSchema = require("rabbitmq-schema"); const topology = {}; -const rabbitSchema = new RabbitMqSchema({}, ''); +const rabbitSchema = new RabbitMqSchema({}, ""); rabbitSchema.getExchanges(); rabbitSchema.getBindings(); rabbitSchema.getQueues(); rabbitSchema.getDirectBindings(); -rabbitSchema.getQueueByName('images.jpeg.get'); -rabbitSchema.getExchangeByName('images'); +rabbitSchema.getQueueByName("images.jpeg.get"); +rabbitSchema.getExchangeByName("images"); rabbitSchema.validate(topology); -rabbitSchema.validateMessage('images', 'images.jpeg.get', {testMsg: 'ok'}); +rabbitSchema.validateMessage("images", "images.jpeg.get", { testMsg: "ok" }); diff --git a/types/radium/index.d.ts b/types/radium/index.d.ts index 829b2f6eb6bf6f..161b801e5312ae 100644 --- a/types/radium/index.d.ts +++ b/types/radium/index.d.ts @@ -7,7 +7,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export default Radium; @@ -46,7 +46,7 @@ declare namespace Radium { * StyleRoot component properties */ export interface StyleRootProps extends React.HTMLProps { - radiumConfig?: RadiumConfig | undefined + radiumConfig?: RadiumConfig | undefined; } /** * @@ -114,5 +114,4 @@ declare namespace Radium { } var TestMode: RadiumTestMode; - } diff --git a/types/radium/radium-tests.tsx b/types/radium/radium-tests.tsx index 67eb4a5cdf2470..59ec3d7fb5e948 100644 --- a/types/radium/radium-tests.tsx +++ b/types/radium/radium-tests.tsx @@ -1,13 +1,11 @@ -import * as React from "react"; import Radium from "radium"; - +import * as React from "react"; @Radium class TestComponent extends React.Component<{ a: number }> { - render() { return ( -
+
Test with Radium
); @@ -17,69 +15,73 @@ class TestComponent extends React.Component<{ a: number }> { let TestStatelessComponent = (props: { a: number }) =>
; TestStatelessComponent = Radium(TestStatelessComponent); - - +; @Radium({ userAgent: "test", - matchMedia: window.matchMedia + matchMedia: window.matchMedia, }) class TestComponentWithConfig extends React.Component<{ a?: number | undefined }> { render() { return (
- - + -
- ) + ); } } - +; -class TestComponentWithConfigInStyleRoot - extends React.Component<{ a?: number | undefined }> { +class TestComponentWithConfigInStyleRoot extends React.Component<{ a?: number | undefined }> { render() { return (
- - + -
- ) + ); } } - +; Radium.TestMode.enable(); diff --git a/types/radius/index.d.ts b/types/radius/index.d.ts index 70b16fb3a4d096..e4ff61087676b6 100644 --- a/types/radius/index.d.ts +++ b/types/radius/index.d.ts @@ -5,81 +5,75 @@ /// - /** * {@link https://github.com/retailnext/node-radius#radiusdecodeargs} for more info. - **/ + */ export declare function decode(args: DecodeArgsWithSecret): RadiusPacket; /** * {@link https://github.com/retailnext/node-radius#radiusdecode_without_secretargs} for more info. - **/ + */ export declare function decode_without_secret(args: DecodeArgs): RadiusPacket; /** * {@link https://github.com/retailnext/node-radius#radiusencodeargs} for more info. - **/ + */ export declare function encode(args: EncodeArgs): Buffer; /** * {@link https://github.com/retailnext/node-radius#radiusencode_responseargs} for more info. - **/ + */ export declare function encode_response(args: EncodeResponseArgs): Buffer; /** * {@link https://github.com/retailnext/node-radius#radiusverify_responseargs} for more info. - **/ + */ export declare function verify_response(args: VerifyResponseArgs): boolean; /** * {@link https://github.com/retailnext/node-radius#radiusadd_dictionarypath} for more info. - * + * * @param path Can be either a path to a file or a directory. - **/ + */ export declare function add_dictionary(path: string): void; export declare function unload_dictionaries(): void; - - - - - /** * {@link https://github.com/retailnext/node-radius#radiusdecode_without_secretargs} for more info. - **/ + */ interface DecodeArgs { packet: Buffer; } /** * {@link https://github.com/retailnext/node-radius#radiusdecodeargs} for more info. - **/ + */ interface DecodeArgsWithSecret extends DecodeArgs { secret: string; } /** * {@link https://github.com/retailnext/node-radius#radiusencodeargs} for more info. - **/ + */ interface EncodeArgs { code: string; secret: string; identifier?: number | undefined; /** - * This can be an object: { attribute_name: attribute_value, ... }, + * This can be an object: { attribute_name: attribute_value, ... }, * an array within an array: [ [ attribute_name, attribute_value ], ... ], * or if you haven't loaded a dictionary for the attributes: [ [ attribute_id, Buffer ], ... ]. - * + * * Tag field-attributes can be specified like so: [ [ attribute_name, tag_number, attribute_value ] ... ] - **/ + */ attributes?: any; add_message_authenticator?: boolean | undefined; } /** * {@link https://github.com/retailnext/node-radius#radiusencode_responseargs} for more info. - **/ + */ interface EncodeResponseArgs { packet: RadiusPacket; code: string; @@ -89,7 +83,7 @@ interface EncodeResponseArgs { /** * {@link https://github.com/retailnext/node-radius#radiusverify_responseargs} for more info. - **/ + */ interface VerifyResponseArgs { request: Buffer; response: Buffer; @@ -101,5 +95,5 @@ interface RadiusPacket { identifier: number; length: number; attributes: any; - raw_attributes: Array> + raw_attributes: Array>; } diff --git a/types/radius/radius-tests.ts b/types/radius/radius-tests.ts index c0622966e807e2..bf84e4aed6d1e6 100644 --- a/types/radius/radius-tests.ts +++ b/types/radius/radius-tests.ts @@ -1,6 +1,6 @@ -import radius = require('radius'); +import radius = require("radius"); -var radius_secret: string = "shhhh" +var radius_secret: string = "shhhh"; radius.add_dictionary("./"); var encodedPacket: Buffer = radius.encode({ @@ -9,13 +9,13 @@ var encodedPacket: Buffer = radius.encode({ attributes: { "NAS-IP-Address": "10.5.5.5", "User-Name": "me", - "User-Password": "its-a-secret" - } + "User-Password": "its-a-secret", + }, }); var radiusPacket: radius.RadiusPacket = radius.decode({ packet: encodedPacket, - secret: radius_secret + secret: radius_secret, }); var response: Buffer; @@ -24,18 +24,18 @@ if (radiusPacket.attributes["User-Name"] == "me" && radiusPacket.attributes["Use response = radius.encode_response({ packet: radiusPacket, code: "Access-Accept", - secret: radius_secret + secret: radius_secret, }); } else { response = radius.encode_response({ packet: radiusPacket, code: "Access-Reject", - secret: radius_secret + secret: radius_secret, }); } console.log(radius.verify_response({ request: encodedPacket, response: response, - secret: radius_secret + secret: radius_secret, })); diff --git a/types/radix64/index.d.ts b/types/radix64/index.d.ts index f376184fce46c5..c3cc9e2e386a11 100644 --- a/types/radix64/index.d.ts +++ b/types/radix64/index.d.ts @@ -3,7 +3,7 @@ // Definitions by: Jeow Li Huan // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -type MethodsString = 'base64' | 'base64URL' | 'base64URLNaturalSort' | 'base64URLASCIISort'; +type MethodsString = "base64" | "base64URL" | "base64URLNaturalSort" | "base64URLASCIISort"; interface MethodsEnum { BASE64: MethodsString; diff --git a/types/radix64/radix64-tests.ts b/types/radix64/radix64-tests.ts index a77554c2380bb6..2c1df909e20906 100644 --- a/types/radix64/radix64-tests.ts +++ b/types/radix64/radix64-tests.ts @@ -4,7 +4,7 @@ const num: string = radix64.radix64(42); const numAndEnum: string = radix64.radix64(1337, radix64.methods.BASE64NATURAL); -const numAndString: string = radix64.radix64(1337, 'base64URL'); +const numAndString: string = radix64.radix64(1337, "base64URL"); const asciiNum: string = radix64.ascii64(42); diff --git a/types/raf/index.d.ts b/types/raf/index.d.ts index d54b1c6e6c5ae4..b4d440d91aaa7b 100644 --- a/types/raf/index.d.ts +++ b/types/raf/index.d.ts @@ -4,9 +4,9 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare const raf: { - (callback: (timestamp: number) => void): number; - cancel: (handle: number) => void; - polyfill: (globalObject?: any) => void; + (callback: (timestamp: number) => void): number; + cancel: (handle: number) => void; + polyfill: (globalObject?: any) => void; }; export = raf; diff --git a/types/raf/raf-tests.ts b/types/raf/raf-tests.ts index c3da3cbd01c664..5f033a972d3cb0 100644 --- a/types/raf/raf-tests.ts +++ b/types/raf/raf-tests.ts @@ -1,7 +1,7 @@ import * as raf from "raf"; const handle = raf((timestamp) => { - timestamp; // $ExpectType number + timestamp; // $ExpectType number }); handle; // $ExpectType number diff --git a/types/rails__actioncable/index.d.ts b/types/rails__actioncable/index.d.ts index dadd665afc78d7..085dd1cd6ef8c5 100644 --- a/types/rails__actioncable/index.d.ts +++ b/types/rails__actioncable/index.d.ts @@ -7,17 +7,17 @@ export as namespace ActionCable; export enum MessageTypes { - confirmation = 'confirm_subscription', - disconnect = 'disconnect', - ping = 'ping', - rejection = 'reject_subscription', - welcome = 'welcome', + confirmation = "confirm_subscription", + disconnect = "disconnect", + ping = "ping", + rejection = "reject_subscription", + welcome = "welcome", } export enum DisconnectReasons { - invalid_request = 'invalid_request', - server_restart = 'server_restart', - unauthorized = 'unauthorized', + invalid_request = "invalid_request", + server_restart = "server_restart", + unauthorized = "unauthorized", } export interface Mixin { @@ -48,10 +48,10 @@ export interface ChannelNameWithParams { * @see https://github.com/rails/rails/blob/main/actioncable/app/javascript/action_cable/internal.js */ export const INTERNAL: { - default_mount_path: '/cable'; + default_mount_path: "/cable"; disconnect_reasons: typeof DisconnectReasons; message_types: typeof MessageTypes; - protocols: ['actioncable-v1-json', 'actioncable-unsupported']; + protocols: ["actioncable-v1-json", "actioncable-unsupported"]; }; /** diff --git a/types/rails__actioncable/rails__actioncable-tests.ts b/types/rails__actioncable/rails__actioncable-tests.ts index 6a70ab392c95d1..6c70849e1178dd 100644 --- a/types/rails__actioncable/rails__actioncable-tests.ts +++ b/types/rails__actioncable/rails__actioncable-tests.ts @@ -2,15 +2,15 @@ import { Connection, ConnectionMonitor, Consumer, - createWebSocketURL, createConsumer, + createWebSocketURL, + DisconnectReasons, INTERNAL, + logger, + MessageTypes, Subscription, Subscriptions, - MessageTypes, - DisconnectReasons, - logger, -} from '@rails/actioncable'; +} from "@rails/actioncable"; INTERNAL.message_types.welcome; INTERNAL.message_types.disconnect; @@ -22,14 +22,14 @@ INTERNAL.disconnect_reasons.unauthorized; INTERNAL.disconnect_reasons.invalid_request; INTERNAL.disconnect_reasons.server_restart; -createWebSocketURL('url'); // $ExpectType string +createWebSocketURL("url"); // $ExpectType string logger.enabled = true; /** * Consumer */ -const consumer = new Consumer('url'); // $ExpectType Consumer -createConsumer('url'); // $ExpectType Consumer +const consumer = new Consumer("url"); // $ExpectType Consumer +createConsumer("url"); // $ExpectType Consumer consumer.url; // $ExpectType string @@ -40,7 +40,7 @@ consumer.ensureActiveConnection(); // $ExpectType boolean | void { const subscription = consumer.subscriptions.create( - { channel: 'channel', room: 'room', chat_id: 1 }, + { channel: "channel", room: "room", chat_id: 1 }, { received(data) { this.appendLine(data); @@ -50,14 +50,14 @@ consumer.ensureActiveConnection(); // $ExpectType boolean | void const element = document.querySelector("[data-chat-room='Best Room']"); if (element) { - element.insertAdjacentHTML('beforeend', html); + element.insertAdjacentHTML("beforeend", html); } }, createLine(data: any) { return `
- ${data['sent_by']} - ${data['body']} + ${data["sent_by"]} + ${data["body"]}
`; }, @@ -82,22 +82,22 @@ consumer.ensureActiveConnection(); // $ExpectType boolean | void } }, appear() { - this.perform('appear', { appearing_on: this.appearingOn }); + this.perform("appear", { appearing_on: this.appearingOn }); }, away() { - this.perform('away'); + this.perform("away"); }, install() { - window.addEventListener('focus', this.update); - window.addEventListener('blur', this.update); - document.addEventListener('turbolinks:load', this.update); - document.addEventListener('visibilitychange', this.update); + window.addEventListener("focus", this.update); + window.addEventListener("blur", this.update); + document.addEventListener("turbolinks:load", this.update); + document.addEventListener("visibilitychange", this.update); }, uninstall() { - window.removeEventListener('focus', this.update); - window.removeEventListener('blur', this.update); - document.removeEventListener('turbolinks:load', this.update); - document.removeEventListener('visibilitychange', this.update); + window.removeEventListener("focus", this.update); + window.removeEventListener("blur", this.update); + document.removeEventListener("turbolinks:load", this.update); + document.removeEventListener("visibilitychange", this.update); }, }, ); @@ -114,8 +114,8 @@ Connection.reopenDelay; // $ExpectType number // $ExpectType any Connection.events.message({ data: { - identifier: 'string', - message: 'message', + identifier: "string", + message: "message", reason: DisconnectReasons.invalid_request, reconnect: true, type: MessageTypes.confirmation, @@ -156,8 +156,8 @@ connectionMonitor.recordDisconnect(); // $ExpectType void */ const subscription = new Subscription(consumer); // $ExpectType Subscription -subscription.perform('action'); // $ExpectType boolean -subscription.perform('action', {}); // $ExpectType boolean +subscription.perform("action"); // $ExpectType boolean +subscription.perform("action", {}); // $ExpectType boolean subscription.send({}); // $ExpectType boolean subscription.unsubscribe(); // $ExpectType Subscription @@ -166,8 +166,8 @@ subscription.unsubscribe(); // $ExpectType Subscription */ const subscriptions = new Subscriptions(consumer); // $ExpectType Subscriptions -subscriptions.create('channel'); // $ExpectType Subscription & Mixin -subscriptions.create({ channel: 'channel', room: 'room' }); // $ExpectType Subscription & Mixin +subscriptions.create("channel"); // $ExpectType Subscription & Mixin +subscriptions.create({ channel: "channel", room: "room" }); // $ExpectType Subscription & Mixin // @ts-expect-error subscriptions.add(subscription); // @ts-expect-error @@ -181,9 +181,9 @@ subscriptions.findAll(subscription.identifier); // @ts-expect-error subscriptions.reload(); // @ts-expect-error -subscriptions.notifyAll('callbackName'); +subscriptions.notifyAll("callbackName"); // @ts-expect-error -subscriptions.notify(subscription, 'callbackName'); +subscriptions.notify(subscription, "callbackName"); // @ts-expect-error subscriptions.subscribe(subscription); // @ts-expect-error diff --git a/types/rails__activestorage/index.d.ts b/types/rails__activestorage/index.d.ts index 5186ffeecb7111..20c7c58a8fb5b2 100644 --- a/types/rails__activestorage/index.d.ts +++ b/types/rails__activestorage/index.d.ts @@ -12,7 +12,7 @@ export class DirectUpload { file: File; url: string; - constructor(file: File, url: string, delegate?: DirectUploadDelegate) + constructor(file: File, url: string, delegate?: DirectUploadDelegate); create(callback: (error: Error, blob: Blob) => void): void; } diff --git a/types/rails__activestorage/rails__activestorage-tests.ts b/types/rails__activestorage/rails__activestorage-tests.ts index 00b6e396d9f8ba..6d8baf4ebc93e7 100644 --- a/types/rails__activestorage/rails__activestorage-tests.ts +++ b/types/rails__activestorage/rails__activestorage-tests.ts @@ -1,6 +1,6 @@ -import * as ActiveStorage from '@rails/activestorage'; -import { FileChecksum } from '@rails/activestorage/src/file_checksum'; -import { BlobUpload } from '@rails/activestorage/src/blob_upload'; +import * as ActiveStorage from "@rails/activestorage"; +import { BlobUpload } from "@rails/activestorage/src/blob_upload"; +import { FileChecksum } from "@rails/activestorage/src/file_checksum"; ActiveStorage.start(); @@ -15,9 +15,9 @@ const delegate: ActiveStorage.DirectUploadDelegate = { }; const d = new ActiveStorage.DirectUpload( - new File([], 'blank.txt'), - '/rails/active_storage/direct_uploads', - delegate + new File([], "blank.txt"), + "/rails/active_storage/direct_uploads", + delegate, ); d.create((error, blob) => { @@ -29,7 +29,7 @@ d.create((error, blob) => { } }); -FileChecksum.create(new File([], 'blank.txt'), (error, checksum) => { +FileChecksum.create(new File([], "blank.txt"), (error, checksum) => { if (error) { console.log(error); } else { @@ -38,14 +38,14 @@ FileChecksum.create(new File([], 'blank.txt'), (error, checksum) => { }); const upload = new BlobUpload({ - file: new File([], 'blank.txt'), + file: new File([], "blank.txt"), directUploadData: { - headers: { 'X-CSRF-Token': 'qweasdzxc' }, - url: '/rails/active_storage/direct_uploads/xyz' + headers: { "X-CSRF-Token": "qweasdzxc" }, + url: "/rails/active_storage/direct_uploads/xyz", }, }); -upload.xhr.addEventListener('progress', event => console.log(event)); +upload.xhr.addEventListener("progress", event => console.log(event)); upload.create((error, response) => { if (error) { diff --git a/types/rails__activestorage/src/blob_upload.d.ts b/types/rails__activestorage/src/blob_upload.d.ts index 583967b98d4b2c..827b5d285850c3 100644 --- a/types/rails__activestorage/src/blob_upload.d.ts +++ b/types/rails__activestorage/src/blob_upload.d.ts @@ -1,13 +1,13 @@ export class BlobUpload { - constructor(blob: { - file: File; - directUploadData: { - headers: Record; - url: string; - }; - }); + constructor(blob: { + file: File; + directUploadData: { + headers: Record; + url: string; + }; + }); - create(callback: (error: Error, blob: Blob) => void): void; + create(callback: (error: Error, blob: Blob) => void): void; - xhr: XMLHttpRequest; + xhr: XMLHttpRequest; } diff --git a/types/rails__activestorage/src/file_checksum.d.ts b/types/rails__activestorage/src/file_checksum.d.ts index 8c888f655ac033..1258d79b9214e0 100644 --- a/types/rails__activestorage/src/file_checksum.d.ts +++ b/types/rails__activestorage/src/file_checksum.d.ts @@ -1,3 +1,3 @@ export namespace FileChecksum { - function create(file: File, callback: (error: Error, checksum: string) => void): void; + function create(file: File, callback: (error: Error, checksum: string) => void): void; } diff --git a/types/rails__ujs/index.d.ts b/types/rails__ujs/index.d.ts index a7604ee0a25406..c5fea4d6a5b361 100644 --- a/types/rails__ujs/index.d.ts +++ b/types/rails__ujs/index.d.ts @@ -3,21 +3,21 @@ // Definitions by: fsubal , abcang // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { SelectorObject } from './utils/dom'; +import { SelectorObject } from "./utils/dom"; -export * from './start'; +export * from "./start"; -export * from './features/confirm'; -export * from './features/disable'; -export * from './features/method'; -export * from './features/remote'; +export * from "./features/confirm"; +export * from "./features/disable"; +export * from "./features/method"; +export * from "./features/remote"; -export * from './utils/ajax'; -export * from './utils/csp'; -export * from './utils/csrf'; -export * from './utils/dom'; -export * from './utils/event'; -export * from './utils/form'; +export * from "./utils/ajax"; +export * from "./utils/csp"; +export * from "./utils/csrf"; +export * from "./utils/dom"; +export * from "./utils/event"; +export * from "./utils/form"; export as namespace Rails; diff --git a/types/rails__ujs/rails__ujs-tests.ts b/types/rails__ujs/rails__ujs-tests.ts index 61ffa31590282b..e9a5b62c5d79c4 100644 --- a/types/rails__ujs/rails__ujs-tests.ts +++ b/types/rails__ujs/rails__ujs-tests.ts @@ -1,40 +1,40 @@ -import * as Rails from '@rails/ujs'; +import * as Rails from "@rails/ujs"; if (!window._rails_loaded) { Rails.start(); } -fetch('https://example.com', { - method: 'POST', +fetch("https://example.com", { + method: "POST", headers: { - 'X-CSRF-Token': Rails.csrfToken()!, + "X-CSRF-Token": Rails.csrfToken()!, }, }); const formData = new FormData(); -formData.append('_method', 'delete'); +formData.append("_method", "delete"); formData.append(Rails.csrfParam()!, Rails.csrfToken()!); // @ts-expect-error formData.append(Rails.csrfParam(), Rails.csrfToken()); -Rails.delegate(document, '#batch_checkbox_all', 'change', ({ target }) => { - Array.from(document.querySelectorAll('.batch-checkbox input[type="checkbox"]'), content => { +Rails.delegate(document, "#batch_checkbox_all", "change", ({ target }) => { + Array.from(document.querySelectorAll(".batch-checkbox input[type=\"checkbox\"]"), content => { content.checked = (target as HTMLInputElement).checked; }); }); -Rails.delegate(window, '#batch_checkbox_all', 'change', console.log); +Rails.delegate(window, "#batch_checkbox_all", "change", console.log); Rails.loadCSPNonce(); Rails.cspNonce(); Rails.CSRFProtection(new XMLHttpRequest()); Rails.refreshCSRFTokens(); -const element = document.querySelector('.foo'); +const element = document.querySelector(".foo"); if (element) { // prettier-ignore - Rails.delegate(element, '#batch_checkbox_all', 'click', function(e) { + Rails.delegate(element, "#batch_checkbox_all", "click", function(e) { // $ExpectType HTMLElement const element = this; @@ -44,29 +44,29 @@ if (element) { console.log(event, element); }); - Rails.delegate(element, '#batch_checkbox_all', 'custom-event', (e: Event) => { + Rails.delegate(element, "#batch_checkbox_all", "custom-event", (e: Event) => { console.log(e); }); - Rails.fire(element, 'custom-event', { value: 1 }); + Rails.fire(element, "custom-event", { value: 1 }); - Rails.getData(element, 'test'); - Rails.setData(element, 'test', { a: 1 }); + Rails.getData(element, "test"); + Rails.setData(element, "test", { a: 1 }); - Rails.matches(element, '.hoge'); + Rails.matches(element, ".hoge"); Rails.matches(element, Rails.linkClickSelector); Rails.matches(element, Rails.buttonClickSelector); - Rails.confirm('are you sure ?'); - Rails.confirm('are you sure ?', element); + Rails.confirm("are you sure ?"); + Rails.confirm("are you sure ?", element); Rails.enableElement(element); Rails.disableElement(element); Rails.href(element); - element.addEventListener('click', e => { + element.addEventListener("click", e => { Rails.preventInsignificantClick(e); Rails.handleDisabledElement(e); Rails.enableElement(e); @@ -80,31 +80,31 @@ if (element) { }); } -const $element = Rails.$('.foo') as HTMLDivElement[]; +const $element = Rails.$(".foo") as HTMLDivElement[]; if (element) { - const url = 'https://example.com'; + const url = "https://example.com"; Rails.ajax({ - type: 'GET', + type: "GET", url, data: new FormData(), - dataType: 'json', + dataType: "json", beforeSend(xhr, options) { - if (Rails.fire(element, 'ajax:beforeSend', [xhr, options])) { - return Rails.fire(element, 'ajax:send', [xhr]); + if (Rails.fire(element, "ajax:beforeSend", [xhr, options])) { + return Rails.fire(element, "ajax:send", [xhr]); } else { - Rails.fire(element, 'ajax:stopped'); + Rails.fire(element, "ajax:stopped"); return false; } }, success(...args) { - return Rails.fire(element, 'ajax:success', args); + return Rails.fire(element, "ajax:success", args); }, error(...args) { - return Rails.fire(element, 'ajax:error', args); + return Rails.fire(element, "ajax:error", args); }, complete(...args) { - return Rails.fire(element, 'ajax:complete', args); + return Rails.fire(element, "ajax:complete", args); }, crossDomain: Rails.isCrossDomain(url), withCredentials: false, diff --git a/types/rails__ujs/utils/ajax.d.ts b/types/rails__ujs/utils/ajax.d.ts index 0be68f67d60594..b0226314c05d1d 100644 --- a/types/rails__ujs/utils/ajax.d.ts +++ b/types/rails__ujs/utils/ajax.d.ts @@ -4,9 +4,9 @@ export interface AjaxOptions { accept?: string | undefined; dataType?: string | undefined; beforeSend?: ((xhr: XMLHttpRequest, options: AjaxOptions) => void) | undefined; - success?: ((response: any, statusText: XMLHttpRequest['statusText'], xhr: XMLHttpRequest) => void) | undefined; - error?: ((response: any, statusText: XMLHttpRequest['statusText'], xhr: XMLHttpRequest) => void) | undefined; - complete?: ((xhr: XMLHttpRequest, statusText: XMLHttpRequest['statusText']) => void) | undefined; + success?: ((response: any, statusText: XMLHttpRequest["statusText"], xhr: XMLHttpRequest) => void) | undefined; + error?: ((response: any, statusText: XMLHttpRequest["statusText"], xhr: XMLHttpRequest) => void) | undefined; + complete?: ((xhr: XMLHttpRequest, statusText: XMLHttpRequest["statusText"]) => void) | undefined; data?: Document | BodyInit | null | undefined; crossDomain?: boolean | undefined; withCredentials?: boolean | undefined; diff --git a/types/rails__ujs/utils/event.d.ts b/types/rails__ujs/utils/event.d.ts index de3655faabfd12..b3a212afef3b9b 100644 --- a/types/rails__ujs/utils/event.d.ts +++ b/types/rails__ujs/utils/event.d.ts @@ -1,4 +1,4 @@ -import { SelectorObject } from './dom'; +import { SelectorObject } from "./dom"; export function fire(obj: EventTarget, name: string, data?: any): boolean; diff --git a/types/random-boolean/random-boolean-tests.ts b/types/random-boolean/random-boolean-tests.ts index 8ac983e111d490..56c95a31ddd8e9 100644 --- a/types/random-boolean/random-boolean-tests.ts +++ b/types/random-boolean/random-boolean-tests.ts @@ -1,4 +1,4 @@ -import randomBoolean = require('random-boolean'); +import randomBoolean = require("random-boolean"); // $ExpectType boolean randomBoolean(); diff --git a/types/random-bytes/random-bytes-tests.ts b/types/random-bytes/random-bytes-tests.ts index ed48f5d853af01..b496aca40ba980 100644 --- a/types/random-bytes/random-bytes-tests.ts +++ b/types/random-bytes/random-bytes-tests.ts @@ -1,4 +1,4 @@ -import randomBytes = require('random-bytes'); +import randomBytes = require("random-bytes"); // Callback-based signature. randomBytes(16, (err, buff) => { diff --git a/types/random-ipv6/index.d.ts b/types/random-ipv6/index.d.ts index 6a42d60a4ce798..24073f157d5551 100644 --- a/types/random-ipv6/index.d.ts +++ b/types/random-ipv6/index.d.ts @@ -3,7 +3,12 @@ // Definitions by: ocket8888 // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -interface Options extends Record { +interface Options extends + Record< + string | symbol, + boolean | undefined | { max?: number | string | undefined; min?: number | string | undefined } + > +{ compressed?: boolean | undefined; padded?: boolean | undefined; } diff --git a/types/random-ipv6/random-ipv6-tests.ts b/types/random-ipv6/random-ipv6-tests.ts index 963835b8db30eb..fa46383932a0a6 100644 --- a/types/random-ipv6/random-ipv6-tests.ts +++ b/types/random-ipv6/random-ipv6-tests.ts @@ -2,11 +2,16 @@ import randomIPv6 = require("random-ipv6"); randomIPv6(); // $ExpectType string randomIPv6({}); // $ExpectType string -randomIPv6({compressed: true}); // $ExpectType string -randomIPv6({padded: true}); // $ExpectType string -randomIPv6({compressed: true, padded: true}); // $ExpectType string +randomIPv6({ compressed: true }); // $ExpectType string +randomIPv6({ padded: true }); // $ExpectType string +randomIPv6({ compressed: true, padded: true }); // $ExpectType string randomIPv6("{token1}:{token2}:{token3}:{token4}:{token5}:{token6}:{token7}:{token8}"); // $ExpectType string randomIPv6("{token1}:{token2}:{token3}:{token4}:{token5}:{token6}:{token7}:{token8}", {}); // $ExpectType string -randomIPv6("{token1}:{token2}:{token3}:{token4}:{token5}:{token6}:{token7}:{token8}", {compressed: true}); // $ExpectType string -randomIPv6("{token1}:{token2}:{token3}:{token4}:{token5}:{token6}:{token7}:{token8}", {padded: true}); // $ExpectType string -randomIPv6("{token1}:{token2}:{token3}:{token4}:{token5}:{token6}:{token7}:{token8}", {compressed: true, padded: true}); // $ExpectType string +randomIPv6("{token1}:{token2}:{token3}:{token4}:{token5}:{token6}:{token7}:{token8}", { compressed: true }); // $ExpectType string +randomIPv6("{token1}:{token2}:{token3}:{token4}:{token5}:{token6}:{token7}:{token8}", { padded: true }); // $ExpectType string + +// $ExpectType string +randomIPv6("{token1}:{token2}:{token3}:{token4}:{token5}:{token6}:{token7}:{token8}", { + compressed: true, + padded: true, +}); diff --git a/types/random-name/random-name-tests.ts b/types/random-name/random-name-tests.ts index 5ed4ddbd4d7615..2788a02476a3d7 100644 --- a/types/random-name/random-name-tests.ts +++ b/types/random-name/random-name-tests.ts @@ -1,4 +1,4 @@ -import name = require('random-name'); +import name = require("random-name"); name.first(); // $ExpectType string name.last(); // $ExpectType string diff --git a/types/random-normal/random-normal-tests.ts b/types/random-normal/random-normal-tests.ts index fdff2756e7d036..a2a89e765aa5b5 100644 --- a/types/random-normal/random-normal-tests.ts +++ b/types/random-normal/random-normal-tests.ts @@ -1,4 +1,4 @@ -import randomNormal = require('random-normal'); +import randomNormal = require("random-normal"); // No options specified randomNormal(); // $ExpectType number diff --git a/types/random-number-csprng/random-number-csprng-tests.ts b/types/random-number-csprng/random-number-csprng-tests.ts index a24efc4050c9d0..edc907a717f442 100644 --- a/types/random-number-csprng/random-number-csprng-tests.ts +++ b/types/random-number-csprng/random-number-csprng-tests.ts @@ -1,4 +1,4 @@ -import randomNumber = require('random-number-csprng'); +import randomNumber = require("random-number-csprng"); randomNumber(1, 10); // $ExpectType Promise randomNumber(1, 10, () => {}); // $ExpectType Promise diff --git a/types/random-number/index.d.ts b/types/random-number/index.d.ts index 4f33b64d7276f1..81124c0a93ea4f 100644 --- a/types/random-number/index.d.ts +++ b/types/random-number/index.d.ts @@ -5,7 +5,7 @@ // TypeScript Version: 2.2 -type Generator = (min?: number|null, max?: number|null, integer?: boolean|null) => number; +type Generator = (min?: number | null, max?: number | null, integer?: boolean | null) => number; interface UnparsedOptions { min?: number | undefined; diff --git a/types/random-number/random-number-tests.ts b/types/random-number/random-number-tests.ts index 72a8fb4628e7e6..b77b216ad92a84 100644 --- a/types/random-number/random-number-tests.ts +++ b/types/random-number/random-number-tests.ts @@ -1,58 +1,58 @@ -import rn = require('random-number'); +import rn = require("random-number"); rn(); const options1 = { min: -1000, max: 1000, - integer: true + integer: true, }; rn(options1); const gen1 = rn.generator({ min: -1000, max: 1000, - integer: true + integer: true, }); gen1(); const gen2 = rn.generator({ min: -1000, max: 1000, - integer: true + integer: true, }); gen2(500); gen2(500, null, false); const options3 = { - min: 9874316514 + min: 9874316514, }; rn(options3); const options4 = { - max: -9874316514 + max: -9874316514, }; rn(options4); const options5 = { - integer: true + integer: true, }; rn(options5); const options6 = { min: -10, - max: -1 + max: -1, }; rn(options6); const options7 = { min: 1000, - integer: true + integer: true, }; rn(options7); const options8 = { max: 1000, - integer: true + integer: true, }; rn(options8); diff --git a/types/random-seed/random-seed-tests.ts b/types/random-seed/random-seed-tests.ts index 4c6f07dc28606a..257a95fbc8f244 100644 --- a/types/random-seed/random-seed-tests.ts +++ b/types/random-seed/random-seed-tests.ts @@ -1,11 +1,11 @@ -import { RandomSeed, create } from "random-seed"; +import { create, RandomSeed } from "random-seed"; // these generators produce different numbers const rand1: RandomSeed = create(); // method 1 // these generators will produce // the same sequence of numbers -const seed = 'My Secret String Value'; +const seed = "My Secret String Value"; const rand2 = create(seed); // API diff --git a/types/random-string-gen/random-string-gen-tests.ts b/types/random-string-gen/random-string-gen-tests.ts index 72e88c8a52b413..e9519bdcc49772 100644 --- a/types/random-string-gen/random-string-gen-tests.ts +++ b/types/random-string-gen/random-string-gen-tests.ts @@ -4,26 +4,26 @@ randomString(); randomString(7); -randomString('abc'); +randomString("abc"); randomString({ length: 16, - type: 'alphabetic', + type: "alphabetic", charset: "github", - capitalization: 'uppercase' + capitalization: "uppercase", }); randomString({ length: 12, - type: 'alphabetic' + type: "alphabetic", }); randomString({ - charset: 'abc' + charset: "abc", }); randomString({ length: 16, - charset: 'javascript', - capitalization: 'uppercase' + charset: "javascript", + capitalization: "uppercase", }); diff --git a/types/random-string/index.d.ts b/types/random-string/index.d.ts index 0297e67ce1fafa..a61583ffe2b794 100644 --- a/types/random-string/index.d.ts +++ b/types/random-string/index.d.ts @@ -3,6 +3,5 @@ // Definitions by: Sam Saint-Pettersen // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - declare function randomString(opts?: Object): string; export = randomString; diff --git a/types/random-string/random-string-tests.ts b/types/random-string/random-string-tests.ts index 4a6c3c5f1284e4..f243ac1a579c4f 100644 --- a/types/random-string/random-string-tests.ts +++ b/types/random-string/random-string-tests.ts @@ -1,10 +1,9 @@ - -import randomString = require('random-string'); +import randomString = require("random-string"); console.log(randomString()); console.log(randomString({ - length: 20, - numeric: true, - letters: true, - special: true + length: 20, + numeric: true, + letters: true, + special: true, })); diff --git a/types/random-useragent/random-useragent-tests.ts b/types/random-useragent/random-useragent-tests.ts index 53e1ab2fb7f31c..c08e23fe52ff76 100644 --- a/types/random-useragent/random-useragent-tests.ts +++ b/types/random-useragent/random-useragent-tests.ts @@ -1,7 +1,7 @@ -import { getAll, getAllData, getRandom, getRandomData, UserAgent } from 'random-useragent'; +import { getAll, getAllData, getRandom, getRandomData, UserAgent } from "random-useragent"; function filter(value: UserAgent) { - return value.browserName !== 'Chrome'; + return value.browserName !== "Chrome"; } // $ExpectType string diff --git a/types/random-web-token/index.d.ts b/types/random-web-token/index.d.ts index 62f1644197b6ee..aeafd4695900f3 100644 --- a/types/random-web-token/index.d.ts +++ b/types/random-web-token/index.d.ts @@ -3,8 +3,8 @@ // Definitions by: Rudolf // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -type Types = 'normal' | 'normal+' | 'medium' | 'medium+' | 'extra' | 'onlyNumbers'; -export { genSync, genAsync, withMyOwnCharacters, syncValidator, asyncValidator }; +type Types = "normal" | "normal+" | "medium" | "medium+" | "extra" | "onlyNumbers"; +export { asyncValidator, genAsync, genSync, syncValidator, withMyOwnCharacters }; /* * @description sync token generator * @@ -77,4 +77,9 @@ declare function syncValidator(type: Types, length: number, token: string, allow * @example asyncValidator("extra", 50, token, "") * @returns {Promise} */ -declare function asyncValidator(type: Types, length: number, token: string, allowedPlusCharacters?: string): Promise; +declare function asyncValidator( + type: Types, + length: number, + token: string, + allowedPlusCharacters?: string, +): Promise; diff --git a/types/random-web-token/random-web-token-tests.ts b/types/random-web-token/random-web-token-tests.ts index 9004d53fe0039d..6dc38a6779330b 100644 --- a/types/random-web-token/random-web-token-tests.ts +++ b/types/random-web-token/random-web-token-tests.ts @@ -1,13 +1,13 @@ -import token = require('random-web-token'); +import token = require("random-web-token"); function syncTest() { - const newToken = token.genSync('extra', 50); // $ExpectType string - token.syncValidator('extra', 50, newToken); // $ExpectType boolean + const newToken = token.genSync("extra", 50); // $ExpectType string + token.syncValidator("extra", 50, newToken); // $ExpectType boolean } async function asyncTest() { - const newToken = await token.genAsync('extra', 50); // $ExpectType string - const tokenWithMyOwnCharacters = await token.withMyOwnCharacters('abc123', 50); // $ExpectType string - const isValid = await token.asyncValidator('extra', 50, newToken); // $ExpectType boolean + const newToken = await token.genAsync("extra", 50); // $ExpectType string + const tokenWithMyOwnCharacters = await token.withMyOwnCharacters("abc123", 50); // $ExpectType string + const isValid = await token.asyncValidator("extra", 50, newToken); // $ExpectType boolean } syncTest(); diff --git a/types/random-word/random-word-tests.ts b/types/random-word/random-word-tests.ts index 3fe1f1b9dc9359..60cd475d218a91 100644 --- a/types/random-word/random-word-tests.ts +++ b/types/random-word/random-word-tests.ts @@ -1,3 +1,3 @@ -import randomWord = require('random-word'); +import randomWord = require("random-word"); randomWord(); diff --git a/types/randomatic/randomatic-tests.ts b/types/randomatic/randomatic-tests.ts index d6c22042e3f388..312f13b3875df2 100644 --- a/types/randomatic/randomatic-tests.ts +++ b/types/randomatic/randomatic-tests.ts @@ -1,7 +1,7 @@ -import randomize = require('randomatic'); +import randomize = require("randomatic"); -randomize('*', 10); // $ExpectedType string -randomize('?', 20, { chars: 'jonschlinkert' }); // $ExpectedType string -randomize('?', {chars: 'jonschlinkert'}); // $ExpectedType string -randomize('*', 20, { exclude: '0oOiIlL1' }); // $ExpectedType string +randomize("*", 10); // $ExpectedType string +randomize("?", 20, { chars: "jonschlinkert" }); // $ExpectedType string +randomize("?", { chars: "jonschlinkert" }); // $ExpectedType string +randomize("*", 20, { exclude: "0oOiIlL1" }); // $ExpectedType string randomize(10); // $ExpectTYpe string diff --git a/types/randombytes/index.d.ts b/types/randombytes/index.d.ts index 049f893870654d..fad296e9398654 100644 --- a/types/randombytes/index.d.ts +++ b/types/randombytes/index.d.ts @@ -5,7 +5,7 @@ /// -import { randomBytes as _randomBytes } from 'crypto'; +import { randomBytes as _randomBytes } from "crypto"; export = randomBytes; diff --git a/types/randombytes/randombytes-tests.ts b/types/randombytes/randombytes-tests.ts index 583fa685ec168c..b37876e02cf369 100644 --- a/types/randombytes/randombytes-tests.ts +++ b/types/randombytes/randombytes-tests.ts @@ -1,4 +1,4 @@ -import randomBytes = require('randombytes'); +import randomBytes = require("randombytes"); // $ExpectType Buffer randomBytes(16); diff --git a/types/randomcolor/randomcolor-tests.ts b/types/randomcolor/randomcolor-tests.ts index 679d220c647854..990db7d9a6cd33 100644 --- a/types/randomcolor/randomcolor-tests.ts +++ b/types/randomcolor/randomcolor-tests.ts @@ -6,47 +6,47 @@ randomColor(); // $ExpectType string[] randomColor({ count: 10, - hue: 'green' + hue: "green", }); // Returns a hex code for a light blue randomColor({ - luminosity: 'light', - hue: 'blue' + luminosity: "light", + hue: "blue", }); // Returns a hex code for a 'truly random' color randomColor({ - luminosity: 'random', - hue: 'random' + luminosity: "random", + hue: "random", }); // Returns a bright color in RGB randomColor({ - luminosity: 'bright', - format: 'rgb' // e.g. 'rgb(225,200,20)' + luminosity: "bright", + format: "rgb", // e.g. 'rgb(225,200,20)' }); // Returns a dark RGB color with random alpha randomColor({ - luminosity: 'dark', - format: 'rgba' // e.g. 'rgba(9, 1, 107, 0.6482447960879654)' + luminosity: "dark", + format: "rgba", // e.g. 'rgba(9, 1, 107, 0.6482447960879654)' }); // Returns a light HSL color with random alpha randomColor({ - luminosity: 'light', - format: 'hsla' // e.g. 'hsla(27, 88.99%, 81.83%, 0.6450211517512798)' + luminosity: "light", + format: "hsla", // e.g. 'hsla(27, 88.99%, 81.83%, 0.6450211517512798)' }); // Returns a dark RGB color with specified alpha randomColor({ - luminosity: 'dark', - format: 'rgba', - alpha: 0.5 // e.g. 'rgba(9, 1, 107, 0.5)', + luminosity: "dark", + format: "rgba", + alpha: 0.5, // e.g. 'rgba(9, 1, 107, 0.5)', }); // Support for setting hue from a hex color randomColor({ - hue: "#00FFFF" + hue: "#00FFFF", }); diff --git a/types/randomstring/index.d.ts b/types/randomstring/index.d.ts index 0191265f316f44..861b62f6ec6a2b 100644 --- a/types/randomstring/index.d.ts +++ b/types/randomstring/index.d.ts @@ -4,7 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare namespace Randomstring { - type Charset = "alphanumeric" + type Charset = + | "alphanumeric" | "alphabetic" | "numeric" | "hex" diff --git a/types/randomstring/randomstring-tests.ts b/types/randomstring/randomstring-tests.ts index fd2cbe58b80f50..e2cb96549d4a5e 100644 --- a/types/randomstring/randomstring-tests.ts +++ b/types/randomstring/randomstring-tests.ts @@ -8,14 +8,14 @@ randomstring.generate({ length: 12, readable: true, capitalization: undefined, - charset: "alphabetic" + charset: "alphabetic", }); randomstring.generate({ - charset: "abc" + charset: "abc", }); randomstring.generate({ charset: "octal", - capitalization: "uppercase" + capitalization: "uppercase", }); diff --git a/types/range-exclusive/range-exclusive-tests.ts b/types/range-exclusive/range-exclusive-tests.ts index 37718c9a680568..2ad6d6253d639f 100644 --- a/types/range-exclusive/range-exclusive-tests.ts +++ b/types/range-exclusive/range-exclusive-tests.ts @@ -1,4 +1,4 @@ -import rangeExclusive = require('range-exclusive'); +import rangeExclusive = require("range-exclusive"); rangeExclusive(10); // $ExpectType number[] rangeExclusive(3, 9); // $ExpectType number[] diff --git a/types/range-inclusive/range-inclusive-tests.ts b/types/range-inclusive/range-inclusive-tests.ts index c79196af04dd63..36c028f14ee8c7 100644 --- a/types/range-inclusive/range-inclusive-tests.ts +++ b/types/range-inclusive/range-inclusive-tests.ts @@ -1,4 +1,4 @@ -import rangeInclusive = require('range-inclusive'); +import rangeInclusive = require("range-inclusive"); rangeInclusive(10); // $ExpectType number[] rangeInclusive(3, 9); // $ExpectType number[] diff --git a/types/range-map/range-map-tests.ts b/types/range-map/range-map-tests.ts index 4bab06815acc00..450be64bd19dfc 100644 --- a/types/range-map/range-map-tests.ts +++ b/types/range-map/range-map-tests.ts @@ -1,4 +1,4 @@ -import rangeMap = require('range-map'); +import rangeMap = require("range-map"); const mapped = rangeMap(50, 0, 100, 0, 1000); // mapped == 500 diff --git a/types/range-parser/index.d.ts b/types/range-parser/index.d.ts index e973bf3d292195..2f40d52718fe75 100644 --- a/types/range-parser/index.d.ts +++ b/types/range-parser/index.d.ts @@ -10,7 +10,11 @@ * * @returns `-1` when unsatisfiable and `-2` when syntactically invalid, ranges otherwise. */ -declare function RangeParser(size: number, str: string, options?: RangeParser.Options): RangeParser.Result | RangeParser.Ranges; +declare function RangeParser( + size: number, + str: string, + options?: RangeParser.Options, +): RangeParser.Result | RangeParser.Ranges; declare namespace RangeParser { interface Ranges extends Array { diff --git a/types/range-parser/range-parser-tests.ts b/types/range-parser/range-parser-tests.ts index 2c18e3f9dcbb9e..0e908a1c57f857 100644 --- a/types/range-parser/range-parser-tests.ts +++ b/types/range-parser/range-parser-tests.ts @@ -1,4 +1,4 @@ -import RangeParser = require('range-parser'); +import RangeParser = require("range-parser"); declare var console: { assert(b: boolean): void }; @@ -7,7 +7,7 @@ console.assert(RangeParser(200, `bytes=500-20`) === -1); const range = RangeParser(1000, `bytes=0-499`); -if (typeof range !== 'number') { +if (typeof range !== "number") { console.assert(range.type === `bytes`); console.assert(range.length === 1); } diff --git a/types/range_check/range_check-tests.ts b/types/range_check/range_check-tests.ts index 00c314fdf86223..8669332ac9b846 100644 --- a/types/range_check/range_check-tests.ts +++ b/types/range_check/range_check-tests.ts @@ -1,53 +1,53 @@ -import assert = require('assert'); -import rangeCheck = require('range_check'); +import assert = require("assert"); +import rangeCheck = require("range_check"); // isIP (same function as validIp and valid_ip) -assert(rangeCheck.isIP('10.0.1.5')); // True +assert(rangeCheck.isIP("10.0.1.5")); // True // ver -assert(rangeCheck.ver('10.0.1.5') === 4); // IPv4 address, so returns 4. -assert(rangeCheck.ver('2001:4860:8006::62') === 6); // IPv6 address, so returns 6. -assert(rangeCheck.ver('foo') === 0); // Invalid, so returns 0. +assert(rangeCheck.ver("10.0.1.5") === 4); // IPv4 address, so returns 4. +assert(rangeCheck.ver("2001:4860:8006::62") === 6); // IPv6 address, so returns 6. +assert(rangeCheck.ver("foo") === 0); // Invalid, so returns 0. // isV4 -assert(rangeCheck.isV4('10.0.1.5')); // True -assert(!rangeCheck.isV4('foo')); // False -assert(!rangeCheck.isV4('123::123')); // False +assert(rangeCheck.isV4("10.0.1.5")); // True +assert(!rangeCheck.isV4("foo")); // False +assert(!rangeCheck.isV4("123::123")); // False // isV6 -assert(rangeCheck.isV6('123::123')); // True -assert(!rangeCheck.isV6('foo')); // False -assert(!rangeCheck.isV6('10.0.1.5')); // False +assert(rangeCheck.isV6("123::123")); // True +assert(!rangeCheck.isV6("foo")); // False +assert(!rangeCheck.isV6("10.0.1.5")); // False // storeIP (same function as searchIP) -assert(rangeCheck.storeIP('foo') === null); // Invalid address, so null. -assert(rangeCheck.storeIP('::ffff:127.0.0.1') === '127.0.0.1'); // IPv4 mapped as IPv6, so convert to IPv4. -assert(rangeCheck.storeIP('2001:0000:0111:0000:0011:0000:0001:0000') === '2001:0:111:0:11:0:1:0'); // Abbreviate IPv6 -assert(rangeCheck.storeIP('2001:0001:0000:0001:0000:0000:0000:0000') === '2001:1:0:1::'); // Abbreviate IPv6 -assert(rangeCheck.storeIP('0000:0000:0000:0000:0000:0000:0000:0000') === '::'); // Abbreviate IPv6 -assert(rangeCheck.storeIP('0000:0000:0000:0000:0000:0000:0000:0001') === '::1'); // Abbreviate IPv6 -assert(rangeCheck.storeIP('2041:0000:140F:0000:0000:0000:875B:131B') === '2041:0:140F::875B:131B'); // Abbreviate IPv6 -assert(rangeCheck.storeIP('2001:0001:0002:0003:0004:0005:0006:0007') === '2001:1:2:3:4:5:6:7'); // Abbreviate IPv6 -assert(rangeCheck.storeIP('127.0.0.1') === '127.0.0.1'); // Leave IPv4 addresses alone, so same as input. +assert(rangeCheck.storeIP("foo") === null); // Invalid address, so null. +assert(rangeCheck.storeIP("::ffff:127.0.0.1") === "127.0.0.1"); // IPv4 mapped as IPv6, so convert to IPv4. +assert(rangeCheck.storeIP("2001:0000:0111:0000:0011:0000:0001:0000") === "2001:0:111:0:11:0:1:0"); // Abbreviate IPv6 +assert(rangeCheck.storeIP("2001:0001:0000:0001:0000:0000:0000:0000") === "2001:1:0:1::"); // Abbreviate IPv6 +assert(rangeCheck.storeIP("0000:0000:0000:0000:0000:0000:0000:0000") === "::"); // Abbreviate IPv6 +assert(rangeCheck.storeIP("0000:0000:0000:0000:0000:0000:0000:0001") === "::1"); // Abbreviate IPv6 +assert(rangeCheck.storeIP("2041:0000:140F:0000:0000:0000:875B:131B") === "2041:0:140F::875B:131B"); // Abbreviate IPv6 +assert(rangeCheck.storeIP("2001:0001:0002:0003:0004:0005:0006:0007") === "2001:1:2:3:4:5:6:7"); // Abbreviate IPv6 +assert(rangeCheck.storeIP("127.0.0.1") === "127.0.0.1"); // Leave IPv4 addresses alone, so same as input. // displayIP -assert(rangeCheck.displayIP(null) === ''); // Null, so return an empty string. -assert(rangeCheck.displayIP('::ffff:127.0.0.1') === '127.0.0.1'); // IPv4 mapped as IPv6, so convert to IPv4. -assert(rangeCheck.displayIP('2001:0:111:0:11:0:1:0') === '2001:0000:0111:0000:0011:0000:0001:0000'); // Normalize IPv6 -assert(rangeCheck.displayIP('2001:1:0:1::') === '2001:0001:0000:0001:0000:0000:0000:0000'); // Normalize IPv6 -assert(rangeCheck.displayIP('::') === '0000:0000:0000:0000:0000:0000:0000:0000'); // Normalize IPv6 -assert(rangeCheck.displayIP('::1') === '0000:0000:0000:0000:0000:0000:0000:0001'); // Normalize IPv6 -assert(rangeCheck.displayIP('2041:0:140F::875B:131B') === '2041:0000:140F:0000:0000:0000:875B:131B'); // Normalize IPv6 -assert(rangeCheck.displayIP('2001:1:2:3:4:5:6:7') === '2001:0001:0002:0003:0004:0005:0006:0007'); // Normalize IPv6 -assert(rangeCheck.displayIP('127.0.0.1') === '127.0.0.1'); // Leave IPv4 addresses alone, so same as input. +assert(rangeCheck.displayIP(null) === ""); // Null, so return an empty string. +assert(rangeCheck.displayIP("::ffff:127.0.0.1") === "127.0.0.1"); // IPv4 mapped as IPv6, so convert to IPv4. +assert(rangeCheck.displayIP("2001:0:111:0:11:0:1:0") === "2001:0000:0111:0000:0011:0000:0001:0000"); // Normalize IPv6 +assert(rangeCheck.displayIP("2001:1:0:1::") === "2001:0001:0000:0001:0000:0000:0000:0000"); // Normalize IPv6 +assert(rangeCheck.displayIP("::") === "0000:0000:0000:0000:0000:0000:0000:0000"); // Normalize IPv6 +assert(rangeCheck.displayIP("::1") === "0000:0000:0000:0000:0000:0000:0000:0001"); // Normalize IPv6 +assert(rangeCheck.displayIP("2041:0:140F::875B:131B") === "2041:0000:140F:0000:0000:0000:875B:131B"); // Normalize IPv6 +assert(rangeCheck.displayIP("2001:1:2:3:4:5:6:7") === "2001:0001:0002:0003:0004:0005:0006:0007"); // Normalize IPv6 +assert(rangeCheck.displayIP("127.0.0.1") === "127.0.0.1"); // Leave IPv4 addresses alone, so same as input. // isRange (same function as validRange and valid_range) -assert(rangeCheck.isRange('2001:db8::/32')); // True -assert(rangeCheck.isRange('10.0.0.0/8')); // True -assert(!rangeCheck.isRange('qwerty')); // False +assert(rangeCheck.isRange("2001:db8::/32")); // True +assert(rangeCheck.isRange("10.0.0.0/8")); // True +assert(!rangeCheck.isRange("qwerty")); // False // inRange (same function as in_range) -assert(rangeCheck.inRange('10.0.1.5', '10.0.0.0/8')); // True -assert(!rangeCheck.inRange('192.0.1.5', '10.0.0.0/8')); // False -assert(rangeCheck.inRange('2001:db8:1234::1', '2001:db8::/32')); // True -assert(rangeCheck.inRange('192.168.1.1', ['10.0.0.0/8', '192.0.0.0/8'])); // True +assert(rangeCheck.inRange("10.0.1.5", "10.0.0.0/8")); // True +assert(!rangeCheck.inRange("192.0.1.5", "10.0.0.0/8")); // False +assert(rangeCheck.inRange("2001:db8:1234::1", "2001:db8::/32")); // True +assert(rangeCheck.inRange("192.168.1.1", ["10.0.0.0/8", "192.0.0.0/8"])); // True diff --git a/types/rangy/index.d.ts b/types/rangy/index.d.ts index 962482d90e1ce2..a46c68ef3803e7 100644 --- a/types/rangy/index.d.ts +++ b/types/rangy/index.d.ts @@ -5,70 +5,70 @@ // TypeScript Version: 3.2 interface RangyRange extends Range { - setStartAndEnd(startNode:Node, startOffset:number, endNode?:Node, endOffset?:number):any; - setStartAndEnd(startNode:Node, startOffset:number, endOffset:number):any; - canSurroundContents():boolean; - isValid():boolean; - toHtml():string; - compareNode(node:Node):any; - intersectsOrTouchesRange(range:RangyRange):boolean; - intersectsRange(range:RangyRange):boolean; - intersection(range:RangyRange):RangyRange; - union(range:RangyRange):RangyRange; - containsNode(node:Node, partial:boolean):boolean; - containsNodeContents(node:Node):boolean; - containsNodeText(node:Node):boolean; - containsRange(range:RangyRange):boolean; - splitBoundaries():any; - normalizeBoundaries():any; - collapseToPoint(node:Node, offset:number):any; - collapseBefore(node:Node):any; - collapseAfter(node:Node):any; - getNodes(nodeTypes?:any[], filter?:(node:Node) => boolean):Node[]; - getBookmark(containerNode?:Node):{start:number, end:number}; - moveToBookmark(bookmark:Object):any; - getDocument():Document; - inspect():string; - equals(range:RangyRange):boolean; - refresh():any; - select():any; - toCharacterRange(containerNode:Node, opts?: any):{start:number, end:number}; + setStartAndEnd(startNode: Node, startOffset: number, endNode?: Node, endOffset?: number): any; + setStartAndEnd(startNode: Node, startOffset: number, endOffset: number): any; + canSurroundContents(): boolean; + isValid(): boolean; + toHtml(): string; + compareNode(node: Node): any; + intersectsOrTouchesRange(range: RangyRange): boolean; + intersectsRange(range: RangyRange): boolean; + intersection(range: RangyRange): RangyRange; + union(range: RangyRange): RangyRange; + containsNode(node: Node, partial: boolean): boolean; + containsNodeContents(node: Node): boolean; + containsNodeText(node: Node): boolean; + containsRange(range: RangyRange): boolean; + splitBoundaries(): any; + normalizeBoundaries(): any; + collapseToPoint(node: Node, offset: number): any; + collapseBefore(node: Node): any; + collapseAfter(node: Node): any; + getNodes(nodeTypes?: any[], filter?: (node: Node) => boolean): Node[]; + getBookmark(containerNode?: Node): { start: number; end: number }; + moveToBookmark(bookmark: Object): any; + getDocument(): Document; + inspect(): string; + equals(range: RangyRange): boolean; + refresh(): any; + select(): any; + toCharacterRange(containerNode: Node, opts?: any): { start: number; end: number }; } interface RangySelection extends Selection { - nativeSelection:Selection; - isBackwards():boolean; - refresh(checkForChanges?:boolean):any; - toHtml():string; - getAllRanges():RangyRange[]; - getRangeAt(idx:number):RangyRange; - getNativeTextRange():any; - setSingleRange(range:RangyRange):any; - setRanges(ranges:RangyRange[]):any; - getBookmark(containerNode:Node):any; - moveToBookmark(bookmark:Object):any; - saveRanges():Object; - restoreRanges(saved:Object):any; - saveCharacterRanges(containerNode:Node, opts?: any):Object; - restoreCharacterRanges(containerNode:Node, characterRanges:Object, opts?: any):any; - detach():any; + nativeSelection: Selection; + isBackwards(): boolean; + refresh(checkForChanges?: boolean): any; + toHtml(): string; + getAllRanges(): RangyRange[]; + getRangeAt(idx: number): RangyRange; + getNativeTextRange(): any; + setSingleRange(range: RangyRange): any; + setRanges(ranges: RangyRange[]): any; + getBookmark(containerNode: Node): any; + moveToBookmark(bookmark: Object): any; + saveRanges(): Object; + restoreRanges(saved: Object): any; + saveCharacterRanges(containerNode: Node, opts?: any): Object; + restoreCharacterRanges(containerNode: Node, characterRanges: Object, opts?: any): any; + detach(): any; inspect(): string; move(units: string, count: number, opts?: any): number; } interface RangyStatic { - createNativeRange(doc?:Document|Window|HTMLIFrameElement):Range; - createRange(doc?:Document|Window|HTMLIFrameElement):RangyRange; - createRangyRange(doc?:Document|Window|HTMLIFrameElement):RangyRange; - getNativeSelection(win?:Window):Selection; - getSelection(doc?:Document|Window|HTMLIFrameElement):RangySelection; - addInitListener(listener:(rangy:RangyStatic) => void):any; - shim():any; - createMissingNativeApi():any; - initialized:boolean; - supported:boolean; + createNativeRange(doc?: Document | Window | HTMLIFrameElement): Range; + createRange(doc?: Document | Window | HTMLIFrameElement): RangyRange; + createRangyRange(doc?: Document | Window | HTMLIFrameElement): RangyRange; + getNativeSelection(win?: Window): Selection; + getSelection(doc?: Document | Window | HTMLIFrameElement): RangySelection; + addInitListener(listener: (rangy: RangyStatic) => void): any; + shim(): any; + createMissingNativeApi(): any; + initialized: boolean; + supported: boolean; } -declare module 'rangy' { +declare module "rangy" { export = rangy; } -declare var rangy:RangyStatic; +declare var rangy: RangyStatic; diff --git a/types/rangy/rangy-classapplier.d.ts b/types/rangy/rangy-classapplier.d.ts index 7f2ed2ad0a895d..15b4634c5dccf5 100644 --- a/types/rangy/rangy-classapplier.d.ts +++ b/types/rangy/rangy-classapplier.d.ts @@ -1,16 +1,20 @@ /// interface RangyStatic { - createClassApplier(theClass: string, options?: RangyClassApplierOptions, tagNames?: string|string[]): RangyClassApplier; + createClassApplier( + theClass: string, + options?: RangyClassApplierOptions, + tagNames?: string | string[], + ): RangyClassApplier; } interface RangyClassApplierOptions { elementTagName?: string | undefined; - elementProperties?: {[property: string]: string} | undefined; - elementAttributes?: {[attribute: string]: string} | undefined; + elementProperties?: { [property: string]: string } | undefined; + elementAttributes?: { [attribute: string]: string } | undefined; ignoreWhiteSpace?: boolean | undefined; applyToEditableOnly?: boolean | undefined; - tagNames?: string|string[] | undefined; + tagNames?: string | string[] | undefined; normalize?: boolean | undefined; onElementCreate?: ((element: Element, classApplier: RangyClassApplier) => void) | undefined; useExistingElements?: boolean | undefined; @@ -25,7 +29,7 @@ interface RangyClassApplier extends RangyClassApplierOptions { undoToRange(range: RangyRange): void; isAppliedToRange(range: RangyRange): boolean; toggleRange(range: RangyRange): void; - detach(doc?: Document|Window|HTMLIFrameElement): void; + detach(doc?: Document | Window | HTMLIFrameElement): void; className: string; cssClass: string; } diff --git a/types/rangy/rangy-tests.ts b/types/rangy/rangy-tests.ts index 2d7932ba222315..3b00f83a301251 100644 --- a/types/rangy/rangy-tests.ts +++ b/types/rangy/rangy-tests.ts @@ -1,63 +1,63 @@ /// -declare function assertAny(a:any):any; -declare function assertBoolean(b:boolean):any; -declare function assertString(s:string):any; -declare function assertRangyRange(r:RangyRange):any; -declare function getRangyRange():RangyRange; +declare function assertAny(a: any): any; +declare function assertBoolean(b: boolean): any; +declare function assertString(s: string): any; +declare function assertRangyRange(r: RangyRange): any; +declare function getRangyRange(): RangyRange; type TextRange = any; // ? function testRangyStatic() { - rangy.addInitListener((rangy:RangyStatic) => { + rangy.addInitListener((rangy: RangyStatic) => { }); rangy.createMissingNativeApi(); rangy.shim(); - let nativeRange:Range|TextRange = rangy.createNativeRange(document); + let nativeRange: Range | TextRange = rangy.createNativeRange(document); nativeRange = rangy.createNativeRange(window); - nativeRange = rangy.createNativeRange(new HTMLIFrameElement); + nativeRange = rangy.createNativeRange(new HTMLIFrameElement()); nativeRange = rangy.createNativeRange(); - let rangyRange:RangyRange = rangy.createRange(document); + let rangyRange: RangyRange = rangy.createRange(document); rangyRange = rangy.createRange(window); - rangyRange = rangy.createRange(new HTMLIFrameElement); + rangyRange = rangy.createRange(new HTMLIFrameElement()); rangyRange = rangy.createRange(); rangyRange = rangy.createRangyRange(document); rangyRange = rangy.createRangyRange(window); - rangyRange = rangy.createRangyRange(new HTMLIFrameElement); + rangyRange = rangy.createRangyRange(new HTMLIFrameElement()); rangyRange = rangy.createRangyRange(); - let nativeSelection:Selection = rangy.getNativeSelection(window); + let nativeSelection: Selection = rangy.getNativeSelection(window); nativeSelection = rangy.getNativeSelection(); - let rangySelection:RangySelection = rangy.getSelection(); + let rangySelection: RangySelection = rangy.getSelection(); - let initialized:boolean = rangy.initialized; - let supported:boolean = rangy.supported; + let initialized: boolean = rangy.initialized; + let supported: boolean = rangy.supported; } function testRangyRange() { - let rangyRange:RangyRange = rangy.createRange(); + let rangyRange: RangyRange = rangy.createRange(); assertBoolean(rangyRange.canSurroundContents()); - rangyRange.collapseAfter(new Node); - rangyRange.collapseBefore(new Node); - rangyRange.collapseToPoint(new Node, 23); - assertAny(rangyRange.compareNode(new Node)); - assertBoolean(rangyRange.containsNode(new Node, true)); - assertBoolean(rangyRange.containsNodeContents(new Node)); - assertBoolean(rangyRange.containsNodeText(new Node)); - assertBoolean(rangyRange.containsNodeText(new Node)); + rangyRange.collapseAfter(new Node()); + rangyRange.collapseBefore(new Node()); + rangyRange.collapseToPoint(new Node(), 23); + assertAny(rangyRange.compareNode(new Node())); + assertBoolean(rangyRange.containsNode(new Node(), true)); + assertBoolean(rangyRange.containsNodeContents(new Node())); + assertBoolean(rangyRange.containsNodeText(new Node())); + assertBoolean(rangyRange.containsNodeText(new Node())); assertBoolean(rangyRange.containsRange(rangyRange)); assertBoolean(rangyRange.equals(rangyRange)); - let bookmark:{start:number, end:number} = rangyRange.getBookmark(); - bookmark = rangyRange.getBookmark(new Node); - let doc:Document = rangyRange.getDocument(); - let nodes:Node[] = rangyRange.getNodes(); - nodes = rangyRange.getNodes([new Node]); - nodes = rangyRange.getNodes([new Node], (node:Node) => true); + let bookmark: { start: number; end: number } = rangyRange.getBookmark(); + bookmark = rangyRange.getBookmark(new Node()); + let doc: Document = rangyRange.getDocument(); + let nodes: Node[] = rangyRange.getNodes(); + nodes = rangyRange.getNodes([new Node()]); + nodes = rangyRange.getNodes([new Node()], (node: Node) => true); assertString(rangyRange.inspect()); assertRangyRange(rangyRange.intersection(rangyRange)); assertBoolean(rangyRange.intersectsOrTouchesRange(rangyRange)); @@ -67,73 +67,72 @@ function testRangyRange() { rangyRange.normalizeBoundaries(); rangyRange.refresh(); rangyRange.select(); - rangyRange.setStartAndEnd(new Node, 23); - rangyRange.setStartAndEnd(new Node, 23, 42); - rangyRange.setStartAndEnd(new Node, 23, new Node, 42); + rangyRange.setStartAndEnd(new Node(), 23); + rangyRange.setStartAndEnd(new Node(), 23, 42); + rangyRange.setStartAndEnd(new Node(), 23, new Node(), 42); rangyRange.splitBoundaries(); assertString(rangyRange.toHtml()); assertRangyRange(rangyRange.union(rangyRange)); - let characterRange: { start: number, end: number } = rangyRange.toCharacterRange(new Node); - let characterRange2: { start: number, end: number } = rangyRange.toCharacterRange(new Node, {}) + let characterRange: { start: number; end: number } = rangyRange.toCharacterRange(new Node()); + let characterRange2: { start: number; end: number } = rangyRange.toCharacterRange(new Node(), {}); } function testSelection() { - let selection:RangySelection = rangy.getSelection(); + let selection: RangySelection = rangy.getSelection(); selection.detach(); - let ranges:RangyRange[] = selection.getAllRanges(); - let range:RangyRange = selection.getRangeAt(0); - selection.getBookmark(new Node); - let nativeTextRange:TextRange = selection.getNativeTextRange(); + let ranges: RangyRange[] = selection.getAllRanges(); + let range: RangyRange = selection.getRangeAt(0); + selection.getBookmark(new Node()); + let nativeTextRange: TextRange = selection.getNativeTextRange(); assertString(selection.inspect()); assertBoolean(selection.isBackwards()); selection.moveToBookmark({}); - var nativeSelection:Selection = selection.nativeSelection; + var nativeSelection: Selection = selection.nativeSelection; selection.refresh(); selection.refresh(true); selection.restoreRanges({}); - var object:Object = selection.saveRanges(); + var object: Object = selection.saveRanges(); selection.setRanges(ranges); selection.setSingleRange(getRangyRange()); assertString(selection.toHtml()); - var node:Node = new Node(); + var node: Node = new Node(); object = selection.saveCharacterRanges(node, {}); selection.restoreCharacterRanges(node, object, {}); assertString(selection.toHtml()); - let moved: number = selection.move('character', 1, {}); + let moved: number = selection.move("character", 1, {}); } - function testRangyClassApplier() { function elementCreateFunction(element: Element, classApplier: RangyClassApplier): number { return 1; } let options: RangyClassApplierOptions = { - elementTagName: 'span', + elementTagName: "span", elementProperties: { - name: 'test-name', - disabled: 'true' + name: "test-name", + disabled: "true", }, elementAttributes: { - id: 'test-id', - type: 'test-type' + id: "test-id", + type: "test-type", }, ignoreWhiteSpace: false, applyToEditableOnly: true, tagNames: ["span", "b", "strong", "a"], normalize: false, onElementCreate: elementCreateFunction, - useExistingElements: false + useExistingElements: false, }; let options2: RangyClassApplierOptions = { - tagNames: 'span, b, strong, a' + tagNames: "span, b, strong, a", }; let classApplier: RangyClassApplier; - classApplier = rangy.createClassApplier('test', options, ['test1', 'test2']); - classApplier = rangy.createClassApplier('test', options, 'test1, test2'); + classApplier = rangy.createClassApplier("test", options, ["test1", "test2"]); + classApplier = rangy.createClassApplier("test", options, "test1, test2"); let rangyRange: RangyRange = rangy.createRange(); @@ -151,10 +150,9 @@ function testRangyClassApplier() { classApplier.toggleRange(rangyRange); classApplier.detach(document); classApplier.detach(window); - classApplier.detach(new HTMLIFrameElement); + classApplier.detach(new HTMLIFrameElement()); classApplier.detach(); let className: string = classApplier.className; className = classApplier.cssClass; - } diff --git a/types/rangyinputs/index.d.ts b/types/rangyinputs/index.d.ts index cb4171df2bff3d..b47a613ef7f5b4 100644 --- a/types/rangyinputs/index.d.ts +++ b/types/rangyinputs/index.d.ts @@ -4,12 +4,10 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 - /// declare namespace RangyInputs { interface Selection { - /** The character index of the start position of the selection */ start: number; @@ -25,7 +23,6 @@ declare namespace RangyInputs { } interface JQuery { - /** Note that in IE the textarea or text input must have the focus before calling this method. You can ensure this by calling the focus() method of the element (or its jQuery object). */ getSelection(): RangyInputs.Selection; @@ -56,7 +53,7 @@ interface JQuery { insertText( text: string, pos: number, - selectionBehaviour?: 'select' | 'collapseToStart' | 'collapseToEnd' + selectionBehaviour?: "select" | "collapseToStart" | "collapseToEnd", ): JQuery; /** @@ -70,7 +67,7 @@ interface JQuery { */ replaceSelectedText( text: string, - selectionBehaviour?: 'select' | 'collapseToStart' | 'collapseToEnd' + selectionBehaviour?: "select" | "collapseToStart" | "collapseToEnd", ): JQuery; /** @@ -85,6 +82,6 @@ interface JQuery { surroundSelectedText( textBefore: string, textAfter: string, - selectionBehaviour?: 'select' | 'collapseToStart' | 'collapseToEnd' + selectionBehaviour?: "select" | "collapseToStart" | "collapseToEnd", ): JQuery; } diff --git a/types/rangyinputs/rangyinputs-tests.ts b/types/rangyinputs/rangyinputs-tests.ts index e1ea649d060fcf..0822602914cb25 100644 --- a/types/rangyinputs/rangyinputs-tests.ts +++ b/types/rangyinputs/rangyinputs-tests.ts @@ -1,4 +1,4 @@ -let $obj: JQuery = $('meh'); +let $obj: JQuery = $("meh"); let selection: RangyInputs.Selection = $obj.getSelection(); let start: number = selection.start; @@ -14,8 +14,8 @@ $obj = $obj.setSelection(selection.start) .deleteSelectedText(); text = $obj.extractSelectedText(); $obj.insertText(selection.text, 4) - .insertText(text, 4, 'collapseToStart') + .insertText(text, 4, "collapseToStart") .replaceSelectedText(text) - .replaceSelectedText(text, 'select') - .surroundSelectedText('before', 'after') - .surroundSelectedText('before', 'after', 'collapseToEnd'); + .replaceSelectedText(text, "select") + .surroundSelectedText("before", "after") + .surroundSelectedText("before", "after", "collapseToEnd"); diff --git a/types/ranjs/index.d.ts b/types/ranjs/index.d.ts index 26c34ebeb82ad5..25defdf064db8b 100644 --- a/types/ranjs/index.d.ts +++ b/types/ranjs/index.d.ts @@ -36,7 +36,7 @@ declare namespace _dist { } interface Distribution { - type(): 'discrete' | 'continuous'; + type(): "discrete" | "continuous"; support(): Array<{ value: number; closed: boolean; @@ -75,388 +75,388 @@ declare namespace dist { type State = _dist.State; type Distribution = _dist.Distribution; - class Alpha extends _dist.Distribution<'Alpha'> { + class Alpha extends _dist.Distribution<"Alpha"> { constructor(alpha?: number); } - class Anglit extends _dist.Distribution<'Anglit'> {} - class Arcsine extends _dist.Distribution<'Arcsine'> { + class Anglit extends _dist.Distribution<"Anglit"> {} + class Arcsine extends _dist.Distribution<"Arcsine"> { constructor(a?: number, b?: number); } - class BaldingNichols extends _dist.Distribution<'BaldingNichols'> { + class BaldingNichols extends _dist.Distribution<"BaldingNichols"> { constructor(F?: number, p?: number); } - class Bates extends _dist.Distribution<'Bates'> { + class Bates extends _dist.Distribution<"Bates"> { constructor(n?: number, a?: number, b?: number); } - class Benini extends _dist.Distribution<'Benini'> { + class Benini extends _dist.Distribution<"Benini"> { constructor(alpha?: number, beta?: number, sigma?: number); } - class BenktanderII extends _dist.Distribution<'BenktanderII'> { + class BenktanderII extends _dist.Distribution<"BenktanderII"> { constructor(a?: number, b?: number); } - class Bernoulli extends _dist.Distribution<'Bernoulli'> { + class Bernoulli extends _dist.Distribution<"Bernoulli"> { constructor(p?: number); } - class BetaBinomial extends _dist.Distribution<'BetaBinomial'> { + class BetaBinomial extends _dist.Distribution<"BetaBinomial"> { constructor(n?: number, alpha?: number, beta?: number); } - class BetaPrime extends _dist.Distribution<'BetaPrime'> { + class BetaPrime extends _dist.Distribution<"BetaPrime"> { constructor(alpha?: number, beta?: number); } - class BetaRectangular extends _dist.Distribution<'BetaRectangular'> { + class BetaRectangular extends _dist.Distribution<"BetaRectangular"> { constructor(alpha?: number, beta?: number, theta?: number, a?: number, b?: number); } - class Beta extends _dist.Distribution<'Beta'> { + class Beta extends _dist.Distribution<"Beta"> { constructor(alpha?: number, beta?: number); } - class Binomial extends _dist.Distribution<'Binomial'> { + class Binomial extends _dist.Distribution<"Binomial"> { constructor(n?: number, p?: number); } - class BirnbaumSaunders extends _dist.Distribution<'BirnbaumSaunders'> { + class BirnbaumSaunders extends _dist.Distribution<"BirnbaumSaunders"> { constructor(mu?: number, beta?: number, gamma?: number); } - class BorelTanner extends _dist.Distribution<'BorelTanner'> { + class BorelTanner extends _dist.Distribution<"BorelTanner"> { constructor(mu?: number, n?: number); } - class Borel extends _dist.Distribution<'Borel'> { + class Borel extends _dist.Distribution<"Borel"> { constructor(mu?: number); } - class BoundedPareto extends _dist.Distribution<'BoundedPareto'> { + class BoundedPareto extends _dist.Distribution<"BoundedPareto"> { constructor(L?: number, H?: number, alpha?: number); } - class Bradford extends _dist.Distribution<'Bradford'> { + class Bradford extends _dist.Distribution<"Bradford"> { constructor(c?: number); } - class Burr extends _dist.Distribution<'Burr'> { + class Burr extends _dist.Distribution<"Burr"> { constructor(c?: number, k?: number); } - class Categorical extends _dist.Distribution<'Categorical'> { + class Categorical extends _dist.Distribution<"Categorical"> { constructor(weights?: readonly number[], min?: number); } - class Cauchy extends _dist.Distribution<'Cauchy'> { + class Cauchy extends _dist.Distribution<"Cauchy"> { constructor(x0?: number, gamma?: number); } - class Chi extends _dist.Distribution<'Chi'> { + class Chi extends _dist.Distribution<"Chi"> { constructor(k?: number); } - class Chi2 extends _dist.Distribution<'Chi2'> { + class Chi2 extends _dist.Distribution<"Chi2"> { constructor(k?: number); } - class Dagum extends _dist.Distribution<'Dagum'> { + class Dagum extends _dist.Distribution<"Dagum"> { constructor(p?: number, a?: number, b?: number); } - class Degenerate extends _dist.Distribution<'Degenerate'> { + class Degenerate extends _dist.Distribution<"Degenerate"> { constructor(x0?: number); } - class Delaporte extends _dist.Distribution<'Delaporte'> { + class Delaporte extends _dist.Distribution<"Delaporte"> { constructor(alpha?: number, beta?: number, lambda?: number); } - class DiscreteUniform extends _dist.Distribution<'DiscreteUniform'> { + class DiscreteUniform extends _dist.Distribution<"DiscreteUniform"> { constructor(xmin?: number, xmax?: number); } - class DiscreteWeibull extends _dist.Distribution<'DiscreteWeibull'> { + class DiscreteWeibull extends _dist.Distribution<"DiscreteWeibull"> { constructor(q?: number, beta?: number); } - class DoubleGamma extends _dist.Distribution<'DoubleGamma'> { + class DoubleGamma extends _dist.Distribution<"DoubleGamma"> { constructor(alpha?: number, beta?: number); } - class DoubleWeibull extends _dist.Distribution<'DoubleWeibull'> { + class DoubleWeibull extends _dist.Distribution<"DoubleWeibull"> { constructor(lambda?: number, k?: number); } - class DoublyNoncentralBeta extends _dist.Distribution<'DoublyNoncentralBeta'> { + class DoublyNoncentralBeta extends _dist.Distribution<"DoublyNoncentralBeta"> { constructor(alpha?: number, meta?: number, lambda1?: number, lambda2?: number); } - class DoublyNoncentralF extends _dist.Distribution<'DoublyNoncentralF'> { + class DoublyNoncentralF extends _dist.Distribution<"DoublyNoncentralF"> { constructor(d1?: number, d2?: number, lambda1?: number, lambda2?: number); } - class DoublyNoncentralT extends _dist.Distribution<'DoublyNoncentralT'> { + class DoublyNoncentralT extends _dist.Distribution<"DoublyNoncentralT"> { constructor(nu?: number, mu?: number, theta?: number); } - class Erlang extends _dist.Distribution<'Erlang'> { + class Erlang extends _dist.Distribution<"Erlang"> { constructor(k?: number, lambda?: number); } - class ExponentialLogarithmic extends _dist.Distribution<'ExponentialLogarithmic'> { + class ExponentialLogarithmic extends _dist.Distribution<"ExponentialLogarithmic"> { constructor(p?: number, beta?: number); } - class Exponential extends _dist.Distribution<'Exponential'> { + class Exponential extends _dist.Distribution<"Exponential"> { constructor(lambda?: number); } - class F extends _dist.Distribution<'F'> { + class F extends _dist.Distribution<"F"> { constructor(d1?: number, d2?: number); } - class FlorySchulz extends _dist.Distribution<'FlorySchulz'> { + class FlorySchulz extends _dist.Distribution<"FlorySchulz"> { constructor(a?: number); } - class Frechet extends _dist.Distribution<'Frechet'> { + class Frechet extends _dist.Distribution<"Frechet"> { constructor(alpha?: number, s?: number, m?: number); } - class FisherZ extends _dist.Distribution<'FisherZ'> { + class FisherZ extends _dist.Distribution<"FisherZ"> { constructor(d1?: number, d2?: number); } - class Gamma extends _dist.Distribution<'Gamma'> { + class Gamma extends _dist.Distribution<"Gamma"> { constructor(alpha?: number, beta?: number); } - class GammaGompertz extends _dist.Distribution<'GammaGompertz'> { + class GammaGompertz extends _dist.Distribution<"GammaGompertz"> { constructor(b?: number, s?: number, beta?: number); } - class GeneralizedExponential extends _dist.Distribution<'GeneralizedExponential'> { + class GeneralizedExponential extends _dist.Distribution<"GeneralizedExponential"> { constructor(a?: number, b?: number, c?: number); } - class GeneralizedExtremeValue extends _dist.Distribution<'GeneralizedExtremeValue'> { + class GeneralizedExtremeValue extends _dist.Distribution<"GeneralizedExtremeValue"> { constructor(c?: number); } - class GeneralizedGamma extends _dist.Distribution<'GeneralizedGamma'> { + class GeneralizedGamma extends _dist.Distribution<"GeneralizedGamma"> { constructor(a?: number, d?: number, p?: number); } - class GeneralizedHermite extends _dist.Distribution<'GeneralizedHermite'> { + class GeneralizedHermite extends _dist.Distribution<"GeneralizedHermite"> { constructor(a1?: number, am?: number, m?: number); } - class GeneralizedLogistic extends _dist.Distribution<'GeneralizedLogistic'> { + class GeneralizedLogistic extends _dist.Distribution<"GeneralizedLogistic"> { constructor(mu?: number, s?: number, c?: number); } - class GeneralizedNormal extends _dist.Distribution<'GeneralizedNormal'> { + class GeneralizedNormal extends _dist.Distribution<"GeneralizedNormal"> { constructor(mu?: number, alpha?: number, beta?: number); } - class GeneralizedPareto extends _dist.Distribution<'GeneralizedPareto'> { + class GeneralizedPareto extends _dist.Distribution<"GeneralizedPareto"> { constructor(mu?: number, sigma?: number, xi?: number); } - class Geometric extends _dist.Distribution<'Geometric'> { + class Geometric extends _dist.Distribution<"Geometric"> { constructor(p?: number); } - class Gilbrat extends _dist.Distribution<'Gilbrat'> { + class Gilbrat extends _dist.Distribution<"Gilbrat"> { constructor(); } - class Gompertz extends _dist.Distribution<'Gompertz'> { + class Gompertz extends _dist.Distribution<"Gompertz"> { constructor(eta?: number, beta?: number); } - class Gumbel extends _dist.Distribution<'Gumbel'> { + class Gumbel extends _dist.Distribution<"Gumbel"> { constructor(mu?: number, beta?: number); } - class HalfGeneralizedNormal extends _dist.Distribution<'HalfGeneralizedNormal'> { + class HalfGeneralizedNormal extends _dist.Distribution<"HalfGeneralizedNormal"> { constructor(alpha?: number, beta?: number); } - class HalfLogistic extends _dist.Distribution<'HalfLogistic'> { + class HalfLogistic extends _dist.Distribution<"HalfLogistic"> { constructor(); } - class HalfNormal extends _dist.Distribution<'HalfNormal'> { + class HalfNormal extends _dist.Distribution<"HalfNormal"> { constructor(sigma?: number); } - class HeadsMinusTails extends _dist.Distribution<'HeadsMinusTails'> { + class HeadsMinusTails extends _dist.Distribution<"HeadsMinusTails"> { constructor(n?: number); } - class Hoyt extends _dist.Distribution<'Hoyt'> { + class Hoyt extends _dist.Distribution<"Hoyt"> { constructor(q?: number, omega?: number); } - class HyperbolicSecant extends _dist.Distribution<'HyperbolicSecant'> { + class HyperbolicSecant extends _dist.Distribution<"HyperbolicSecant"> { constructor(); } - class Hyperexponential extends _dist.Distribution<'Hyperexponential'> { + class Hyperexponential extends _dist.Distribution<"Hyperexponential"> { constructor(parameters?: Array<{ weight: number; rate: number }>); } - class Hypergeometric extends _dist.Distribution<'Hypergeometric'> { + class Hypergeometric extends _dist.Distribution<"Hypergeometric"> { constructor(N?: number, K?: number, n?: number); } - class InverseChi2 extends _dist.Distribution<'InverseChi'> { + class InverseChi2 extends _dist.Distribution<"InverseChi"> { constructor(nu?: number); } - class InverseGamma extends _dist.Distribution<'InverseGamma'> { + class InverseGamma extends _dist.Distribution<"InverseGamma"> { constructor(alpha?: number, beta?: number); } - class InverseGaussian extends _dist.Distribution<'InverseGaussian'> { + class InverseGaussian extends _dist.Distribution<"InverseGaussian"> { constructor(mu?: number, lambda?: number); } - class InvertedWeibull extends _dist.Distribution<'InvertedWeibull'> { + class InvertedWeibull extends _dist.Distribution<"InvertedWeibull"> { constructor(c?: number); } - class IrwinHall extends _dist.Distribution<'IrwinHall'> { + class IrwinHall extends _dist.Distribution<"IrwinHall"> { constructor(n?: number); } - class JohnsonSB extends _dist.Distribution<'JohnsonSB'> { + class JohnsonSB extends _dist.Distribution<"JohnsonSB"> { constructor(gamma?: number, delta?: number, lambda?: number, xi?: number); } - class JohnsonSU extends _dist.Distribution<'JohnsonSU'> { + class JohnsonSU extends _dist.Distribution<"JohnsonSU"> { constructor(gamma?: number, delta?: number, lambda?: number, xi?: number); } - class Kumaraswamy extends _dist.Distribution<'Kumaraswamy'> { + class Kumaraswamy extends _dist.Distribution<"Kumaraswamy"> { constructor(alpha?: number, beta?: number); } - class Laplace extends _dist.Distribution<'Laplace'> { + class Laplace extends _dist.Distribution<"Laplace"> { constructor(mu?: number, b?: number); } - class Levy extends _dist.Distribution<'Levy'> { + class Levy extends _dist.Distribution<"Levy"> { constructor(mu?: number, c?: number); } - class Lindley extends _dist.Distribution<'Lindley'> { + class Lindley extends _dist.Distribution<"Lindley"> { constructor(theta?: number); } - class Logarithmic extends _dist.Distribution<'Logarithmic'> { + class Logarithmic extends _dist.Distribution<"Logarithmic"> { constructor(a?: number, b?: number); } - class LogCauchy extends _dist.Distribution<'LogCauchy'> { + class LogCauchy extends _dist.Distribution<"LogCauchy"> { constructor(mu?: number, sigma?: number); } - class LogGamma extends _dist.Distribution<'LogGamma'> { + class LogGamma extends _dist.Distribution<"LogGamma"> { constructor(alpha?: number, beta?: number, mu?: number); } - class Logistic extends _dist.Distribution<'Logistic'> { + class Logistic extends _dist.Distribution<"Logistic"> { constructor(mu?: number, s?: number); } - class LogisticExponential extends _dist.Distribution<'LogisticExponential'> { + class LogisticExponential extends _dist.Distribution<"LogisticExponential"> { constructor(lambda?: number, kappa?: number); } - class LogitNormal extends _dist.Distribution<'LogitNormal'> { + class LogitNormal extends _dist.Distribution<"LogitNormal"> { constructor(mu?: number, sigma?: number); } - class LogLaplace extends _dist.Distribution<'LogLaplace'> { + class LogLaplace extends _dist.Distribution<"LogLaplace"> { constructor(mu?: number, b?: number); } - class LogLogistic extends _dist.Distribution<'LogLogistic'> { + class LogLogistic extends _dist.Distribution<"LogLogistic"> { constructor(alpha?: number, beta?: number); } - class LogNormal extends _dist.Distribution<'LogNormal'> { + class LogNormal extends _dist.Distribution<"LogNormal"> { constructor(mu?: number, sigma?: number); } - class LogSeries extends _dist.Distribution<'LogSeries'> { + class LogSeries extends _dist.Distribution<"LogSeries"> { constructor(p?: number); } - class Lomax extends _dist.Distribution<'Lomax'> { + class Lomax extends _dist.Distribution<"Lomax"> { constructor(lambda?: number, alpha?: number); } - class Makeham extends _dist.Distribution<'Makeham'> { + class Makeham extends _dist.Distribution<"Makeham"> { constructor(alpha?: number, beta?: number, lambda?: number); } - class MaxwellBoltzmann extends _dist.Distribution<'MaxwellBoltzmann'> { + class MaxwellBoltzmann extends _dist.Distribution<"MaxwellBoltzmann"> { constructor(a?: number); } - class Mielke extends _dist.Distribution<'Mielke'> { + class Mielke extends _dist.Distribution<"Mielke"> { constructor(k?: number, s?: number); } - class Moyal extends _dist.Distribution<'Moyal'> { + class Moyal extends _dist.Distribution<"Moyal"> { constructor(mu?: number, sigma?: number); } - class Nakagami extends _dist.Distribution<'Nakagami'> { + class Nakagami extends _dist.Distribution<"Nakagami"> { constructor(m?: number, omega?: number); } - class NegativeBinomial extends _dist.Distribution<'NegativeBinomial'> { + class NegativeBinomial extends _dist.Distribution<"NegativeBinomial"> { constructor(r?: number, p?: number); } - class NegativeHypergeometric extends _dist.Distribution<'NegativeHypergeometric'> { + class NegativeHypergeometric extends _dist.Distribution<"NegativeHypergeometric"> { constructor(N?: number, K?: number, r?: number); } - class NeymanA extends _dist.Distribution<'NeymanA'> { + class NeymanA extends _dist.Distribution<"NeymanA"> { constructor(lambda?: number, theta?: number); } - class NoncentralBeta extends _dist.Distribution<'NoncentralBeta'> { + class NoncentralBeta extends _dist.Distribution<"NoncentralBeta"> { constructor(alpha?: number, beta?: number, lambda?: number); } - class NoncentralChi extends _dist.Distribution<'NoncentralChi'> { + class NoncentralChi extends _dist.Distribution<"NoncentralChi"> { constructor(k?: number, lambda?: number); } - class NoncentralChi2 extends _dist.Distribution<'NoncentralChi'> { + class NoncentralChi2 extends _dist.Distribution<"NoncentralChi"> { constructor(k?: number, lambda?: number); } - class NoncentralF extends _dist.Distribution<'NoncentralF'> { + class NoncentralF extends _dist.Distribution<"NoncentralF"> { constructor(d1?: number, d2?: number, lambda?: number); } - class NoncentralT extends _dist.Distribution<'NoncentralT'> { + class NoncentralT extends _dist.Distribution<"NoncentralT"> { constructor(nu?: number, mu?: number); static fnm(nu: number, mu: number, x: number): number; } - class Normal extends _dist.Distribution<'Normal'> { + class Normal extends _dist.Distribution<"Normal"> { constructor(mu?: number, sigma?: number); } - class Pareto extends _dist.Distribution<'Pareto'> { + class Pareto extends _dist.Distribution<"Pareto"> { constructor(xmin?: number, alpha?: number); } - class PERT extends _dist.Distribution<'PERT'> { + class PERT extends _dist.Distribution<"PERT"> { constructor(a?: number, b?: number, c?: number); } - class Poisson extends _dist.Distribution<'Poisson'> { + class Poisson extends _dist.Distribution<"Poisson"> { constructor(lambda?: number); } - class PolyaAeppli extends _dist.Distribution<'PolyaAeppli'> { + class PolyaAeppli extends _dist.Distribution<"PolyaAeppli"> { constructor(lambda?: number, theta?: number); } - class Power extends _dist.Distribution<'Power'> { + class Power extends _dist.Distribution<"Power"> { constructor(a?: number); } - class QExponential extends _dist.Distribution<'QExponential'> { + class QExponential extends _dist.Distribution<"QExponential"> { constructor(q?: number, lambda?: number); } - class R extends _dist.Distribution<'R'> { + class R extends _dist.Distribution<"R"> { constructor(c?: number); } - class Rademacher extends _dist.Distribution<'Rademacher'> { + class Rademacher extends _dist.Distribution<"Rademacher"> { constructor(); } - class RaisedCosine extends _dist.Distribution<'RaisedCosine'> { + class RaisedCosine extends _dist.Distribution<"RaisedCosine"> { constructor(mu?: number, s?: number); } - class Rayleigh extends _dist.Distribution<'Rayleigh'> { + class Rayleigh extends _dist.Distribution<"Rayleigh"> { constructor(sigma?: number); } - class Reciprocal extends _dist.Distribution<'Reciprocal'> { + class Reciprocal extends _dist.Distribution<"Reciprocal"> { constructor(a?: number, b?: number); } - class ReciprocalInverseGaussian extends _dist.Distribution<'ReciprocalInverseGaussian'> { + class ReciprocalInverseGaussian extends _dist.Distribution<"ReciprocalInverseGaussian"> { constructor(mu?: number, lambda?: number); } - class Rice extends _dist.Distribution<'Rice'> { + class Rice extends _dist.Distribution<"Rice"> { constructor(nu?: number, sigma?: number); } - class ShiftedLogLogistic extends _dist.Distribution<'ShiftedLogLogistic'> { + class ShiftedLogLogistic extends _dist.Distribution<"ShiftedLogLogistic"> { constructor(mu?: number, sigma?: number, xi?: number); } - class Skellam extends _dist.Distribution<'Skellam'> { + class Skellam extends _dist.Distribution<"Skellam"> { constructor(mu1?: number, mu2?: number); } - class SkewNormal extends _dist.Distribution<'SkewNormal'> { + class SkewNormal extends _dist.Distribution<"SkewNormal"> { constructor(xi?: number, omega?: number, alpha?: number); } - class Slash extends _dist.Distribution<'Slash'> { + class Slash extends _dist.Distribution<"Slash"> { constructor(); } - class Soliton extends _dist.Distribution<'Soliton'> { + class Soliton extends _dist.Distribution<"Soliton"> { constructor(N?: number); } - class StudentT extends _dist.Distribution<'StudentT'> { + class StudentT extends _dist.Distribution<"StudentT"> { constructor(nu?: number); } - class StudentZ extends _dist.Distribution<'StudentZ'> { + class StudentZ extends _dist.Distribution<"StudentZ"> { constructor(n?: number); } - class Trapezoidal extends _dist.Distribution<'Trapezoidal'> { + class Trapezoidal extends _dist.Distribution<"Trapezoidal"> { constructor(a?: number, b?: number, c?: number, d?: number); } - class Triangular extends _dist.Distribution<'Triangular'> { + class Triangular extends _dist.Distribution<"Triangular"> { constructor(a?: number, b?: number, c?: number); } - class TukeyLambda extends _dist.Distribution<'TukeyLambda'> { + class TukeyLambda extends _dist.Distribution<"TukeyLambda"> { constructor(lambda?: number); } - class Uniform extends _dist.Distribution<'Uniform'> { + class Uniform extends _dist.Distribution<"Uniform"> { constructor(xmin?: number, xmax?: number); } - class UQuadratic extends _dist.Distribution<'UQuadratic'> { + class UQuadratic extends _dist.Distribution<"UQuadratic"> { constructor(a?: number, b?: number); } - class VonMises extends _dist.Distribution<'VonMises'> { + class VonMises extends _dist.Distribution<"VonMises"> { constructor(kappa?: number); } - class Weibull extends _dist.Distribution<'Weibull'> { + class Weibull extends _dist.Distribution<"Weibull"> { constructor(lambda?: number, k?: number); } - class Wigner extends _dist.Distribution<'Wigner'> { + class Wigner extends _dist.Distribution<"Wigner"> { constructor(R?: number); } - class YuleSimon extends _dist.Distribution<'YuleSimon'> { + class YuleSimon extends _dist.Distribution<"YuleSimon"> { constructor(rho?: number); } - class Zeta extends _dist.Distribution<'Zeta'> { + class Zeta extends _dist.Distribution<"Zeta"> { constructor(s?: number); } - class Zipf extends _dist.Distribution<'Zipf'> { + class Zipf extends _dist.Distribution<"Zipf"> { constructor(s?: number, N?: number); } } diff --git a/types/ranjs/ranjs-tests.ts b/types/ranjs/ranjs-tests.ts index 13dfce35fc586a..f83a64f7a9475c 100644 --- a/types/ranjs/ranjs-tests.ts +++ b/types/ranjs/ranjs-tests.ts @@ -1,4 +1,4 @@ -import { core, dist, la, mc, test, ts } from 'ranjs'; +import { core, dist, la, mc, test, ts } from "ranjs"; type Eq = T extends U ? (U extends T ? true : false) : false; @@ -11,7 +11,7 @@ let xs: number[]; let xss: number[][]; core.seed(0xfffff); -core.seed('hello'); +core.seed("hello"); x = core.int(100); x = core.int(-100, 100); xs = core.int(-100, 100, 100); @@ -20,26 +20,26 @@ x = core.float(-100, 100); xs = core.float(-100, 100, 100); u = core.choice(); x = core.choice([1, 2, 3]); -s = core.choice(['1', '2', '3']); +s = core.choice(["1", "2", "3"]); xs = core.choice([1, 2, 3], 3); u = core.char(); -s = core.char('hello'); -ss = core.char('hello', 10); +s = core.char("hello"); +ss = core.char("hello", 10); x = core.coin(0, 1); -s = core.coin('y', 'n'); +s = core.coin("y", "n"); x = core.coin(0, 1, 0.5 + 1e-7); xs = core.coin(0, 1, 0.5, 100); xs = core.shuffle([1, 2, 3]); -ss = core.shuffle(['1', '2', '3']); +ss = core.shuffle(["1", "2", "3"]); let normal = new dist.Normal(); -b = normal.type() === 'continuous'; +b = normal.type() === "continuous"; b = normal.support().length === 0; normal = normal.seed(0xfffff); // though Distribution.seed mutates itself const distState = normal.save(); normal = new dist.Normal().load(distState); // new dist.Exponential().load(distState); // type error! -const canMisuse: Eq> = false; +const canMisuse: Eq> = false; x = normal.sample(); xs = normal.sample(100); x = normal.pdf(x); diff --git a/types/raphael/index.d.ts b/types/raphael/index.d.ts index d4d014012efee1..6889a13d5fe87c 100644 --- a/types/raphael/index.d.ts +++ b/types/raphael/index.d.ts @@ -93,7 +93,7 @@ export type RaphaelTextAnchorType = "start" | "middle" | "end"; * {@link RaphaelStatic.easing_formulas} object. */ export type RaphaelBuiltinEasingFormula = - "linear" + | "linear" | "<" | ">" | "<>" @@ -124,7 +124,7 @@ export type RaphaelCustomEasingFormula = string & {}; */ export type RaphaelPathSegment = // move to - ["M", number, number] + | ["M", number, number] | ["m", number, number] // line to | ["L", number, number] @@ -167,7 +167,7 @@ export type RaphaelPathSegment = */ export type RaphaelTransformSegment = // translate - ["t", number, number] + | ["t", number, number] // scale (scale-x, scale-y, origin-x, origin-y) | ["s", number, number, number, number] | ["s", number, number] @@ -175,8 +175,7 @@ export type RaphaelTransformSegment = | ["r", number, number, number] | ["r", number] // general matrix transform - | ["m", number, number, number, number, number, number] - ; + | ["m", number, number, number, number, number, number]; /** * Array that can be passed to the {@link RaphaelStatic|Raphael()} constructor. The first three arguments in the @@ -193,7 +192,7 @@ export type RaphaelConstructionOptionsArray4 = [ string, number, number, - ...RaphaelShapeDescriptor[] + ...RaphaelShapeDescriptor[], ]; /** @@ -213,7 +212,7 @@ export type RaphaelConstructionOptionsArray5 = [ number, number, number, - ...RaphaelShapeDescriptor[] + ...RaphaelShapeDescriptor[], ]; /** @@ -239,8 +238,8 @@ export type RaphaelEasingFormula = */ export type RaphaelUnwrapElement< TTechnology extends RaphaelTechnology, - TBase extends RaphaelBaseElement - > = TBase extends RaphaelSet ? RaphaelElement : TBase; + TBase extends RaphaelBaseElement, +> = TBase extends RaphaelSet ? RaphaelElement : TBase; /** * Callback that is invoked once an animation is complete. @@ -298,8 +297,8 @@ export type RaphaelDragOnMoveHandler = */ export type RaphaelDragOnOverHandler< TTechnology extends RaphaelTechnology = "SVG" | "VML", - ThisContext = RaphaelElement - > = + ThisContext = RaphaelElement, +> = /** * @param targetElement The element you are dragging over. * @return A value that is returned as the return value of the `document.addEventListener` callback. @@ -332,8 +331,8 @@ export type RaphaelDragOnEndHandler = export type RaphaelElementPluginMethod< TTechnology extends RaphaelTechnology = "SVG" | "VML", TArgs extends any[] = any, - TRetVal = any - > = + TRetVal = any, +> = /** * @param args The arguments, as required by this element plugin. They need to be passed when the plugin method * is called on a {@link RaphaelElement}. @@ -357,8 +356,8 @@ export type RaphaelElementPluginMethod< export type RaphaelSetPluginMethod< TTechnology extends RaphaelTechnology = "SVG" | "VML", TArgs extends any[] = any, - TRetVal = any - > = + TRetVal = any, +> = /** * @param args The arguments, as required by this set plugin. They need to be passed when the plugin method * is called on a {@link RaphaelSet}. @@ -382,8 +381,8 @@ export type RaphaelSetPluginMethod< export type RaphaelPaperPluginMethod< TTechnology extends RaphaelTechnology = "SVG" | "VML", TArgs extends any[] = any, - TRetVal = any - > = + TRetVal = any, +> = /** * @param args The arguments, as required by this paper plugin. They need to be passed when the plugin method * is called on a {@link RaphaelPaper}. @@ -400,8 +399,8 @@ export type RaphaelPaperPluginMethod< */ export type RaphaelCustomAttribute< TTechnology extends RaphaelTechnology = "SVG" | "VML", - TArgs extends number[] = any - > = + TArgs extends number[] = any, +> = /** * @param values Numerical values for this custom attribute. * @return The SVG attributes for the given values. @@ -452,17 +451,17 @@ export type RaphaelPotentialFailure = T & { */ export type RaphaelPaperPluginRegistry< TTechnology extends RaphaelTechnology = "SVG" | "VML", - T = RaphaelPaper> = { - /** - * Either the paper plugin method or a new namespace with methods. - */ - [P in keyof T]: RaphaelPaperPluginMethodOrRegistry; - }; + T = RaphaelPaper, +> = { + /** + * Either the paper plugin method or a new namespace with methods. + */ + [P in keyof T]: RaphaelPaperPluginMethodOrRegistry; +}; -type RaphaelPaperPluginMethodOrRegistry = - T extends (...args: any) => any - ? RaphaelPaperPluginMethod, ReturnType> - : RaphaelPaperPluginRegistry; +type RaphaelPaperPluginMethodOrRegistry = T extends (...args: any) => any + ? RaphaelPaperPluginMethod, ReturnType> + : RaphaelPaperPluginRegistry; /** * You can add your own method to elements. This is useful when you want to hack default functionality or want * to wrap some common transformation or attributes in one method. In contrast to canvas methods, you can @@ -479,16 +478,16 @@ type RaphaelPaperPluginMethodOrRegistry = { - [P in keyof RaphaelElement]: RaphaelElement[P] extends (...args: any) => any + TTechnology extends RaphaelTechnology = "SVG" | "VML", +> = { + [P in keyof RaphaelElement]: RaphaelElement[P] extends (...args: any) => any ? RaphaelElementPluginMethod< TTechnology, Parameters[P]>, ReturnType[P]> > : never; - }; +}; /** * You can add your own method to elements and sets. It is wise to add a set method for each element method you @@ -512,15 +511,16 @@ export type RaphaelElementPluginRegistry< * @param TTechnology Type of the technology used by this paper, either `SVG` or `VML`. */ export type RaphaelSetPluginRegistry< - TTechnology extends RaphaelTechnology = "SVG" | "VML" - > = { - [P in keyof RaphaelSet]: RaphaelSet[P] extends (...args: any) => any + TTechnology extends RaphaelTechnology = "SVG" | "VML", +> = { + [P in keyof RaphaelSet]: RaphaelSet[P] extends (...args: any) => any ? RaphaelSetPluginMethod< TTechnology, Parameters[P]>, - ReturnType[P]>> + ReturnType[P]> + > : never; - }; +}; /** * Represents the SVG and VML native elements that implement a particular abstract element, such as circle and paths. @@ -529,8 +529,8 @@ export type RaphaelSetPluginRegistry< */ export interface RaphaelElementByTechnologyMap< TSvg extends SVGElement = SVGElement, - TVml extends VMLElement = VMLElement - > { + TVml extends VMLElement = VMLElement, +> { SVG: TSvg; VML: TVml; "": never; @@ -666,7 +666,9 @@ export interface RaphaelHslComponentInfo { * Represents the result of a call to {@link RaphaelStatic.color}, i.e. information about the RGB and HSV/L color * channels. */ -export interface RaphaelFullComponentInfo extends RaphaelRgbComponentInfo, RaphaelHsbComponentInfo, RaphaelHslComponentInfo { } +export interface RaphaelFullComponentInfo + extends RaphaelRgbComponentInfo, RaphaelHsbComponentInfo, RaphaelHslComponentInfo +{} /** * Represents an axis aligned bounding box, see {@link RaphaelBaseElement.getBBox}. @@ -1162,8 +1164,8 @@ export interface RaphaelFont { * @typeparam TTechnology The target {@link RaphaelTechnology}. */ export interface RaphaelBaseElement< - TTechnology extends RaphaelTechnology = "SVG" | "VML" - > { + TTechnology extends RaphaelTechnology = "SVG" | "VML", +> { /** * Creates and starts animation for given element. * @param targetAttributes Final attributes for the element, see also {@link attr}. @@ -1177,7 +1179,7 @@ export interface RaphaelBaseElement< targetAttributes: Partial, durationMilliseconds: number, easing?: RaphaelBuiltinEasingFormula | RaphaelCustomEasingFormula, - onAnimationComplete?: RaphaelOnAnimationCompleteHandler + onAnimationComplete?: RaphaelOnAnimationCompleteHandler, ): this; /** @@ -1206,7 +1208,7 @@ export interface RaphaelBaseElement< targetAttributes: Partial, durationMilliseconds: number, easing?: RaphaelBuiltinEasingFormula | RaphaelCustomEasingFormula, - onAnimationComplete?: RaphaelOnAnimationCompleteHandler + onAnimationComplete?: RaphaelOnAnimationCompleteHandler, ): this; /** @@ -1220,7 +1222,7 @@ export interface RaphaelBaseElement< animateWith( otherElement: RaphaelElement, otherAnimation: RaphaelAnimation, - animation: RaphaelAnimation + animation: RaphaelAnimation, ): this; /** @@ -1249,12 +1251,11 @@ export interface RaphaelBaseElement< attr< // Trick compiler into inferring a tuple type without the consumer having to specify the tuple type explicitly // https://github.com/microsoft/TypeScript/issues/22679 - K extends (Array & { "0"?: keyof RaphaelReadAttributes | undefined }) + K extends (Array & { "0"?: keyof RaphaelReadAttributes | undefined }), >(attributeNames: K): { - [P in keyof K]: K[P] extends keyof RaphaelReadAttributes - ? RaphaelReadAttributes[K[P]] | undefined - : never - }; + [P in keyof K]: K[P] extends keyof RaphaelReadAttributes ? RaphaelReadAttributes[K[P]] | undefined + : never; + }; /** * Writes the given attributes to this element. @@ -1313,14 +1314,14 @@ export interface RaphaelBaseElement< drag< MoveThisContext = RaphaelUnwrapElement, StartThisContext = RaphaelUnwrapElement, - EndThisContext = RaphaelUnwrapElement + EndThisContext = RaphaelUnwrapElement, >( onMoveHandler: RaphaelDragOnMoveHandler, onStartHandler: RaphaelDragOnStartHandler, onEndHandler: RaphaelDragOnEndHandler, moveThisContext?: MoveThisContext, startThisContext?: StartThisContext, - endThisContext?: EndThisContext + endThisContext?: EndThisContext, ): this; /** @@ -1367,12 +1368,12 @@ export interface RaphaelBaseElement< hover< HoverInThisContext = RaphaelUnwrapElement, HoverOutThisContext = RaphaelUnwrapElement, - >( - onHoverInHandler: RaphaelBasicEventHandler, - onHoverOutHandler: RaphaelBasicEventHandler, - hoverInThisContext?: HoverInThisContext, - hoverOutThisContext?: HoverOutThisContext - ): this; + >( + onHoverInHandler: RaphaelBasicEventHandler, + onHoverOutHandler: RaphaelBasicEventHandler, + hoverInThisContext?: HoverInThisContext, + hoverOutThisContext?: HoverOutThisContext, + ): this; /** * Inserts current object after the given one in the DOM. @@ -1780,8 +1781,8 @@ export interface RaphaelBaseElement< */ export interface RaphaelElement< TTechnology extends RaphaelTechnology = "SVG" | "VML", - TNode extends RaphaelElementByTechnologyMap[TTechnology] = RaphaelElementByTechnologyMap[TTechnology] - > extends RaphaelBaseElement { + TNode extends RaphaelElementByTechnologyMap[TTechnology] = RaphaelElementByTechnologyMap[TTechnology], +> extends RaphaelBaseElement { /** * Unique id of the element. Especially useful when you want to listen to events of the element, because all * events are fired in format `..`. Also useful for the {@link RaphaelPaper.getById} method. @@ -1817,8 +1818,8 @@ export interface RaphaelElement< * @typeparam TTechnology The target {@link RaphaelTechnology}. */ export interface RaphaelPath< - TTechnology extends RaphaelTechnology = "SVG" | "VML" - > extends RaphaelElement { + TTechnology extends RaphaelTechnology = "SVG" | "VML", +> extends RaphaelElement { /** * The type of this element, i.e. `path`. */ @@ -1851,8 +1852,8 @@ export interface RaphaelPath< * @typeparam TTechnology Type of the technology used by this paper, either `SVG` or `VML`. */ export interface RaphaelSet< - TTechnology extends RaphaelTechnology = "SVG" | "VML" - > extends ArrayLike>, RaphaelBaseElement { + TTechnology extends RaphaelTechnology = "SVG" | "VML", +> extends ArrayLike>, RaphaelBaseElement { /** * Removes all elements from the set */ @@ -1877,7 +1878,7 @@ export interface RaphaelSet< */ forEach( callback: (this: ThisContext, element: RaphaelElement) => boolean | void, - thisArg?: ThisContext + thisArg?: ThisContext, ): this; /** @@ -2050,7 +2051,7 @@ export interface RaphaelMatrix { */ export interface RaphaelPaper< TTechnology extends RaphaelTechnology = "SVG" | "VML", - > { +> { /** * Points to the bottom element on the paper. `null` when there is no element. */ @@ -2068,7 +2069,11 @@ export interface RaphaelPaper< * @param radius Radius of the circle. * @return The newly created element representing the circle. */ - circle(x: number, y: number, radius: number): RaphaelElement; + circle( + x: number, + y: number, + radius: number, + ): RaphaelElement; /** * Clears the paper, i.e. removes all the elements. @@ -2125,7 +2130,12 @@ export interface RaphaelPaper< * @param radiusY Vertical half-axis of the ellipse. * @return The newly created element representing the ellipse. */ - ellipse(x: number, y: number, radiusX: number, radiusY: number): RaphaelElement; + ellipse( + x: number, + y: number, + radiusX: number, + radiusY: number, + ): RaphaelElement; /** * Executes given function for each element on the paper @@ -2136,7 +2146,10 @@ export interface RaphaelPaper< * @param thisContext Optional this context that is passed to the callback. * @return this paper for chaining. */ - forEach(callback: (this: T, element: RaphaelElement) => boolean | void, thisContext?: T): this; + forEach( + callback: (this: T, element: RaphaelElement) => boolean | void, + thisContext?: T, + ): this; /** * Returns an element by its internal ID. @@ -2193,7 +2206,13 @@ export interface RaphaelPaper< * @param height Height of the image * @return The newly created element representing the image. */ - image(src: string, x: number, y: number, width: number, height: number): RaphaelElement; + image( + src: string, + x: number, + y: number, + width: number, + height: number, + ): RaphaelElement; /** * Creates a path element by given path data string. @@ -2236,7 +2255,15 @@ export interface RaphaelPaper< * @param letterSpacing Number between `-1` and `1`, default is `0`. * @return Each letter as separate {@link RaphaelPath|path object}. */ - print(x: number, y: number, str: string, font: RaphaelFont, size?: number, origin?: RaphaelFontOrigin, letterSpacing?: number): RaphaelSet; + print( + x: number, + y: number, + str: string, + font: RaphaelFont, + size?: number, + origin?: RaphaelFontOrigin, + letterSpacing?: number, + ): RaphaelSet; /** * Points to the {@link RaphaelStatic|Raphael} object/function. @@ -2252,7 +2279,13 @@ export interface RaphaelPaper< * @param r Radius for rounded corners, default is `0`. * @return The newly created element representing the rectangle. */ - rect(x: number, y: number, width: number, height: number, r?: number): RaphaelElement; + rect( + x: number, + y: number, + width: number, + height: number, + r?: number, + ): RaphaelElement; /** * Removes this paper from the DOM. @@ -2347,7 +2380,11 @@ export interface RaphaelPaper< * @param text The text string to draw. * @return The newly created element representing the drawn text. */ - text(x: number, y: number, text: string): RaphaelElement; + text( + x: number, + y: number, + text: string, + ): RaphaelElement; /** * Points to the topmost element on the paper. `null` when there is no element. @@ -2415,8 +2452,8 @@ export interface RaphaelStaticGetColor { * @typeparam TTechnology The target {@link RaphaelTechnology}. */ export interface RaphaelStatic< - TTechnology extends RaphaelTechnology = "SVG" | "VML" - > { + TTechnology extends RaphaelTechnology = "SVG" | "VML", +> { /** * Creates a canvas object on which to draw. You must do this first, as all future calls to drawing methods * from this instance will be bound to this canvas. @@ -2427,7 +2464,12 @@ export interface RaphaelStatic< * @param callback Callback function which is going to be executed in the context of newly created paper. * @return A new raphael paper that can be used for drawing shapes to the canvas. */ - (container: HTMLElement | string, width: number, height: number, callback?: (this: RaphaelPaper) => void): RaphaelPaper; + ( + container: HTMLElement | string, + width: number, + height: number, + callback?: (this: RaphaelPaper) => void, + ): RaphaelPaper; /** * Creates a canvas object on which to draw. You must do this first, as all future calls to drawing methods @@ -2440,7 +2482,13 @@ export interface RaphaelStatic< * @param callback Callback function which is going to be executed in the context of newly created paper. * @return A new raphael paper that can be used for drawing shapes to the canvas. */ - (x: number, y: number, width: number, height: number, callback?: (this: RaphaelPaper) => void): RaphaelPaper; + ( + x: number, + y: number, + width: number, + height: number, + callback?: (this: RaphaelPaper) => void, + ): RaphaelPaper; /** * Creates a canvas object on which to draw. You must do this first, as all future calls to drawing methods @@ -2451,7 +2499,10 @@ export interface RaphaelStatic< * @param callback Callback function which is going to be executed in the context of newly created paper. * @return A new raphael paper that can be used for drawing shapes to the canvas. */ - (all: RaphaelConstructionOptionsArray4 | RaphaelConstructionOptionsArray5, callback?: (this: RaphaelPaper) => void): RaphaelSet; + ( + all: RaphaelConstructionOptionsArray4 | RaphaelConstructionOptionsArray5, + callback?: (this: RaphaelPaper) => void, + ): RaphaelSet; /** * @param onReadyCallback Function that is going to be called on DOM ready event. You can also subscribe to this @@ -2470,7 +2521,12 @@ export interface RaphaelStatic< * @param callback Callback function which is going to be executed in the context of newly created paper. * @return A new raphael paper that can be used for drawing shapes to the canvas. */ - new(container: HTMLElement | string, width: number, height: number, callback?: (this: RaphaelPaper) => void): RaphaelPaper; + new( + container: HTMLElement | string, + width: number, + height: number, + callback?: (this: RaphaelPaper) => void, + ): RaphaelPaper; /** * Creates a canvas object on which to draw. You must do this first, as all future calls to drawing methods @@ -2483,7 +2539,13 @@ export interface RaphaelStatic< * @param callback Callback function which is going to be executed in the context of newly created paper. * @return A new raphael paper that can be used for drawing shapes to the canvas. */ - new(x: number, y: number, width: number, height: number, callback?: (this: RaphaelPaper) => void): RaphaelPaper; + new( + x: number, + y: number, + width: number, + height: number, + callback?: (this: RaphaelPaper) => void, + ): RaphaelPaper; /** * Creates a canvas object on which to draw. You must do this first, as all future calls to drawing methods @@ -2494,7 +2556,10 @@ export interface RaphaelStatic< * @param callback Callback function which is going to be executed in the context of newly created paper. * @return A new raphael paper that can be used for drawing shapes to the canvas. */ - new(all: RaphaelConstructionOptionsArray4 | RaphaelConstructionOptionsArray5, callback?: (this: RaphaelPaper) => void): RaphaelSet; + new( + all: RaphaelConstructionOptionsArray4 | RaphaelConstructionOptionsArray5, + callback?: (this: RaphaelPaper) => void, + ): RaphaelSet; /** * @param onReadyCallback Function that is going to be called on DOM ready event. You can also subscribe to this @@ -2527,8 +2592,9 @@ export interface RaphaelStatic< */ animation( params: Partial, - milliseconds: number, easing?: RaphaelBuiltinEasingFormula | RaphaelCustomEasingFormula, - callback?: (this: RaphaelElement) => void + milliseconds: number, + easing?: RaphaelBuiltinEasingFormula | RaphaelCustomEasingFormula, + callback?: (this: RaphaelElement) => void, ): RaphaelAnimation; /** @@ -2594,11 +2660,15 @@ export interface RaphaelStatic< * @return The point at the specified cubic bezier curve at the given position. */ findDotsAtSegment( - startPointX: number, startPointY: number, - anchor1X: number, anchor1Y: number, - anchor2X: number, anchor2Y: number, - endPointX: number, endPointY: number, - positionOnCurve: number + startPointX: number, + startPointY: number, + anchor1X: number, + anchor1Y: number, + anchor2X: number, + anchor2Y: number, + endPointX: number, + endPointY: number, + positionOnCurve: number, ): RaphaelCubicBezierCurvePointInfo; /** @@ -2897,7 +2967,9 @@ export interface RaphaelStatic< * straight away). * @return Array of transformations. */ - parseTransformString(transformString: string | RaphaelTransformSegment | ReadonlyArray): RaphaelTransformSegment[]; + parseTransformString( + transformString: string | RaphaelTransformSegment | ReadonlyArray, + ): RaphaelTransformSegment[]; /** * Utility method that converts path to a new path where all segments are cubic bezier curves. diff --git a/types/raphael/test/raphael-tests-api.ts b/types/raphael/test/raphael-tests-api.ts index 7fbc24c537e7ff..9f7bb61b7ddbf6 100644 --- a/types/raphael/test/raphael-tests-api.ts +++ b/types/raphael/test/raphael-tests-api.ts @@ -3,8 +3,8 @@ import R, { RaphaelStatic } from "raphael"; -interface SvgRaphaelStatic extends RaphaelStatic<"SVG"> { } -interface VmlRaphaelStatic extends RaphaelStatic<"VML"> { } +interface SvgRaphaelStatic extends RaphaelStatic<"SVG"> {} +interface VmlRaphaelStatic extends RaphaelStatic<"VML"> {} function isUsesSvg(raphael: RaphaelStatic): raphael is SvgRaphaelStatic { return raphael.type === "SVG"; @@ -14,7 +14,7 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { return raphael.type === "VML"; } -() => { +(() => { function assertNever(x: never): never { return x; } @@ -66,14 +66,14 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { y: 10, width: 25, height: 25, - stroke: "#f00" + stroke: "#f00", }, { type: "text", x: 30, y: 40, - text: "Dump" - } + text: "Dump", + }, ]); // $ExpectType number @@ -84,7 +84,7 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { // $ExpectType RaphaelAnimation R.animation({ cursor: "" }, 0, "ease-in"); // $ExpectType RaphaelAnimation - R.animation({ cursor: "", }, 0, "custom", function() { + R.animation({ cursor: "" }, 0, "custom", function() { this.clone(); }); @@ -107,9 +107,9 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { return this.attr("fill", R.rgb(r, g, b)); }; // @ts-expect-error - R.el.orange = () => { }; + R.el.orange = () => {}; // @ts-expect-error - R.el.colored = () => { }; + R.el.colored = () => {}; // $ExpectType void circle.red(); // $ExpectType RaphaelElement<"SVG" | "VML", Element | SVGCircleElement> @@ -146,10 +146,12 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { return this.path("Z"); }; // @ts-expect-error - R.fn.arrow.foo = () => { }; + R.fn.arrow.foo = () => {}; R.fn.myStuff = { - arrow(flag: boolean) { return flag ? 1 : 0; }, - star() { }, + arrow(flag: boolean) { + return flag ? 1 : 0; + }, + star() {}, }; R.fn.firstLevel = { secondLevel: { @@ -158,15 +160,17 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { }; R.fn.myStuff = { // @ts-expect-error - arrow(flag: boolean) { return ""; }, - star() { }, + arrow(flag: boolean) { + return ""; + }, + star() {}, }; // @ts-expect-error - R.fn.myStuff = () => { }; + R.fn.myStuff = () => {}; // @ts-expect-error - R.fn.firstLevel = () => { }; + R.fn.firstLevel = () => {}; // @ts-expect-error - R.fn.firstLevel.secondLevel = () => { }; + R.fn.firstLevel.secondLevel = () => {}; // $ExpectType RaphaelPath<"SVG" | "VML"> path.attr({ fill: "#f00" }); // @ts-expect-error @@ -188,7 +192,7 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { dim: { width: 40, height: 50, - "negative width": -40 + "negative width": -40, }, })); @@ -351,7 +355,7 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { return this; }; // @ts-expect-error - R.st.yellow = () => { }; + R.st.yellow = () => {}; // @ts-expect-error R.st.colorized = () => 0; set.green(); @@ -367,9 +371,12 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { R.svg; switch (R.type) { - case "SVG": break; - case "VML": break; - default: assertNever(R.type); + case "SVG": + break; + case "VML": + break; + default: + assertNever(R.type); } // $ExpectType boolean @@ -513,7 +520,9 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { // $ExpectType RaphaelElement<"SVG" | "VML", Element | SVGCircleElement> circle.animate({ cx: 0 }, 0, "back-in"); // $ExpectType RaphaelElement<"SVG" | "VML", Element | SVGCircleElement> - circle.animate({ cx: 0 }, 0, "back-in", function() { this.hide(); }); + circle.animate({ cx: 0 }, 0, "back-in", function() { + this.hide(); + }); // $ExpectType RaphaelElement<"SVG" | "VML", Element | SVGCircleElement> circle.animateWith(circle, animation, animation); @@ -522,7 +531,9 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { // $ExpectType RaphaelElement<"SVG" | "VML", Element | SVGCircleElement> circle.animateWith(circle, animation, { cx: 0 }, 0, "back-in"); // $ExpectType RaphaelElement<"SVG" | "VML", Element | SVGCircleElement> - circle.animateWith(circle, animation, { cx: 0 }, 0, "back-in", function() { this.hide(); }); + circle.animateWith(circle, animation, { cx: 0 }, 0, "back-in", function() { + this.hide(); + }); // $ExpectType RaphaelElement<"SVG" | "VML", Element | SVGCircleElement> circle.attr("opacity", 0); @@ -628,7 +639,7 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { this; // $ExpectType DragEvent event; - } + }, ); // $ExpectType RaphaelElement<"SVG" | "VML", Element | SVGCircleElement> circle.drag( @@ -644,7 +655,9 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { // $ExpectType string this; }, - true, 0, "" + true, + 0, + "", ); // $ExpectType RaphaelPath<"SVG" | "VML"> path.drag( @@ -659,7 +672,7 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { function() { // $ExpectType RaphaelPath<"SVG" | "VML"> this; - } + }, ); // $ExpectType RaphaelSet<"SVG" | "VML"> set.drag( @@ -674,7 +687,7 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { function() { // $ExpectType RaphaelElement<"SVG" | "VML", Element | SVGElement> this; - } + }, ); // $ExpectType number @@ -737,7 +750,7 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { this; // $ExpectType MouseEvent event; - } + }, ); // $ExpectType RaphaelElement<"SVG" | "VML", Element | SVGCircleElement> circle.hover( @@ -749,7 +762,8 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { // $ExpectType number this; }, - false, 0 + false, + 0, ); // $ExpectType RaphaelPath<"SVG" | "VML"> path.hover( @@ -760,7 +774,7 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { function() { // $ExpectType RaphaelPath<"SVG" | "VML"> this; - } + }, ); // $ExpectType RaphaelSet<"SVG" | "VML"> set.hover( @@ -771,7 +785,7 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { function() { // $ExpectType RaphaelElement<"SVG" | "VML", Element | SVGElement> this; - } + }, ); // $ExpectType number @@ -1116,7 +1130,7 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { this; // $ExpectType MouseEvent event; - } + }, ); // $ExpectType RaphaelElement<"SVG" | "VML", Element | SVGCircleElement> circle.unhover( @@ -1127,7 +1141,7 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { function(this: number) { // $ExpectType number this; - } + }, ); // $ExpectType RaphaelPath<"SVG" | "VML"> path.unhover( @@ -1138,7 +1152,7 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { function() { // $ExpectType any this; - } + }, ); // $ExpectType RaphaelSet<"SVG" | "VML"> set.unhover( @@ -1149,7 +1163,7 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { function() { // $ExpectType any this; - } + }, ); // $ExpectType RaphaelElement<"SVG" | "VML", Element | SVGCircleElement> @@ -1347,9 +1361,13 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { set.exclude(circle); // $ExpectType RaphaelSet<"SVG" | "VML"> - set.forEach(el => { el.hide(); }); + set.forEach(el => { + el.hide(); + }); // $ExpectType RaphaelSet<"SVG" | "VML"> - set.forEach(function() { this.toFixed(); }, 0); + set.forEach(function() { + this.toFixed(); + }, 0); // $ExpectType RaphaelElement<"SVG" | "VML", Element | SVGElement> | undefined set.pop(); @@ -1474,4 +1492,4 @@ function isUsesVml(raphael: RaphaelStatic): raphael is VmlRaphaelStatic { // $ExpectType "VML" Vml.type; } -}; +}); diff --git a/types/raphael/test/raphael-tests-font.ts b/types/raphael/test/raphael-tests-font.ts index f7dc413ff4cf52..c9de6b32073251 100644 --- a/types/raphael/test/raphael-tests-font.ts +++ b/types/raphael/test/raphael-tests-font.ts @@ -1,6 +1,6 @@ import R, { RaphaelFont } from "raphael"; -() => { +(() => { const font: RaphaelFont = { w: 209, face: { @@ -15,389 +15,389 @@ import R, { RaphaelFont } from "raphael"; bbox: "-11 -274 322 94", "underline-thickness": "18", "underline-position": "-36", - "unicode-range": "U+0020-U+00F3" + "unicode-range": "U+0020-U+00F3", }, glyphs: { " ": { - w: 83 + w: 83, }, B: { d: "", - w: 196 + w: 196, }, b: { - d: "" + d: "", }, a: { d: "", - w: 177 + w: 177, }, c: { d: "", - w: 173 + w: 173, }, d: { - d: "" + d: "", }, e: { d: "", - w: 183 + w: 183, }, f: { d: "", - w: 107 + w: 107, }, g: { - d: "" + d: "", }, h: { d: "", - w: 201 + w: 201, }, i: { d: "", - w: 79 + w: 79, }, j: { d: "", - w: 79 + w: 79, }, k: { d: "", - w: 176 + w: 176, }, l: { d: "", - w: 79 + w: 79, }, m: { d: "", - w: 303 + w: 303, }, n: { d: "", - w: 201 + w: 201, }, o: { d: "", - w: 202 + w: 202, }, u: { d: "", - w: 201 + w: 201, }, t: { d: "", - w: 111 + w: 111, }, s: { d: "", - w: 137 + w: 137, }, r: { d: "", - w: 104 + w: 104, }, q: { - d: "" + d: "", }, p: { - d: "" + d: "", }, C: { d: "", - w: 202 + w: 202, }, D: { d: "", - w: 233 + w: 233, }, E: { d: "", - w: 167 + w: 167, }, F: { d: "", - w: 159 + w: 159, }, U: { d: "", - w: 219 + w: 219, }, T: { d: "", - w: 195 + w: 195, }, S: { d: "", - w: 164 + w: 164, }, R: { d: "", - w: 190 + w: 190, }, Q: { d: "", - w: 259 + w: 259, }, P: { d: "", - w: 176 + w: 176, }, O: { d: "", - w: 259 + w: 259, }, L: { d: "", - w: 180 + w: 180, }, J: { d: "", - w: 140 + w: 140, }, I: { d: "", - w: 79 + w: 79, }, H: { d: "", - w: 238 + w: 238, }, G: { d: "", - w: 229 + w: 229, }, 0: { d: "", - w: 203 + w: 203, }, 1: { d: "", - w: 159 + w: 159, }, 2: { d: "", - w: 174 + w: 174, }, 3: { d: "", - w: 166 + w: 166, }, 4: { d: "", - w: 189 + w: 189, }, 6: { d: "", - w: 183 + w: 183, }, 5: { d: "", - w: 172 + w: 172, }, 7: { d: "", - w: 164 + w: 164, }, 8: { d: "", - w: 184 + w: 184, }, 9: { d: "", - w: 183 + w: 183, }, "\/": { d: "", - w: 118 + w: 118, }, ".": { d: "", - w: 61 + w: 61, }, "-": { d: "", - w: 103 + w: 103, }, ",": { d: "", - w: 64 + w: 64, }, "+": { d: "", - w: 212 + w: 212, }, "*": { d: "", - w: 138 + w: 138, }, "(": { d: "", - w: 90 + w: 90, }, "'": { d: "", - w: 59 + w: 59, }, "%": { d: "", - w: 277 + w: 277, }, "!": { d: "", - w: 66 + w: 66, }, "\"": { d: "", - w: 97 + w: 97, }, "#": { d: "", - w: 173 + w: 173, }, $: { d: "", - w: 168 + w: 168, }, "&": { d: "", - w: 211 + w: 211, }, ")": { d: "", - w: 90 + w: 90, }, "?": { d: "", - w: 124 + w: 124, }, ":": { d: "", - w: 61 + w: 61, }, ";": { d: "", - w: 64 + w: 64, }, "<": { d: "", - w: 170 + w: 170, }, "=": { d: "", - w: 207 + w: 207, }, "[": { d: "", - w: 88 + w: 88, }, "\\": { d: "", - w: 118 + w: 118, }, "]": { d: "", - w: 88 + w: 88, }, "^": { d: "", - w: 184 + w: 184, }, _: { d: "", - w: 162 + w: 162, }, ">": { d: "", - w: 170 + w: 170, }, "{": { d: "", - w: 97 + w: 97, }, "|": { d: "", - w: 77 + w: 77, }, "}": { d: "", - w: 97 + w: 97, }, "~": { d: "", - w: 201 + w: 201, }, "`": { d: "", - w: 67 + w: 67, }, "@": { d: "", - w: 293 + w: 293, }, K: { d: "", - w: 200 + w: 200, }, M: { d: "", - w: 290 + w: 290, }, v: { d: "", - w: 178 + w: 178, }, w: { d: "", - w: 281 + w: 281, }, x: { d: "", - w: 171 + w: 171, }, y: { d: "", - w: 178 + w: 178, }, z: { d: "", - w: 154 + w: 154, }, Z: { d: "", - w: 183 + w: 183, }, Y: { d: "", - w: 187 + w: 187, }, X: { d: "", - w: 184 + w: 184, }, W: { d: "", - w: 326 + w: 326, }, V: { - d: "" + d: "", }, A: { - d: "" + d: "", }, N: { d: "", - w: 243 + w: 243, }, ó: { d: "", - w: 202 + w: 202, }, "\u00a0": { - w: 83 - } - } + w: 83, + }, + }, }; // $ExpectType RaphaelFont @@ -405,4 +405,4 @@ import R, { RaphaelFont } from "raphael"; // $ExpectType RaphaelSet<"SVG" | "VML"> R().print(0, 0, "foo", font); -}; +}); diff --git a/types/raphael/test/raphael-tests-global.ts b/types/raphael/test/raphael-tests-global.ts index 5076eabbf21125..02af9351c6b7fa 100644 --- a/types/raphael/test/raphael-tests-global.ts +++ b/types/raphael/test/raphael-tests-global.ts @@ -1,4 +1,4 @@ -() => { +(() => { // $ExpectType RaphaelPaper<"SVG" | "VML"> Raphael("#id", 10, 20); @@ -12,4 +12,4 @@ // $ExpectType RaphaelMatrix matrix.clone(); -}; +}); diff --git a/types/raphael/test/raphael-tests-official.ts b/types/raphael/test/raphael-tests-official.ts index 97b034b034d6b4..c7fcae9c296589 100644 --- a/types/raphael/test/raphael-tests-official.ts +++ b/types/raphael/test/raphael-tests-official.ts @@ -11,25 +11,25 @@ declare const element: HTMLElement; (assert => { let paper: import("raphael").RaphaelPaper; - const url = 'http://raphaeljs.com'; + const url = "http://raphaeljs.com"; - QUnit.module('DOM', { + QUnit.module("DOM", { beforeEach: () => { paper = new Raphael(element, 1000, 1000); }, afterEach: () => { paper.remove(); - } + }, }); - const equalNodePosition = (...args: any[]) => { }; + const equalNodePosition = (...args: any[]) => {}; - const equalNodePositionWrapped = (...args: any[]) => { }; + const equalNodePositionWrapped = (...args: any[]) => {}; // Element#insertBefore // -------------------- - QUnit.test('insertBefore: no element', assert => { + QUnit.test("insertBefore: no element", assert => { const el = paper.rect(0, 0, 0, 0); el.insertBefore(el); @@ -37,7 +37,7 @@ declare const element: HTMLElement; equalNodePosition(assert, el.node, paper.canvas, null, null); }); - QUnit.test('insertBefore: first element', assert => { + QUnit.test("insertBefore: first element", assert => { const x = paper.rect(0, 0, 0, 0); const el = paper.rect(0, 0, 0, 0); @@ -46,7 +46,7 @@ declare const element: HTMLElement; equalNodePosition(assert, el.node, paper.canvas, null, x.node); }); - QUnit.test('insertBefore: middle element', assert => { + QUnit.test("insertBefore: middle element", assert => { const x = paper.rect(0, 0, 0, 0); const y = paper.rect(0, 0, 0, 0); const el = paper.rect(0, 0, 0, 0); @@ -56,8 +56,8 @@ declare const element: HTMLElement; equalNodePosition(assert, el.node, paper.canvas, x.node, y.node); }); - QUnit.test('insertBefore: no element when wrapped in ', assert => { - const el = paper.rect(0, 0, 0, 0).attr('href', url); + QUnit.test("insertBefore: no element when wrapped in ", assert => { + const el = paper.rect(0, 0, 0, 0).attr("href", url); const anchor = el.node.parentNode; el.insertBefore(el); @@ -65,9 +65,9 @@ declare const element: HTMLElement; equalNodePositionWrapped(assert, el.node, anchor, paper.canvas, null, null); }); - QUnit.test('insertBefore: first element when wrapped in ', assert => { + QUnit.test("insertBefore: first element when wrapped in ", assert => { const x = paper.rect(0, 0, 0, 0); - const el = paper.rect(0, 0, 0, 0).attr('href', url); + const el = paper.rect(0, 0, 0, 0).attr("href", url); const anchor = el.node.parentNode; el.insertBefore(x); @@ -75,10 +75,10 @@ declare const element: HTMLElement; equalNodePositionWrapped(assert, el.node, anchor, paper.canvas, null, x.node); }); - QUnit.test('insertBefore: first element wrapped in and wrapped in ', assert => { - const x = paper.rect(0, 0, 0, 0).attr('href', url); + QUnit.test("insertBefore: first element wrapped in and wrapped in ", assert => { + const x = paper.rect(0, 0, 0, 0).attr("href", url); const xAnchor = x.node.parentNode; - const el = paper.rect(0, 0, 0, 0).attr('href', url); + const el = paper.rect(0, 0, 0, 0).attr("href", url); const anchor = el.node.parentNode; el.insertBefore(x); @@ -86,10 +86,10 @@ declare const element: HTMLElement; equalNodePositionWrapped(assert, el.node, anchor, paper.canvas, null, xAnchor); }); - QUnit.test('insertBefore: middle element when wrapped in ', assert => { + QUnit.test("insertBefore: middle element when wrapped in ", assert => { const x = paper.rect(0, 0, 0, 0); const y = paper.rect(0, 0, 0, 0); - const el = paper.rect(0, 0, 0, 0).attr('href', url); + const el = paper.rect(0, 0, 0, 0).attr("href", url); const anchor = el.node.parentNode; el.insertBefore(y); @@ -97,12 +97,12 @@ declare const element: HTMLElement; equalNodePositionWrapped(assert, el.node, anchor, paper.canvas, x.node, y.node); }); - QUnit.test('insertBefore: middle element wrapped in and wrapped in ', assert => { - const x = paper.rect(0, 0, 0, 0).attr('href', url); + QUnit.test("insertBefore: middle element wrapped in and wrapped in ", assert => { + const x = paper.rect(0, 0, 0, 0).attr("href", url); const xAnchor = x.node.parentNode; - const y = paper.rect(0, 0, 0, 0).attr('href', url); + const y = paper.rect(0, 0, 0, 0).attr("href", url); const yAnchor = y.node.parentNode; - const el = paper.rect(0, 0, 0, 0).attr('href', url); + const el = paper.rect(0, 0, 0, 0).attr("href", url); const anchor = el.node.parentNode; el.insertBefore(y); @@ -117,7 +117,7 @@ declare const element: HTMLElement; // Element#insertAfter // ------------------- - QUnit.test('insertAfter: no element', assert => { + QUnit.test("insertAfter: no element", assert => { const el = paper.rect(0, 0, 0, 0); el.insertAfter(el); @@ -125,7 +125,7 @@ declare const element: HTMLElement; equalNodePosition(assert, el.node, paper.canvas, null, null); }); - QUnit.test('insertAfter: last element', assert => { + QUnit.test("insertAfter: last element", assert => { const x = paper.rect(0, 0, 0, 0); const el = paper.rect(0, 0, 0, 0); @@ -134,7 +134,7 @@ declare const element: HTMLElement; equalNodePosition(assert, el.node, paper.canvas, x.node, null); }); - QUnit.test('insertAfter: middle element', assert => { + QUnit.test("insertAfter: middle element", assert => { const x = paper.rect(0, 0, 0, 0); const y = paper.rect(0, 0, 0, 0); const el = paper.rect(0, 0, 0, 0); @@ -144,8 +144,8 @@ declare const element: HTMLElement; equalNodePosition(assert, el.node, paper.canvas, x.node, y.node); }); - QUnit.test('insertAfter: no element when wrapped in ', assert => { - const el = paper.rect(0, 0, 0, 0).attr('href', url); + QUnit.test("insertAfter: no element when wrapped in ", assert => { + const el = paper.rect(0, 0, 0, 0).attr("href", url); const anchor = el.node.parentNode; el.insertAfter(el); @@ -153,9 +153,9 @@ declare const element: HTMLElement; equalNodePositionWrapped(assert, el.node, anchor, paper.canvas, null, null); }); - QUnit.test('insertAfter: last element when wrapped in ', assert => { + QUnit.test("insertAfter: last element when wrapped in ", assert => { const x = paper.rect(0, 0, 0, 0); - const el = paper.rect(0, 0, 0, 0).attr('href', url); + const el = paper.rect(0, 0, 0, 0).attr("href", url); const anchor = el.node.parentNode; el.insertAfter(x); @@ -163,10 +163,10 @@ declare const element: HTMLElement; equalNodePositionWrapped(assert, el.node, anchor, paper.canvas, x.node, null); }); - QUnit.test('insertAfter: last element wrapped in and wrapped in ', assert => { - const x = paper.rect(0, 0, 0, 0).attr('href', url); + QUnit.test("insertAfter: last element wrapped in and wrapped in ", assert => { + const x = paper.rect(0, 0, 0, 0).attr("href", url); const xAnchor = x.node.parentNode; - const el = paper.rect(0, 0, 0, 0).attr('href', url); + const el = paper.rect(0, 0, 0, 0).attr("href", url); const anchor = el.node.parentNode; el.insertAfter(x); @@ -174,10 +174,10 @@ declare const element: HTMLElement; equalNodePositionWrapped(assert, el.node, anchor, paper.canvas, xAnchor, null); }); - QUnit.test('insertAfter: middle element when wrapped in ', assert => { + QUnit.test("insertAfter: middle element when wrapped in ", assert => { const x = paper.rect(0, 0, 0, 0); const y = paper.rect(0, 0, 0, 0); - const el = paper.rect(0, 0, 0, 0).attr('href', url); + const el = paper.rect(0, 0, 0, 0).attr("href", url); const anchor = el.node.parentNode; el.insertAfter(x); @@ -185,12 +185,12 @@ declare const element: HTMLElement; equalNodePositionWrapped(assert, el.node, anchor, paper.canvas, x.node, y.node); }); - QUnit.test('insertAfter: middle element wrapped in and wrapped in ', assert => { - const x = paper.rect(0, 0, 0, 0).attr('href', url); + QUnit.test("insertAfter: middle element wrapped in and wrapped in ", assert => { + const x = paper.rect(0, 0, 0, 0).attr("href", url); const xAnchor = x.node.parentNode; - const y = paper.rect(0, 0, 0, 0).attr('href', url); + const y = paper.rect(0, 0, 0, 0).attr("href", url); const yAnchor = y.node.parentNode; - const el = paper.rect(0, 0, 0, 0).attr('href', url); + const el = paper.rect(0, 0, 0, 0).attr("href", url); const anchor = el.node.parentNode; el.insertAfter(x); @@ -205,7 +205,7 @@ declare const element: HTMLElement; // Element#remove // -------------- - QUnit.test('remove: after added', assert => { + QUnit.test("remove: after added", assert => { const el = paper.rect(0, 0, 0, 0); const node = el.node; @@ -215,8 +215,8 @@ declare const element: HTMLElement; assert.equal(node.parentNode, null); }); - QUnit.test('remove: when wrapped in ', assert => { - const el = paper.rect(0, 0, 0, 0).attr('href', url); + QUnit.test("remove: when wrapped in ", assert => { + const el = paper.rect(0, 0, 0, 0).attr("href", url); const node = el.node; const anchor = node.parentNode; @@ -229,7 +229,7 @@ declare const element: HTMLElement; } }); - QUnit.test('remove: when already removed', assert => { + QUnit.test("remove: when already removed", assert => { const el = paper.rect(0, 0, 0, 0); const node = el.node; @@ -240,7 +240,7 @@ declare const element: HTMLElement; assert.equal(node.parentNode, null); }); - QUnit.test('remove: when the canvas is removed', assert => { + QUnit.test("remove: when the canvas is removed", assert => { const el = paper.rect(0, 0, 0, 0); const node = el.node; @@ -254,7 +254,7 @@ declare const element: HTMLElement; // Element#toFront // -------------- - QUnit.test('toFront: normal', assert => { + QUnit.test("toFront: normal", assert => { const el = paper.rect(0, 0, 0, 0); const x = paper.rect(0, 0, 0, 0); @@ -263,8 +263,8 @@ declare const element: HTMLElement; equalNodePosition(assert, el.node, paper.canvas, x.node, null); }); - QUnit.test('toFront: when wrapped in ', assert => { - const el = paper.rect(0, 0, 0, 0).attr('href', url); + QUnit.test("toFront: when wrapped in ", assert => { + const el = paper.rect(0, 0, 0, 0).attr("href", url); const anchor = el.node.parentNode; const x = paper.rect(0, 0, 0, 0); @@ -276,7 +276,7 @@ declare const element: HTMLElement; // Element#toBack // -------------- - QUnit.test('toBack: normal', assert => { + QUnit.test("toBack: normal", assert => { const x = paper.rect(0, 0, 0, 0); const el = paper.rect(0, 0, 0, 0); @@ -286,9 +286,9 @@ declare const element: HTMLElement; equalNodePosition(assert, x.node, paper.canvas, null, null); }); - QUnit.test('toBack: when wrapped in ', assert => { + QUnit.test("toBack: when wrapped in ", assert => { const x = paper.rect(0, 0, 0, 0); - const el = paper.rect(0, 0, 0, 0).attr('href', url); + const el = paper.rect(0, 0, 0, 0).attr("href", url); const anchor = el.node.parentNode; el.toBack(); diff --git a/types/raphael/test/raphael-tests-old.ts b/types/raphael/test/raphael-tests-old.ts index a5ee1d96f97ea4..e63269ca6e9c5a 100644 --- a/types/raphael/test/raphael-tests-old.ts +++ b/types/raphael/test/raphael-tests-old.ts @@ -1,7 +1,7 @@ // Tests that were present in the old 2.1 type declarations // Slightly modified to reflect the new version -() => { +(() => { const paper = Raphael(10, 50, 320, 200); const circle = paper.circle(50, 40, 10); circle.attr("fill", "#f00"); @@ -13,7 +13,7 @@ fill: "#223fa3", stroke: "#000", "stroke-width": 80, - "stroke-opacity": 0.5 + "stroke-opacity": 0.5, }, 2000); const img = document.createElement("img"); @@ -31,14 +31,18 @@ butt1.push( R.circle(24.833, 26.917, 26.667).attr({ stroke: "#ccc", fill: "#fff", "fill-opacity": .4, "stroke-width": 2 }), - R.path("M12.582,9.551C3.251,16.237,0.921,29.021,7.08,38.564l-2.36,1.689l4.893,2.262l4.893,2.262l-0.568-5.36l-0.567-5.359z").attr({ stroke: "none", fill: "#000" }), - R.circle(24.833, 26.917, 26.667).attr({ fill: "#fff", opacity: 0 }) + R.path( + "M12.582,9.551C3.251,16.237,0.921,29.021,7.08,38.564l-2.36,1.689l4.893,2.262l4.893,2.262l-0.568-5.36l-0.567-5.359z", + ).attr({ stroke: "none", fill: "#000" }), + R.circle(24.833, 26.917, 26.667).attr({ fill: "#fff", opacity: 0 }), ); butt2.push( R.circle(24.833, 26.917, 26.667).attr({ stroke: "#ccc", fill: "#fff", "fill-opacity": .4, "stroke-width": 2 }), - R.path("M37.566,9.551c9.331,6.686,11.661,19.471,5.502,29.014l2.36,1.689l-4.893,2.262l-4.893,2.262l0.568-5.36l0.567-5.359z").attr({ stroke: "none", fill: "#000" }), - R.circle(24.833, 26.917, 26.667).attr({ fill: "#fff", opacity: 0 }) + R.path( + "M37.566,9.551c9.331,6.686,11.661,19.471,5.502,29.014l2.36,1.689l-4.893,2.262l-4.893,2.262l0.568-5.36l0.567-5.359z", + ).attr({ stroke: "none", fill: "#000" }), + R.circle(24.833, 26.917, 26.667).attr({ fill: "#fff", opacity: 0 }), ); const butt3: import("raphael").RaphaelMatrix = Raphael.matrix(1, 0, 0, 1, 0, 0); @@ -77,4 +81,4 @@ const attr = { font: "50px Helvetica", opacity: 0.5 }; txt[0] = R2.text(320, 240, text).attr(attr).attr({ fill: "#0f0" }); R.safari(); -}; +}); diff --git a/types/raphael/test/raphael-tests-plugin.ts b/types/raphael/test/raphael-tests-plugin.ts index 7967dc7910e8ad..2d4d22227e9aa3 100644 --- a/types/raphael/test/raphael-tests-plugin.ts +++ b/types/raphael/test/raphael-tests-plugin.ts @@ -13,7 +13,7 @@ declare module "raphael" { firstLevel: { secondLevel: { method(): boolean; - } + }; }; } diff --git a/types/rappid/index.d.ts b/types/rappid/index.d.ts index fc67d0069900af..f37bb0fe1ec2b8 100644 --- a/types/rappid/index.d.ts +++ b/types/rappid/index.d.ts @@ -4,8 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as joint from 'jointjs'; import * as Backbone from "backbone"; +import * as joint from "jointjs"; export as namespace joint; @@ -24,7 +24,7 @@ export namespace ui { constructor(opt: { paper: joint.dia.Paper; graph: joint.dia.Graph; - model: Backbone.Collection + model: Backbone.Collection; }); createSelectionBox(cellView: joint.dia.CellView): void; diff --git a/types/rasa-webchat/index.d.ts b/types/rasa-webchat/index.d.ts index dc19021da766b0..26f08ee9fb6e5f 100644 --- a/types/rasa-webchat/index.d.ts +++ b/types/rasa-webchat/index.d.ts @@ -3,7 +3,7 @@ // Definitions by: Weiqiu Zheng // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import * as React from 'react'; +import * as React from "react"; /** * Props for the rasa-webchat widget component. @@ -89,7 +89,7 @@ export interface RasaWebchatProps { * It can only take the values `mount` and `open`. * @default "mount" */ - connectOn?: 'mount' | 'open'; + connectOn?: "mount" | "open"; /** * @default "Waiting for server..." @@ -218,7 +218,7 @@ export interface RasaWebchatProps { * The local storage persists after the browser is closed and is cleared * when the cookies of the browser are cleared, or when `localStorage.clear()` is called. */ - storage?: 'local' | 'session'; + storage?: "local" | "session"; }; /** @@ -320,27 +320,29 @@ export interface RasaWebchatProps { /** * @default null */ - rules?: Array<{ - payload: string; - text?: string; - trigger: { - url?: string | string[]; - timeOnPage?: number; - numberOfVisits?: number; - numberOfPageVisits?: number; - device?: string; - when?: 'always' | 'init'; - queryString?: Array<{ - param?: string; - value?: string; - sendAsEntity?: boolean; - }>; - eventListeners?: Array<{ - selector: string; - event: string; - }>; - }; - }> | null; + rules?: + | Array<{ + payload: string; + text?: string; + trigger: { + url?: string | string[]; + timeOnPage?: number; + numberOfVisits?: number; + numberOfPageVisits?: number; + device?: string; + when?: "always" | "init"; + queryString?: Array<{ + param?: string; + value?: string; + sendAsEntity?: boolean; + }>; + eventListeners?: Array<{ + selector: string; + event: string; + }>; + }; + }> + | null; /** * @default 500 diff --git a/types/rasa-webchat/rasa-webchat-tests.tsx b/types/rasa-webchat/rasa-webchat-tests.tsx index 763df0ebe35915..c2f965dff66458 100644 --- a/types/rasa-webchat/rasa-webchat-tests.tsx +++ b/types/rasa-webchat/rasa-webchat-tests.tsx @@ -1,24 +1,24 @@ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import RasaWebchat, { RasaWebchatProps } from 'rasa-webchat'; +import RasaWebchat, { RasaWebchatProps } from "rasa-webchat"; +import * as React from "react"; +import * as ReactDOM from "react-dom"; const validProps: RasaWebchatProps = { - title: 'Welcome', + title: "Welcome", customData: {}, - inputTextFieldHint: 'Type a message...', - connectingText: 'Waiting for server...', + inputTextFieldHint: "Type a message...", + connectingText: "Waiting for server...", fullScreenMode: false, hideWhenNotConnected: true, autoClearCache: false, - connectOn: 'mount', + connectOn: "mount", onSocketEvent: {}, - protocol: 'socketio', - socketUrl: 'http://localhost', + protocol: "socketio", + socketUrl: "http://localhost", protocolOptions: {}, badge: 0, embedded: false, params: { - storage: 'local', + storage: "local", }, docViewer: false, showCloseButton: true, @@ -40,15 +40,15 @@ const validProps: RasaWebchatProps = { onChatHidden: () => {}, }, disableTooltips: false, - mainColor: '', + mainColor: "", withRules: true, rules: null, triggerEventListenerUpdateRate: 500, - conversationBackgroundColor: '', - userTextColor: '', - userBackgroundColor: '', - assistTextColor: '', - assistBackgoundColor: '', + conversationBackgroundColor: "", + userTextColor: "", + userBackgroundColor: "", + assistTextColor: "", + assistBackgoundColor: "", }; ReactDOM.render(, document.body); diff --git a/types/rascal/index.d.ts b/types/rascal/index.d.ts index 20ba1120b52876..cd2a571816c427 100644 --- a/types/rascal/index.d.ts +++ b/types/rascal/index.d.ts @@ -8,13 +8,13 @@ /// -import { EventEmitter } from 'events'; -import { Message, Options, Connection, Channel } from 'amqplib'; +import { Channel, Connection, Message, Options } from "amqplib"; +import { EventEmitter } from "events"; export interface BindingConfig { source?: string | undefined; destination?: string | undefined; - destinationType?: 'queue' | 'exchange' | undefined; + destinationType?: "queue" | "exchange" | undefined; bindingKey?: string | undefined; bindingKeys?: string[] | undefined; options?: any; @@ -31,7 +31,7 @@ export interface ExchangeConfig { name?: string | undefined; assert?: boolean | undefined; check?: boolean | undefined; - type?: 'direct' | 'fanout' | 'headers' | 'topic' | undefined; + type?: "direct" | "fanout" | "headers" | "topic" | undefined; options?: Options.AssertExchange | undefined; } @@ -50,21 +50,21 @@ export interface ConnectionAttributes { loggableUrl?: string | undefined; options?: | { - heartbeat?: number | undefined; - timeout?: number | undefined; - channelMax?: number | undefined; - connection_timeout?: number | undefined; - [key: string]: any; - } + heartbeat?: number | undefined; + timeout?: number | undefined; + channelMax?: number | undefined; + connection_timeout?: number | undefined; + [key: string]: any; + } | undefined; socketOptions?: | { - timeout?: number | undefined; - clientProperties?: { - connection_name?: string | undefined; - [key: string]: string | undefined; - }; - } + timeout?: number | undefined; + clientProperties?: { + connection_name?: string | undefined; + [key: string]: string | undefined; + }; + } | undefined; } @@ -72,7 +72,7 @@ export interface RetryConfig { factor?: number | undefined; max?: number | undefined; min?: number | undefined; - strategy?: 'exponential' | 'linear' | undefined; + strategy?: "exponential" | "linear" | undefined; delay?: number | undefined; } @@ -96,40 +96,40 @@ export interface VhostConfig { namespace?: string | boolean | undefined; publicationChannelPools?: | { - regularPool?: ChannelPoolConfig | undefined; - confirmPool?: ChannelPoolConfig | undefined; - } + regularPool?: ChannelPoolConfig | undefined; + confirmPool?: ChannelPoolConfig | undefined; + } | undefined; connection?: ConnectionConfig | undefined; connections?: ConnectionConfig[] | undefined; - connectionStrategy?: 'random' | 'fixed' | undefined; + connectionStrategy?: "random" | "fixed" | undefined; exchanges?: | { - [key: string]: ExchangeConfig; - } + [key: string]: ExchangeConfig; + } | Array | undefined; queues?: | { - [key: string]: QueueConfig; - } + [key: string]: QueueConfig; + } | Array | undefined; bindings?: | { - [key: string]: BindingConfig; - } + [key: string]: BindingConfig; + } | Array | undefined; publications?: | { - [key: string]: PublicationConfig; - } + [key: string]: PublicationConfig; + } | undefined; subscriptions?: | { - [key: string]: SubscriptionConfig; - } + [key: string]: SubscriptionConfig; + } | undefined; } @@ -154,16 +154,16 @@ export interface Encryption { export interface Redelivery { counters?: | { - [key: string]: { - type: 'stub' | 'inMemory' | 'inMemoryCluster'; - size?: number | undefined; - }; - } + [key: string]: { + type: "stub" | "inMemory" | "inMemoryCluster"; + size?: number | undefined; + }; + } | undefined; } export interface Recovery { - strategy: 'ack' | 'nack' | 'republish' | 'forward'; + strategy: "ack" | "nack" | "republish" | "forward"; defer?: number | undefined; attempts?: number | undefined; requeue?: boolean | undefined; @@ -188,40 +188,40 @@ export interface SubscriptionConfig { autoCreated?: boolean | undefined; redeliveries?: | { - counter: string; - limit: number; - timeout?: number | undefined; - } + counter: string; + limit: number; + timeout?: number | undefined; + } | undefined; } interface BrokerConfig { vhosts?: | { - [key: string]: VhostConfig; - } + [key: string]: VhostConfig; + } | undefined; publications?: | { - [key: string]: PublicationConfig; - } + [key: string]: PublicationConfig; + } | undefined; subscriptions?: | { - [key: string]: SubscriptionConfig; - } + [key: string]: SubscriptionConfig; + } | undefined; redeliveries?: Redelivery | undefined; recovery?: | { - [key: string]: Recovery | Recovery[]; - } + [key: string]: Recovery | Recovery[]; + } | undefined; defaults?: VhostConfig | undefined; encryption?: | { - [key: string]: Encryption; - } + [key: string]: Encryption; + } | undefined; } @@ -445,10 +445,10 @@ export class SubscriberSessionAsPromised extends EventEmitter { name: string; cancel(): Promise; - on(event: 'message', listener: (message: Message, content: any, ackOrNackFn: AckOrNack) => void): this; - on(event: 'error' | 'cancelled', listener: (err: Error) => void): this; + on(event: "message", listener: (message: Message, content: any, ackOrNackFn: AckOrNack) => void): this; + on(event: "error" | "cancelled", listener: (err: Error) => void): this; on( - event: 'invalid_content' | 'redeliveries_exceeded' | 'redeliveries_error', + event: "invalid_content" | "redeliveries_exceeded" | "redeliveries_error", listener: (err: Error, message: Message, ackOrNackFn: AckOrNack) => void, ): this; } @@ -474,10 +474,10 @@ export class SubscriptionSession extends EventEmitter { isCancelled(): boolean; cancel(next: ErrorCb): void; - on(event: 'message', listener: (message: Message, content: any, ackOrNackFn: AckOrNack) => void): this; - on(event: 'error' | 'cancelled', listener: (err: Error) => void): this; + on(event: "message", listener: (message: Message, content: any, ackOrNackFn: AckOrNack) => void): this; + on(event: "error" | "cancelled", listener: (err: Error) => void): this; on( - event: 'invalid_content' | 'redeliveries_exceeded' | 'redeliveries_error', + event: "invalid_content" | "redeliveries_exceeded" | "redeliveries_error", listener: (err: Error, message: Message, ackOrNackFn: AckOrNack) => void, ): this; } @@ -523,9 +523,9 @@ export class PublicationSession extends EventEmitter { isAborted(): boolean; emitPaused(): void; - on(event: 'error', cb: (err: Error, messageId: string) => void): this; - on(event: 'success', cb: (messageId: string) => void): this; - on(event: 'return', cb: (message: Message) => void): this; + on(event: "error", cb: (err: Error, messageId: string) => void): this; + on(event: "success", cb: (messageId: string) => void): this; + on(event: "return", cb: (message: Message) => void): this; } export class Vhost extends EventEmitter { @@ -567,15 +567,15 @@ declare namespace counters { } export { + AckOrNack, Broker, BrokerAsPromised, + BrokerConfig, + counters, createBroker, createBrokerAsPromised, defaultConfig, testConfig, withDefaultConfig, withTestConfig, - counters, - BrokerConfig, - AckOrNack, }; diff --git a/types/rascal/rascal-tests.ts b/types/rascal/rascal-tests.ts index d7463032b379fe..9de86f399ae4bb 100644 --- a/types/rascal/rascal-tests.ts +++ b/types/rascal/rascal-tests.ts @@ -1,56 +1,56 @@ +import { Message } from "amqplib"; import { + AckOrNack, Broker, BrokerAsPromised, BrokerConfig, - AckOrNack, - withDefaultConfig, + createBroker, + createBrokerAsPromised, PublicationSession, SubscriptionSession, - createBrokerAsPromised, - createBroker, -} from 'rascal'; -import { Message } from 'amqplib'; + withDefaultConfig, +} from "rascal"; const config: BrokerConfig = { vhosts: { - '/': { + "/": { connection: { - url: 'amqp://user:password@broker.example.com:5742/', + url: "amqp://user:password@broker.example.com:5742/", socketOptions: { clientProperties: { - connection_name: 'demo_service', - custom_tag: 'custom_tag_identifier', + connection_name: "demo_service", + custom_tag: "custom_tag_identifier", }, }, }, exchanges: [ - 'demo_ex', + "demo_ex", { - name: 'short_ex', + name: "short_ex", }, ], queues: [ - 'demo_q', + "demo_q", { - name: 'short_q', + name: "short_q", }, ], bindings: [ - 'demo_ex[a.b.c] -> demo_q', + "demo_ex[a.b.c] -> demo_q", { - source: 'short_ex', - destination: 'short_q', + source: "short_ex", + destination: "short_q", }, ], publications: { demo_pub: { - exchange: 'demo_ex', - routingKey: 'a.b.c', + exchange: "demo_ex", + routingKey: "a.b.c", }, }, subscriptions: { demo_sub: { - queue: 'demo_q', + queue: "demo_q", prefetch: 3, }, }, @@ -61,40 +61,40 @@ const config: BrokerConfig = { (async () => { try { const broker = await BrokerAsPromised.create(withDefaultConfig(config)); - broker.on('error', console.error); + broker.on("error", console.error); // Publish a message - const publication = await broker.publish('demo_publication', 'Hello World!'); - await broker.publish('p1', 'some message'); - await broker.publish('p1', 'some message', 'some.routing.key'); - await broker.publish('p1', 'some message', { - routingKey: 'some.routing.key', - options: { messageId: 'foo', expiration: 5000 }, + const publication = await broker.publish("demo_publication", "Hello World!"); + await broker.publish("p1", "some message"); + await broker.publish("p1", "some message", "some.routing.key"); + await broker.publish("p1", "some message", { + routingKey: "some.routing.key", + options: { messageId: "foo", expiration: 5000 }, }); - publication.on('error', console.error); + publication.on("error", console.error); // Consume a message - const subscription = await broker.subscribe('demo_subscription'); - await broker.subscribe('s1', { prefetch: 10, retry: false }); + const subscription = await broker.subscribe("demo_subscription"); + await broker.subscribe("s1", { prefetch: 10, retry: false }); await subscription.cancel(); subscription - .on('message', (message, content, ackOrNack) => { + .on("message", (message, content, ackOrNack) => { ackOrNack(); - ackOrNack(new Error(), { strategy: 'nack' }); - ackOrNack(new Error(), { strategy: 'nack', defer: 1000, requeue: true }); - ackOrNack(new Error(), [{ strategy: 'republish', defer: 1000, attempts: 10 }, { strategy: 'nack' }]); - ackOrNack(new Error(), { strategy: 'republish', immediateNack: true }); - ackOrNack(new Error(), { strategy: 'forward', publication: 'some_exchange' }); + ackOrNack(new Error(), { strategy: "nack" }); + ackOrNack(new Error(), { strategy: "nack", defer: 1000, requeue: true }); + ackOrNack(new Error(), [{ strategy: "republish", defer: 1000, attempts: 10 }, { strategy: "nack" }]); + ackOrNack(new Error(), { strategy: "republish", immediateNack: true }); + ackOrNack(new Error(), { strategy: "forward", publication: "some_exchange" }); ackOrNack(new Error(), [ { - strategy: 'forward', - publication: 'some_exchange', - options: { routingKey: 'custom.routing.key' }, + strategy: "forward", + publication: "some_exchange", + options: { routingKey: "custom.routing.key" }, }, - { strategy: 'nack' }, + { strategy: "nack" }, ]); }) - .on('error', console.error); + .on("error", console.error); } catch (err) { console.error(err); } @@ -104,23 +104,23 @@ const config: BrokerConfig = { Broker.create(config, (err, broker) => { if (err) throw err; - broker.on('error', console.error); + broker.on("error", console.error); // Publish a message - broker.publish('demo_publication', 'Hello World!', (err, publication) => { + broker.publish("demo_publication", "Hello World!", (err, publication) => { if (err) throw err; - publication.on('error', console.error); + publication.on("error", console.error); }); // Consume a message - broker.subscribe('demo_subscription', (err, subscription) => { + broker.subscribe("demo_subscription", (err, subscription) => { if (err) throw err; subscription - .on('message', (message, content, ackOrNack) => { + .on("message", (message, content, ackOrNack) => { console.log(content); ackOrNack(); }) - .on('error', console.error); + .on("error", console.error); }); }); @@ -197,12 +197,12 @@ Broker.create(config, (err, broker) => { err; // $ExpectType null broker; // $ExpectType Broker - broker.connect('/', (err, conn) => { + broker.connect("/", (err, conn) => { err; // $ExpectType Error | null conn; // $ExpectType Connection | null }); - broker.connect('/', (...x) => { + broker.connect("/", (...x) => { if (x[0] === null) { const y = x[1]; // $ExpectType Connection } else { @@ -214,16 +214,16 @@ Broker.create(config, (err, broker) => { { Broker.create(config, (err, broker) => { - broker.publish('demo_publication', 'Hello World!', (err, publication) => { + broker.publish("demo_publication", "Hello World!", (err, publication) => { publication - .on('error', (err, msgId) => { + .on("error", (err, msgId) => { err; // $ExpectType Error msgId; // $ExpectType string }) - .on('return', msg => { + .on("return", msg => { msg; // $ExpectType Message }) - .on('success', msgId => { + .on("success", msgId => { msgId; // $ExpectType string }); }); diff --git a/types/raspi-peripheral/index.d.ts b/types/raspi-peripheral/index.d.ts index d52ed3ec6c71ae..2fb1b98556767e 100644 --- a/types/raspi-peripheral/index.d.ts +++ b/types/raspi-peripheral/index.d.ts @@ -5,7 +5,7 @@ // TypeScript Version: 2.1 /// -import { EventEmitter } from 'events'; +import { EventEmitter } from "events"; export class Peripheral extends EventEmitter { private _alive; readonly alive: boolean; diff --git a/types/raspi-peripheral/raspi-peripheral-tests.ts b/types/raspi-peripheral/raspi-peripheral-tests.ts index dc16f863a224d8..9545bb84a646d8 100644 --- a/types/raspi-peripheral/raspi-peripheral-tests.ts +++ b/types/raspi-peripheral/raspi-peripheral-tests.ts @@ -1,5 +1,5 @@ -import { Peripheral } from 'raspi-peripheral'; +import { Peripheral } from "raspi-peripheral"; -const myPeripheral = new Peripheral('GPIO2'); +const myPeripheral = new Peripheral("GPIO2"); myPeripheral.alive; myPeripheral.pins.filter((pin) => true); diff --git a/types/raspi-pwm/index.d.ts b/types/raspi-pwm/index.d.ts index 1dd74bc08eae6b..88136f698a5084 100644 --- a/types/raspi-pwm/index.d.ts +++ b/types/raspi-pwm/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.1 -import { Peripheral } from 'raspi-peripheral'; +import { Peripheral } from "raspi-peripheral"; export interface Config { pin?: number | string | undefined; frequency?: number | undefined; diff --git a/types/raspi-pwm/raspi-pwm-tests.ts b/types/raspi-pwm/raspi-pwm-tests.ts index 3b4bf7ef3aff2b..754c6d7384c54a 100644 --- a/types/raspi-pwm/raspi-pwm-tests.ts +++ b/types/raspi-pwm/raspi-pwm-tests.ts @@ -1,13 +1,13 @@ -import { Config, PWM } from 'raspi-pwm'; +import { Config, PWM } from "raspi-pwm"; const config: Config = { - pin: 'P1-3', - frequency: 1 + pin: "P1-3", + frequency: 1, }; new PWM(); new PWM(1); -new PWM('P1-3'); +new PWM("P1-3"); const pwm = new PWM(config); pwm.write(1); diff --git a/types/ratelimiter/ratelimiter-tests.ts b/types/ratelimiter/ratelimiter-tests.ts index c6447e505a3130..1ccf908c911360 100644 --- a/types/ratelimiter/ratelimiter-tests.ts +++ b/types/ratelimiter/ratelimiter-tests.ts @@ -1,4 +1,4 @@ -import Limiter = require('ratelimiter'); +import Limiter = require("ratelimiter"); declare let id: string; declare let db: { diff --git a/types/raty/index.d.ts b/types/raty/index.d.ts index 93aec3dad359be..8b545613eeb48b 100644 --- a/types/raty/index.d.ts +++ b/types/raty/index.d.ts @@ -7,59 +7,59 @@ /// interface JQuery { - raty(): JQuery; - raty(options: JQueryRatyOptions): JQuery; - raty(method: string, parameter: any): any; - raty(method: 'score'): number; - raty(method: 'score', score: number): void; - raty(method: 'click', star: number): void; - raty(method: 'readonly', on: boolean): void; - raty(method: 'cancel', on: boolean): void; - raty(method: 'reload'): void; - raty(method: 'set', options: JQueryRatyOptions): void; - raty(method: 'destroy'): JQuery; - raty(method: 'move', number: number): void; + raty(): JQuery; + raty(options: JQueryRatyOptions): JQuery; + raty(method: string, parameter: any): any; + raty(method: "score"): number; + raty(method: "score", score: number): void; + raty(method: "click", star: number): void; + raty(method: "readonly", on: boolean): void; + raty(method: "cancel", on: boolean): void; + raty(method: "reload"): void; + raty(method: "set", options: JQueryRatyOptions): void; + raty(method: "destroy"): JQuery; + raty(method: "move", number: number): void; } interface JQueryRatyOptions { - cancel?: boolean | undefined, - cancelClass?: string | undefined, - cancelHint?: string | undefined, - cancelOff?: string | undefined, - cancelOn?: string | undefined, - cancelPlace?: string | undefined, - click?: ((score: number, event: JQueryEventObject) => void) | undefined, - half?: boolean | undefined, - halfShow?: boolean | undefined, - hints?: string[] | undefined, - iconRange?: any[][] | undefined, - mouseout?: ((score: number, event: JQueryEventObject) => void) | undefined, - mouseover?: ((score: number, event: JQueryEventObject) => void) | undefined, - noRatedMsg?: string | undefined, - number?: number | undefined, - numberMax?: number | undefined, - path?: string | undefined, - precision?: boolean | undefined, - readOnly?: boolean | undefined, - round?: JQueryRatyRoundingOptions | undefined, - score?: number | undefined, - scoreName?: string | undefined, - single?: boolean | undefined, - space?: boolean | undefined, - starHalf?: string | undefined, - starOff?: string | undefined, - starOn?: string | undefined, - target?: string | undefined, - targetFormat?: string | undefined, - targetKeep?: boolean | undefined, - targetScore?: string | undefined, - targetText?: string | undefined, - targetType?: string | undefined, - starType?: string | undefined, + cancel?: boolean | undefined; + cancelClass?: string | undefined; + cancelHint?: string | undefined; + cancelOff?: string | undefined; + cancelOn?: string | undefined; + cancelPlace?: string | undefined; + click?: ((score: number, event: JQueryEventObject) => void) | undefined; + half?: boolean | undefined; + halfShow?: boolean | undefined; + hints?: string[] | undefined; + iconRange?: any[][] | undefined; + mouseout?: ((score: number, event: JQueryEventObject) => void) | undefined; + mouseover?: ((score: number, event: JQueryEventObject) => void) | undefined; + noRatedMsg?: string | undefined; + number?: number | undefined; + numberMax?: number | undefined; + path?: string | undefined; + precision?: boolean | undefined; + readOnly?: boolean | undefined; + round?: JQueryRatyRoundingOptions | undefined; + score?: number | undefined; + scoreName?: string | undefined; + single?: boolean | undefined; + space?: boolean | undefined; + starHalf?: string | undefined; + starOff?: string | undefined; + starOn?: string | undefined; + target?: string | undefined; + targetFormat?: string | undefined; + targetKeep?: boolean | undefined; + targetScore?: string | undefined; + targetText?: string | undefined; + targetType?: string | undefined; + starType?: string | undefined; } interface JQueryRatyRoundingOptions { - down: number, - full: number, - up: number, + down: number; + full: number; + up: number; } diff --git a/types/raty/raty-tests.ts b/types/raty/raty-tests.ts index 51b510b0a3ea65..8cbfd6ef5cb668 100644 --- a/types/raty/raty-tests.ts +++ b/types/raty/raty-tests.ts @@ -1,50 +1,50 @@ -var $element: JQuery = $('
'); +var $element: JQuery = $("
"); $element.raty(); $element.raty({ - cancel: false, - cancelClass: 'raty-cancel', - cancelHint: 'Cancel this rating!', - cancelOff: 'cancel-off.png', - cancelOn: 'cancel-on.png', - cancelPlace: 'left', - click: undefined, - half: false, - halfShow: true, - hints: ['bad', 'poor', 'regular', 'good', 'gorgeous'], - iconRange: undefined, - mouseout: undefined, - mouseover: undefined, - noRatedMsg: 'Not rated yet!', - number: 5, - numberMax: 20, - path: undefined, - precision: false, - readOnly: false, - round: { down: .25, full: .6, up: .76 }, - score: undefined, - scoreName: 'score', - single: false, - space: true, - starHalf: 'star-half.png', - starOff: 'star-off.png', - starOn: 'star-on.png', - target: undefined, - targetFormat: '{score}', - targetKeep: false, - targetScore: undefined, - targetText: '', - targetType: 'hint', - starType: 'img', + cancel: false, + cancelClass: "raty-cancel", + cancelHint: "Cancel this rating!", + cancelOff: "cancel-off.png", + cancelOn: "cancel-on.png", + cancelPlace: "left", + click: undefined, + half: false, + halfShow: true, + hints: ["bad", "poor", "regular", "good", "gorgeous"], + iconRange: undefined, + mouseout: undefined, + mouseover: undefined, + noRatedMsg: "Not rated yet!", + number: 5, + numberMax: 20, + path: undefined, + precision: false, + readOnly: false, + round: { down: .25, full: .6, up: .76 }, + score: undefined, + scoreName: "score", + single: false, + space: true, + starHalf: "star-half.png", + starOff: "star-off.png", + starOn: "star-on.png", + target: undefined, + targetFormat: "{score}", + targetKeep: false, + targetScore: undefined, + targetText: "", + targetType: "hint", + starType: "img", }); -var score: number = $element.raty('score'); -$element.raty('score', 4); -$element.raty('click', 2); -$element.raty('readOnly', true); -$element.raty('cancel', true); -$element.raty('reload'); -$element.raty('set', { space: false }); -$element.raty('destroy'); -$element.raty('move', 3); +var score: number = $element.raty("score"); +$element.raty("score", 4); +$element.raty("click", 2); +$element.raty("readOnly", true); +$element.raty("cancel", true); +$element.raty("reload"); +$element.raty("set", { space: false }); +$element.raty("destroy"); +$element.raty("move", 3); diff --git a/types/raven-for-redux/index.d.ts b/types/raven-for-redux/index.d.ts index 53b4667a574ed0..a3b01531657298 100644 --- a/types/raven-for-redux/index.d.ts +++ b/types/raven-for-redux/index.d.ts @@ -4,12 +4,15 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 -import { Action, Middleware } from "redux"; import * as Raven from "raven-js"; +import { Action, Middleware } from "redux"; export = createRavenMiddleware; -declare function createRavenMiddleware(raven: Raven.RavenStatic, options?: createRavenMiddleware.RavenMiddlewareOptions): Middleware; +declare function createRavenMiddleware( + raven: Raven.RavenStatic, + options?: createRavenMiddleware.RavenMiddlewareOptions, +): Middleware; declare namespace createRavenMiddleware { interface RavenUserContext { diff --git a/types/raven-for-redux/raven-for-redux-tests.ts b/types/raven-for-redux/raven-for-redux-tests.ts index 481fd5bd7523ce..d8c635855d65b6 100644 --- a/types/raven-for-redux/raven-for-redux-tests.ts +++ b/types/raven-for-redux/raven-for-redux-tests.ts @@ -9,5 +9,5 @@ createStore( return null; }, null, - applyMiddleware(middleware) + applyMiddleware(middleware), ); diff --git a/types/raven/index.d.ts b/types/raven/index.d.ts index b716ad04c7f085..4280c17051d49d 100644 --- a/types/raven/index.d.ts +++ b/types/raven/index.d.ts @@ -7,10 +7,8 @@ /// -import { - IncomingMessage, ServerResponse, OutgoingHttpHeaders, Agent, ClientRequest -} from 'http'; -import { EventEmitter } from 'events'; +import { EventEmitter } from "events"; +import { Agent, ClientRequest, IncomingMessage, OutgoingHttpHeaders, ServerResponse } from "http"; // expose all methods of `Client` class since raven exposes a singleton instance // todo: there has to be a better way of doing this that doesn't require duplicating so much stuff @@ -125,40 +123,40 @@ export interface CaptureOptions { } export namespace transports { - interface HTTPTransportOptions { - hostname?: string | undefined; - path?: string | undefined; - headers?: OutgoingHttpHeaders | undefined; - method?: 'POST' | 'GET' | undefined; - port?: number | undefined; - ca?: string | undefined; - agent?: Agent | undefined; - rejectUnauthorized?: boolean | undefined; - } - abstract class Transport extends EventEmitter { - abstract send( - client: Client, - message: any, - headers: OutgoingHttpHeaders, - eventId: string, - cb: CaptureCallback - ): void; - } - class HTTPTransport extends Transport { - defaultPort: string; - options: HTTPTransportOptions; - agent: Agent; - constructor(options?: HTTPTransportOptions); - send( - client: Client, - message: any, - headers: OutgoingHttpHeaders, - eventId: string, - cb: CaptureCallback - ): void; - } - class HTTPSTransport extends HTTPTransport { - } - const https: HTTPSTransport; - const http: HTTPTransport; + interface HTTPTransportOptions { + hostname?: string | undefined; + path?: string | undefined; + headers?: OutgoingHttpHeaders | undefined; + method?: "POST" | "GET" | undefined; + port?: number | undefined; + ca?: string | undefined; + agent?: Agent | undefined; + rejectUnauthorized?: boolean | undefined; + } + abstract class Transport extends EventEmitter { + abstract send( + client: Client, + message: any, + headers: OutgoingHttpHeaders, + eventId: string, + cb: CaptureCallback, + ): void; + } + class HTTPTransport extends Transport { + defaultPort: string; + options: HTTPTransportOptions; + agent: Agent; + constructor(options?: HTTPTransportOptions); + send( + client: Client, + message: any, + headers: OutgoingHttpHeaders, + eventId: string, + cb: CaptureCallback, + ): void; + } + class HTTPSTransport extends HTTPTransport { + } + const https: HTTPSTransport; + const http: HTTPTransport; } diff --git a/types/raven/raven-tests.ts b/types/raven/raven-tests.ts index fc89d885890a17..d2a9344a45bdb1 100644 --- a/types/raven/raven-tests.ts +++ b/types/raven/raven-tests.ts @@ -1,11 +1,11 @@ -import * as Raven from 'raven'; +import * as Raven from "raven"; -const dsn = '___DSN___'; +const dsn = "___DSN___"; const client = Raven.config(dsn, { autoBreadcrumbs: true }).install(); Raven.config(dsn, { - logger: 'logger', - parseUser: ['id', 'name'], + logger: "logger", + parseUser: ["id", "name"], autoBreadcrumbs: false, }); console.log(Raven.version); @@ -13,26 +13,26 @@ console.log(Raven.version); const transport = new Raven.transports.HTTPTransport(); Raven.config({ - release: 'foobar', - transport + release: "foobar", + transport, }); Raven.config({ - transport: Raven.transports.https + transport: Raven.transports.https, }); client.setContext({}); -client.on('logged', () => { }); +client.on("logged", () => {}); client.process({}); -client.captureMessage('Broken!', (err, eventId) => { }); -new Raven.Client({ name: 'YAY!' }); -new Raven.Client(dsn, { name: 'YAY!' }); +client.captureMessage("Broken!", (err, eventId) => {}); +new Raven.Client({ name: "YAY!" }); +new Raven.Client(dsn, { name: "YAY!" }); new Raven.Client(dsn); try { throw new Error(); } catch (e) { - const eventId = Raven.captureException(e, (sendErr, eventId) => { }); + const eventId = Raven.captureException(e, (sendErr, eventId) => {}); } Raven.setContext({}); @@ -41,4 +41,4 @@ Raven.context(() => { Raven.captureBreadcrumb({}); }); setTimeout(Raven.wrap(() => {}), 1000); -Raven.utils.parseDSN('https://8769c40cf49c4cc58b51fa45d8e2d166:296768aa91084e17b5ac02d3ad5bc7e7@app.getsentry.com/269'); +Raven.utils.parseDSN("https://8769c40cf49c4cc58b51fa45d8e2d166:296768aa91084e17b5ac02d3ad5bc7e7@app.getsentry.com/269"); diff --git a/types/rax/global.d.ts b/types/rax/global.d.ts index c48e759ab6e9e1..4808cbe8e9e22d 100644 --- a/types/rax/global.d.ts +++ b/types/rax/global.d.ts @@ -3,145 +3,145 @@ Warning: all of these interfaces are empty. If you want type definitions for var (such as HTMLInputElement.prototype.value), you need to add `--lib DOM` (via command line or tsconfig.json). */ -interface Event { } -interface AnimationEvent extends Event { } -interface ClipboardEvent extends Event { } -interface CompositionEvent extends Event { } -interface DragEvent extends Event { } -interface FocusEvent extends Event { } -interface KeyboardEvent extends Event { } -interface MouseEvent extends Event { } -interface TouchEvent extends Event { } -interface PointerEvent extends Event { } -interface TransitionEvent extends Event { } -interface UIEvent extends Event { } -interface WheelEvent extends Event { } +interface Event {} +interface AnimationEvent extends Event {} +interface ClipboardEvent extends Event {} +interface CompositionEvent extends Event {} +interface DragEvent extends Event {} +interface FocusEvent extends Event {} +interface KeyboardEvent extends Event {} +interface MouseEvent extends Event {} +interface TouchEvent extends Event {} +interface PointerEvent extends Event {} +interface TransitionEvent extends Event {} +interface UIEvent extends Event {} +interface WheelEvent extends Event {} -interface EventTarget { } -interface Document { } -interface DataTransfer { } -interface StyleMedia { } +interface EventTarget {} +interface Document {} +interface DataTransfer {} +interface StyleMedia {} -interface Element { } -interface DocumentFragment { } +interface Element {} +interface DocumentFragment {} -interface HTMLElement extends Element { } -interface HTMLAnchorElement extends HTMLElement { } -interface HTMLAreaElement extends HTMLElement { } -interface HTMLAudioElement extends HTMLElement { } -interface HTMLBaseElement extends HTMLElement { } -interface HTMLBodyElement extends HTMLElement { } -interface HTMLBRElement extends HTMLElement { } -interface HTMLButtonElement extends HTMLElement { } -interface HTMLCanvasElement extends HTMLElement { } -interface HTMLDataElement extends HTMLElement { } -interface HTMLDataListElement extends HTMLElement { } -interface HTMLDialogElement extends HTMLElement { } -interface HTMLDivElement extends HTMLElement { } -interface HTMLDListElement extends HTMLElement { } -interface HTMLEmbedElement extends HTMLElement { } -interface HTMLFieldSetElement extends HTMLElement { } -interface HTMLFormElement extends HTMLElement { } -interface HTMLHeadingElement extends HTMLElement { } -interface HTMLHeadElement extends HTMLElement { } -interface HTMLHRElement extends HTMLElement { } -interface HTMLHtmlElement extends HTMLElement { } -interface HTMLIFrameElement extends HTMLElement { } -interface HTMLImageElement extends HTMLElement { } -interface HTMLInputElement extends HTMLElement { } -interface HTMLModElement extends HTMLElement { } -interface HTMLLabelElement extends HTMLElement { } -interface HTMLLegendElement extends HTMLElement { } -interface HTMLLIElement extends HTMLElement { } -interface HTMLLinkElement extends HTMLElement { } -interface HTMLMapElement extends HTMLElement { } -interface HTMLMetaElement extends HTMLElement { } -interface HTMLObjectElement extends HTMLElement { } -interface HTMLOListElement extends HTMLElement { } -interface HTMLOptGroupElement extends HTMLElement { } -interface HTMLOptionElement extends HTMLElement { } -interface HTMLParagraphElement extends HTMLElement { } -interface HTMLParamElement extends HTMLElement { } -interface HTMLPreElement extends HTMLElement { } -interface HTMLProgressElement extends HTMLElement { } -interface HTMLQuoteElement extends HTMLElement { } -interface HTMLSlotElement extends HTMLElement { } -interface HTMLScriptElement extends HTMLElement { } -interface HTMLSelectElement extends HTMLElement { } -interface HTMLSourceElement extends HTMLElement { } -interface HTMLSpanElement extends HTMLElement { } -interface HTMLStyleElement extends HTMLElement { } -interface HTMLTableElement extends HTMLElement { } -interface HTMLTableColElement extends HTMLElement { } -interface HTMLTableDataCellElement extends HTMLElement { } -interface HTMLTableHeaderCellElement extends HTMLElement { } -interface HTMLTableRowElement extends HTMLElement { } -interface HTMLTableSectionElement extends HTMLElement { } -interface HTMLTemplateElement extends HTMLElement { } -interface HTMLTextAreaElement extends HTMLElement { } -interface HTMLTitleElement extends HTMLElement { } -interface HTMLTrackElement extends HTMLElement { } -interface HTMLUListElement extends HTMLElement { } -interface HTMLVideoElement extends HTMLElement { } -interface HTMLWebViewElement extends HTMLElement { } +interface HTMLElement extends Element {} +interface HTMLAnchorElement extends HTMLElement {} +interface HTMLAreaElement extends HTMLElement {} +interface HTMLAudioElement extends HTMLElement {} +interface HTMLBaseElement extends HTMLElement {} +interface HTMLBodyElement extends HTMLElement {} +interface HTMLBRElement extends HTMLElement {} +interface HTMLButtonElement extends HTMLElement {} +interface HTMLCanvasElement extends HTMLElement {} +interface HTMLDataElement extends HTMLElement {} +interface HTMLDataListElement extends HTMLElement {} +interface HTMLDialogElement extends HTMLElement {} +interface HTMLDivElement extends HTMLElement {} +interface HTMLDListElement extends HTMLElement {} +interface HTMLEmbedElement extends HTMLElement {} +interface HTMLFieldSetElement extends HTMLElement {} +interface HTMLFormElement extends HTMLElement {} +interface HTMLHeadingElement extends HTMLElement {} +interface HTMLHeadElement extends HTMLElement {} +interface HTMLHRElement extends HTMLElement {} +interface HTMLHtmlElement extends HTMLElement {} +interface HTMLIFrameElement extends HTMLElement {} +interface HTMLImageElement extends HTMLElement {} +interface HTMLInputElement extends HTMLElement {} +interface HTMLModElement extends HTMLElement {} +interface HTMLLabelElement extends HTMLElement {} +interface HTMLLegendElement extends HTMLElement {} +interface HTMLLIElement extends HTMLElement {} +interface HTMLLinkElement extends HTMLElement {} +interface HTMLMapElement extends HTMLElement {} +interface HTMLMetaElement extends HTMLElement {} +interface HTMLObjectElement extends HTMLElement {} +interface HTMLOListElement extends HTMLElement {} +interface HTMLOptGroupElement extends HTMLElement {} +interface HTMLOptionElement extends HTMLElement {} +interface HTMLParagraphElement extends HTMLElement {} +interface HTMLParamElement extends HTMLElement {} +interface HTMLPreElement extends HTMLElement {} +interface HTMLProgressElement extends HTMLElement {} +interface HTMLQuoteElement extends HTMLElement {} +interface HTMLSlotElement extends HTMLElement {} +interface HTMLScriptElement extends HTMLElement {} +interface HTMLSelectElement extends HTMLElement {} +interface HTMLSourceElement extends HTMLElement {} +interface HTMLSpanElement extends HTMLElement {} +interface HTMLStyleElement extends HTMLElement {} +interface HTMLTableElement extends HTMLElement {} +interface HTMLTableColElement extends HTMLElement {} +interface HTMLTableDataCellElement extends HTMLElement {} +interface HTMLTableHeaderCellElement extends HTMLElement {} +interface HTMLTableRowElement extends HTMLElement {} +interface HTMLTableSectionElement extends HTMLElement {} +interface HTMLTemplateElement extends HTMLElement {} +interface HTMLTextAreaElement extends HTMLElement {} +interface HTMLTitleElement extends HTMLElement {} +interface HTMLTrackElement extends HTMLElement {} +interface HTMLUListElement extends HTMLElement {} +interface HTMLVideoElement extends HTMLElement {} +interface HTMLWebViewElement extends HTMLElement {} -interface SVGElement extends Element { } -interface SVGSVGElement extends SVGElement { } -interface SVGCircleElement extends SVGElement { } -interface SVGClipPathElement extends SVGElement { } -interface SVGDefsElement extends SVGElement { } -interface SVGDescElement extends SVGElement { } -interface SVGEllipseElement extends SVGElement { } -interface SVGFEBlendElement extends SVGElement { } -interface SVGFEColorMatrixElement extends SVGElement { } -interface SVGFEComponentTransferElement extends SVGElement { } -interface SVGFECompositeElement extends SVGElement { } -interface SVGFEConvolveMatrixElement extends SVGElement { } -interface SVGFEDiffuseLightingElement extends SVGElement { } -interface SVGFEDisplacementMapElement extends SVGElement { } -interface SVGFEDistantLightElement extends SVGElement { } -interface SVGFEDropShadowElement extends SVGElement { } -interface SVGFEFloodElement extends SVGElement { } -interface SVGFEFuncAElement extends SVGElement { } -interface SVGFEFuncBElement extends SVGElement { } -interface SVGFEFuncGElement extends SVGElement { } -interface SVGFEFuncRElement extends SVGElement { } -interface SVGFEGaussianBlurElement extends SVGElement { } -interface SVGFEImageElement extends SVGElement { } -interface SVGFEMergeElement extends SVGElement { } -interface SVGFEMergeNodeElement extends SVGElement { } -interface SVGFEMorphologyElement extends SVGElement { } -interface SVGFEOffsetElement extends SVGElement { } -interface SVGFEPointLightElement extends SVGElement { } -interface SVGFESpecularLightingElement extends SVGElement { } -interface SVGFESpotLightElement extends SVGElement { } -interface SVGFETileElement extends SVGElement { } -interface SVGFETurbulenceElement extends SVGElement { } -interface SVGFilterElement extends SVGElement { } -interface SVGForeignObjectElement extends SVGElement { } -interface SVGGElement extends SVGElement { } -interface SVGImageElement extends SVGElement { } -interface SVGLineElement extends SVGElement { } -interface SVGLinearGradientElement extends SVGElement { } -interface SVGMarkerElement extends SVGElement { } -interface SVGMaskElement extends SVGElement { } -interface SVGMetadataElement extends SVGElement { } -interface SVGPathElement extends SVGElement { } -interface SVGPatternElement extends SVGElement { } -interface SVGPolygonElement extends SVGElement { } -interface SVGPolylineElement extends SVGElement { } -interface SVGRadialGradientElement extends SVGElement { } -interface SVGRectElement extends SVGElement { } -interface SVGStopElement extends SVGElement { } -interface SVGSwitchElement extends SVGElement { } -interface SVGSymbolElement extends SVGElement { } -interface SVGTextElement extends SVGElement { } -interface SVGTextPathElement extends SVGElement { } -interface SVGTSpanElement extends SVGElement { } -interface SVGUseElement extends SVGElement { } -interface SVGViewElement extends SVGElement { } +interface SVGElement extends Element {} +interface SVGSVGElement extends SVGElement {} +interface SVGCircleElement extends SVGElement {} +interface SVGClipPathElement extends SVGElement {} +interface SVGDefsElement extends SVGElement {} +interface SVGDescElement extends SVGElement {} +interface SVGEllipseElement extends SVGElement {} +interface SVGFEBlendElement extends SVGElement {} +interface SVGFEColorMatrixElement extends SVGElement {} +interface SVGFEComponentTransferElement extends SVGElement {} +interface SVGFECompositeElement extends SVGElement {} +interface SVGFEConvolveMatrixElement extends SVGElement {} +interface SVGFEDiffuseLightingElement extends SVGElement {} +interface SVGFEDisplacementMapElement extends SVGElement {} +interface SVGFEDistantLightElement extends SVGElement {} +interface SVGFEDropShadowElement extends SVGElement {} +interface SVGFEFloodElement extends SVGElement {} +interface SVGFEFuncAElement extends SVGElement {} +interface SVGFEFuncBElement extends SVGElement {} +interface SVGFEFuncGElement extends SVGElement {} +interface SVGFEFuncRElement extends SVGElement {} +interface SVGFEGaussianBlurElement extends SVGElement {} +interface SVGFEImageElement extends SVGElement {} +interface SVGFEMergeElement extends SVGElement {} +interface SVGFEMergeNodeElement extends SVGElement {} +interface SVGFEMorphologyElement extends SVGElement {} +interface SVGFEOffsetElement extends SVGElement {} +interface SVGFEPointLightElement extends SVGElement {} +interface SVGFESpecularLightingElement extends SVGElement {} +interface SVGFESpotLightElement extends SVGElement {} +interface SVGFETileElement extends SVGElement {} +interface SVGFETurbulenceElement extends SVGElement {} +interface SVGFilterElement extends SVGElement {} +interface SVGForeignObjectElement extends SVGElement {} +interface SVGGElement extends SVGElement {} +interface SVGImageElement extends SVGElement {} +interface SVGLineElement extends SVGElement {} +interface SVGLinearGradientElement extends SVGElement {} +interface SVGMarkerElement extends SVGElement {} +interface SVGMaskElement extends SVGElement {} +interface SVGMetadataElement extends SVGElement {} +interface SVGPathElement extends SVGElement {} +interface SVGPatternElement extends SVGElement {} +interface SVGPolygonElement extends SVGElement {} +interface SVGPolylineElement extends SVGElement {} +interface SVGRadialGradientElement extends SVGElement {} +interface SVGRectElement extends SVGElement {} +interface SVGStopElement extends SVGElement {} +interface SVGSwitchElement extends SVGElement {} +interface SVGSymbolElement extends SVGElement {} +interface SVGTextElement extends SVGElement {} +interface SVGTextPathElement extends SVGElement {} +interface SVGTSpanElement extends SVGElement {} +interface SVGUseElement extends SVGElement {} +interface SVGViewElement extends SVGElement {} -interface Text { } -interface TouchList { } -interface WebGLRenderingContext { } -interface WebGL2RenderingContext { } +interface Text {} +interface TouchList {} +interface WebGLRenderingContext {} +interface WebGL2RenderingContext {} diff --git a/types/rax/index.d.ts b/types/rax/index.d.ts index dc62ec70dd9133..3a5853063dece8 100644 --- a/types/rax/index.d.ts +++ b/types/rax/index.d.ts @@ -10,8 +10,8 @@ /// -import * as CSS from 'csstype'; -import * as PropTypes from 'prop-types'; +import * as CSS from "csstype"; +import * as PropTypes from "prop-types"; type NativeAnimationEvent = AnimationEvent; type NativeClipboardEvent = ClipboardEvent; @@ -25,15 +25,15 @@ type NativePointerEvent = PointerEvent; type NativeTransitionEvent = TransitionEvent; type NativeUIEvent = UIEvent; type NativeWheelEvent = WheelEvent; -type Booleanish = boolean | 'true' | 'false'; +type Booleanish = boolean | "true" | "false"; /** * defined in scheduler/tracing */ interface SchedulerInteraction { - id: number; - name: string; - timestamp: number; + id: number; + name: string; + timestamp: number; } // eslint-disable-next-line @definitelytyped/export-just-namespace @@ -41,533 +41,528 @@ export = Rax; export as namespace Rax; declare namespace Rax { - export const shared: { - Host: any; - Instance: RaxInstance; - Element: RaxElement; - flattenChildren: any; - }; - /** - * ====================================================================== - * Rax Elements - * ====================================================================== - */ - type ElementType

= - | { - [K in keyof JSX.IntrinsicElements]: P extends JSX.IntrinsicElements[K] ? K : never - }[keyof JSX.IntrinsicElements] - | ComponentType

; - - type ComponentType

= ComponentClass

| FunctionComponent

; - - type JSXElementConstructor

= - | ((props: P) => RaxElement | null) - | (new (props: P) => Component); - - type Key = string | number; - - interface RefObject { - readonly current: T | null; - } - - type Ref = - | { bivarianceHack(instance: T | null): void }['bivarianceHack'] - | RefObject - | null; - type LegacyRef = string | Ref; - - /** - * Gets the instance type for a Rax element. The instance will be different for various component types: - * - * - Rax class components will be the class instance. So if you had `class Foo extends Component<{}> {}` - * and used `ElementRef` then the type would be the instance of `Foo`. - * - Rax stateless functional components do not have a backing instance and so `ElementRef` - * (when `Bar` is `function Bar() {}`) will give you the `undefined` type. - * - JSX intrinsics like `div` will give you their DOM instance. For `ElementRef<'div'>` that would be - * `HTMLDivElement`. For `ElementRef<'input'>` that would be `HTMLInputElement`. - * - Rax stateless functional components that forward a `ref` will give you the `ElementRef` of the forwarded - * to component. - * - * `C` must be the type _of_ a Rax component so you need to use typeof as in `ElementRef`. - */ - type ElementRef< - C extends - | ForwardRefExoticComponent - | { new (props: any): Component } - | ((props: any, context?: any) => RaxElement | null) - | keyof JSX.IntrinsicElements - > = - // need to check first if `ref` is a valid prop for ts@3.0 - // otherwise it will infer `{}` instead of `never` - "ref" extends keyof ComponentPropsWithRef - ? NonNullable["ref"]> extends Ref< - infer Instance - > - ? Instance - : never - : never; - - type ComponentState = any; - - interface Attributes { - key?: Key | null | undefined; - } - - interface RefAttributes extends Attributes { - ref?: Ref | undefined; - } - - interface ClassAttributes extends Attributes { - ref?: LegacyRef | undefined; - } - - interface RaxElement< - P = any, - T extends string | JSXElementConstructor = string | JSXElementConstructor - > { - type: T; - props: P; - key: Key | null; - } - - interface RaxComponentElement< - T extends keyof JSX.IntrinsicElements | JSXElementConstructor, - P = Pick, Exclude, 'key' | 'ref'>> - > extends RaxElement {} - - interface FunctionComponentElement

extends RaxElement> { - ref?: 'ref' extends keyof P ? (P extends { ref?: infer R | undefined } ? R : never) : never | undefined; - } - - type CElement> = ComponentElement; - interface ComponentElement> - extends RaxElement> { - ref?: LegacyRef | undefined; - } - - type ClassicElement

= CElement>; - - // string fallback for custom web-components - interface DOMElement

| SVGAttributes, T extends Element> - extends RaxElement { - ref: LegacyRef; - } - - // RaxHTML for RaxHTMLElement - interface RaxHTMLElement - extends DetailedRaxHTMLElement, T> {} - - interface DetailedRaxHTMLElement

, T extends HTMLElement> - extends DOMElement { - type: keyof RaxHTML; - } - - // RaxSVG for RaxSVGElement - interface RaxSVGElement extends DOMElement, SVGElement> { - type: keyof RaxSVG; - } - - interface RaxPortal extends RaxElement { - key: Key | null; - children: RaxNode; - } - - /** - * ====================================================================== - * Rax Factories - * ====================================================================== - */ - - type Factory

= (props?: Attributes & P, ...children: RaxNode[]) => RaxElement

; - - type FunctionComponentFactory

= ( - props?: Attributes & P, - ...children: RaxNode[] - ) => FunctionComponentElement

; - - type ComponentFactory> = ( - props?: ClassAttributes & P, - ...children: RaxNode[] - ) => CElement; - - type CFactory> = ComponentFactory; - type ClassicFactory

= CFactory>; - - type DOMFactory

, T extends Element> = ( - props?: ClassAttributes & P | null, - ...children: RaxNode[] - ) => DOMElement; - - interface HTMLFactory - extends DetailedHTMLFactory, T> {} - - interface DetailedHTMLFactory

, T extends HTMLElement> - extends DOMFactory { - (props?: ClassAttributes & P | null, ...children: RaxNode[]): DetailedRaxHTMLElement; - } - - interface SVGFactory extends DOMFactory, SVGElement> { - ( - props?: ClassAttributes & SVGAttributes | null, - ...children: RaxNode[] - ): RaxSVGElement; - } - - /** - * ====================================================================== - * Rax Nodes - * ====================================================================== - */ - - type RaxText = string | number; - type RaxChild = RaxElement | RaxText; - - interface RaxNodeArray extends Array {} - type RaxFragment = {} | RaxNodeArray; - type RaxNode = RaxChild | RaxFragment | RaxPortal | boolean | null | undefined; - - /** - * ====================================================================== - * Rax Top Level API - * ====================================================================== - */ - - // DOM Elements - // TODO: generalize this to everything in `keyof RaxHTML`, not just "input" - function createElement( - type: 'input', - props?: InputHTMLAttributes & ClassAttributes | null, - ...children: RaxNode[] - ): DetailedRaxHTMLElement, HTMLInputElement>; - function createElement

, T extends HTMLElement>( - type: keyof RaxHTML, - props?: ClassAttributes & P | null, - ...children: RaxNode[] - ): DetailedRaxHTMLElement; - function createElement

, T extends SVGElement>( - type: keyof RaxSVG, - props?: ClassAttributes & P | null, - ...children: RaxNode[] - ): RaxSVGElement; - function createElement

, T extends Element>( - type: string, - props?: ClassAttributes & P | null, - ...children: RaxNode[] - ): DOMElement; - - // Custom components - - function createElement

( - type: FunctionComponent

, - props?: Attributes & P | null, - ...children: RaxNode[] - ): FunctionComponentElement

; - function createElement

( - type: ClassType, ClassicComponentClass

>, - props?: ClassAttributes> & P | null, - ...children: RaxNode[] - ): CElement>; - function createElement< - P extends {}, - T extends Component, - C extends ComponentClass

- >( - type: ClassType, - props?: ClassAttributes & P | null, - ...children: RaxNode[] - ): CElement; - function createElement

( - type: FunctionComponent

| ComponentClass

| string, - props?: Attributes & P | null, - ...children: RaxNode[] - ): RaxElement

; - - // Context via RenderProps - interface ProviderProps { - value: T; - children?: RaxNode | undefined; - } - - interface ConsumerProps { - children: (value: T) => RaxNode; - unstable_observedBits?: number | undefined; - } - - interface ExoticComponent

{ + export const shared: { + Host: any; + Instance: RaxInstance; + Element: RaxElement; + flattenChildren: any; + }; /** - * **NOTE**: Exotic components are not callable. + * ====================================================================== + * Rax Elements + * ====================================================================== */ - (props: P): RaxElement | null; - readonly $$typeof: symbol; - } - - interface NamedExoticComponent

extends ExoticComponent

{ - displayName?: string | undefined; - } - - interface ProviderExoticComponent

extends ExoticComponent

{ - propTypes?: WeakValidationMap

| undefined; - } - - type ContextType> = C extends Context ? T : never; - - type Provider = ProviderExoticComponent>; - type Consumer = ExoticComponent>; - interface Context { - Provider: Provider; - Consumer: Consumer; - displayName?: string | undefined; - } - function createContext( - defaultValue: T, - calculateChangedBits?: (prev: T, next: T) => number - ): Context; - - const Children: RaxChildren; - const Fragment: ExoticComponent<{ children?: RaxNode | undefined }>; - - const version: string; - - interface RenderOption { - driver: any; - hydrate?: boolean; - } - export const render: Renderer; - - export interface Renderer { - ( - element: DOMElement, T>, - container: Element | DocumentFragment | null, - options?: RenderOption, - callback?: () => void - ): T; + type ElementType

= + | { + [K in keyof JSX.IntrinsicElements]: P extends JSX.IntrinsicElements[K] ? K : never; + }[keyof JSX.IntrinsicElements] + | ComponentType

; - ( - element: Array, any>>, - container: Element | DocumentFragment | null, - options?: RenderOption, - callback?: () => void - ): Element; - - ( - element: FunctionComponentElement | Array>, - container: Element | DocumentFragment | null, - options?: RenderOption, - callback?: () => void - ): void; + type ComponentType

= ComponentClass

| FunctionComponent

; - >( - element: CElement, - container: Element | DocumentFragment | null, - options?: RenderOption, - callback?: () => void - ): T; + type JSXElementConstructor

= + | ((props: P) => RaxElement | null) + | (new(props: P) => Component); - ( - element: Array>>, - container: Element | DocumentFragment | null, - options?: RenderOption, - callback?: () => void - ): Component; - -

( - element: RaxElement

, - container: Element | DocumentFragment | null, - options?: RenderOption, - callback?: () => void - ): Component | Element | void; - - ( - element: RaxElement[], - container: Element | DocumentFragment | null, - options?: RenderOption, - callback?: () => void - ): Component | Element | void; - } - - /** - * ====================================================================== - * Rax Component API - * ====================================================================== - */ - type RaxInstance = Component | Element; - - // Base component for plain JS classes - interface Component

extends ComponentLifecycle {} - class Component { - readonly props: Readonly

& Readonly<{ children?: RaxNode | undefined }>; - state: Readonly; - - constructor(props: Readonly

); - - setState( - state: - | ((prevState: Readonly, props: Readonly

) => Pick | S | null) - | (Pick | S | null), - callback?: () => void - ): void; + type Key = string | number; - forceUpdate(callBack?: () => void): void; - - render(): RaxNode; + interface RefObject { + readonly current: T | null; + } - refs: { - [key: string]: RaxInstance - }; + type Ref = + | { bivarianceHack(instance: T | null): void }["bivarianceHack"] + | RefObject + | null; + type LegacyRef = string | Ref; - context: any; - } - - class PureComponent

extends Component {} - - interface ClassicComponent

extends Component { - replaceState(nextState: S, callback?: () => void): void; - isMounted(): boolean; - getInitialState?(): S; - } - - interface ChildContextProvider { - getChildContext(): CC; - } - - type FC

= FunctionComponent

; - - interface FunctionComponent

{ - (props: PropsWithChildren

, context?: any): RaxElement | null; - propTypes?: WeakValidationMap

| undefined; - contextTypes?: ValidationMap | undefined; - defaultProps?: Partial

| undefined; - displayName?: string | undefined; - } - - type ForwardedRef = ((instance: T | null) => void) | MutableRefObject | null; - - interface ForwardRefRenderFunction { - (props: PropsWithChildren

, ref: ForwardedRef): RaxElement | null; - displayName?: string | undefined; - // explicit rejected with `never` required due to - // https://github.com/microsoft/TypeScript/issues/36826 - /** - * defaultProps are not supported on render functions - */ - defaultProps?: never | undefined; - /** - * propTypes are not supported on render functions - */ - propTypes?: never | undefined; - } - - /** - * @deprecated Use ForwardRefRenderFunction. forwardRef doesn't accept a - * "real" component. - */ - interface RefForwardingComponent extends ForwardRefRenderFunction {} - - interface ComponentClass

extends StaticLifecycle { - new (props: P, context?: any): Component; - propTypes?: WeakValidationMap

| undefined; - contextType?: Context | undefined; - contextTypes?: ValidationMap | undefined; - childContextTypes?: ValidationMap | undefined; - defaultProps?: Partial

| undefined; - displayName?: string | undefined; - } - - interface ClassicComponentClass

extends ComponentClass

{ - new (props: P, context?: any): ClassicComponent; - getDefaultProps?(): P; - } - - /** - * We use an intersection type to infer multiple type parameters from - * a single argument, which is useful for many top-level API defs. - * See https://github.com/Microsoft/TypeScript/issues/7234 for more info. - */ - type ClassType, C extends ComponentClass

> = C & - (new (props: P, context?: any) => T); - - /** - * ====================================================================== - * Rax Component Specs and Lifecycle - * ====================================================================== - */ - - // This should actually be something like `Lifecycle | DeprecatedLifecycle`, - // as Rax will _not_ call the deprecated lifecycle methods if any of the new lifecycle - // methods are present. - interface ComponentLifecycle { - /** - * Called immediately after a component is mounted. Setting state here will trigger re-rendering. - */ - componentDidMount?(): void; /** - * Called to determine whether the change in props and state should trigger a re-render. + * Gets the instance type for a Rax element. The instance will be different for various component types: * - * `Component` always returns true. - * `PureComponent` implements a shallow comparison on props and state and returns true if any - * props or states have changed. + * - Rax class components will be the class instance. So if you had `class Foo extends Component<{}> {}` + * and used `ElementRef` then the type would be the instance of `Foo`. + * - Rax stateless functional components do not have a backing instance and so `ElementRef` + * (when `Bar` is `function Bar() {}`) will give you the `undefined` type. + * - JSX intrinsics like `div` will give you their DOM instance. For `ElementRef<'div'>` that would be + * `HTMLDivElement`. For `ElementRef<'input'>` that would be `HTMLInputElement`. + * - Rax stateless functional components that forward a `ref` will give you the `ElementRef` of the forwarded + * to component. * - * If false is returned, `Component#render`, `componentWillUpdate` - * and `componentDidUpdate` will not be called. + * `C` must be the type _of_ a Rax component so you need to use typeof as in `ElementRef`. */ - shouldComponentUpdate?( - nextProps: Readonly

, - nextState: Readonly, - nextContext: any - ): boolean; + type ElementRef< + C extends + | ForwardRefExoticComponent + | { new(props: any): Component } + | ((props: any, context?: any) => RaxElement | null) + | keyof JSX.IntrinsicElements, + > = + // need to check first if `ref` is a valid prop for ts@3.0 + // otherwise it will infer `{}` instead of `never` + "ref" extends keyof ComponentPropsWithRef ? NonNullable["ref"]> extends Ref< + infer Instance + > ? Instance + : never + : never; + + type ComponentState = any; + + interface Attributes { + key?: Key | null | undefined; + } + + interface RefAttributes extends Attributes { + ref?: Ref | undefined; + } + + interface ClassAttributes extends Attributes { + ref?: LegacyRef | undefined; + } + + interface RaxElement< + P = any, + T extends string | JSXElementConstructor = string | JSXElementConstructor, + > { + type: T; + props: P; + key: Key | null; + } + + interface RaxComponentElement< + T extends keyof JSX.IntrinsicElements | JSXElementConstructor, + P = Pick, Exclude, "key" | "ref">>, + > extends RaxElement {} + + interface FunctionComponentElement

extends RaxElement> { + ref?: "ref" extends keyof P ? (P extends { ref?: infer R | undefined } ? R : never) : never | undefined; + } + + type CElement> = ComponentElement; + interface ComponentElement> extends RaxElement> { + ref?: LegacyRef | undefined; + } + + type ClassicElement

= CElement>; + + // string fallback for custom web-components + interface DOMElement

| SVGAttributes, T extends Element> + extends RaxElement + { + ref: LegacyRef; + } + + // RaxHTML for RaxHTMLElement + interface RaxHTMLElement extends DetailedRaxHTMLElement, T> {} + + interface DetailedRaxHTMLElement

, T extends HTMLElement> extends DOMElement { + type: keyof RaxHTML; + } + + // RaxSVG for RaxSVGElement + interface RaxSVGElement extends DOMElement, SVGElement> { + type: keyof RaxSVG; + } + + interface RaxPortal extends RaxElement { + key: Key | null; + children: RaxNode; + } + /** - * Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as - * cancelled network requests, or cleaning up any DOM elements created in `componentDidMount`. + * ====================================================================== + * Rax Factories + * ====================================================================== */ - componentWillUnmount?(): void; + + type Factory

= (props?: Attributes & P, ...children: RaxNode[]) => RaxElement

; + + type FunctionComponentFactory

= ( + props?: Attributes & P, + ...children: RaxNode[] + ) => FunctionComponentElement

; + + type ComponentFactory> = ( + props?: ClassAttributes & P, + ...children: RaxNode[] + ) => CElement; + + type CFactory> = ComponentFactory; + type ClassicFactory

= CFactory>; + + type DOMFactory

, T extends Element> = ( + props?: ClassAttributes & P | null, + ...children: RaxNode[] + ) => DOMElement; + + interface HTMLFactory extends DetailedHTMLFactory, T> {} + + interface DetailedHTMLFactory

, T extends HTMLElement> extends DOMFactory { + (props?: ClassAttributes & P | null, ...children: RaxNode[]): DetailedRaxHTMLElement; + } + + interface SVGFactory extends DOMFactory, SVGElement> { + ( + props?: ClassAttributes & SVGAttributes | null, + ...children: RaxNode[] + ): RaxSVGElement; + } + /** - * Catches exceptions generated in descendant components. Unhandled exceptions will cause - * the entire component tree to unmount. + * ====================================================================== + * Rax Nodes + * ====================================================================== */ - componentDidCatch?(error: Error, errorInfo: ErrorInfo): void; + + type RaxText = string | number; + type RaxChild = RaxElement | RaxText; + + interface RaxNodeArray extends Array {} + type RaxFragment = {} | RaxNodeArray; + type RaxNode = RaxChild | RaxFragment | RaxPortal | boolean | null | undefined; /** - * Runs before Rax applies the result of `render` to the document, and - * returns an object to be given to componentDidUpdate. Useful for saving - * things such as scroll position before `render` causes changes to it. - * - * Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated - * lifecycle events from running. + * ====================================================================== + * Rax Top Level API + * ====================================================================== */ - getSnapshotBeforeUpdate?(prevProps: Readonly

, prevState: Readonly): SS | null; + + // DOM Elements + // TODO: generalize this to everything in `keyof RaxHTML`, not just "input" + function createElement( + type: "input", + props?: InputHTMLAttributes & ClassAttributes | null, + ...children: RaxNode[] + ): DetailedRaxHTMLElement, HTMLInputElement>; + function createElement

, T extends HTMLElement>( + type: keyof RaxHTML, + props?: ClassAttributes & P | null, + ...children: RaxNode[] + ): DetailedRaxHTMLElement; + function createElement

, T extends SVGElement>( + type: keyof RaxSVG, + props?: ClassAttributes & P | null, + ...children: RaxNode[] + ): RaxSVGElement; + function createElement

, T extends Element>( + type: string, + props?: ClassAttributes & P | null, + ...children: RaxNode[] + ): DOMElement; + + // Custom components + + function createElement

( + type: FunctionComponent

, + props?: Attributes & P | null, + ...children: RaxNode[] + ): FunctionComponentElement

; + function createElement

( + type: ClassType, ClassicComponentClass

>, + props?: ClassAttributes> & P | null, + ...children: RaxNode[] + ): CElement>; + function createElement< + P extends {}, + T extends Component, + C extends ComponentClass

, + >( + type: ClassType, + props?: ClassAttributes & P | null, + ...children: RaxNode[] + ): CElement; + function createElement

( + type: FunctionComponent

| ComponentClass

| string, + props?: Attributes & P | null, + ...children: RaxNode[] + ): RaxElement

; + + // Context via RenderProps + interface ProviderProps { + value: T; + children?: RaxNode | undefined; + } + + interface ConsumerProps { + children: (value: T) => RaxNode; + unstable_observedBits?: number | undefined; + } + + interface ExoticComponent

{ + /** + * **NOTE**: Exotic components are not callable. + */ + (props: P): RaxElement | null; + readonly $$typeof: symbol; + } + + interface NamedExoticComponent

extends ExoticComponent

{ + displayName?: string | undefined; + } + + interface ProviderExoticComponent

extends ExoticComponent

{ + propTypes?: WeakValidationMap

| undefined; + } + + type ContextType> = C extends Context ? T : never; + + type Provider = ProviderExoticComponent>; + type Consumer = ExoticComponent>; + interface Context { + Provider: Provider; + Consumer: Consumer; + displayName?: string | undefined; + } + function createContext( + defaultValue: T, + calculateChangedBits?: (prev: T, next: T) => number, + ): Context; + + const Children: RaxChildren; + const Fragment: ExoticComponent<{ children?: RaxNode | undefined }>; + + const version: string; + + interface RenderOption { + driver: any; + hydrate?: boolean; + } + export const render: Renderer; + + export interface Renderer { + ( + element: DOMElement, T>, + container: Element | DocumentFragment | null, + options?: RenderOption, + callback?: () => void, + ): T; + + ( + element: Array, any>>, + container: Element | DocumentFragment | null, + options?: RenderOption, + callback?: () => void, + ): Element; + + ( + element: FunctionComponentElement | Array>, + container: Element | DocumentFragment | null, + options?: RenderOption, + callback?: () => void, + ): void; + + >( + element: CElement, + container: Element | DocumentFragment | null, + options?: RenderOption, + callback?: () => void, + ): T; + + ( + element: Array>>, + container: Element | DocumentFragment | null, + options?: RenderOption, + callback?: () => void, + ): Component; + +

( + element: RaxElement

, + container: Element | DocumentFragment | null, + options?: RenderOption, + callback?: () => void, + ): Component | Element | void; + + ( + element: RaxElement[], + container: Element | DocumentFragment | null, + options?: RenderOption, + callback?: () => void, + ): Component | Element | void; + } + /** - * Called immediately after updating occurs. Not called for the initial render. - * - * The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null. + * ====================================================================== + * Rax Component API + * ====================================================================== + */ + type RaxInstance = Component | Element; + + // Base component for plain JS classes + interface Component

extends ComponentLifecycle {} + class Component { + readonly props: Readonly

& Readonly<{ children?: RaxNode | undefined }>; + state: Readonly; + + constructor(props: Readonly

); + + setState( + state: + | ((prevState: Readonly, props: Readonly

) => Pick | S | null) + | (Pick | S | null), + callback?: () => void, + ): void; + + forceUpdate(callBack?: () => void): void; + + render(): RaxNode; + + refs: { + [key: string]: RaxInstance; + }; + + context: any; + } + + class PureComponent

extends Component {} + + interface ClassicComponent

extends Component { + replaceState(nextState: S, callback?: () => void): void; + isMounted(): boolean; + getInitialState?(): S; + } + + interface ChildContextProvider { + getChildContext(): CC; + } + + type FC

= FunctionComponent

; + + interface FunctionComponent

{ + (props: PropsWithChildren

, context?: any): RaxElement | null; + propTypes?: WeakValidationMap

| undefined; + contextTypes?: ValidationMap | undefined; + defaultProps?: Partial

| undefined; + displayName?: string | undefined; + } + + type ForwardedRef = ((instance: T | null) => void) | MutableRefObject | null; + + interface ForwardRefRenderFunction { + (props: PropsWithChildren

, ref: ForwardedRef): RaxElement | null; + displayName?: string | undefined; + // explicit rejected with `never` required due to + // https://github.com/microsoft/TypeScript/issues/36826 + /** + * defaultProps are not supported on render functions + */ + defaultProps?: never | undefined; + /** + * propTypes are not supported on render functions + */ + propTypes?: never | undefined; + } + + /** + * @deprecated Use ForwardRefRenderFunction. forwardRef doesn't accept a + * "real" component. */ - componentDidUpdate?(prevProps: Readonly

, prevState: Readonly, snapshot?: SS): void; - componentWillMount?(): void; - componentWillReceiveProps?(nextProps: Readonly

, nextContext: any): void; - componentWillUpdate?(nextProps: Readonly

, nextState: Readonly, nextContext: any): void; - } - - // Unfortunately, we have no way of declaring that the component constructor must implement this - interface StaticLifecycle { - getDerivedStateFromProps?: GetDerivedStateFromProps | undefined; - getDerivedStateFromError?: GetDerivedStateFromError | undefined; - } - - type GetDerivedStateFromProps = + interface RefForwardingComponent extends ForwardRefRenderFunction {} + + interface ComponentClass

extends StaticLifecycle { + new(props: P, context?: any): Component; + propTypes?: WeakValidationMap

| undefined; + contextType?: Context | undefined; + contextTypes?: ValidationMap | undefined; + childContextTypes?: ValidationMap | undefined; + defaultProps?: Partial

| undefined; + displayName?: string | undefined; + } + + interface ClassicComponentClass

extends ComponentClass

{ + new(props: P, context?: any): ClassicComponent; + getDefaultProps?(): P; + } + /** - * Returns an update to a component's state based on its new props and old state. - * - * Note: its presence prevents any of the deprecated lifecycle methods from being invoked + * We use an intersection type to infer multiple type parameters from + * a single argument, which is useful for many top-level API defs. + * See https://github.com/Microsoft/TypeScript/issues/7234 for more info. */ - (nextProps: Readonly

, prevState: S) => Partial | null; + type ClassType, C extends ComponentClass

> = + & C + & (new(props: P, context?: any) => T); - type GetDerivedStateFromError = /** - * This lifecycle is invoked after an error has been thrown by a descendant component. - * It receives the error that was thrown as a parameter and should return a value to update state. - * - * Note: its presence prevents any of the deprecated lifecycle methods from being invoked + * ====================================================================== + * Rax Component Specs and Lifecycle + * ====================================================================== */ - (error: any) => Partial | null; + + // This should actually be something like `Lifecycle | DeprecatedLifecycle`, + // as Rax will _not_ call the deprecated lifecycle methods if any of the new lifecycle + // methods are present. + interface ComponentLifecycle { + /** + * Called immediately after a component is mounted. Setting state here will trigger re-rendering. + */ + componentDidMount?(): void; + /** + * Called to determine whether the change in props and state should trigger a re-render. + * + * `Component` always returns true. + * `PureComponent` implements a shallow comparison on props and state and returns true if any + * props or states have changed. + * + * If false is returned, `Component#render`, `componentWillUpdate` + * and `componentDidUpdate` will not be called. + */ + shouldComponentUpdate?( + nextProps: Readonly

, + nextState: Readonly, + nextContext: any, + ): boolean; + /** + * Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as + * cancelled network requests, or cleaning up any DOM elements created in `componentDidMount`. + */ + componentWillUnmount?(): void; + /** + * Catches exceptions generated in descendant components. Unhandled exceptions will cause + * the entire component tree to unmount. + */ + componentDidCatch?(error: Error, errorInfo: ErrorInfo): void; + + /** + * Runs before Rax applies the result of `render` to the document, and + * returns an object to be given to componentDidUpdate. Useful for saving + * things such as scroll position before `render` causes changes to it. + * + * Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated + * lifecycle events from running. + */ + getSnapshotBeforeUpdate?(prevProps: Readonly

, prevState: Readonly): SS | null; + /** + * Called immediately after updating occurs. Not called for the initial render. + * + * The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null. + */ + componentDidUpdate?(prevProps: Readonly

, prevState: Readonly, snapshot?: SS): void; + componentWillMount?(): void; + componentWillReceiveProps?(nextProps: Readonly

, nextContext: any): void; + componentWillUpdate?(nextProps: Readonly

, nextState: Readonly, nextContext: any): void; + } + + // Unfortunately, we have no way of declaring that the component constructor must implement this + interface StaticLifecycle { + getDerivedStateFromProps?: GetDerivedStateFromProps | undefined; + getDerivedStateFromError?: GetDerivedStateFromError | undefined; + } + + type GetDerivedStateFromProps = + /** + * Returns an update to a component's state based on its new props and old state. + * + * Note: its presence prevents any of the deprecated lifecycle methods from being invoked + */ + (nextProps: Readonly

, prevState: S) => Partial | null; + + type GetDerivedStateFromError = + /** + * This lifecycle is invoked after an error has been thrown by a descendant component. + * It receives the error that was thrown as a parameter and should return a value to update state. + * + * Note: its presence prevents any of the deprecated lifecycle methods from being invoked + */ + (error: any) => Partial | null; interface Mixin extends ComponentLifecycle { mixins?: Array> | undefined; @@ -584,2015 +579,2014 @@ declare namespace Rax { getInitialState?(): S; } - interface ComponentSpec extends Mixin { - render(): RaxNode; - - [propertyName: string]: any; - } - - function createRef(): RefObject; - - // will show `ForwardRef(${Component.displayName || Component.name})` in devtools by default, - // but can be given its own specific name - interface ForwardRefExoticComponent

extends NamedExoticComponent

{ - defaultProps?: Partial

| undefined; - } - - function forwardRef(render: ForwardRefRenderFunction): ForwardRefExoticComponent & RefAttributes>; - - /** Ensures that the props do not include ref at all */ - type PropsWithoutRef

= - // Just Pick would be sufficient for this, but I'm trying to avoid unnecessary mapping over union types - // https://github.com/Microsoft/TypeScript/issues/28339 - 'ref' extends keyof P ? Pick> : P; - /** Ensures that the props do not include string ref, which cannot be forwarded */ - type PropsWithRef

= - // Just "P extends { ref?: infer R }" looks sufficient, but R will infer as {} if P is {}. - 'ref' extends keyof P - ? P extends { ref?: infer R | undefined } - ? string extends R - ? PropsWithoutRef

& { ref?: Exclude | undefined } - : P - : P - : P; - - type PropsWithChildren

= P & { children?: RaxNode | undefined }; - - /** - * NOTE: prefer ComponentPropsWithRef, if the ref is forwarded, - * or ComponentPropsWithoutRef when refs are not supported. - */ - type ComponentProps< - T extends keyof JSX.IntrinsicElements | JSXElementConstructor - > = T extends JSXElementConstructor - ? P - : T extends keyof JSX.IntrinsicElements - ? JSX.IntrinsicElements[T] - : {}; - type ComponentPropsWithRef = T extends ComponentClass - ? PropsWithoutRef

& RefAttributes> - : PropsWithRef>; - type ComponentPropsWithoutRef = PropsWithoutRef>; - - type ComponentRef = T extends NamedExoticComponent< - ComponentPropsWithoutRef & RefAttributes - > - ? Method - : ComponentPropsWithRef extends RefAttributes - ? Method - : never; - - // will show `Memo(${Component.displayName || Component.name})` in devtools by default, - // but can be given its own specific name - type MemoExoticComponent> = NamedExoticComponent< - ComponentPropsWithRef - > & { - readonly type: T; - }; - - function memo

( - Component: FC

, - propsAreEqual?: ( - prevProps: Readonly>, - nextProps: Readonly> - ) => boolean - ): NamedExoticComponent

; - function memo>( - Component: T, - propsAreEqual?: ( - prevProps: Readonly>, - nextProps: Readonly> - ) => boolean - ): MemoExoticComponent; - - /** - * ====================================================================== - * Rax Hooks - * ====================================================================== - */ - - // Unlike the class component setState, the updates are not allowed to be partial - type SetStateAction = S | ((prevState: S) => S); - // this technically does accept a second argument, but it's already under a deprecation warning - // and it's not even released so probably better to not define it. - type Dispatch = (value: A) => void; - // Unlike redux, the actions _can_ be anything - type Reducer = (prevState: S, action: A) => S; - // types used to try and prevent the compiler from reducing S - // to a supertype common with the second argument to useReducer() - type ReducerState> = R extends Reducer ? S : never; - type ReducerAction> = R extends Reducer ? A : never; - // The identity check is done with the SameValue algorithm (Object.is), which is stricter than === - // TODO (TypeScript 3.0): ReadonlyArray - type DependencyList = ReadonlyArray; - - // NOTE: callbacks are _only_ allowed to return either void, or a destructor. - // The destructor is itself only allowed to return void. - type EffectCallback = () => void | (() => void | undefined); - - interface MutableRefObject { - current: T; - } - - // This will technically work if you give a Consumer or Provider but it's deprecated and warns - /** - * Accepts a context object (the value returned from `Rax.createContext`) and returns the current - * context value, as given by the nearest context provider for the given context. - */ - function useContext( - context: Context /* , (not public API) observedBits?: number|boolean */ - ): T; - /** - * Returns a stateful value, and a function to update it. - */ - function useState(initialState: S | (() => S)): [S, Dispatch>]; - // convenience overload when first argument is ommitted - /** - * Returns a stateful value, and a function to update it. - */ - function useState(): [S | undefined, Dispatch>]; - /** - * An alternative to `useState`. - * - * `useReducer` is usually preferable to `useState` when you have complex state logic that involves - * multiple sub-values. It also lets you optimize performance for components that trigger deep - * updates because you can pass `dispatch` down instead of callbacks. - */ - // overload where "I" may be a subset of ReducerState; used to provide autocompletion. - // If "I" matches ReducerState exactly then the last overload will allow initializer to be ommitted. - // the last overload effectively behaves as if the identity function (x => x) is the initializer. - function useReducer, I>( - reducer: R, - initializerArg: I & ReducerState, - initializer: (arg: I & ReducerState) => ReducerState - ): [ReducerState, Dispatch>]; - /** - * An alternative to `useState`. - * - * `useReducer` is usually preferable to `useState` when you have complex state logic that involves - * multiple sub-values. It also lets you optimize performance for components that trigger deep - * updates because you can pass `dispatch` down instead of callbacks. - */ - // overload for free "I"; all goes as long as initializer converts it into "ReducerState". - function useReducer, I>( - reducer: R, - initializerArg: I, - initializer: (arg: I) => ReducerState - ): [ReducerState, Dispatch>]; - /** - * An alternative to `useState`. - * - * `useReducer` is usually preferable to `useState` when you have complex state logic that involves - * multiple sub-values. It also lets you optimize performance for components that trigger deep - * updates because you can pass `dispatch` down instead of callbacks. - */ - - // I'm not sure if I keep this 2-ary or if I make it (2,3)-ary; it's currently (2,3)-ary. - // The Flow types do have an overload for 3-ary invocation with undefined initializer. - - // NOTE: without the ReducerState indirection, TypeScript would reduce S to be the most common - // supertype between the reducer's return type and the initialState (or the initializer's return type), - // which would prevent autocompletion from ever working. - - // TODO: double-check if this weird overload logic is necessary. It is possible it's either a bug - // in older versions, or a regression in newer versions of the typescript completion service. - function useReducer>( - reducer: R, - initialState: ReducerState, - initializer?: undefined - ): [ReducerState, Dispatch>]; - /** - * `useRef` returns a mutable ref object whose `.current` property is initialized to the passed argument - * (`initialValue`). The returned object will persist for the full lifetime of the component. - * - * Note that `useRef()` is useful for more than the `ref` attribute. It’s handy for keeping any mutable - * value around similar to how you’d use instance fields in classes. - */ - // TODO (TypeScript 3.0): - function useRef(initialValue: T): MutableRefObject; - // convenience overload for refs given as a ref prop as they typically start with a null value - /** - * `useRef` returns a mutable ref object whose `.current` property is initialized to the passed argument - * (`initialValue`). The returned object will persist for the full lifetime of the component. - * - * Note that `useRef()` is useful for more than the `ref` attribute. It’s handy for keeping any mutable - * value around similar to how you’d use instance fields in classes. - * - * Usage note: if you need the result of useRef to be directly mutable, include `| null` in the type - * of the generic argument. - */ - // TODO (TypeScript 3.0): - function useRef(initialValue: T | null): RefObject; - // convenience overload for potentially undefined initialValue / call with 0 arguments - // has a default to stop it from defaulting to {} instead - /** - * `useRef` returns a mutable ref object whose `.current` property is initialized to the passed argument - * (`initialValue`). The returned object will persist for the full lifetime of the component. - * - * Note that `useRef()` is useful for more than the `ref` attribute. It’s handy for keeping any mutable - * value around similar to how you’d use instance fields in classes. - */ - // TODO (TypeScript 3.0): - function useRef(): MutableRefObject; - /** - * The signature is identical to `useEffect`, but it fires synchronously after all DOM mutations. - * Use this to read layout from the DOM and synchronously re-render. Updates scheduled inside - * `useLayoutEffect` will be flushed synchronously, before the browser has a chance to paint. - * - * Prefer the standard `useEffect` when possible to avoid blocking visual updates. - * - * If you’re migrating code from a class component, `useLayoutEffect` fires in the same phase as - * `componentDidMount` and `componentDidUpdate`. - */ - function useLayoutEffect(effect: EffectCallback, deps?: DependencyList): void; - /** - * Accepts a function that contains imperative, possibly effectful code. - * - * @param effect Imperative function that can return a cleanup function - * @param deps If present, effect will only activate if the values in the list change. - */ - function useEffect(effect: EffectCallback, deps?: DependencyList): void; - // NOTE: this does not accept strings, but this will have to be fixed by removing strings from type Ref - /** - * `useImperativeHandle` customizes the instance value that is exposed to parent components when using - * `ref`. As always, imperative code using refs should be avoided in most cases. - * - * `useImperativeHandle` should be used with `Rax.forwardRef`. - */ - function useImperativeHandle( - ref: Ref | undefined, - init: () => R, - deps?: DependencyList - ): void; - // I made 'inputs' required here and in useMemo as there's no point to memoizing without the memoization key - // useCallback(X) is identical to just using X, useMemo(() => Y) is identical to just using Y. - /** - * `useCallback` will return a memoized version of the callback that only changes if one of the `inputs` - * has changed. - */ - // TODO (TypeScript 3.0): unknown> - function useCallback any>(callback: T, deps: DependencyList): T; - /** - * `useMemo` will only recompute the memoized value when one of the `deps` has changed. - * - * Usage note: if calling `useMemo` with a referentially stable function, also give it as the input in - * the second argument. - * - * ```ts - * function expensive () { ... } - * - * function Component () { - * const expensiveResult = useMemo(expensive, [expensive]) - * return ... - * } - * ``` - */ - // allow undefined, but don't make it optional as that is very likely a mistake - function useMemo(factory: () => T, deps: DependencyList | undefined): T; - - /** - * ====================================================================== - * Rax Event System - * ====================================================================== - */ - - // TODO: change any to unknown when moving to TS v3 - interface BaseSyntheticEvent { - nativeEvent: E; - currentTarget: C; - target: T; - bubbles: boolean; - cancelable: boolean; - defaultPrevented: boolean; - eventPhase: number; - isTrusted: boolean; - preventDefault(): void; - isDefaultPrevented(): boolean; - stopPropagation(): void; - isPropagationStopped(): boolean; - persist(): void; - timeStamp: number; - type: string; - } - - /** - * currentTarget - a reference to the element on which the event listener is registered. - * - * target - a reference to the element from which the event was originally dispatched. - * This might be a child element to the element on which the event listener is registered. - * If you thought this should be `EventTarget & T`, see https://github.com/DefinitelyTyped/DefinitelyTyped/pull/12239 - */ - interface SyntheticEvent - extends BaseSyntheticEvent {} - - interface ClipboardEvent extends SyntheticEvent { - clipboardData: DataTransfer; - } - - interface CompositionEvent extends SyntheticEvent { - data: string; - } - - interface DragEvent extends MouseEvent { - dataTransfer: DataTransfer; - } - - interface PointerEvent extends MouseEvent { - pointerId: number; - pressure: number; - tiltX: number; - tiltY: number; - width: number; - height: number; - pointerType: 'mouse' | 'pen' | 'touch'; - isPrimary: boolean; - } - - interface FocusEvent extends SyntheticEvent { - relatedTarget: EventTarget | null; - target: EventTarget & T; - } - - interface FormEvent extends SyntheticEvent {} - - interface InvalidEvent extends SyntheticEvent { - target: EventTarget & T; - } - - interface ChangeEvent extends SyntheticEvent { - target: EventTarget & T; - } - - interface KeyboardEvent extends SyntheticEvent { - altKey: boolean; - /** @deprecated */ - charCode: number; - ctrlKey: boolean; - code: string; - /** - * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method. - */ - getModifierState(key: string): boolean; - /** - * See the [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#named-key-attribute-values). for possible values - */ - key: string; - /** @deprecated */ - keyCode: number; - locale: string; - location: number; - metaKey: boolean; - repeat: boolean; - shiftKey: boolean; - /** @deprecated */ - which: number; - } - - interface MouseEvent extends SyntheticEvent { - altKey: boolean; - button: number; - buttons: number; - clientX: number; - clientY: number; - ctrlKey: boolean; - /** - * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method. - */ - getModifierState(key: string): boolean; - metaKey: boolean; - movementX: number; - movementY: number; - pageX: number; - pageY: number; - relatedTarget: EventTarget; - screenX: number; - screenY: number; - shiftKey: boolean; - } - - interface TouchEvent extends SyntheticEvent { - altKey: boolean; - changedTouches: TouchList; - ctrlKey: boolean; - /** - * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method. - */ - getModifierState(key: string): boolean; - metaKey: boolean; - shiftKey: boolean; - targetTouches: TouchList; - touches: TouchList; - } - - interface UIEvent extends SyntheticEvent { - detail: number; - view: AbstractView; - } - - interface WheelEvent extends MouseEvent { - deltaMode: number; - deltaX: number; - deltaY: number; - deltaZ: number; - } - - interface AnimationEvent extends SyntheticEvent { - animationName: string; - elapsedTime: number; - pseudoElement: string; - } - - interface TransitionEvent extends SyntheticEvent { - elapsedTime: number; - propertyName: string; - pseudoElement: string; - } - - interface AppearEvent extends SyntheticEvent { - direction: 'up' | 'down'; - } - - // - // Event Handler Types - // ---------------------------------------------------------------------- - - type EventHandler> = { - bivarianceHack(event: E): void; - }['bivarianceHack']; - - type RaxEventHandler = EventHandler>; - - type ClipboardEventHandler = EventHandler>; - type CompositionEventHandler = EventHandler>; - type DragEventHandler = EventHandler>; - type FocusEventHandler = EventHandler>; - type FormEventHandler = EventHandler>; - type ChangeEventHandler = EventHandler>; - type KeyboardEventHandler = EventHandler>; - type MouseEventHandler = EventHandler>; - type TouchEventHandler = EventHandler>; - type PointerEventHandler = EventHandler>; - type UIEventHandler = EventHandler>; - type WheelEventHandler = EventHandler>; - type AnimationEventHandler = EventHandler>; - type TransitionEventHandler = EventHandler>; - type AppearEventHandler = EventHandler>; - - // - // Props / DOM Attributes - // ---------------------------------------------------------------------- - - interface HTMLProps extends AllHTMLAttributes, ClassAttributes {} - - type DetailedHTMLProps, T> = ClassAttributes & E; - - interface SVGProps extends SVGAttributes, ClassAttributes {} - - interface DOMAttributes { - children?: RaxNode | undefined; - dangerouslySetInnerHTML?: { - __html: string; - } | undefined; - - // weex - [key: string]: any; - - // Clipboard Events - onCopy?: ClipboardEventHandler | undefined; - onCopyCapture?: ClipboardEventHandler | undefined; - onCut?: ClipboardEventHandler | undefined; - onCutCapture?: ClipboardEventHandler | undefined; - onPaste?: ClipboardEventHandler | undefined; - onPasteCapture?: ClipboardEventHandler | undefined; - - // Composition Events - onCompositionEnd?: CompositionEventHandler | undefined; - onCompositionEndCapture?: CompositionEventHandler | undefined; - onCompositionStart?: CompositionEventHandler | undefined; - onCompositionStartCapture?: CompositionEventHandler | undefined; - onCompositionUpdate?: CompositionEventHandler | undefined; - onCompositionUpdateCapture?: CompositionEventHandler | undefined; - - // Focus Events - onFocus?: FocusEventHandler | undefined; - onFocusCapture?: FocusEventHandler | undefined; - onBlur?: FocusEventHandler | undefined; - onBlurCapture?: FocusEventHandler | undefined; - - // Form Events - onChange?: FormEventHandler | undefined; - onChangeCapture?: FormEventHandler | undefined; - onBeforeInput?: FormEventHandler | undefined; - onBeforeInputCapture?: FormEventHandler | undefined; - onInput?: FormEventHandler | undefined; - onInputCapture?: FormEventHandler | undefined; - onReset?: FormEventHandler | undefined; - onResetCapture?: FormEventHandler | undefined; - onSubmit?: FormEventHandler | undefined; - onSubmitCapture?: FormEventHandler | undefined; - onInvalid?: FormEventHandler | undefined; - onInvalidCapture?: FormEventHandler | undefined; - - // Image Events - onLoad?: RaxEventHandler | undefined; - onLoadCapture?: RaxEventHandler | undefined; - onError?: RaxEventHandler | undefined; // also a Media Event - onErrorCapture?: RaxEventHandler | undefined; // also a Media Event - - // Keyboard Events - onKeyDown?: KeyboardEventHandler | undefined; - onKeyDownCapture?: KeyboardEventHandler | undefined; - onKeyPress?: KeyboardEventHandler | undefined; - onKeyPressCapture?: KeyboardEventHandler | undefined; - onKeyUp?: KeyboardEventHandler | undefined; - onKeyUpCapture?: KeyboardEventHandler | undefined; - - // Media Events - onAbort?: RaxEventHandler | undefined; - onAbortCapture?: RaxEventHandler | undefined; - onCanPlay?: RaxEventHandler | undefined; - onCanPlayCapture?: RaxEventHandler | undefined; - onCanPlayThrough?: RaxEventHandler | undefined; - onCanPlayThroughCapture?: RaxEventHandler | undefined; - onDurationChange?: RaxEventHandler | undefined; - onDurationChangeCapture?: RaxEventHandler | undefined; - onEmptied?: RaxEventHandler | undefined; - onEmptiedCapture?: RaxEventHandler | undefined; - onEncrypted?: RaxEventHandler | undefined; - onEncryptedCapture?: RaxEventHandler | undefined; - onEnded?: RaxEventHandler | undefined; - onEndedCapture?: RaxEventHandler | undefined; - onLoadedData?: RaxEventHandler | undefined; - onLoadedDataCapture?: RaxEventHandler | undefined; - onLoadedMetadata?: RaxEventHandler | undefined; - onLoadedMetadataCapture?: RaxEventHandler | undefined; - onLoadStart?: RaxEventHandler | undefined; - onLoadStartCapture?: RaxEventHandler | undefined; - onPause?: RaxEventHandler | undefined; - onPauseCapture?: RaxEventHandler | undefined; - onPlay?: RaxEventHandler | undefined; - onPlayCapture?: RaxEventHandler | undefined; - onPlaying?: RaxEventHandler | undefined; - onPlayingCapture?: RaxEventHandler | undefined; - onProgress?: RaxEventHandler | undefined; - onProgressCapture?: RaxEventHandler | undefined; - onRateChange?: RaxEventHandler | undefined; - onRateChangeCapture?: RaxEventHandler | undefined; - onSeeked?: RaxEventHandler | undefined; - onSeekedCapture?: RaxEventHandler | undefined; - onSeeking?: RaxEventHandler | undefined; - onSeekingCapture?: RaxEventHandler | undefined; - onStalled?: RaxEventHandler | undefined; - onStalledCapture?: RaxEventHandler | undefined; - onSuspend?: RaxEventHandler | undefined; - onSuspendCapture?: RaxEventHandler | undefined; - onTimeUpdate?: RaxEventHandler | undefined; - onTimeUpdateCapture?: RaxEventHandler | undefined; - onVolumeChange?: RaxEventHandler | undefined; - onVolumeChangeCapture?: RaxEventHandler | undefined; - onWaiting?: RaxEventHandler | undefined; - onWaitingCapture?: RaxEventHandler | undefined; - - // MouseEvents - onAuxClick?: MouseEventHandler | undefined; - onAuxClickCapture?: MouseEventHandler | undefined; - onClick?: MouseEventHandler | undefined; - onClickCapture?: MouseEventHandler | undefined; - onContextMenu?: MouseEventHandler | undefined; - onContextMenuCapture?: MouseEventHandler | undefined; - onDoubleClick?: MouseEventHandler | undefined; - onDoubleClickCapture?: MouseEventHandler | undefined; - onDrag?: DragEventHandler | undefined; - onDragCapture?: DragEventHandler | undefined; - onDragEnd?: DragEventHandler | undefined; - onDragEndCapture?: DragEventHandler | undefined; - onDragEnter?: DragEventHandler | undefined; - onDragEnterCapture?: DragEventHandler | undefined; - onDragExit?: DragEventHandler | undefined; - onDragExitCapture?: DragEventHandler | undefined; - onDragLeave?: DragEventHandler | undefined; - onDragLeaveCapture?: DragEventHandler | undefined; - onDragOver?: DragEventHandler | undefined; - onDragOverCapture?: DragEventHandler | undefined; - onDragStart?: DragEventHandler | undefined; - onDragStartCapture?: DragEventHandler | undefined; - onDrop?: DragEventHandler | undefined; - onDropCapture?: DragEventHandler | undefined; - onMouseDown?: MouseEventHandler | undefined; - onMouseDownCapture?: MouseEventHandler | undefined; - onMouseEnter?: MouseEventHandler | undefined; - onMouseLeave?: MouseEventHandler | undefined; - onMouseMove?: MouseEventHandler | undefined; - onMouseMoveCapture?: MouseEventHandler | undefined; - onMouseOut?: MouseEventHandler | undefined; - onMouseOutCapture?: MouseEventHandler | undefined; - onMouseOver?: MouseEventHandler | undefined; - onMouseOverCapture?: MouseEventHandler | undefined; - onMouseUp?: MouseEventHandler | undefined; - onMouseUpCapture?: MouseEventHandler | undefined; - - // Selection Events - onSelect?: RaxEventHandler | undefined; - onSelectCapture?: RaxEventHandler | undefined; - - // Touch Events - onTouchCancel?: TouchEventHandler | undefined; - onTouchCancelCapture?: TouchEventHandler | undefined; - onTouchEnd?: TouchEventHandler | undefined; - onTouchEndCapture?: TouchEventHandler | undefined; - onTouchMove?: TouchEventHandler | undefined; - onTouchMoveCapture?: TouchEventHandler | undefined; - onTouchStart?: TouchEventHandler | undefined; - onTouchStartCapture?: TouchEventHandler | undefined; - - // Pointer Events - onPointerDown?: PointerEventHandler | undefined; - onPointerDownCapture?: PointerEventHandler | undefined; - onPointerMove?: PointerEventHandler | undefined; - onPointerMoveCapture?: PointerEventHandler | undefined; - onPointerUp?: PointerEventHandler | undefined; - onPointerUpCapture?: PointerEventHandler | undefined; - onPointerCancel?: PointerEventHandler | undefined; - onPointerCancelCapture?: PointerEventHandler | undefined; - onPointerEnter?: PointerEventHandler | undefined; - onPointerEnterCapture?: PointerEventHandler | undefined; - onPointerLeave?: PointerEventHandler | undefined; - onPointerLeaveCapture?: PointerEventHandler | undefined; - onPointerOver?: PointerEventHandler | undefined; - onPointerOverCapture?: PointerEventHandler | undefined; - onPointerOut?: PointerEventHandler | undefined; - onPointerOutCapture?: PointerEventHandler | undefined; - onGotPointerCapture?: PointerEventHandler | undefined; - onGotPointerCaptureCapture?: PointerEventHandler | undefined; - onLostPointerCapture?: PointerEventHandler | undefined; - onLostPointerCaptureCapture?: PointerEventHandler | undefined; - - // UI Events - onScroll?: UIEventHandler | undefined; - onScrollCapture?: UIEventHandler | undefined; - - // Wheel Events - onWheel?: WheelEventHandler | undefined; - onWheelCapture?: WheelEventHandler | undefined; - - // Animation Events - onAnimationStart?: AnimationEventHandler | undefined; - onAnimationStartCapture?: AnimationEventHandler | undefined; - onAnimationEnd?: AnimationEventHandler | undefined; - onAnimationEndCapture?: AnimationEventHandler | undefined; - onAnimationIteration?: AnimationEventHandler | undefined; - onAnimationIterationCapture?: AnimationEventHandler | undefined; - - // Transition Events - onTransitionEnd?: TransitionEventHandler | undefined; - onTransitionEndCapture?: TransitionEventHandler | undefined; - - // Weex Common Events - onLongpress?: MouseEventHandler | undefined; - onAppear?: AppearEventHandler | undefined; - onDisappear?: AppearEventHandler | undefined; - } - - export interface CSSProperties extends CSS.Properties { - /** - * The index signature was removed to enable closed typing for style - * using CSSType. You're able to use type assertion or module augmentation - * to add properties or an index signature of your own. - * - * For examples and more information, visit: - * https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors - */ - [key: string]: any; - } - - // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/ - interface AriaAttributes { - /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */ - 'aria-activedescendant'?: string | undefined; - /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */ - 'aria-atomic'?: boolean | 'false' | 'true' | undefined; - /** - * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be - * presented if they are made. - */ - 'aria-autocomplete'?: 'none' | 'inline' | 'list' | 'both' | undefined; - /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */ - 'aria-busy'?: boolean | 'false' | 'true' | undefined; - /** - * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. - * @see aria-pressed @see aria-selected. - */ - 'aria-checked'?: boolean | 'false' | 'mixed' | 'true' | undefined; - /** - * Defines the total number of columns in a table, grid, or treegrid. - * @see aria-colindex. - */ - 'aria-colcount'?: number | undefined; - /** - * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. - * @see aria-colcount @see aria-colspan. - */ - 'aria-colindex'?: number | undefined; - /** - * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. - * @see aria-colindex @see aria-rowspan. - */ - 'aria-colspan'?: number | undefined; - /** - * Identifies the element (or elements) whose contents or presence are controlled by the current element. - * @see aria-owns. - */ - 'aria-controls'?: string | undefined; - /** Indicates the element that represents the current item within a container or set of related elements. */ - 'aria-current'?: boolean | 'false' | 'true' | 'page' | 'step' | 'location' | 'date' | 'time' | undefined; - /** - * Identifies the element (or elements) that describes the object. - * @see aria-labelledby - */ - 'aria-describedby'?: string | undefined; - /** - * Identifies the element that provides a detailed, extended description for the object. - * @see aria-describedby. - */ - 'aria-details'?: string | undefined; - /** - * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. - * @see aria-hidden @see aria-readonly. - */ - 'aria-disabled'?: boolean | 'false' | 'true' | undefined; - /** - * Indicates what functions can be performed when a dragged object is released on the drop target. - * @deprecated in ARIA 1.1 - */ - 'aria-dropeffect'?: 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup' | undefined; - /** - * Identifies the element that provides an error message for the object. - * @see aria-invalid @see aria-describedby. - */ - 'aria-errormessage'?: string | undefined; - /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ - 'aria-expanded'?: boolean | 'false' | 'true' | undefined; - /** - * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, - * allows assistive technology to override the general default of reading in document source order. - */ - 'aria-flowto'?: string | undefined; + interface ComponentSpec extends Mixin { + render(): RaxNode; + + [propertyName: string]: any; + } + + function createRef(): RefObject; + + // will show `ForwardRef(${Component.displayName || Component.name})` in devtools by default, + // but can be given its own specific name + interface ForwardRefExoticComponent

extends NamedExoticComponent

{ + defaultProps?: Partial

| undefined; + } + + function forwardRef( + render: ForwardRefRenderFunction, + ): ForwardRefExoticComponent & RefAttributes>; + + /** Ensures that the props do not include ref at all */ + type PropsWithoutRef

= + // Just Pick would be sufficient for this, but I'm trying to avoid unnecessary mapping over union types + // https://github.com/Microsoft/TypeScript/issues/28339 + "ref" extends keyof P ? Pick> : P; + /** Ensures that the props do not include string ref, which cannot be forwarded */ + type PropsWithRef

= + // Just "P extends { ref?: infer R }" looks sufficient, but R will infer as {} if P is {}. + "ref" extends keyof P + ? P extends { ref?: infer R | undefined } + ? string extends R ? PropsWithoutRef

& { ref?: Exclude | undefined } + : P + : P + : P; + + type PropsWithChildren

= P & { children?: RaxNode | undefined }; + /** - * Indicates an element's "grabbed" state in a drag-and-drop operation. - * @deprecated in ARIA 1.1 + * NOTE: prefer ComponentPropsWithRef, if the ref is forwarded, + * or ComponentPropsWithoutRef when refs are not supported. */ - 'aria-grabbed'?: boolean | 'false' | 'true' | undefined; - /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ - 'aria-haspopup'?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | undefined; + type ComponentProps< + T extends keyof JSX.IntrinsicElements | JSXElementConstructor, + > = T extends JSXElementConstructor ? P + : T extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[T] + : {}; + type ComponentPropsWithRef = T extends ComponentClass + ? PropsWithoutRef

& RefAttributes> + : PropsWithRef>; + type ComponentPropsWithoutRef = PropsWithoutRef>; + + type ComponentRef = T extends NamedExoticComponent< + ComponentPropsWithoutRef & RefAttributes + > ? Method + : ComponentPropsWithRef extends RefAttributes ? Method + : never; + + // will show `Memo(${Component.displayName || Component.name})` in devtools by default, + // but can be given its own specific name + type MemoExoticComponent> = + & NamedExoticComponent< + ComponentPropsWithRef + > + & { + readonly type: T; + }; + + function memo

( + Component: FC

, + propsAreEqual?: ( + prevProps: Readonly>, + nextProps: Readonly>, + ) => boolean, + ): NamedExoticComponent

; + function memo>( + Component: T, + propsAreEqual?: ( + prevProps: Readonly>, + nextProps: Readonly>, + ) => boolean, + ): MemoExoticComponent; + /** - * Indicates whether the element is exposed to an accessibility API. - * @see aria-disabled. + * ====================================================================== + * Rax Hooks + * ====================================================================== */ - 'aria-hidden'?: boolean | 'false' | 'true' | undefined; + + // Unlike the class component setState, the updates are not allowed to be partial + type SetStateAction = S | ((prevState: S) => S); + // this technically does accept a second argument, but it's already under a deprecation warning + // and it's not even released so probably better to not define it. + type Dispatch = (value: A) => void; + // Unlike redux, the actions _can_ be anything + type Reducer = (prevState: S, action: A) => S; + // types used to try and prevent the compiler from reducing S + // to a supertype common with the second argument to useReducer() + type ReducerState> = R extends Reducer ? S : never; + type ReducerAction> = R extends Reducer ? A : never; + // The identity check is done with the SameValue algorithm (Object.is), which is stricter than === + // TODO (TypeScript 3.0): ReadonlyArray + type DependencyList = ReadonlyArray; + + // NOTE: callbacks are _only_ allowed to return either void, or a destructor. + // The destructor is itself only allowed to return void. + type EffectCallback = () => void | (() => void | undefined); + + interface MutableRefObject { + current: T; + } + + // This will technically work if you give a Consumer or Provider but it's deprecated and warns /** - * Indicates the entered value does not conform to the format expected by the application. - * @see aria-errormessage. + * Accepts a context object (the value returned from `Rax.createContext`) and returns the current + * context value, as given by the nearest context provider for the given context. */ - 'aria-invalid'?: boolean | 'false' | 'true' | 'grammar' | 'spelling' | undefined; - /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */ - 'aria-keyshortcuts'?: string | undefined; + function useContext( + context: Context, /* , (not public API) observedBits?: number|boolean */ + ): T; /** - * Defines a string value that labels the current element. - * @see aria-labelledby. + * Returns a stateful value, and a function to update it. */ - 'aria-label'?: string | undefined; + function useState(initialState: S | (() => S)): [S, Dispatch>]; + // convenience overload when first argument is ommitted /** - * Identifies the element (or elements) that labels the current element. - * @see aria-describedby. + * Returns a stateful value, and a function to update it. */ - 'aria-labelledby'?: string | undefined; - /** Defines the hierarchical level of an element within a structure. */ - 'aria-level'?: number | undefined; - /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */ - 'aria-live'?: 'off' | 'assertive' | 'polite' | undefined; - /** Indicates whether an element is modal when displayed. */ - 'aria-modal'?: boolean | 'false' | 'true' | undefined; - /** Indicates whether a text box accepts multiple lines of input or only a single line. */ - 'aria-multiline'?: boolean | 'false' | 'true' | undefined; - /** Indicates that the user may select more than one item from the current selectable descendants. */ - 'aria-multiselectable'?: boolean | 'false' | 'true' | undefined; - /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */ - 'aria-orientation'?: 'horizontal' | 'vertical' | undefined; + function useState(): [S | undefined, Dispatch>]; /** - * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship - * between DOM elements where the DOM hierarchy cannot be used to represent the relationship. - * @see aria-controls. + * An alternative to `useState`. + * + * `useReducer` is usually preferable to `useState` when you have complex state logic that involves + * multiple sub-values. It also lets you optimize performance for components that trigger deep + * updates because you can pass `dispatch` down instead of callbacks. */ - 'aria-owns'?: string | undefined; + // overload where "I" may be a subset of ReducerState; used to provide autocompletion. + // If "I" matches ReducerState exactly then the last overload will allow initializer to be ommitted. + // the last overload effectively behaves as if the identity function (x => x) is the initializer. + function useReducer, I>( + reducer: R, + initializerArg: I & ReducerState, + initializer: (arg: I & ReducerState) => ReducerState, + ): [ReducerState, Dispatch>]; /** - * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. - * A hint could be a sample value or a brief description of the expected format. + * An alternative to `useState`. + * + * `useReducer` is usually preferable to `useState` when you have complex state logic that involves + * multiple sub-values. It also lets you optimize performance for components that trigger deep + * updates because you can pass `dispatch` down instead of callbacks. */ - 'aria-placeholder'?: string | undefined; + // overload for free "I"; all goes as long as initializer converts it into "ReducerState". + function useReducer, I>( + reducer: R, + initializerArg: I, + initializer: (arg: I) => ReducerState, + ): [ReducerState, Dispatch>]; /** - * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. - * @see aria-setsize. + * An alternative to `useState`. + * + * `useReducer` is usually preferable to `useState` when you have complex state logic that involves + * multiple sub-values. It also lets you optimize performance for components that trigger deep + * updates because you can pass `dispatch` down instead of callbacks. */ - 'aria-posinset'?: number | undefined; + + // I'm not sure if I keep this 2-ary or if I make it (2,3)-ary; it's currently (2,3)-ary. + // The Flow types do have an overload for 3-ary invocation with undefined initializer. + + // NOTE: without the ReducerState indirection, TypeScript would reduce S to be the most common + // supertype between the reducer's return type and the initialState (or the initializer's return type), + // which would prevent autocompletion from ever working. + + // TODO: double-check if this weird overload logic is necessary. It is possible it's either a bug + // in older versions, or a regression in newer versions of the typescript completion service. + function useReducer>( + reducer: R, + initialState: ReducerState, + initializer?: undefined, + ): [ReducerState, Dispatch>]; /** - * Indicates the current "pressed" state of toggle buttons. - * @see aria-checked @see aria-selected. + * `useRef` returns a mutable ref object whose `.current` property is initialized to the passed argument + * (`initialValue`). The returned object will persist for the full lifetime of the component. + * + * Note that `useRef()` is useful for more than the `ref` attribute. It’s handy for keeping any mutable + * value around similar to how you’d use instance fields in classes. */ - 'aria-pressed'?: boolean | 'false' | 'mixed' | 'true' | undefined; + // TODO (TypeScript 3.0): + function useRef(initialValue: T): MutableRefObject; + // convenience overload for refs given as a ref prop as they typically start with a null value /** - * Indicates that the element is not editable, but is otherwise operable. - * @see aria-disabled. + * `useRef` returns a mutable ref object whose `.current` property is initialized to the passed argument + * (`initialValue`). The returned object will persist for the full lifetime of the component. + * + * Note that `useRef()` is useful for more than the `ref` attribute. It’s handy for keeping any mutable + * value around similar to how you’d use instance fields in classes. + * + * Usage note: if you need the result of useRef to be directly mutable, include `| null` in the type + * of the generic argument. */ - 'aria-readonly'?: boolean | 'false' | 'true' | undefined; + // TODO (TypeScript 3.0): + function useRef(initialValue: T | null): RefObject; + // convenience overload for potentially undefined initialValue / call with 0 arguments + // has a default to stop it from defaulting to {} instead /** - * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. - * @see aria-atomic. + * `useRef` returns a mutable ref object whose `.current` property is initialized to the passed argument + * (`initialValue`). The returned object will persist for the full lifetime of the component. + * + * Note that `useRef()` is useful for more than the `ref` attribute. It’s handy for keeping any mutable + * value around similar to how you’d use instance fields in classes. */ - 'aria-relevant'?: 'additions' | 'additions text' | 'all' | 'removals' | 'text' | undefined; - /** Indicates that user input is required on the element before a form may be submitted. */ - 'aria-required'?: boolean | 'false' | 'true' | undefined; - /** Defines a human-readable, author-localized description for the role of an element. */ - 'aria-roledescription'?: string | undefined; + // TODO (TypeScript 3.0): + function useRef(): MutableRefObject; /** - * Defines the total number of rows in a table, grid, or treegrid. - * @see aria-rowindex. + * The signature is identical to `useEffect`, but it fires synchronously after all DOM mutations. + * Use this to read layout from the DOM and synchronously re-render. Updates scheduled inside + * `useLayoutEffect` will be flushed synchronously, before the browser has a chance to paint. + * + * Prefer the standard `useEffect` when possible to avoid blocking visual updates. + * + * If you’re migrating code from a class component, `useLayoutEffect` fires in the same phase as + * `componentDidMount` and `componentDidUpdate`. */ - 'aria-rowcount'?: number | undefined; + function useLayoutEffect(effect: EffectCallback, deps?: DependencyList): void; /** - * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. - * @see aria-rowcount @see aria-rowspan. + * Accepts a function that contains imperative, possibly effectful code. + * + * @param effect Imperative function that can return a cleanup function + * @param deps If present, effect will only activate if the values in the list change. */ - 'aria-rowindex'?: number | undefined; + function useEffect(effect: EffectCallback, deps?: DependencyList): void; + // NOTE: this does not accept strings, but this will have to be fixed by removing strings from type Ref /** - * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. - * @see aria-rowindex @see aria-colspan. + * `useImperativeHandle` customizes the instance value that is exposed to parent components when using + * `ref`. As always, imperative code using refs should be avoided in most cases. + * + * `useImperativeHandle` should be used with `Rax.forwardRef`. */ - 'aria-rowspan'?: number | undefined; + function useImperativeHandle( + ref: Ref | undefined, + init: () => R, + deps?: DependencyList, + ): void; + // I made 'inputs' required here and in useMemo as there's no point to memoizing without the memoization key + // useCallback(X) is identical to just using X, useMemo(() => Y) is identical to just using Y. /** - * Indicates the current "selected" state of various widgets. - * @see aria-checked @see aria-pressed. + * `useCallback` will return a memoized version of the callback that only changes if one of the `inputs` + * has changed. */ - 'aria-selected'?: boolean | 'false' | 'true' | undefined; + // TODO (TypeScript 3.0): unknown> + function useCallback any>(callback: T, deps: DependencyList): T; /** - * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. - * @see aria-posinset. + * `useMemo` will only recompute the memoized value when one of the `deps` has changed. + * + * Usage note: if calling `useMemo` with a referentially stable function, also give it as the input in + * the second argument. + * + * ```ts + * function expensive () { ... } + * + * function Component () { + * const expensiveResult = useMemo(expensive, [expensive]) + * return ... + * } + * ``` */ - 'aria-setsize'?: number | undefined; - /** Indicates if items in a table or grid are sorted in ascending or descending order. */ - 'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other' | undefined; - /** Defines the maximum allowed value for a range widget. */ - 'aria-valuemax'?: number | undefined; - /** Defines the minimum allowed value for a range widget. */ - 'aria-valuemin'?: number | undefined; + // allow undefined, but don't make it optional as that is very likely a mistake + function useMemo(factory: () => T, deps: DependencyList | undefined): T; + /** - * Defines the current value for a range widget. - * @see aria-valuetext. + * ====================================================================== + * Rax Event System + * ====================================================================== */ - 'aria-valuenow'?: number | undefined; - /** Defines the human readable text alternative of aria-valuenow for a range widget. */ - 'aria-valuetext'?: string | undefined; - } - - interface HTMLAttributes extends AriaAttributes, DOMAttributes { - // Rax-specific Attributes - defaultChecked?: boolean | undefined; - defaultValue?: string | string[] | undefined; - suppressContentEditableWarning?: boolean | undefined; - suppressHydrationWarning?: boolean | undefined; - - // Standard HTML Attributes - accessKey?: string | undefined; - className?: string | undefined; - contentEditable?: boolean | undefined; - contextMenu?: string | undefined; - dir?: string | undefined; - draggable?: boolean | undefined; - hidden?: boolean | undefined; - id?: string | undefined; - lang?: string | undefined; - placeholder?: string | undefined; - slot?: string | undefined; - spellCheck?: boolean | undefined; - style?: CSSProperties | undefined; - tabIndex?: number | undefined; - title?: string | undefined; - - // Unknown - inputMode?: string | undefined; - is?: string | undefined; - radioGroup?: string | undefined; // , - - // WAI-ARIA - role?: string | undefined; - - // RDFa Attributes - about?: string | undefined; - datatype?: string | undefined; - inlist?: any; - prefix?: string | undefined; - property?: string | undefined; - resource?: string | undefined; - typeof?: string | undefined; - vocab?: string | undefined; - - // Non-standard Attributes - autoCapitalize?: string | undefined; - autoCorrect?: string | undefined; - autoSave?: string | undefined; - color?: string | undefined; - itemProp?: string | undefined; - itemScope?: boolean | undefined; - itemType?: string | undefined; - itemID?: string | undefined; - itemRef?: string | undefined; - results?: number | undefined; - security?: string | undefined; - unselectable?: 'on' | 'off' | undefined; - } - - interface AllHTMLAttributes extends HTMLAttributes { - // Standard HTML Attributes - accept?: string | undefined; - acceptCharset?: string | undefined; - action?: string | undefined; - allowFullScreen?: boolean | undefined; - allowTransparency?: boolean | undefined; - alt?: string | undefined; - as?: string | undefined; - async?: boolean | undefined; - autoComplete?: string | undefined; - autoFocus?: boolean | undefined; - autoPlay?: boolean | undefined; - capture?: boolean | string | undefined; - cellPadding?: number | string | undefined; - cellSpacing?: number | string | undefined; - charSet?: string | undefined; - challenge?: string | undefined; - checked?: boolean | undefined; - cite?: string | undefined; - classID?: string | undefined; - cols?: number | undefined; - colSpan?: number | undefined; - content?: string | undefined; - controls?: boolean | undefined; - coords?: string | undefined; - crossOrigin?: string | undefined; - data?: string | undefined; - dateTime?: string | undefined; - default?: boolean | undefined; - defer?: boolean | undefined; - disabled?: boolean | undefined; - download?: any; - encType?: string | undefined; - form?: string | undefined; - formAction?: string | undefined; - formEncType?: string | undefined; - formMethod?: string | undefined; - formNoValidate?: boolean | undefined; - formTarget?: string | undefined; - frameBorder?: number | string | undefined; - headers?: string | undefined; - height?: number | string | undefined; - high?: number | undefined; - href?: string | undefined; - hrefLang?: string | undefined; - htmlFor?: string | undefined; - httpEquiv?: string | undefined; - integrity?: string | undefined; - keyParams?: string | undefined; - keyType?: string | undefined; - kind?: string | undefined; - label?: string | undefined; - list?: string | undefined; - loop?: boolean | undefined; - low?: number | undefined; - manifest?: string | undefined; - marginHeight?: number | undefined; - marginWidth?: number | undefined; - max?: number | string | undefined; - maxLength?: number | undefined; - media?: string | undefined; - mediaGroup?: string | undefined; - method?: string | undefined; - min?: number | string | undefined; - minLength?: number | undefined; - multiple?: boolean | undefined; - muted?: boolean | undefined; - name?: string | undefined; - nonce?: string | undefined; - noValidate?: boolean | undefined; - open?: boolean | undefined; - optimum?: number | undefined; - pattern?: string | undefined; - placeholder?: string | undefined; - playsInline?: boolean | undefined; - poster?: string | undefined; - preload?: string | undefined; - readOnly?: boolean | undefined; - rel?: string | undefined; - required?: boolean | undefined; - reversed?: boolean | undefined; - rows?: number | undefined; - rowSpan?: number | undefined; - sandbox?: string | undefined; - scope?: string | undefined; - scoped?: boolean | undefined; - scrolling?: string | undefined; - seamless?: boolean | undefined; - selected?: boolean | undefined; - shape?: string | undefined; - size?: number | undefined; - sizes?: string | undefined; - span?: number | undefined; - src?: string | undefined; - srcDoc?: string | undefined; - srcLang?: string | undefined; - srcSet?: string | undefined; - start?: number | undefined; - step?: number | string | undefined; - summary?: string | undefined; - target?: string | undefined; - type?: string | undefined; - useMap?: string | undefined; - value?: string | string[] | number | undefined; - width?: number | string | undefined; - wmode?: string | undefined; - wrap?: string | undefined; - } - - interface AnchorHTMLAttributes extends HTMLAttributes { - download?: any; - href?: string | undefined; - hrefLang?: string | undefined; - media?: string | undefined; - rel?: string | undefined; - target?: string | undefined; - type?: string | undefined; - referrerPolicy?: string | undefined; - } - - interface AudioHTMLAttributes extends MediaHTMLAttributes {} - - interface AreaHTMLAttributes extends HTMLAttributes { - alt?: string | undefined; - coords?: string | undefined; - download?: any; - href?: string | undefined; - hrefLang?: string | undefined; - media?: string | undefined; - rel?: string | undefined; - shape?: string | undefined; - target?: string | undefined; - } - - interface BaseHTMLAttributes extends HTMLAttributes { - href?: string | undefined; - target?: string | undefined; - } - - interface BlockquoteHTMLAttributes extends HTMLAttributes { - cite?: string | undefined; - } - - interface ButtonHTMLAttributes extends HTMLAttributes { - autoFocus?: boolean | undefined; - disabled?: boolean | undefined; - form?: string | undefined; - formAction?: string | undefined; - formEncType?: string | undefined; - formMethod?: string | undefined; - formNoValidate?: boolean | undefined; - formTarget?: string | undefined; - name?: string | undefined; - type?: 'submit' | 'reset' | 'button' | undefined; - value?: string | string[] | number | undefined; - } - - interface CanvasHTMLAttributes extends HTMLAttributes { - height?: number | string | undefined; - width?: number | string | undefined; - } - - interface ColHTMLAttributes extends HTMLAttributes { - span?: number | undefined; - width?: number | string | undefined; - } - - interface ColgroupHTMLAttributes extends HTMLAttributes { - span?: number | undefined; - } - - interface DetailsHTMLAttributes extends HTMLAttributes { - open?: boolean | undefined; - } - - interface DelHTMLAttributes extends HTMLAttributes { - cite?: string | undefined; - dateTime?: string | undefined; - } - - interface DialogHTMLAttributes extends HTMLAttributes { - open?: boolean | undefined; - } - - interface EmbedHTMLAttributes extends HTMLAttributes { - height?: number | string | undefined; - src?: string | undefined; - type?: string | undefined; - width?: number | string | undefined; - } - - interface FieldsetHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined; - form?: string | undefined; - name?: string | undefined; - } - - interface FormHTMLAttributes extends HTMLAttributes { - acceptCharset?: string | undefined; - action?: string | undefined; - autoComplete?: string | undefined; - encType?: string | undefined; - method?: string | undefined; - name?: string | undefined; - noValidate?: boolean | undefined; - target?: string | undefined; - } - - interface HtmlHTMLAttributes extends HTMLAttributes { - manifest?: string | undefined; - } - - interface IframeHTMLAttributes extends HTMLAttributes { - allow?: string | undefined; - allowFullScreen?: boolean | undefined; - allowTransparency?: boolean | undefined; - frameBorder?: number | string | undefined; - height?: number | string | undefined; - marginHeight?: number | undefined; - marginWidth?: number | undefined; - name?: string | undefined; - referrerPolicy?: string | undefined; - sandbox?: string | undefined; - scrolling?: string | undefined; - seamless?: boolean | undefined; - src?: string | undefined; - srcDoc?: string | undefined; - width?: number | string | undefined; - } - - interface ImgHTMLAttributes extends HTMLAttributes { - alt?: string | undefined; - crossOrigin?: 'anonymous' | 'use-credentials' | '' | undefined; - decoding?: 'async' | 'auto' | 'sync' | undefined; - height?: number | string | undefined; - sizes?: string | undefined; - src?: string | undefined; - srcSet?: string | undefined; - useMap?: string | undefined; - width?: number | string | undefined; - } - - interface InsHTMLAttributes extends HTMLAttributes { - cite?: string | undefined; - dateTime?: string | undefined; - } - - interface InputHTMLAttributes extends HTMLAttributes { - accept?: string | undefined; - alt?: string | undefined; - autoComplete?: string | undefined; - autoFocus?: boolean | undefined; - capture?: boolean | string | undefined; // https://www.w3.org/TR/html-media-capture/#the-capture-attribute - checked?: boolean | undefined; - crossOrigin?: string | undefined; - disabled?: boolean | undefined; - form?: string | undefined; - formAction?: string | undefined; - formEncType?: string | undefined; - formMethod?: string | undefined; - formNoValidate?: boolean | undefined; - formTarget?: string | undefined; - height?: number | string | undefined; - list?: string | undefined; - max?: number | string | undefined; - maxLength?: number | undefined; - min?: number | string | undefined; - minLength?: number | undefined; - multiple?: boolean | undefined; - name?: string | undefined; - pattern?: string | undefined; - placeholder?: string | undefined; - readOnly?: boolean | undefined; - required?: boolean | undefined; - size?: number | undefined; - src?: string | undefined; - step?: number | string | undefined; - type?: string | undefined; - value?: string | string[] | number | undefined; - width?: number | string | undefined; - - onChange?: ChangeEventHandler | undefined; - } - - interface KeygenHTMLAttributes extends HTMLAttributes { - autoFocus?: boolean | undefined; - challenge?: string | undefined; - disabled?: boolean | undefined; - form?: string | undefined; - keyType?: string | undefined; - keyParams?: string | undefined; - name?: string | undefined; - } - - interface LabelHTMLAttributes extends HTMLAttributes { - form?: string | undefined; - htmlFor?: string | undefined; - } - - interface LiHTMLAttributes extends HTMLAttributes { - value?: string | string[] | number | undefined; - } - - interface LinkHTMLAttributes extends HTMLAttributes { - as?: string | undefined; - crossOrigin?: string | undefined; - href?: string | undefined; - hrefLang?: string | undefined; - integrity?: string | undefined; - media?: string | undefined; - rel?: string | undefined; - sizes?: string | undefined; - type?: string | undefined; - } - - interface MapHTMLAttributes extends HTMLAttributes { - name?: string | undefined; - } - - interface MenuHTMLAttributes extends HTMLAttributes { - type?: string | undefined; - } - - interface MediaHTMLAttributes extends HTMLAttributes { - autoPlay?: boolean | undefined; - controls?: boolean | undefined; - controlsList?: string | undefined; - crossOrigin?: string | undefined; - loop?: boolean | undefined; - mediaGroup?: string | undefined; - muted?: boolean | undefined; - playsinline?: boolean | undefined; - preload?: string | undefined; - src?: string | undefined; - } - - interface MetaHTMLAttributes extends HTMLAttributes { - charSet?: string | undefined; - content?: string | undefined; - httpEquiv?: string | undefined; - name?: string | undefined; - } - - interface MeterHTMLAttributes extends HTMLAttributes { - form?: string | undefined; - high?: number | undefined; - low?: number | undefined; - max?: number | string | undefined; - min?: number | string | undefined; - optimum?: number | undefined; - value?: string | string[] | number | undefined; - } - - interface QuoteHTMLAttributes extends HTMLAttributes { - cite?: string | undefined; - } - - interface ObjectHTMLAttributes extends HTMLAttributes { - classID?: string | undefined; - data?: string | undefined; - form?: string | undefined; - height?: number | string | undefined; - name?: string | undefined; - type?: string | undefined; - useMap?: string | undefined; - width?: number | string | undefined; - wmode?: string | undefined; - } - - interface OlHTMLAttributes extends HTMLAttributes { - reversed?: boolean | undefined; - start?: number | undefined; - type?: '1' | 'a' | 'A' | 'i' | 'I' | undefined; - } - - interface OptgroupHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined; - label?: string | undefined; - } - - interface OptionHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined; - label?: string | undefined; - selected?: boolean | undefined; - value?: string | string[] | number | undefined; - } - - interface OutputHTMLAttributes extends HTMLAttributes { - form?: string | undefined; - htmlFor?: string | undefined; - name?: string | undefined; - } - - interface ParamHTMLAttributes extends HTMLAttributes { - name?: string | undefined; - value?: string | string[] | number | undefined; - } - - interface ProgressHTMLAttributes extends HTMLAttributes { - max?: number | string | undefined; - value?: string | string[] | number | undefined; - } - - interface ScriptHTMLAttributes extends HTMLAttributes { - async?: boolean | undefined; - /** @deprecated */ - charSet?: string | undefined; - crossOrigin?: string | undefined; - defer?: boolean | undefined; - integrity?: string | undefined; - noModule?: boolean | undefined; - nonce?: string | undefined; - src?: string | undefined; - type?: string | undefined; - } - - interface SelectHTMLAttributes extends HTMLAttributes { - autoComplete?: string | undefined; - autoFocus?: boolean | undefined; - disabled?: boolean | undefined; - form?: string | undefined; - multiple?: boolean | undefined; - name?: string | undefined; - required?: boolean | undefined; - size?: number | undefined; - value?: string | string[] | number | undefined; - onChange?: ChangeEventHandler | undefined; - } - - interface SourceHTMLAttributes extends HTMLAttributes { - media?: string | undefined; - sizes?: string | undefined; - src?: string | undefined; - srcSet?: string | undefined; - type?: string | undefined; - } - - interface StyleHTMLAttributes extends HTMLAttributes { - media?: string | undefined; - nonce?: string | undefined; - scoped?: boolean | undefined; - type?: string | undefined; - } - - interface TableHTMLAttributes extends HTMLAttributes { - cellPadding?: number | string | undefined; - cellSpacing?: number | string | undefined; - summary?: string | undefined; - } - - interface TextareaHTMLAttributes extends HTMLAttributes { - autoComplete?: string | undefined; - autoFocus?: boolean | undefined; - cols?: number | undefined; - dirName?: string | undefined; - disabled?: boolean | undefined; - form?: string | undefined; - maxLength?: number | undefined; - minLength?: number | undefined; - name?: string | undefined; - placeholder?: string | undefined; - readOnly?: boolean | undefined; - required?: boolean | undefined; - rows?: number | undefined; - value?: string | string[] | number | undefined; - wrap?: string | undefined; - - onChange?: ChangeEventHandler | undefined; - } - - interface TdHTMLAttributes extends HTMLAttributes { - align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined; - colSpan?: number | undefined; - headers?: string | undefined; - rowSpan?: number | undefined; - scope?: string | undefined; - } - - interface ThHTMLAttributes extends HTMLAttributes { - align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined; - colSpan?: number | undefined; - headers?: string | undefined; - rowSpan?: number | undefined; - scope?: string | undefined; - } - - interface TimeHTMLAttributes extends HTMLAttributes { - dateTime?: string | undefined; - } - - interface TrackHTMLAttributes extends HTMLAttributes { - default?: boolean | undefined; - kind?: string | undefined; - label?: string | undefined; - src?: string | undefined; - srcLang?: string | undefined; - } - - interface VideoHTMLAttributes extends MediaHTMLAttributes { - height?: number | string | undefined; - playsInline?: boolean | undefined; - poster?: string | undefined; - width?: number | string | undefined; - } - - // this list is "complete" in that it contains every SVG attribute - // that Rax supports, but the types can be improved. - // Full list here: https://facebook.github.io/rax/docs/dom-elements.html - // - // The three broad type categories are (in order of restrictiveness): - // - "number | string" - // - "string" - // - union of string literals - interface SVGAttributes extends AriaAttributes, DOMAttributes { - // Attributes which also defined in HTMLAttributes - // See comment in SVGDOMPropertyConfig.js - className?: string | undefined; - color?: string | undefined; - height?: number | string | undefined; - id?: string | undefined; - lang?: string | undefined; - max?: number | string | undefined; - media?: string | undefined; - method?: string | undefined; - min?: number | string | undefined; - name?: string | undefined; - style?: CSSProperties | undefined; - target?: string | undefined; - type?: string | undefined; - width?: number | string | undefined; - - // Other HTML properties supported by SVG elements in browsers - role?: string | undefined; - tabIndex?: number | undefined; - - // SVG Specific attributes - accentHeight?: number | string | undefined; - accumulate?: 'none' | 'sum' | undefined; - additive?: 'replace' | 'sum' | undefined; - alignmentBaseline?: - | 'auto' - | 'baseline' - | 'before-edge' - | 'text-before-edge' - | 'middle' - | 'central' - | 'after-edge' - | 'text-after-edge' - | 'ideographic' - | 'alphabetic' - | 'hanging' - | 'mathematical' - | 'inherit' | undefined; - allowReorder?: 'no' | 'yes' | undefined; - alphabetic?: number | string | undefined; - amplitude?: number | string | undefined; - arabicForm?: 'initial' | 'medial' | 'terminal' | 'isolated' | undefined; - ascent?: number | string | undefined; - attributeName?: string | undefined; - attributeType?: string | undefined; - autoReverse?: number | string | undefined; - azimuth?: number | string | undefined; - baseFrequency?: number | string | undefined; - baselineShift?: number | string | undefined; - baseProfile?: number | string | undefined; - bbox?: number | string | undefined; - begin?: number | string | undefined; - bias?: number | string | undefined; - by?: number | string | undefined; - calcMode?: number | string | undefined; - capHeight?: number | string | undefined; - clip?: number | string | undefined; - clipPath?: string | undefined; - clipPathUnits?: number | string | undefined; - clipRule?: number | string | undefined; - colorInterpolation?: number | string | undefined; - colorInterpolationFilters?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined; - colorProfile?: number | string | undefined; - colorRendering?: number | string | undefined; - contentScriptType?: number | string | undefined; - contentStyleType?: number | string | undefined; - cursor?: number | string | undefined; - cx?: number | string | undefined; - cy?: number | string | undefined; - d?: string | undefined; - decelerate?: number | string | undefined; - descent?: number | string | undefined; - diffuseConstant?: number | string | undefined; - direction?: number | string | undefined; - display?: number | string | undefined; - divisor?: number | string | undefined; - dominantBaseline?: number | string | undefined; - dur?: number | string | undefined; - dx?: number | string | undefined; - dy?: number | string | undefined; - edgeMode?: number | string | undefined; - elevation?: number | string | undefined; - enableBackground?: number | string | undefined; - end?: number | string | undefined; - exponent?: number | string | undefined; - externalResourcesRequired?: number | string | undefined; - fill?: string | undefined; - fillOpacity?: number | string | undefined; - fillRule?: 'nonzero' | 'evenodd' | 'inherit' | undefined; - filter?: string | undefined; - filterRes?: number | string | undefined; - filterUnits?: number | string | undefined; - floodColor?: number | string | undefined; - floodOpacity?: number | string | undefined; - focusable?: number | string | undefined; - fontFamily?: string | undefined; - fontSize?: number | string | undefined; - fontSizeAdjust?: number | string | undefined; - fontStretch?: number | string | undefined; - fontStyle?: number | string | undefined; - fontVariant?: number | string | undefined; - fontWeight?: number | string | undefined; - format?: number | string | undefined; - from?: number | string | undefined; - fx?: number | string | undefined; - fy?: number | string | undefined; - g1?: number | string | undefined; - g2?: number | string | undefined; - glyphName?: number | string | undefined; - glyphOrientationHorizontal?: number | string | undefined; - glyphOrientationVertical?: number | string | undefined; - glyphRef?: number | string | undefined; - gradientTransform?: string | undefined; - gradientUnits?: string | undefined; - hanging?: number | string | undefined; - horizAdvX?: number | string | undefined; - horizOriginX?: number | string | undefined; - href?: string | undefined; - ideographic?: number | string | undefined; - imageRendering?: number | string | undefined; - in2?: number | string | undefined; - in?: string | undefined; - intercept?: number | string | undefined; - k1?: number | string | undefined; - k2?: number | string | undefined; - k3?: number | string | undefined; - k4?: number | string | undefined; - k?: number | string | undefined; - kernelMatrix?: number | string | undefined; - kernelUnitLength?: number | string | undefined; - kerning?: number | string | undefined; - keyPoints?: number | string | undefined; - keySplines?: number | string | undefined; - keyTimes?: number | string | undefined; - lengthAdjust?: number | string | undefined; - letterSpacing?: number | string | undefined; - lightingColor?: number | string | undefined; - limitingConeAngle?: number | string | undefined; - local?: number | string | undefined; - markerEnd?: string | undefined; - markerHeight?: number | string | undefined; - markerMid?: string | undefined; - markerStart?: string | undefined; - markerUnits?: number | string | undefined; - markerWidth?: number | string | undefined; - mask?: string | undefined; - maskContentUnits?: number | string | undefined; - maskUnits?: number | string | undefined; - mathematical?: number | string | undefined; - mode?: number | string | undefined; - numOctaves?: number | string | undefined; - offset?: number | string | undefined; - opacity?: number | string | undefined; - operator?: number | string | undefined; - order?: number | string | undefined; - orient?: number | string | undefined; - orientation?: number | string | undefined; - origin?: number | string | undefined; - overflow?: number | string | undefined; - overlinePosition?: number | string | undefined; - overlineThickness?: number | string | undefined; - paintOrder?: number | string | undefined; - panose1?: number | string | undefined; - pathLength?: number | string | undefined; - patternContentUnits?: string | undefined; - patternTransform?: number | string | undefined; - patternUnits?: string | undefined; - pointerEvents?: number | string | undefined; - points?: string | undefined; - pointsAtX?: number | string | undefined; - pointsAtY?: number | string | undefined; - pointsAtZ?: number | string | undefined; - preserveAlpha?: number | string | undefined; - preserveAspectRatio?: string | undefined; - primitiveUnits?: number | string | undefined; - r?: number | string | undefined; - radius?: number | string | undefined; - refX?: number | string | undefined; - refY?: number | string | undefined; - renderingIntent?: number | string | undefined; - repeatCount?: number | string | undefined; - repeatDur?: number | string | undefined; - requiredExtensions?: number | string | undefined; - requiredFeatures?: number | string | undefined; - restart?: number | string | undefined; - result?: string | undefined; - rotate?: number | string | undefined; - rx?: number | string | undefined; - ry?: number | string | undefined; - scale?: number | string | undefined; - seed?: number | string | undefined; - shapeRendering?: number | string | undefined; - slope?: number | string | undefined; - spacing?: number | string | undefined; - specularConstant?: number | string | undefined; - specularExponent?: number | string | undefined; - speed?: number | string | undefined; - spreadMethod?: string | undefined; - startOffset?: number | string | undefined; - stdDeviation?: number | string | undefined; - stemh?: number | string | undefined; - stemv?: number | string | undefined; - stitchTiles?: number | string | undefined; - stopColor?: string | undefined; - stopOpacity?: number | string | undefined; - strikethroughPosition?: number | string | undefined; - strikethroughThickness?: number | string | undefined; - string?: number | string | undefined; - stroke?: string | undefined; - strokeDasharray?: string | number | undefined; - strokeDashoffset?: string | number | undefined; - strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit' | undefined; - strokeLinejoin?: 'miter' | 'round' | 'bevel' | 'inherit' | undefined; - strokeMiterlimit?: number | string | undefined; - strokeOpacity?: number | string | undefined; - strokeWidth?: number | string | undefined; - surfaceScale?: number | string | undefined; - systemLanguage?: number | string | undefined; - tableValues?: number | string | undefined; - targetX?: number | string | undefined; - targetY?: number | string | undefined; - textAnchor?: string | undefined; - textDecoration?: number | string | undefined; - textLength?: number | string | undefined; - textRendering?: number | string | undefined; - to?: number | string | undefined; - transform?: string | undefined; - u1?: number | string | undefined; - u2?: number | string | undefined; - underlinePosition?: number | string | undefined; - underlineThickness?: number | string | undefined; - unicode?: number | string | undefined; - unicodeBidi?: number | string | undefined; - unicodeRange?: number | string | undefined; - unitsPerEm?: number | string | undefined; - vAlphabetic?: number | string | undefined; - values?: string | undefined; - vectorEffect?: number | string | undefined; - version?: string | undefined; - vertAdvY?: number | string | undefined; - vertOriginX?: number | string | undefined; - vertOriginY?: number | string | undefined; - vHanging?: number | string | undefined; - vIdeographic?: number | string | undefined; - viewBox?: string | undefined; - viewTarget?: number | string | undefined; - visibility?: number | string | undefined; - vMathematical?: number | string | undefined; - widths?: number | string | undefined; - wordSpacing?: number | string | undefined; - writingMode?: number | string | undefined; - x1?: number | string | undefined; - x2?: number | string | undefined; - x?: number | string | undefined; - xChannelSelector?: string | undefined; - xHeight?: number | string | undefined; - xlinkActuate?: string | undefined; - xlinkArcrole?: string | undefined; - xlinkHref?: string | undefined; - xlinkRole?: string | undefined; - xlinkShow?: string | undefined; - xlinkTitle?: string | undefined; - xlinkType?: string | undefined; - xmlBase?: string | undefined; - xmlLang?: string | undefined; - xmlns?: string | undefined; - xmlnsXlink?: string | undefined; - xmlSpace?: string | undefined; - y1?: number | string | undefined; - y2?: number | string | undefined; - y?: number | string | undefined; - yChannelSelector?: string | undefined; - z?: number | string | undefined; - zoomAndPan?: string | undefined; - } - - interface WebViewHTMLAttributes extends HTMLAttributes { - allowFullScreen?: boolean | undefined; - allowpopups?: boolean | undefined; - autoFocus?: boolean | undefined; - autosize?: boolean | undefined; - blinkfeatures?: string | undefined; - disableblinkfeatures?: string | undefined; - disableguestresize?: boolean | undefined; - disablewebsecurity?: boolean | undefined; - guestinstance?: string | undefined; - httpreferrer?: string | undefined; - nodeintegration?: boolean | undefined; - partition?: string | undefined; - plugins?: boolean | undefined; - preload?: string | undefined; - src?: string | undefined; - useragent?: string | undefined; - webpreferences?: string | undefined; - } - - // - // Rax.DOM - // ---------------------------------------------------------------------- - - interface RaxHTML { - a: DetailedHTMLFactory, HTMLAnchorElement>; - abbr: DetailedHTMLFactory, HTMLElement>; - address: DetailedHTMLFactory, HTMLElement>; - area: DetailedHTMLFactory, HTMLAreaElement>; - article: DetailedHTMLFactory, HTMLElement>; - aside: DetailedHTMLFactory, HTMLElement>; - audio: DetailedHTMLFactory, HTMLAudioElement>; - b: DetailedHTMLFactory, HTMLElement>; - base: DetailedHTMLFactory, HTMLBaseElement>; - bdi: DetailedHTMLFactory, HTMLElement>; - bdo: DetailedHTMLFactory, HTMLElement>; - big: DetailedHTMLFactory, HTMLElement>; - blockquote: DetailedHTMLFactory, HTMLElement>; - body: DetailedHTMLFactory, HTMLBodyElement>; - br: DetailedHTMLFactory, HTMLBRElement>; - button: DetailedHTMLFactory, HTMLButtonElement>; - canvas: DetailedHTMLFactory, HTMLCanvasElement>; - caption: DetailedHTMLFactory, HTMLElement>; - cite: DetailedHTMLFactory, HTMLElement>; - code: DetailedHTMLFactory, HTMLElement>; - col: DetailedHTMLFactory, HTMLTableColElement>; - colgroup: DetailedHTMLFactory, HTMLTableColElement>; - data: DetailedHTMLFactory, HTMLElement>; - datalist: DetailedHTMLFactory, HTMLDataListElement>; - dd: DetailedHTMLFactory, HTMLElement>; - del: DetailedHTMLFactory, HTMLElement>; - details: DetailedHTMLFactory, HTMLElement>; - dfn: DetailedHTMLFactory, HTMLElement>; - dialog: DetailedHTMLFactory, HTMLDialogElement>; - div: DetailedHTMLFactory, HTMLDivElement>; - dl: DetailedHTMLFactory, HTMLDListElement>; - dt: DetailedHTMLFactory, HTMLElement>; - em: DetailedHTMLFactory, HTMLElement>; - embed: DetailedHTMLFactory, HTMLEmbedElement>; - fieldset: DetailedHTMLFactory, HTMLFieldSetElement>; - figcaption: DetailedHTMLFactory, HTMLElement>; - figure: DetailedHTMLFactory, HTMLElement>; - footer: DetailedHTMLFactory, HTMLElement>; - form: DetailedHTMLFactory, HTMLFormElement>; - h1: DetailedHTMLFactory, HTMLHeadingElement>; - h2: DetailedHTMLFactory, HTMLHeadingElement>; - h3: DetailedHTMLFactory, HTMLHeadingElement>; - h4: DetailedHTMLFactory, HTMLHeadingElement>; - h5: DetailedHTMLFactory, HTMLHeadingElement>; - h6: DetailedHTMLFactory, HTMLHeadingElement>; - head: DetailedHTMLFactory, HTMLHeadElement>; - header: DetailedHTMLFactory, HTMLElement>; - hgroup: DetailedHTMLFactory, HTMLElement>; - hr: DetailedHTMLFactory, HTMLHRElement>; - html: DetailedHTMLFactory, HTMLHtmlElement>; - i: DetailedHTMLFactory, HTMLElement>; - iframe: DetailedHTMLFactory, HTMLIFrameElement>; - img: DetailedHTMLFactory, HTMLImageElement>; - input: DetailedHTMLFactory, HTMLInputElement>; - ins: DetailedHTMLFactory, HTMLModElement>; - kbd: DetailedHTMLFactory, HTMLElement>; - keygen: DetailedHTMLFactory, HTMLElement>; - label: DetailedHTMLFactory, HTMLLabelElement>; - legend: DetailedHTMLFactory, HTMLLegendElement>; - li: DetailedHTMLFactory, HTMLLIElement>; - link: DetailedHTMLFactory, HTMLLinkElement>; - main: DetailedHTMLFactory, HTMLElement>; - map: DetailedHTMLFactory, HTMLMapElement>; - mark: DetailedHTMLFactory, HTMLElement>; - menu: DetailedHTMLFactory, HTMLElement>; - menuitem: DetailedHTMLFactory, HTMLElement>; - meta: DetailedHTMLFactory, HTMLMetaElement>; - meter: DetailedHTMLFactory, HTMLElement>; - nav: DetailedHTMLFactory, HTMLElement>; - noscript: DetailedHTMLFactory, HTMLElement>; - object: DetailedHTMLFactory, HTMLObjectElement>; - ol: DetailedHTMLFactory, HTMLOListElement>; - optgroup: DetailedHTMLFactory, HTMLOptGroupElement>; - option: DetailedHTMLFactory, HTMLOptionElement>; - output: DetailedHTMLFactory, HTMLElement>; - p: DetailedHTMLFactory, HTMLParagraphElement>; - param: DetailedHTMLFactory, HTMLParamElement>; - picture: DetailedHTMLFactory, HTMLElement>; - pre: DetailedHTMLFactory, HTMLPreElement>; - progress: DetailedHTMLFactory, HTMLProgressElement>; - q: DetailedHTMLFactory, HTMLQuoteElement>; - rp: DetailedHTMLFactory, HTMLElement>; - rt: DetailedHTMLFactory, HTMLElement>; - ruby: DetailedHTMLFactory, HTMLElement>; - s: DetailedHTMLFactory, HTMLElement>; - samp: DetailedHTMLFactory, HTMLElement>; - script: DetailedHTMLFactory, HTMLScriptElement>; - section: DetailedHTMLFactory, HTMLElement>; - select: DetailedHTMLFactory, HTMLSelectElement>; - small: DetailedHTMLFactory, HTMLElement>; - source: DetailedHTMLFactory, HTMLSourceElement>; - span: DetailedHTMLFactory, HTMLSpanElement>; - strong: DetailedHTMLFactory, HTMLElement>; - style: DetailedHTMLFactory, HTMLStyleElement>; - sub: DetailedHTMLFactory, HTMLElement>; - summary: DetailedHTMLFactory, HTMLElement>; - sup: DetailedHTMLFactory, HTMLElement>; - table: DetailedHTMLFactory, HTMLTableElement>; - tbody: DetailedHTMLFactory, HTMLTableSectionElement>; - td: DetailedHTMLFactory, HTMLTableDataCellElement>; - textarea: DetailedHTMLFactory, HTMLTextAreaElement>; - tfoot: DetailedHTMLFactory, HTMLTableSectionElement>; - th: DetailedHTMLFactory< - ThHTMLAttributes, - HTMLTableHeaderCellElement - >; - thead: DetailedHTMLFactory, HTMLTableSectionElement>; - time: DetailedHTMLFactory, HTMLElement>; - title: DetailedHTMLFactory, HTMLTitleElement>; - tr: DetailedHTMLFactory, HTMLTableRowElement>; - track: DetailedHTMLFactory, HTMLTrackElement>; - u: DetailedHTMLFactory, HTMLElement>; - ul: DetailedHTMLFactory, HTMLUListElement>; - var: DetailedHTMLFactory, HTMLElement>; - video: DetailedHTMLFactory, HTMLVideoElement>; - wbr: DetailedHTMLFactory, HTMLElement>; - webview: DetailedHTMLFactory, HTMLWebViewElement>; - } - - interface RaxSVG { - animate: SVGFactory; - circle: SVGFactory; - clipPath: SVGFactory; - defs: SVGFactory; - desc: SVGFactory; - ellipse: SVGFactory; - feBlend: SVGFactory; - feColorMatrix: SVGFactory; - feComponentTransfer: SVGFactory; - feComposite: SVGFactory; - feConvolveMatrix: SVGFactory; - feDiffuseLighting: SVGFactory; - feDisplacementMap: SVGFactory; - feDistantLight: SVGFactory; - feDropShadow: SVGFactory; - feFlood: SVGFactory; - feFuncA: SVGFactory; - feFuncB: SVGFactory; - feFuncG: SVGFactory; - feFuncR: SVGFactory; - feGaussianBlur: SVGFactory; - feImage: SVGFactory; - feMerge: SVGFactory; - feMergeNode: SVGFactory; - feMorphology: SVGFactory; - feOffset: SVGFactory; - fePointLight: SVGFactory; - feSpecularLighting: SVGFactory; - feSpotLight: SVGFactory; - feTile: SVGFactory; - feTurbulence: SVGFactory; - filter: SVGFactory; - foreignObject: SVGFactory; - g: SVGFactory; - image: SVGFactory; - line: SVGFactory; - linearGradient: SVGFactory; - marker: SVGFactory; - mask: SVGFactory; - metadata: SVGFactory; - path: SVGFactory; - pattern: SVGFactory; - polygon: SVGFactory; - polyline: SVGFactory; - radialGradient: SVGFactory; - rect: SVGFactory; - stop: SVGFactory; - svg: SVGFactory; - switch: SVGFactory; - symbol: SVGFactory; - text: SVGFactory; - textPath: SVGFactory; - tspan: SVGFactory; - use: SVGFactory; - view: SVGFactory; - } - - interface RaxDOM extends RaxHTML, RaxSVG {} - - // - // Rax.PropTypes - // ---------------------------------------------------------------------- - - type Validator = PropTypes.Validator; - - type Requireable = PropTypes.Requireable; - - type ValidationMap = PropTypes.ValidationMap; - - type WeakValidationMap = { - [K in keyof T]?: null extends T[K] - ? Validator - : undefined extends T[K] - ? Validator - : Validator - }; - - interface RaxPropTypes { - any: typeof PropTypes.any; - array: typeof PropTypes.array; - bool: typeof PropTypes.bool; - func: typeof PropTypes.func; - number: typeof PropTypes.number; - object: typeof PropTypes.object; - string: typeof PropTypes.string; - node: typeof PropTypes.node; - element: typeof PropTypes.element; - instanceOf: typeof PropTypes.instanceOf; - oneOf: typeof PropTypes.oneOf; - oneOfType: typeof PropTypes.oneOfType; - arrayOf: typeof PropTypes.arrayOf; - objectOf: typeof PropTypes.objectOf; - shape: typeof PropTypes.shape; - exact: typeof PropTypes.exact; - } - - // - // Rax.Children - // ---------------------------------------------------------------------- - - interface RaxChildren { - map(children: C | C[], fn: (child: C, index: number) => T): - C extends null | undefined ? C : Array>; - forEach(children: C | C[], fn: (child: C, index: number) => void): void; - count(children: any): number; - only(children: C): C extends any[] ? never : C; - toArray(children: C | C[]): C[]; - } - - // - // Browser Interfaces - // https://github.com/nikeee/2048-typescript/blob/master/2048/js/touch.d.ts - // ---------------------------------------------------------------------- - - interface AbstractView { - styleMedia: StyleMedia; - document: Document; - } - - interface Touch { - identifier: number; - target: EventTarget; - screenX: number; - screenY: number; - clientX: number; - clientY: number; - pageX: number; - pageY: number; - } - - interface TouchList { - [index: number]: Touch; - length: number; - item(index: number): Touch; - identifiedTouch(identifier: number): Touch; - } - - // - // Error Interfaces - // ---------------------------------------------------------------------- - interface ErrorInfo { + + // TODO: change any to unknown when moving to TS v3 + interface BaseSyntheticEvent { + nativeEvent: E; + currentTarget: C; + target: T; + bubbles: boolean; + cancelable: boolean; + defaultPrevented: boolean; + eventPhase: number; + isTrusted: boolean; + preventDefault(): void; + isDefaultPrevented(): boolean; + stopPropagation(): void; + isPropagationStopped(): boolean; + persist(): void; + timeStamp: number; + type: string; + } + /** - * Captures which component contained the exception, and its ancestors. + * currentTarget - a reference to the element on which the event listener is registered. + * + * target - a reference to the element from which the event was originally dispatched. + * This might be a child element to the element on which the event listener is registered. + * If you thought this should be `EventTarget & T`, see https://github.com/DefinitelyTyped/DefinitelyTyped/pull/12239 */ - componentStack: string; - } + interface SyntheticEvent extends BaseSyntheticEvent {} + + interface ClipboardEvent extends SyntheticEvent { + clipboardData: DataTransfer; + } + + interface CompositionEvent extends SyntheticEvent { + data: string; + } + + interface DragEvent extends MouseEvent { + dataTransfer: DataTransfer; + } + + interface PointerEvent extends MouseEvent { + pointerId: number; + pressure: number; + tiltX: number; + tiltY: number; + width: number; + height: number; + pointerType: "mouse" | "pen" | "touch"; + isPrimary: boolean; + } + + interface FocusEvent extends SyntheticEvent { + relatedTarget: EventTarget | null; + target: EventTarget & T; + } + + interface FormEvent extends SyntheticEvent {} + + interface InvalidEvent extends SyntheticEvent { + target: EventTarget & T; + } + + interface ChangeEvent extends SyntheticEvent { + target: EventTarget & T; + } + + interface KeyboardEvent extends SyntheticEvent { + altKey: boolean; + /** @deprecated */ + charCode: number; + ctrlKey: boolean; + code: string; + /** + * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method. + */ + getModifierState(key: string): boolean; + /** + * See the [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#named-key-attribute-values). for possible values + */ + key: string; + /** @deprecated */ + keyCode: number; + locale: string; + location: number; + metaKey: boolean; + repeat: boolean; + shiftKey: boolean; + /** @deprecated */ + which: number; + } + + interface MouseEvent extends SyntheticEvent { + altKey: boolean; + button: number; + buttons: number; + clientX: number; + clientY: number; + ctrlKey: boolean; + /** + * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method. + */ + getModifierState(key: string): boolean; + metaKey: boolean; + movementX: number; + movementY: number; + pageX: number; + pageY: number; + relatedTarget: EventTarget; + screenX: number; + screenY: number; + shiftKey: boolean; + } + + interface TouchEvent extends SyntheticEvent { + altKey: boolean; + changedTouches: TouchList; + ctrlKey: boolean; + /** + * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method. + */ + getModifierState(key: string): boolean; + metaKey: boolean; + shiftKey: boolean; + targetTouches: TouchList; + touches: TouchList; + } + + interface UIEvent extends SyntheticEvent { + detail: number; + view: AbstractView; + } + + interface WheelEvent extends MouseEvent { + deltaMode: number; + deltaX: number; + deltaY: number; + deltaZ: number; + } + + interface AnimationEvent extends SyntheticEvent { + animationName: string; + elapsedTime: number; + pseudoElement: string; + } + + interface TransitionEvent extends SyntheticEvent { + elapsedTime: number; + propertyName: string; + pseudoElement: string; + } + + interface AppearEvent extends SyntheticEvent { + direction: "up" | "down"; + } + + // + // Event Handler Types + // ---------------------------------------------------------------------- + + type EventHandler> = { + bivarianceHack(event: E): void; + }["bivarianceHack"]; + + type RaxEventHandler = EventHandler>; + + type ClipboardEventHandler = EventHandler>; + type CompositionEventHandler = EventHandler>; + type DragEventHandler = EventHandler>; + type FocusEventHandler = EventHandler>; + type FormEventHandler = EventHandler>; + type ChangeEventHandler = EventHandler>; + type KeyboardEventHandler = EventHandler>; + type MouseEventHandler = EventHandler>; + type TouchEventHandler = EventHandler>; + type PointerEventHandler = EventHandler>; + type UIEventHandler = EventHandler>; + type WheelEventHandler = EventHandler>; + type AnimationEventHandler = EventHandler>; + type TransitionEventHandler = EventHandler>; + type AppearEventHandler = EventHandler>; + + // + // Props / DOM Attributes + // ---------------------------------------------------------------------- + + interface HTMLProps extends AllHTMLAttributes, ClassAttributes {} + + type DetailedHTMLProps, T> = ClassAttributes & E; + + interface SVGProps extends SVGAttributes, ClassAttributes {} + + interface DOMAttributes { + children?: RaxNode | undefined; + dangerouslySetInnerHTML?: { + __html: string; + } | undefined; + + // weex + [key: string]: any; + + // Clipboard Events + onCopy?: ClipboardEventHandler | undefined; + onCopyCapture?: ClipboardEventHandler | undefined; + onCut?: ClipboardEventHandler | undefined; + onCutCapture?: ClipboardEventHandler | undefined; + onPaste?: ClipboardEventHandler | undefined; + onPasteCapture?: ClipboardEventHandler | undefined; + + // Composition Events + onCompositionEnd?: CompositionEventHandler | undefined; + onCompositionEndCapture?: CompositionEventHandler | undefined; + onCompositionStart?: CompositionEventHandler | undefined; + onCompositionStartCapture?: CompositionEventHandler | undefined; + onCompositionUpdate?: CompositionEventHandler | undefined; + onCompositionUpdateCapture?: CompositionEventHandler | undefined; + + // Focus Events + onFocus?: FocusEventHandler | undefined; + onFocusCapture?: FocusEventHandler | undefined; + onBlur?: FocusEventHandler | undefined; + onBlurCapture?: FocusEventHandler | undefined; + + // Form Events + onChange?: FormEventHandler | undefined; + onChangeCapture?: FormEventHandler | undefined; + onBeforeInput?: FormEventHandler | undefined; + onBeforeInputCapture?: FormEventHandler | undefined; + onInput?: FormEventHandler | undefined; + onInputCapture?: FormEventHandler | undefined; + onReset?: FormEventHandler | undefined; + onResetCapture?: FormEventHandler | undefined; + onSubmit?: FormEventHandler | undefined; + onSubmitCapture?: FormEventHandler | undefined; + onInvalid?: FormEventHandler | undefined; + onInvalidCapture?: FormEventHandler | undefined; + + // Image Events + onLoad?: RaxEventHandler | undefined; + onLoadCapture?: RaxEventHandler | undefined; + onError?: RaxEventHandler | undefined; // also a Media Event + onErrorCapture?: RaxEventHandler | undefined; // also a Media Event + + // Keyboard Events + onKeyDown?: KeyboardEventHandler | undefined; + onKeyDownCapture?: KeyboardEventHandler | undefined; + onKeyPress?: KeyboardEventHandler | undefined; + onKeyPressCapture?: KeyboardEventHandler | undefined; + onKeyUp?: KeyboardEventHandler | undefined; + onKeyUpCapture?: KeyboardEventHandler | undefined; + + // Media Events + onAbort?: RaxEventHandler | undefined; + onAbortCapture?: RaxEventHandler | undefined; + onCanPlay?: RaxEventHandler | undefined; + onCanPlayCapture?: RaxEventHandler | undefined; + onCanPlayThrough?: RaxEventHandler | undefined; + onCanPlayThroughCapture?: RaxEventHandler | undefined; + onDurationChange?: RaxEventHandler | undefined; + onDurationChangeCapture?: RaxEventHandler | undefined; + onEmptied?: RaxEventHandler | undefined; + onEmptiedCapture?: RaxEventHandler | undefined; + onEncrypted?: RaxEventHandler | undefined; + onEncryptedCapture?: RaxEventHandler | undefined; + onEnded?: RaxEventHandler | undefined; + onEndedCapture?: RaxEventHandler | undefined; + onLoadedData?: RaxEventHandler | undefined; + onLoadedDataCapture?: RaxEventHandler | undefined; + onLoadedMetadata?: RaxEventHandler | undefined; + onLoadedMetadataCapture?: RaxEventHandler | undefined; + onLoadStart?: RaxEventHandler | undefined; + onLoadStartCapture?: RaxEventHandler | undefined; + onPause?: RaxEventHandler | undefined; + onPauseCapture?: RaxEventHandler | undefined; + onPlay?: RaxEventHandler | undefined; + onPlayCapture?: RaxEventHandler | undefined; + onPlaying?: RaxEventHandler | undefined; + onPlayingCapture?: RaxEventHandler | undefined; + onProgress?: RaxEventHandler | undefined; + onProgressCapture?: RaxEventHandler | undefined; + onRateChange?: RaxEventHandler | undefined; + onRateChangeCapture?: RaxEventHandler | undefined; + onSeeked?: RaxEventHandler | undefined; + onSeekedCapture?: RaxEventHandler | undefined; + onSeeking?: RaxEventHandler | undefined; + onSeekingCapture?: RaxEventHandler | undefined; + onStalled?: RaxEventHandler | undefined; + onStalledCapture?: RaxEventHandler | undefined; + onSuspend?: RaxEventHandler | undefined; + onSuspendCapture?: RaxEventHandler | undefined; + onTimeUpdate?: RaxEventHandler | undefined; + onTimeUpdateCapture?: RaxEventHandler | undefined; + onVolumeChange?: RaxEventHandler | undefined; + onVolumeChangeCapture?: RaxEventHandler | undefined; + onWaiting?: RaxEventHandler | undefined; + onWaitingCapture?: RaxEventHandler | undefined; + + // MouseEvents + onAuxClick?: MouseEventHandler | undefined; + onAuxClickCapture?: MouseEventHandler | undefined; + onClick?: MouseEventHandler | undefined; + onClickCapture?: MouseEventHandler | undefined; + onContextMenu?: MouseEventHandler | undefined; + onContextMenuCapture?: MouseEventHandler | undefined; + onDoubleClick?: MouseEventHandler | undefined; + onDoubleClickCapture?: MouseEventHandler | undefined; + onDrag?: DragEventHandler | undefined; + onDragCapture?: DragEventHandler | undefined; + onDragEnd?: DragEventHandler | undefined; + onDragEndCapture?: DragEventHandler | undefined; + onDragEnter?: DragEventHandler | undefined; + onDragEnterCapture?: DragEventHandler | undefined; + onDragExit?: DragEventHandler | undefined; + onDragExitCapture?: DragEventHandler | undefined; + onDragLeave?: DragEventHandler | undefined; + onDragLeaveCapture?: DragEventHandler | undefined; + onDragOver?: DragEventHandler | undefined; + onDragOverCapture?: DragEventHandler | undefined; + onDragStart?: DragEventHandler | undefined; + onDragStartCapture?: DragEventHandler | undefined; + onDrop?: DragEventHandler | undefined; + onDropCapture?: DragEventHandler | undefined; + onMouseDown?: MouseEventHandler | undefined; + onMouseDownCapture?: MouseEventHandler | undefined; + onMouseEnter?: MouseEventHandler | undefined; + onMouseLeave?: MouseEventHandler | undefined; + onMouseMove?: MouseEventHandler | undefined; + onMouseMoveCapture?: MouseEventHandler | undefined; + onMouseOut?: MouseEventHandler | undefined; + onMouseOutCapture?: MouseEventHandler | undefined; + onMouseOver?: MouseEventHandler | undefined; + onMouseOverCapture?: MouseEventHandler | undefined; + onMouseUp?: MouseEventHandler | undefined; + onMouseUpCapture?: MouseEventHandler | undefined; + + // Selection Events + onSelect?: RaxEventHandler | undefined; + onSelectCapture?: RaxEventHandler | undefined; + + // Touch Events + onTouchCancel?: TouchEventHandler | undefined; + onTouchCancelCapture?: TouchEventHandler | undefined; + onTouchEnd?: TouchEventHandler | undefined; + onTouchEndCapture?: TouchEventHandler | undefined; + onTouchMove?: TouchEventHandler | undefined; + onTouchMoveCapture?: TouchEventHandler | undefined; + onTouchStart?: TouchEventHandler | undefined; + onTouchStartCapture?: TouchEventHandler | undefined; + + // Pointer Events + onPointerDown?: PointerEventHandler | undefined; + onPointerDownCapture?: PointerEventHandler | undefined; + onPointerMove?: PointerEventHandler | undefined; + onPointerMoveCapture?: PointerEventHandler | undefined; + onPointerUp?: PointerEventHandler | undefined; + onPointerUpCapture?: PointerEventHandler | undefined; + onPointerCancel?: PointerEventHandler | undefined; + onPointerCancelCapture?: PointerEventHandler | undefined; + onPointerEnter?: PointerEventHandler | undefined; + onPointerEnterCapture?: PointerEventHandler | undefined; + onPointerLeave?: PointerEventHandler | undefined; + onPointerLeaveCapture?: PointerEventHandler | undefined; + onPointerOver?: PointerEventHandler | undefined; + onPointerOverCapture?: PointerEventHandler | undefined; + onPointerOut?: PointerEventHandler | undefined; + onPointerOutCapture?: PointerEventHandler | undefined; + onGotPointerCapture?: PointerEventHandler | undefined; + onGotPointerCaptureCapture?: PointerEventHandler | undefined; + onLostPointerCapture?: PointerEventHandler | undefined; + onLostPointerCaptureCapture?: PointerEventHandler | undefined; + + // UI Events + onScroll?: UIEventHandler | undefined; + onScrollCapture?: UIEventHandler | undefined; + + // Wheel Events + onWheel?: WheelEventHandler | undefined; + onWheelCapture?: WheelEventHandler | undefined; + + // Animation Events + onAnimationStart?: AnimationEventHandler | undefined; + onAnimationStartCapture?: AnimationEventHandler | undefined; + onAnimationEnd?: AnimationEventHandler | undefined; + onAnimationEndCapture?: AnimationEventHandler | undefined; + onAnimationIteration?: AnimationEventHandler | undefined; + onAnimationIterationCapture?: AnimationEventHandler | undefined; + + // Transition Events + onTransitionEnd?: TransitionEventHandler | undefined; + onTransitionEndCapture?: TransitionEventHandler | undefined; + + // Weex Common Events + onLongpress?: MouseEventHandler | undefined; + onAppear?: AppearEventHandler | undefined; + onDisappear?: AppearEventHandler | undefined; + } + + export interface CSSProperties extends CSS.Properties { + /** + * The index signature was removed to enable closed typing for style + * using CSSType. You're able to use type assertion or module augmentation + * to add properties or an index signature of your own. + * + * For examples and more information, visit: + * https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors + */ + [key: string]: any; + } + + // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/ + interface AriaAttributes { + /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */ + "aria-activedescendant"?: string | undefined; + /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */ + "aria-atomic"?: boolean | "false" | "true" | undefined; + /** + * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be + * presented if they are made. + */ + "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined; + /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */ + "aria-busy"?: boolean | "false" | "true" | undefined; + /** + * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. + * @see aria-pressed @see aria-selected. + */ + "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined; + /** + * Defines the total number of columns in a table, grid, or treegrid. + * @see aria-colindex. + */ + "aria-colcount"?: number | undefined; + /** + * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. + * @see aria-colcount @see aria-colspan. + */ + "aria-colindex"?: number | undefined; + /** + * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. + * @see aria-colindex @see aria-rowspan. + */ + "aria-colspan"?: number | undefined; + /** + * Identifies the element (or elements) whose contents or presence are controlled by the current element. + * @see aria-owns. + */ + "aria-controls"?: string | undefined; + /** Indicates the element that represents the current item within a container or set of related elements. */ + "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined; + /** + * Identifies the element (or elements) that describes the object. + * @see aria-labelledby + */ + "aria-describedby"?: string | undefined; + /** + * Identifies the element that provides a detailed, extended description for the object. + * @see aria-describedby. + */ + "aria-details"?: string | undefined; + /** + * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. + * @see aria-hidden @see aria-readonly. + */ + "aria-disabled"?: boolean | "false" | "true" | undefined; + /** + * Indicates what functions can be performed when a dragged object is released on the drop target. + * @deprecated in ARIA 1.1 + */ + "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined; + /** + * Identifies the element that provides an error message for the object. + * @see aria-invalid @see aria-describedby. + */ + "aria-errormessage"?: string | undefined; + /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ + "aria-expanded"?: boolean | "false" | "true" | undefined; + /** + * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, + * allows assistive technology to override the general default of reading in document source order. + */ + "aria-flowto"?: string | undefined; + /** + * Indicates an element's "grabbed" state in a drag-and-drop operation. + * @deprecated in ARIA 1.1 + */ + "aria-grabbed"?: boolean | "false" | "true" | undefined; + /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ + "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined; + /** + * Indicates whether the element is exposed to an accessibility API. + * @see aria-disabled. + */ + "aria-hidden"?: boolean | "false" | "true" | undefined; + /** + * Indicates the entered value does not conform to the format expected by the application. + * @see aria-errormessage. + */ + "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined; + /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */ + "aria-keyshortcuts"?: string | undefined; + /** + * Defines a string value that labels the current element. + * @see aria-labelledby. + */ + "aria-label"?: string | undefined; + /** + * Identifies the element (or elements) that labels the current element. + * @see aria-describedby. + */ + "aria-labelledby"?: string | undefined; + /** Defines the hierarchical level of an element within a structure. */ + "aria-level"?: number | undefined; + /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */ + "aria-live"?: "off" | "assertive" | "polite" | undefined; + /** Indicates whether an element is modal when displayed. */ + "aria-modal"?: boolean | "false" | "true" | undefined; + /** Indicates whether a text box accepts multiple lines of input or only a single line. */ + "aria-multiline"?: boolean | "false" | "true" | undefined; + /** Indicates that the user may select more than one item from the current selectable descendants. */ + "aria-multiselectable"?: boolean | "false" | "true" | undefined; + /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */ + "aria-orientation"?: "horizontal" | "vertical" | undefined; + /** + * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship + * between DOM elements where the DOM hierarchy cannot be used to represent the relationship. + * @see aria-controls. + */ + "aria-owns"?: string | undefined; + /** + * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. + * A hint could be a sample value or a brief description of the expected format. + */ + "aria-placeholder"?: string | undefined; + /** + * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. + * @see aria-setsize. + */ + "aria-posinset"?: number | undefined; + /** + * Indicates the current "pressed" state of toggle buttons. + * @see aria-checked @see aria-selected. + */ + "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined; + /** + * Indicates that the element is not editable, but is otherwise operable. + * @see aria-disabled. + */ + "aria-readonly"?: boolean | "false" | "true" | undefined; + /** + * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. + * @see aria-atomic. + */ + "aria-relevant"?: "additions" | "additions text" | "all" | "removals" | "text" | undefined; + /** Indicates that user input is required on the element before a form may be submitted. */ + "aria-required"?: boolean | "false" | "true" | undefined; + /** Defines a human-readable, author-localized description for the role of an element. */ + "aria-roledescription"?: string | undefined; + /** + * Defines the total number of rows in a table, grid, or treegrid. + * @see aria-rowindex. + */ + "aria-rowcount"?: number | undefined; + /** + * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. + * @see aria-rowcount @see aria-rowspan. + */ + "aria-rowindex"?: number | undefined; + /** + * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. + * @see aria-rowindex @see aria-colspan. + */ + "aria-rowspan"?: number | undefined; + /** + * Indicates the current "selected" state of various widgets. + * @see aria-checked @see aria-pressed. + */ + "aria-selected"?: boolean | "false" | "true" | undefined; + /** + * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. + * @see aria-posinset. + */ + "aria-setsize"?: number | undefined; + /** Indicates if items in a table or grid are sorted in ascending or descending order. */ + "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined; + /** Defines the maximum allowed value for a range widget. */ + "aria-valuemax"?: number | undefined; + /** Defines the minimum allowed value for a range widget. */ + "aria-valuemin"?: number | undefined; + /** + * Defines the current value for a range widget. + * @see aria-valuetext. + */ + "aria-valuenow"?: number | undefined; + /** Defines the human readable text alternative of aria-valuenow for a range widget. */ + "aria-valuetext"?: string | undefined; + } + + interface HTMLAttributes extends AriaAttributes, DOMAttributes { + // Rax-specific Attributes + defaultChecked?: boolean | undefined; + defaultValue?: string | string[] | undefined; + suppressContentEditableWarning?: boolean | undefined; + suppressHydrationWarning?: boolean | undefined; + + // Standard HTML Attributes + accessKey?: string | undefined; + className?: string | undefined; + contentEditable?: boolean | undefined; + contextMenu?: string | undefined; + dir?: string | undefined; + draggable?: boolean | undefined; + hidden?: boolean | undefined; + id?: string | undefined; + lang?: string | undefined; + placeholder?: string | undefined; + slot?: string | undefined; + spellCheck?: boolean | undefined; + style?: CSSProperties | undefined; + tabIndex?: number | undefined; + title?: string | undefined; + + // Unknown + inputMode?: string | undefined; + is?: string | undefined; + radioGroup?: string | undefined; // , + + // WAI-ARIA + role?: string | undefined; + + // RDFa Attributes + about?: string | undefined; + datatype?: string | undefined; + inlist?: any; + prefix?: string | undefined; + property?: string | undefined; + resource?: string | undefined; + typeof?: string | undefined; + vocab?: string | undefined; + + // Non-standard Attributes + autoCapitalize?: string | undefined; + autoCorrect?: string | undefined; + autoSave?: string | undefined; + color?: string | undefined; + itemProp?: string | undefined; + itemScope?: boolean | undefined; + itemType?: string | undefined; + itemID?: string | undefined; + itemRef?: string | undefined; + results?: number | undefined; + security?: string | undefined; + unselectable?: "on" | "off" | undefined; + } + + interface AllHTMLAttributes extends HTMLAttributes { + // Standard HTML Attributes + accept?: string | undefined; + acceptCharset?: string | undefined; + action?: string | undefined; + allowFullScreen?: boolean | undefined; + allowTransparency?: boolean | undefined; + alt?: string | undefined; + as?: string | undefined; + async?: boolean | undefined; + autoComplete?: string | undefined; + autoFocus?: boolean | undefined; + autoPlay?: boolean | undefined; + capture?: boolean | string | undefined; + cellPadding?: number | string | undefined; + cellSpacing?: number | string | undefined; + charSet?: string | undefined; + challenge?: string | undefined; + checked?: boolean | undefined; + cite?: string | undefined; + classID?: string | undefined; + cols?: number | undefined; + colSpan?: number | undefined; + content?: string | undefined; + controls?: boolean | undefined; + coords?: string | undefined; + crossOrigin?: string | undefined; + data?: string | undefined; + dateTime?: string | undefined; + default?: boolean | undefined; + defer?: boolean | undefined; + disabled?: boolean | undefined; + download?: any; + encType?: string | undefined; + form?: string | undefined; + formAction?: string | undefined; + formEncType?: string | undefined; + formMethod?: string | undefined; + formNoValidate?: boolean | undefined; + formTarget?: string | undefined; + frameBorder?: number | string | undefined; + headers?: string | undefined; + height?: number | string | undefined; + high?: number | undefined; + href?: string | undefined; + hrefLang?: string | undefined; + htmlFor?: string | undefined; + httpEquiv?: string | undefined; + integrity?: string | undefined; + keyParams?: string | undefined; + keyType?: string | undefined; + kind?: string | undefined; + label?: string | undefined; + list?: string | undefined; + loop?: boolean | undefined; + low?: number | undefined; + manifest?: string | undefined; + marginHeight?: number | undefined; + marginWidth?: number | undefined; + max?: number | string | undefined; + maxLength?: number | undefined; + media?: string | undefined; + mediaGroup?: string | undefined; + method?: string | undefined; + min?: number | string | undefined; + minLength?: number | undefined; + multiple?: boolean | undefined; + muted?: boolean | undefined; + name?: string | undefined; + nonce?: string | undefined; + noValidate?: boolean | undefined; + open?: boolean | undefined; + optimum?: number | undefined; + pattern?: string | undefined; + placeholder?: string | undefined; + playsInline?: boolean | undefined; + poster?: string | undefined; + preload?: string | undefined; + readOnly?: boolean | undefined; + rel?: string | undefined; + required?: boolean | undefined; + reversed?: boolean | undefined; + rows?: number | undefined; + rowSpan?: number | undefined; + sandbox?: string | undefined; + scope?: string | undefined; + scoped?: boolean | undefined; + scrolling?: string | undefined; + seamless?: boolean | undefined; + selected?: boolean | undefined; + shape?: string | undefined; + size?: number | undefined; + sizes?: string | undefined; + span?: number | undefined; + src?: string | undefined; + srcDoc?: string | undefined; + srcLang?: string | undefined; + srcSet?: string | undefined; + start?: number | undefined; + step?: number | string | undefined; + summary?: string | undefined; + target?: string | undefined; + type?: string | undefined; + useMap?: string | undefined; + value?: string | string[] | number | undefined; + width?: number | string | undefined; + wmode?: string | undefined; + wrap?: string | undefined; + } + + interface AnchorHTMLAttributes extends HTMLAttributes { + download?: any; + href?: string | undefined; + hrefLang?: string | undefined; + media?: string | undefined; + rel?: string | undefined; + target?: string | undefined; + type?: string | undefined; + referrerPolicy?: string | undefined; + } + + interface AudioHTMLAttributes extends MediaHTMLAttributes {} + + interface AreaHTMLAttributes extends HTMLAttributes { + alt?: string | undefined; + coords?: string | undefined; + download?: any; + href?: string | undefined; + hrefLang?: string | undefined; + media?: string | undefined; + rel?: string | undefined; + shape?: string | undefined; + target?: string | undefined; + } + + interface BaseHTMLAttributes extends HTMLAttributes { + href?: string | undefined; + target?: string | undefined; + } + + interface BlockquoteHTMLAttributes extends HTMLAttributes { + cite?: string | undefined; + } + + interface ButtonHTMLAttributes extends HTMLAttributes { + autoFocus?: boolean | undefined; + disabled?: boolean | undefined; + form?: string | undefined; + formAction?: string | undefined; + formEncType?: string | undefined; + formMethod?: string | undefined; + formNoValidate?: boolean | undefined; + formTarget?: string | undefined; + name?: string | undefined; + type?: "submit" | "reset" | "button" | undefined; + value?: string | string[] | number | undefined; + } + + interface CanvasHTMLAttributes extends HTMLAttributes { + height?: number | string | undefined; + width?: number | string | undefined; + } + + interface ColHTMLAttributes extends HTMLAttributes { + span?: number | undefined; + width?: number | string | undefined; + } + + interface ColgroupHTMLAttributes extends HTMLAttributes { + span?: number | undefined; + } + + interface DetailsHTMLAttributes extends HTMLAttributes { + open?: boolean | undefined; + } + + interface DelHTMLAttributes extends HTMLAttributes { + cite?: string | undefined; + dateTime?: string | undefined; + } + + interface DialogHTMLAttributes extends HTMLAttributes { + open?: boolean | undefined; + } + + interface EmbedHTMLAttributes extends HTMLAttributes { + height?: number | string | undefined; + src?: string | undefined; + type?: string | undefined; + width?: number | string | undefined; + } + + interface FieldsetHTMLAttributes extends HTMLAttributes { + disabled?: boolean | undefined; + form?: string | undefined; + name?: string | undefined; + } + + interface FormHTMLAttributes extends HTMLAttributes { + acceptCharset?: string | undefined; + action?: string | undefined; + autoComplete?: string | undefined; + encType?: string | undefined; + method?: string | undefined; + name?: string | undefined; + noValidate?: boolean | undefined; + target?: string | undefined; + } + + interface HtmlHTMLAttributes extends HTMLAttributes { + manifest?: string | undefined; + } + + interface IframeHTMLAttributes extends HTMLAttributes { + allow?: string | undefined; + allowFullScreen?: boolean | undefined; + allowTransparency?: boolean | undefined; + frameBorder?: number | string | undefined; + height?: number | string | undefined; + marginHeight?: number | undefined; + marginWidth?: number | undefined; + name?: string | undefined; + referrerPolicy?: string | undefined; + sandbox?: string | undefined; + scrolling?: string | undefined; + seamless?: boolean | undefined; + src?: string | undefined; + srcDoc?: string | undefined; + width?: number | string | undefined; + } + + interface ImgHTMLAttributes extends HTMLAttributes { + alt?: string | undefined; + crossOrigin?: "anonymous" | "use-credentials" | "" | undefined; + decoding?: "async" | "auto" | "sync" | undefined; + height?: number | string | undefined; + sizes?: string | undefined; + src?: string | undefined; + srcSet?: string | undefined; + useMap?: string | undefined; + width?: number | string | undefined; + } + + interface InsHTMLAttributes extends HTMLAttributes { + cite?: string | undefined; + dateTime?: string | undefined; + } + + interface InputHTMLAttributes extends HTMLAttributes { + accept?: string | undefined; + alt?: string | undefined; + autoComplete?: string | undefined; + autoFocus?: boolean | undefined; + capture?: boolean | string | undefined; // https://www.w3.org/TR/html-media-capture/#the-capture-attribute + checked?: boolean | undefined; + crossOrigin?: string | undefined; + disabled?: boolean | undefined; + form?: string | undefined; + formAction?: string | undefined; + formEncType?: string | undefined; + formMethod?: string | undefined; + formNoValidate?: boolean | undefined; + formTarget?: string | undefined; + height?: number | string | undefined; + list?: string | undefined; + max?: number | string | undefined; + maxLength?: number | undefined; + min?: number | string | undefined; + minLength?: number | undefined; + multiple?: boolean | undefined; + name?: string | undefined; + pattern?: string | undefined; + placeholder?: string | undefined; + readOnly?: boolean | undefined; + required?: boolean | undefined; + size?: number | undefined; + src?: string | undefined; + step?: number | string | undefined; + type?: string | undefined; + value?: string | string[] | number | undefined; + width?: number | string | undefined; + + onChange?: ChangeEventHandler | undefined; + } + + interface KeygenHTMLAttributes extends HTMLAttributes { + autoFocus?: boolean | undefined; + challenge?: string | undefined; + disabled?: boolean | undefined; + form?: string | undefined; + keyType?: string | undefined; + keyParams?: string | undefined; + name?: string | undefined; + } + + interface LabelHTMLAttributes extends HTMLAttributes { + form?: string | undefined; + htmlFor?: string | undefined; + } + + interface LiHTMLAttributes extends HTMLAttributes { + value?: string | string[] | number | undefined; + } + + interface LinkHTMLAttributes extends HTMLAttributes { + as?: string | undefined; + crossOrigin?: string | undefined; + href?: string | undefined; + hrefLang?: string | undefined; + integrity?: string | undefined; + media?: string | undefined; + rel?: string | undefined; + sizes?: string | undefined; + type?: string | undefined; + } + + interface MapHTMLAttributes extends HTMLAttributes { + name?: string | undefined; + } + + interface MenuHTMLAttributes extends HTMLAttributes { + type?: string | undefined; + } + + interface MediaHTMLAttributes extends HTMLAttributes { + autoPlay?: boolean | undefined; + controls?: boolean | undefined; + controlsList?: string | undefined; + crossOrigin?: string | undefined; + loop?: boolean | undefined; + mediaGroup?: string | undefined; + muted?: boolean | undefined; + playsinline?: boolean | undefined; + preload?: string | undefined; + src?: string | undefined; + } + + interface MetaHTMLAttributes extends HTMLAttributes { + charSet?: string | undefined; + content?: string | undefined; + httpEquiv?: string | undefined; + name?: string | undefined; + } + + interface MeterHTMLAttributes extends HTMLAttributes { + form?: string | undefined; + high?: number | undefined; + low?: number | undefined; + max?: number | string | undefined; + min?: number | string | undefined; + optimum?: number | undefined; + value?: string | string[] | number | undefined; + } + + interface QuoteHTMLAttributes extends HTMLAttributes { + cite?: string | undefined; + } + + interface ObjectHTMLAttributes extends HTMLAttributes { + classID?: string | undefined; + data?: string | undefined; + form?: string | undefined; + height?: number | string | undefined; + name?: string | undefined; + type?: string | undefined; + useMap?: string | undefined; + width?: number | string | undefined; + wmode?: string | undefined; + } + + interface OlHTMLAttributes extends HTMLAttributes { + reversed?: boolean | undefined; + start?: number | undefined; + type?: "1" | "a" | "A" | "i" | "I" | undefined; + } + + interface OptgroupHTMLAttributes extends HTMLAttributes { + disabled?: boolean | undefined; + label?: string | undefined; + } + + interface OptionHTMLAttributes extends HTMLAttributes { + disabled?: boolean | undefined; + label?: string | undefined; + selected?: boolean | undefined; + value?: string | string[] | number | undefined; + } + + interface OutputHTMLAttributes extends HTMLAttributes { + form?: string | undefined; + htmlFor?: string | undefined; + name?: string | undefined; + } + + interface ParamHTMLAttributes extends HTMLAttributes { + name?: string | undefined; + value?: string | string[] | number | undefined; + } + + interface ProgressHTMLAttributes extends HTMLAttributes { + max?: number | string | undefined; + value?: string | string[] | number | undefined; + } + + interface ScriptHTMLAttributes extends HTMLAttributes { + async?: boolean | undefined; + /** @deprecated */ + charSet?: string | undefined; + crossOrigin?: string | undefined; + defer?: boolean | undefined; + integrity?: string | undefined; + noModule?: boolean | undefined; + nonce?: string | undefined; + src?: string | undefined; + type?: string | undefined; + } + + interface SelectHTMLAttributes extends HTMLAttributes { + autoComplete?: string | undefined; + autoFocus?: boolean | undefined; + disabled?: boolean | undefined; + form?: string | undefined; + multiple?: boolean | undefined; + name?: string | undefined; + required?: boolean | undefined; + size?: number | undefined; + value?: string | string[] | number | undefined; + onChange?: ChangeEventHandler | undefined; + } + + interface SourceHTMLAttributes extends HTMLAttributes { + media?: string | undefined; + sizes?: string | undefined; + src?: string | undefined; + srcSet?: string | undefined; + type?: string | undefined; + } + + interface StyleHTMLAttributes extends HTMLAttributes { + media?: string | undefined; + nonce?: string | undefined; + scoped?: boolean | undefined; + type?: string | undefined; + } + + interface TableHTMLAttributes extends HTMLAttributes { + cellPadding?: number | string | undefined; + cellSpacing?: number | string | undefined; + summary?: string | undefined; + } + + interface TextareaHTMLAttributes extends HTMLAttributes { + autoComplete?: string | undefined; + autoFocus?: boolean | undefined; + cols?: number | undefined; + dirName?: string | undefined; + disabled?: boolean | undefined; + form?: string | undefined; + maxLength?: number | undefined; + minLength?: number | undefined; + name?: string | undefined; + placeholder?: string | undefined; + readOnly?: boolean | undefined; + required?: boolean | undefined; + rows?: number | undefined; + value?: string | string[] | number | undefined; + wrap?: string | undefined; + + onChange?: ChangeEventHandler | undefined; + } + + interface TdHTMLAttributes extends HTMLAttributes { + align?: "left" | "center" | "right" | "justify" | "char" | undefined; + colSpan?: number | undefined; + headers?: string | undefined; + rowSpan?: number | undefined; + scope?: string | undefined; + } + + interface ThHTMLAttributes extends HTMLAttributes { + align?: "left" | "center" | "right" | "justify" | "char" | undefined; + colSpan?: number | undefined; + headers?: string | undefined; + rowSpan?: number | undefined; + scope?: string | undefined; + } + + interface TimeHTMLAttributes extends HTMLAttributes { + dateTime?: string | undefined; + } + + interface TrackHTMLAttributes extends HTMLAttributes { + default?: boolean | undefined; + kind?: string | undefined; + label?: string | undefined; + src?: string | undefined; + srcLang?: string | undefined; + } + + interface VideoHTMLAttributes extends MediaHTMLAttributes { + height?: number | string | undefined; + playsInline?: boolean | undefined; + poster?: string | undefined; + width?: number | string | undefined; + } + + // this list is "complete" in that it contains every SVG attribute + // that Rax supports, but the types can be improved. + // Full list here: https://facebook.github.io/rax/docs/dom-elements.html + // + // The three broad type categories are (in order of restrictiveness): + // - "number | string" + // - "string" + // - union of string literals + interface SVGAttributes extends AriaAttributes, DOMAttributes { + // Attributes which also defined in HTMLAttributes + // See comment in SVGDOMPropertyConfig.js + className?: string | undefined; + color?: string | undefined; + height?: number | string | undefined; + id?: string | undefined; + lang?: string | undefined; + max?: number | string | undefined; + media?: string | undefined; + method?: string | undefined; + min?: number | string | undefined; + name?: string | undefined; + style?: CSSProperties | undefined; + target?: string | undefined; + type?: string | undefined; + width?: number | string | undefined; + + // Other HTML properties supported by SVG elements in browsers + role?: string | undefined; + tabIndex?: number | undefined; + + // SVG Specific attributes + accentHeight?: number | string | undefined; + accumulate?: "none" | "sum" | undefined; + additive?: "replace" | "sum" | undefined; + alignmentBaseline?: + | "auto" + | "baseline" + | "before-edge" + | "text-before-edge" + | "middle" + | "central" + | "after-edge" + | "text-after-edge" + | "ideographic" + | "alphabetic" + | "hanging" + | "mathematical" + | "inherit" + | undefined; + allowReorder?: "no" | "yes" | undefined; + alphabetic?: number | string | undefined; + amplitude?: number | string | undefined; + arabicForm?: "initial" | "medial" | "terminal" | "isolated" | undefined; + ascent?: number | string | undefined; + attributeName?: string | undefined; + attributeType?: string | undefined; + autoReverse?: number | string | undefined; + azimuth?: number | string | undefined; + baseFrequency?: number | string | undefined; + baselineShift?: number | string | undefined; + baseProfile?: number | string | undefined; + bbox?: number | string | undefined; + begin?: number | string | undefined; + bias?: number | string | undefined; + by?: number | string | undefined; + calcMode?: number | string | undefined; + capHeight?: number | string | undefined; + clip?: number | string | undefined; + clipPath?: string | undefined; + clipPathUnits?: number | string | undefined; + clipRule?: number | string | undefined; + colorInterpolation?: number | string | undefined; + colorInterpolationFilters?: "auto" | "sRGB" | "linearRGB" | "inherit" | undefined; + colorProfile?: number | string | undefined; + colorRendering?: number | string | undefined; + contentScriptType?: number | string | undefined; + contentStyleType?: number | string | undefined; + cursor?: number | string | undefined; + cx?: number | string | undefined; + cy?: number | string | undefined; + d?: string | undefined; + decelerate?: number | string | undefined; + descent?: number | string | undefined; + diffuseConstant?: number | string | undefined; + direction?: number | string | undefined; + display?: number | string | undefined; + divisor?: number | string | undefined; + dominantBaseline?: number | string | undefined; + dur?: number | string | undefined; + dx?: number | string | undefined; + dy?: number | string | undefined; + edgeMode?: number | string | undefined; + elevation?: number | string | undefined; + enableBackground?: number | string | undefined; + end?: number | string | undefined; + exponent?: number | string | undefined; + externalResourcesRequired?: number | string | undefined; + fill?: string | undefined; + fillOpacity?: number | string | undefined; + fillRule?: "nonzero" | "evenodd" | "inherit" | undefined; + filter?: string | undefined; + filterRes?: number | string | undefined; + filterUnits?: number | string | undefined; + floodColor?: number | string | undefined; + floodOpacity?: number | string | undefined; + focusable?: number | string | undefined; + fontFamily?: string | undefined; + fontSize?: number | string | undefined; + fontSizeAdjust?: number | string | undefined; + fontStretch?: number | string | undefined; + fontStyle?: number | string | undefined; + fontVariant?: number | string | undefined; + fontWeight?: number | string | undefined; + format?: number | string | undefined; + from?: number | string | undefined; + fx?: number | string | undefined; + fy?: number | string | undefined; + g1?: number | string | undefined; + g2?: number | string | undefined; + glyphName?: number | string | undefined; + glyphOrientationHorizontal?: number | string | undefined; + glyphOrientationVertical?: number | string | undefined; + glyphRef?: number | string | undefined; + gradientTransform?: string | undefined; + gradientUnits?: string | undefined; + hanging?: number | string | undefined; + horizAdvX?: number | string | undefined; + horizOriginX?: number | string | undefined; + href?: string | undefined; + ideographic?: number | string | undefined; + imageRendering?: number | string | undefined; + in2?: number | string | undefined; + in?: string | undefined; + intercept?: number | string | undefined; + k1?: number | string | undefined; + k2?: number | string | undefined; + k3?: number | string | undefined; + k4?: number | string | undefined; + k?: number | string | undefined; + kernelMatrix?: number | string | undefined; + kernelUnitLength?: number | string | undefined; + kerning?: number | string | undefined; + keyPoints?: number | string | undefined; + keySplines?: number | string | undefined; + keyTimes?: number | string | undefined; + lengthAdjust?: number | string | undefined; + letterSpacing?: number | string | undefined; + lightingColor?: number | string | undefined; + limitingConeAngle?: number | string | undefined; + local?: number | string | undefined; + markerEnd?: string | undefined; + markerHeight?: number | string | undefined; + markerMid?: string | undefined; + markerStart?: string | undefined; + markerUnits?: number | string | undefined; + markerWidth?: number | string | undefined; + mask?: string | undefined; + maskContentUnits?: number | string | undefined; + maskUnits?: number | string | undefined; + mathematical?: number | string | undefined; + mode?: number | string | undefined; + numOctaves?: number | string | undefined; + offset?: number | string | undefined; + opacity?: number | string | undefined; + operator?: number | string | undefined; + order?: number | string | undefined; + orient?: number | string | undefined; + orientation?: number | string | undefined; + origin?: number | string | undefined; + overflow?: number | string | undefined; + overlinePosition?: number | string | undefined; + overlineThickness?: number | string | undefined; + paintOrder?: number | string | undefined; + panose1?: number | string | undefined; + pathLength?: number | string | undefined; + patternContentUnits?: string | undefined; + patternTransform?: number | string | undefined; + patternUnits?: string | undefined; + pointerEvents?: number | string | undefined; + points?: string | undefined; + pointsAtX?: number | string | undefined; + pointsAtY?: number | string | undefined; + pointsAtZ?: number | string | undefined; + preserveAlpha?: number | string | undefined; + preserveAspectRatio?: string | undefined; + primitiveUnits?: number | string | undefined; + r?: number | string | undefined; + radius?: number | string | undefined; + refX?: number | string | undefined; + refY?: number | string | undefined; + renderingIntent?: number | string | undefined; + repeatCount?: number | string | undefined; + repeatDur?: number | string | undefined; + requiredExtensions?: number | string | undefined; + requiredFeatures?: number | string | undefined; + restart?: number | string | undefined; + result?: string | undefined; + rotate?: number | string | undefined; + rx?: number | string | undefined; + ry?: number | string | undefined; + scale?: number | string | undefined; + seed?: number | string | undefined; + shapeRendering?: number | string | undefined; + slope?: number | string | undefined; + spacing?: number | string | undefined; + specularConstant?: number | string | undefined; + specularExponent?: number | string | undefined; + speed?: number | string | undefined; + spreadMethod?: string | undefined; + startOffset?: number | string | undefined; + stdDeviation?: number | string | undefined; + stemh?: number | string | undefined; + stemv?: number | string | undefined; + stitchTiles?: number | string | undefined; + stopColor?: string | undefined; + stopOpacity?: number | string | undefined; + strikethroughPosition?: number | string | undefined; + strikethroughThickness?: number | string | undefined; + string?: number | string | undefined; + stroke?: string | undefined; + strokeDasharray?: string | number | undefined; + strokeDashoffset?: string | number | undefined; + strokeLinecap?: "butt" | "round" | "square" | "inherit" | undefined; + strokeLinejoin?: "miter" | "round" | "bevel" | "inherit" | undefined; + strokeMiterlimit?: number | string | undefined; + strokeOpacity?: number | string | undefined; + strokeWidth?: number | string | undefined; + surfaceScale?: number | string | undefined; + systemLanguage?: number | string | undefined; + tableValues?: number | string | undefined; + targetX?: number | string | undefined; + targetY?: number | string | undefined; + textAnchor?: string | undefined; + textDecoration?: number | string | undefined; + textLength?: number | string | undefined; + textRendering?: number | string | undefined; + to?: number | string | undefined; + transform?: string | undefined; + u1?: number | string | undefined; + u2?: number | string | undefined; + underlinePosition?: number | string | undefined; + underlineThickness?: number | string | undefined; + unicode?: number | string | undefined; + unicodeBidi?: number | string | undefined; + unicodeRange?: number | string | undefined; + unitsPerEm?: number | string | undefined; + vAlphabetic?: number | string | undefined; + values?: string | undefined; + vectorEffect?: number | string | undefined; + version?: string | undefined; + vertAdvY?: number | string | undefined; + vertOriginX?: number | string | undefined; + vertOriginY?: number | string | undefined; + vHanging?: number | string | undefined; + vIdeographic?: number | string | undefined; + viewBox?: string | undefined; + viewTarget?: number | string | undefined; + visibility?: number | string | undefined; + vMathematical?: number | string | undefined; + widths?: number | string | undefined; + wordSpacing?: number | string | undefined; + writingMode?: number | string | undefined; + x1?: number | string | undefined; + x2?: number | string | undefined; + x?: number | string | undefined; + xChannelSelector?: string | undefined; + xHeight?: number | string | undefined; + xlinkActuate?: string | undefined; + xlinkArcrole?: string | undefined; + xlinkHref?: string | undefined; + xlinkRole?: string | undefined; + xlinkShow?: string | undefined; + xlinkTitle?: string | undefined; + xlinkType?: string | undefined; + xmlBase?: string | undefined; + xmlLang?: string | undefined; + xmlns?: string | undefined; + xmlnsXlink?: string | undefined; + xmlSpace?: string | undefined; + y1?: number | string | undefined; + y2?: number | string | undefined; + y?: number | string | undefined; + yChannelSelector?: string | undefined; + z?: number | string | undefined; + zoomAndPan?: string | undefined; + } + + interface WebViewHTMLAttributes extends HTMLAttributes { + allowFullScreen?: boolean | undefined; + allowpopups?: boolean | undefined; + autoFocus?: boolean | undefined; + autosize?: boolean | undefined; + blinkfeatures?: string | undefined; + disableblinkfeatures?: string | undefined; + disableguestresize?: boolean | undefined; + disablewebsecurity?: boolean | undefined; + guestinstance?: string | undefined; + httpreferrer?: string | undefined; + nodeintegration?: boolean | undefined; + partition?: string | undefined; + plugins?: boolean | undefined; + preload?: string | undefined; + src?: string | undefined; + useragent?: string | undefined; + webpreferences?: string | undefined; + } + + // + // Rax.DOM + // ---------------------------------------------------------------------- + + interface RaxHTML { + a: DetailedHTMLFactory, HTMLAnchorElement>; + abbr: DetailedHTMLFactory, HTMLElement>; + address: DetailedHTMLFactory, HTMLElement>; + area: DetailedHTMLFactory, HTMLAreaElement>; + article: DetailedHTMLFactory, HTMLElement>; + aside: DetailedHTMLFactory, HTMLElement>; + audio: DetailedHTMLFactory, HTMLAudioElement>; + b: DetailedHTMLFactory, HTMLElement>; + base: DetailedHTMLFactory, HTMLBaseElement>; + bdi: DetailedHTMLFactory, HTMLElement>; + bdo: DetailedHTMLFactory, HTMLElement>; + big: DetailedHTMLFactory, HTMLElement>; + blockquote: DetailedHTMLFactory, HTMLElement>; + body: DetailedHTMLFactory, HTMLBodyElement>; + br: DetailedHTMLFactory, HTMLBRElement>; + button: DetailedHTMLFactory, HTMLButtonElement>; + canvas: DetailedHTMLFactory, HTMLCanvasElement>; + caption: DetailedHTMLFactory, HTMLElement>; + cite: DetailedHTMLFactory, HTMLElement>; + code: DetailedHTMLFactory, HTMLElement>; + col: DetailedHTMLFactory, HTMLTableColElement>; + colgroup: DetailedHTMLFactory, HTMLTableColElement>; + data: DetailedHTMLFactory, HTMLElement>; + datalist: DetailedHTMLFactory, HTMLDataListElement>; + dd: DetailedHTMLFactory, HTMLElement>; + del: DetailedHTMLFactory, HTMLElement>; + details: DetailedHTMLFactory, HTMLElement>; + dfn: DetailedHTMLFactory, HTMLElement>; + dialog: DetailedHTMLFactory, HTMLDialogElement>; + div: DetailedHTMLFactory, HTMLDivElement>; + dl: DetailedHTMLFactory, HTMLDListElement>; + dt: DetailedHTMLFactory, HTMLElement>; + em: DetailedHTMLFactory, HTMLElement>; + embed: DetailedHTMLFactory, HTMLEmbedElement>; + fieldset: DetailedHTMLFactory, HTMLFieldSetElement>; + figcaption: DetailedHTMLFactory, HTMLElement>; + figure: DetailedHTMLFactory, HTMLElement>; + footer: DetailedHTMLFactory, HTMLElement>; + form: DetailedHTMLFactory, HTMLFormElement>; + h1: DetailedHTMLFactory, HTMLHeadingElement>; + h2: DetailedHTMLFactory, HTMLHeadingElement>; + h3: DetailedHTMLFactory, HTMLHeadingElement>; + h4: DetailedHTMLFactory, HTMLHeadingElement>; + h5: DetailedHTMLFactory, HTMLHeadingElement>; + h6: DetailedHTMLFactory, HTMLHeadingElement>; + head: DetailedHTMLFactory, HTMLHeadElement>; + header: DetailedHTMLFactory, HTMLElement>; + hgroup: DetailedHTMLFactory, HTMLElement>; + hr: DetailedHTMLFactory, HTMLHRElement>; + html: DetailedHTMLFactory, HTMLHtmlElement>; + i: DetailedHTMLFactory, HTMLElement>; + iframe: DetailedHTMLFactory, HTMLIFrameElement>; + img: DetailedHTMLFactory, HTMLImageElement>; + input: DetailedHTMLFactory, HTMLInputElement>; + ins: DetailedHTMLFactory, HTMLModElement>; + kbd: DetailedHTMLFactory, HTMLElement>; + keygen: DetailedHTMLFactory, HTMLElement>; + label: DetailedHTMLFactory, HTMLLabelElement>; + legend: DetailedHTMLFactory, HTMLLegendElement>; + li: DetailedHTMLFactory, HTMLLIElement>; + link: DetailedHTMLFactory, HTMLLinkElement>; + main: DetailedHTMLFactory, HTMLElement>; + map: DetailedHTMLFactory, HTMLMapElement>; + mark: DetailedHTMLFactory, HTMLElement>; + menu: DetailedHTMLFactory, HTMLElement>; + menuitem: DetailedHTMLFactory, HTMLElement>; + meta: DetailedHTMLFactory, HTMLMetaElement>; + meter: DetailedHTMLFactory, HTMLElement>; + nav: DetailedHTMLFactory, HTMLElement>; + noscript: DetailedHTMLFactory, HTMLElement>; + object: DetailedHTMLFactory, HTMLObjectElement>; + ol: DetailedHTMLFactory, HTMLOListElement>; + optgroup: DetailedHTMLFactory, HTMLOptGroupElement>; + option: DetailedHTMLFactory, HTMLOptionElement>; + output: DetailedHTMLFactory, HTMLElement>; + p: DetailedHTMLFactory, HTMLParagraphElement>; + param: DetailedHTMLFactory, HTMLParamElement>; + picture: DetailedHTMLFactory, HTMLElement>; + pre: DetailedHTMLFactory, HTMLPreElement>; + progress: DetailedHTMLFactory, HTMLProgressElement>; + q: DetailedHTMLFactory, HTMLQuoteElement>; + rp: DetailedHTMLFactory, HTMLElement>; + rt: DetailedHTMLFactory, HTMLElement>; + ruby: DetailedHTMLFactory, HTMLElement>; + s: DetailedHTMLFactory, HTMLElement>; + samp: DetailedHTMLFactory, HTMLElement>; + script: DetailedHTMLFactory, HTMLScriptElement>; + section: DetailedHTMLFactory, HTMLElement>; + select: DetailedHTMLFactory, HTMLSelectElement>; + small: DetailedHTMLFactory, HTMLElement>; + source: DetailedHTMLFactory, HTMLSourceElement>; + span: DetailedHTMLFactory, HTMLSpanElement>; + strong: DetailedHTMLFactory, HTMLElement>; + style: DetailedHTMLFactory, HTMLStyleElement>; + sub: DetailedHTMLFactory, HTMLElement>; + summary: DetailedHTMLFactory, HTMLElement>; + sup: DetailedHTMLFactory, HTMLElement>; + table: DetailedHTMLFactory, HTMLTableElement>; + tbody: DetailedHTMLFactory, HTMLTableSectionElement>; + td: DetailedHTMLFactory, HTMLTableDataCellElement>; + textarea: DetailedHTMLFactory, HTMLTextAreaElement>; + tfoot: DetailedHTMLFactory, HTMLTableSectionElement>; + th: DetailedHTMLFactory< + ThHTMLAttributes, + HTMLTableHeaderCellElement + >; + thead: DetailedHTMLFactory, HTMLTableSectionElement>; + time: DetailedHTMLFactory, HTMLElement>; + title: DetailedHTMLFactory, HTMLTitleElement>; + tr: DetailedHTMLFactory, HTMLTableRowElement>; + track: DetailedHTMLFactory, HTMLTrackElement>; + u: DetailedHTMLFactory, HTMLElement>; + ul: DetailedHTMLFactory, HTMLUListElement>; + var: DetailedHTMLFactory, HTMLElement>; + video: DetailedHTMLFactory, HTMLVideoElement>; + wbr: DetailedHTMLFactory, HTMLElement>; + webview: DetailedHTMLFactory, HTMLWebViewElement>; + } + + interface RaxSVG { + animate: SVGFactory; + circle: SVGFactory; + clipPath: SVGFactory; + defs: SVGFactory; + desc: SVGFactory; + ellipse: SVGFactory; + feBlend: SVGFactory; + feColorMatrix: SVGFactory; + feComponentTransfer: SVGFactory; + feComposite: SVGFactory; + feConvolveMatrix: SVGFactory; + feDiffuseLighting: SVGFactory; + feDisplacementMap: SVGFactory; + feDistantLight: SVGFactory; + feDropShadow: SVGFactory; + feFlood: SVGFactory; + feFuncA: SVGFactory; + feFuncB: SVGFactory; + feFuncG: SVGFactory; + feFuncR: SVGFactory; + feGaussianBlur: SVGFactory; + feImage: SVGFactory; + feMerge: SVGFactory; + feMergeNode: SVGFactory; + feMorphology: SVGFactory; + feOffset: SVGFactory; + fePointLight: SVGFactory; + feSpecularLighting: SVGFactory; + feSpotLight: SVGFactory; + feTile: SVGFactory; + feTurbulence: SVGFactory; + filter: SVGFactory; + foreignObject: SVGFactory; + g: SVGFactory; + image: SVGFactory; + line: SVGFactory; + linearGradient: SVGFactory; + marker: SVGFactory; + mask: SVGFactory; + metadata: SVGFactory; + path: SVGFactory; + pattern: SVGFactory; + polygon: SVGFactory; + polyline: SVGFactory; + radialGradient: SVGFactory; + rect: SVGFactory; + stop: SVGFactory; + svg: SVGFactory; + switch: SVGFactory; + symbol: SVGFactory; + text: SVGFactory; + textPath: SVGFactory; + tspan: SVGFactory; + use: SVGFactory; + view: SVGFactory; + } + + interface RaxDOM extends RaxHTML, RaxSVG {} + + // + // Rax.PropTypes + // ---------------------------------------------------------------------- + + type Validator = PropTypes.Validator; + + type Requireable = PropTypes.Requireable; + + type ValidationMap = PropTypes.ValidationMap; + + type WeakValidationMap = { + [K in keyof T]?: null extends T[K] ? Validator + : undefined extends T[K] ? Validator + : Validator; + }; + + interface RaxPropTypes { + any: typeof PropTypes.any; + array: typeof PropTypes.array; + bool: typeof PropTypes.bool; + func: typeof PropTypes.func; + number: typeof PropTypes.number; + object: typeof PropTypes.object; + string: typeof PropTypes.string; + node: typeof PropTypes.node; + element: typeof PropTypes.element; + instanceOf: typeof PropTypes.instanceOf; + oneOf: typeof PropTypes.oneOf; + oneOfType: typeof PropTypes.oneOfType; + arrayOf: typeof PropTypes.arrayOf; + objectOf: typeof PropTypes.objectOf; + shape: typeof PropTypes.shape; + exact: typeof PropTypes.exact; + } + + // + // Rax.Children + // ---------------------------------------------------------------------- + + interface RaxChildren { + map( + children: C | C[], + fn: (child: C, index: number) => T, + ): C extends null | undefined ? C : Array>; + forEach(children: C | C[], fn: (child: C, index: number) => void): void; + count(children: any): number; + only(children: C): C extends any[] ? never : C; + toArray(children: C | C[]): C[]; + } + + // + // Browser Interfaces + // https://github.com/nikeee/2048-typescript/blob/master/2048/js/touch.d.ts + // ---------------------------------------------------------------------- + + interface AbstractView { + styleMedia: StyleMedia; + document: Document; + } + + interface Touch { + identifier: number; + target: EventTarget; + screenX: number; + screenY: number; + clientX: number; + clientY: number; + pageX: number; + pageY: number; + } + + interface TouchList { + [index: number]: Touch; + length: number; + item(index: number): Touch; + identifiedTouch(identifier: number): Touch; + } + + // + // Error Interfaces + // ---------------------------------------------------------------------- + interface ErrorInfo { + /** + * Captures which component contained the exception, and its ancestors. + */ + componentStack: string; + } } // naked 'any' type in a conditional type will short circuit and union both the then/else branches @@ -2600,327 +2594,322 @@ declare namespace Rax { type IsExactlyAny = boolean extends (T extends never ? true : false) ? true : false; type ExactlyAnyPropertyKeys = { - [K in keyof T]: IsExactlyAny extends true ? K : never + [K in keyof T]: IsExactlyAny extends true ? K : never; }[keyof T]; type NotExactlyAnyPropertyKeys = Exclude>; // Try to resolve ill-defined props like for JS users: props can be any, or sometimes objects with properties of type any type MergePropTypes = - // Distribute over P in case it is a union type - P extends any // If props is type any, use propTypes definitions - ? IsExactlyAny

extends true - ? T // If declared props have indexed properties, ignore inferred props entirely as keyof gets widened - : string extends keyof P - ? P // Prefer declared types which are not exactly any - : Pick> & - // For props which are exactly any, use the type inferred from propTypes if present - Pick>> & - // Keep leftover props not specified in propTypes - Pick> - : never; + // Distribute over P in case it is a union type + P extends any // If props is type any, use propTypes definitions + ? IsExactlyAny

extends true ? T // If declared props have indexed properties, ignore inferred props entirely as keyof gets widened + : string extends keyof P ? P // Prefer declared types which are not exactly any + : + & Pick> + & // For props which are exactly any, use the type inferred from propTypes if present + Pick>> + & // Keep leftover props not specified in propTypes + Pick> + : never; // Any prop that has a default prop becomes optional, but its type is unchanged // Undeclared default props are augmented into the resulting allowable attributes // If declared props have indexed properties, ignore default props entirely as keyof gets widened // Wrap in an outer-level conditional type to allow distribution over props that are unions -type Defaultize = P extends any - ? string extends keyof P - ? P - : Pick> & - Partial>> & - Partial>> - : never; +type Defaultize = P extends any ? string extends keyof P ? P + : + & Pick> + & Partial>> + & Partial>> + : never; type RaxManagedAttributes = C extends { propTypes: infer T; defaultProps: infer D } - ? Defaultize>, D> - : C extends { propTypes: infer T } - ? MergePropTypes> - : C extends { defaultProps: infer D } - ? Defaultize - : P; + ? Defaultize>, D> + : C extends { propTypes: infer T } ? MergePropTypes> + : C extends { defaultProps: infer D } ? Defaultize + : P; declare global { - namespace JSX { - interface Element extends Rax.RaxElement {} - interface ElementClass extends Rax.Component { - render(): Rax.RaxNode; - } - interface ElementAttributesProperty { - props: {}; - } - interface ElementChildrenAttribute { - children: {}; - } - - // We can't recurse forever because `type` can't be self-referential; - // let's assume it's reasonable to do a single Rax.lazy() around a single Rax.memo() / vice-versa - type LibraryManagedAttributes = C extends Rax.MemoExoticComponent - ? T extends Rax.MemoExoticComponent - ? RaxManagedAttributes - : RaxManagedAttributes - : RaxManagedAttributes; - - interface IntrinsicAttributes extends Rax.Attributes {} - interface IntrinsicClassAttributes extends Rax.ClassAttributes {} - - interface IntrinsicElements { - // HTML - a: Rax.DetailedHTMLProps, HTMLAnchorElement>; - abbr: Rax.DetailedHTMLProps, HTMLElement>; - address: Rax.DetailedHTMLProps, HTMLElement>; - area: Rax.DetailedHTMLProps, HTMLAreaElement>; - article: Rax.DetailedHTMLProps, HTMLElement>; - aside: Rax.DetailedHTMLProps, HTMLElement>; - audio: Rax.DetailedHTMLProps, HTMLAudioElement>; - b: Rax.DetailedHTMLProps, HTMLElement>; - base: Rax.DetailedHTMLProps, HTMLBaseElement>; - bdi: Rax.DetailedHTMLProps, HTMLElement>; - bdo: Rax.DetailedHTMLProps, HTMLElement>; - big: Rax.DetailedHTMLProps, HTMLElement>; - blockquote: Rax.DetailedHTMLProps, HTMLElement>; - body: Rax.DetailedHTMLProps, HTMLBodyElement>; - br: Rax.DetailedHTMLProps, HTMLBRElement>; - button: Rax.DetailedHTMLProps, HTMLButtonElement>; - canvas: Rax.DetailedHTMLProps, HTMLCanvasElement>; - caption: Rax.DetailedHTMLProps, HTMLElement>; - cite: Rax.DetailedHTMLProps, HTMLElement>; - code: Rax.DetailedHTMLProps, HTMLElement>; - col: Rax.DetailedHTMLProps, HTMLTableColElement>; - colgroup: Rax.DetailedHTMLProps< - Rax.ColgroupHTMLAttributes, - HTMLTableColElement - >; - data: Rax.DetailedHTMLProps, HTMLElement>; - datalist: Rax.DetailedHTMLProps, HTMLDataListElement>; - dd: Rax.DetailedHTMLProps, HTMLElement>; - del: Rax.DetailedHTMLProps, HTMLElement>; - details: Rax.DetailedHTMLProps, HTMLElement>; - dfn: Rax.DetailedHTMLProps, HTMLElement>; - dialog: Rax.DetailedHTMLProps, HTMLDialogElement>; - div: Rax.DetailedHTMLProps, HTMLDivElement>; - dl: Rax.DetailedHTMLProps, HTMLDListElement>; - dt: Rax.DetailedHTMLProps, HTMLElement>; - em: Rax.DetailedHTMLProps, HTMLElement>; - embed: Rax.DetailedHTMLProps, HTMLEmbedElement>; - fieldset: Rax.DetailedHTMLProps< - Rax.FieldsetHTMLAttributes, - HTMLFieldSetElement - >; - figcaption: Rax.DetailedHTMLProps, HTMLElement>; - figure: Rax.DetailedHTMLProps, HTMLElement>; - footer: Rax.DetailedHTMLProps, HTMLElement>; - form: Rax.DetailedHTMLProps, HTMLFormElement>; - h1: Rax.DetailedHTMLProps, HTMLHeadingElement>; - h2: Rax.DetailedHTMLProps, HTMLHeadingElement>; - h3: Rax.DetailedHTMLProps, HTMLHeadingElement>; - h4: Rax.DetailedHTMLProps, HTMLHeadingElement>; - h5: Rax.DetailedHTMLProps, HTMLHeadingElement>; - h6: Rax.DetailedHTMLProps, HTMLHeadingElement>; - head: Rax.DetailedHTMLProps, HTMLHeadElement>; - header: Rax.DetailedHTMLProps, HTMLElement>; - hgroup: Rax.DetailedHTMLProps, HTMLElement>; - hr: Rax.DetailedHTMLProps, HTMLHRElement>; - html: Rax.DetailedHTMLProps, HTMLHtmlElement>; - i: Rax.DetailedHTMLProps, HTMLElement>; - iframe: Rax.DetailedHTMLProps, HTMLIFrameElement>; - img: Rax.DetailedHTMLProps, HTMLImageElement>; - input: Rax.DetailedHTMLProps, HTMLInputElement>; - ins: Rax.DetailedHTMLProps, HTMLModElement>; - kbd: Rax.DetailedHTMLProps, HTMLElement>; - keygen: Rax.DetailedHTMLProps, HTMLElement>; - label: Rax.DetailedHTMLProps, HTMLLabelElement>; - legend: Rax.DetailedHTMLProps, HTMLLegendElement>; - li: Rax.DetailedHTMLProps, HTMLLIElement>; - link: Rax.DetailedHTMLProps, HTMLLinkElement>; - main: Rax.DetailedHTMLProps, HTMLElement>; - map: Rax.DetailedHTMLProps, HTMLMapElement>; - mark: Rax.DetailedHTMLProps, HTMLElement>; - menu: Rax.DetailedHTMLProps, HTMLElement>; - menuitem: Rax.DetailedHTMLProps, HTMLElement>; - meta: Rax.DetailedHTMLProps, HTMLMetaElement>; - meter: Rax.DetailedHTMLProps, HTMLElement>; - nav: Rax.DetailedHTMLProps, HTMLElement>; - noindex: Rax.DetailedHTMLProps, HTMLElement>; - noscript: Rax.DetailedHTMLProps, HTMLElement>; - object: Rax.DetailedHTMLProps, HTMLObjectElement>; - ol: Rax.DetailedHTMLProps, HTMLOListElement>; - optgroup: Rax.DetailedHTMLProps< - Rax.OptgroupHTMLAttributes, - HTMLOptGroupElement - >; - option: Rax.DetailedHTMLProps, HTMLOptionElement>; - output: Rax.DetailedHTMLProps, HTMLElement>; - p: Rax.DetailedHTMLProps, HTMLParagraphElement>; - param: Rax.DetailedHTMLProps, HTMLParamElement>; - picture: Rax.DetailedHTMLProps, HTMLElement>; - pre: Rax.DetailedHTMLProps, HTMLPreElement>; - progress: Rax.DetailedHTMLProps< - Rax.ProgressHTMLAttributes, - HTMLProgressElement - >; - q: Rax.DetailedHTMLProps, HTMLQuoteElement>; - rp: Rax.DetailedHTMLProps, HTMLElement>; - rt: Rax.DetailedHTMLProps, HTMLElement>; - ruby: Rax.DetailedHTMLProps, HTMLElement>; - s: Rax.DetailedHTMLProps, HTMLElement>; - samp: Rax.DetailedHTMLProps, HTMLElement>; - script: Rax.DetailedHTMLProps, HTMLScriptElement>; - section: Rax.DetailedHTMLProps, HTMLElement>; - select: Rax.DetailedHTMLProps, HTMLSelectElement>; - small: Rax.DetailedHTMLProps, HTMLElement>; - source: Rax.DetailedHTMLProps, HTMLSourceElement>; - span: Rax.DetailedHTMLProps, HTMLSpanElement>; - strong: Rax.DetailedHTMLProps, HTMLElement>; - style: Rax.DetailedHTMLProps, HTMLStyleElement>; - sub: Rax.DetailedHTMLProps, HTMLElement>; - summary: Rax.DetailedHTMLProps, HTMLElement>; - sup: Rax.DetailedHTMLProps, HTMLElement>; - table: Rax.DetailedHTMLProps, HTMLTableElement>; - tbody: Rax.DetailedHTMLProps< - Rax.HTMLAttributes, - HTMLTableSectionElement - >; - td: Rax.DetailedHTMLProps< - Rax.TdHTMLAttributes, - HTMLTableDataCellElement - >; - textarea: Rax.DetailedHTMLProps< - Rax.TextareaHTMLAttributes, - HTMLTextAreaElement - >; - tfoot: Rax.DetailedHTMLProps< - Rax.HTMLAttributes, - HTMLTableSectionElement - >; - th: Rax.DetailedHTMLProps< - Rax.ThHTMLAttributes, - HTMLTableHeaderCellElement - >; - thead: Rax.DetailedHTMLProps< - Rax.HTMLAttributes, - HTMLTableSectionElement - >; - time: Rax.DetailedHTMLProps, HTMLElement>; - title: Rax.DetailedHTMLProps, HTMLTitleElement>; - tr: Rax.DetailedHTMLProps, HTMLTableRowElement>; - track: Rax.DetailedHTMLProps, HTMLTrackElement>; - u: Rax.DetailedHTMLProps, HTMLElement>; - ul: Rax.DetailedHTMLProps, HTMLUListElement>; - var: Rax.DetailedHTMLProps, HTMLElement>; - video: Rax.DetailedHTMLProps, HTMLVideoElement>; - wbr: Rax.DetailedHTMLProps, HTMLElement>; - webview: Rax.DetailedHTMLProps< - Rax.WebViewHTMLAttributes, - HTMLWebViewElement - >; - - // SVG - svg: Rax.SVGProps; - - animate: Rax.SVGProps; // TODO: It is SVGAnimateElement but is not in TypeScript's lib.dom.d.ts for now. - animateMotion: Rax.SVGProps; - animateTransform: Rax.SVGProps; // TODO: It is SVGAnimateTransformElement but is not in TypeScript's lib.dom.d.ts for now. - circle: Rax.SVGProps; - clipPath: Rax.SVGProps; - defs: Rax.SVGProps; - desc: Rax.SVGProps; - ellipse: Rax.SVGProps; - feBlend: Rax.SVGProps; - feColorMatrix: Rax.SVGProps; - feComponentTransfer: Rax.SVGProps; - feComposite: Rax.SVGProps; - feConvolveMatrix: Rax.SVGProps; - feDiffuseLighting: Rax.SVGProps; - feDisplacementMap: Rax.SVGProps; - feDistantLight: Rax.SVGProps; - feDropShadow: Rax.SVGProps; - feFlood: Rax.SVGProps; - feFuncA: Rax.SVGProps; - feFuncB: Rax.SVGProps; - feFuncG: Rax.SVGProps; - feFuncR: Rax.SVGProps; - feGaussianBlur: Rax.SVGProps; - feImage: Rax.SVGProps; - feMerge: Rax.SVGProps; - feMergeNode: Rax.SVGProps; - feMorphology: Rax.SVGProps; - feOffset: Rax.SVGProps; - fePointLight: Rax.SVGProps; - feSpecularLighting: Rax.SVGProps; - feSpotLight: Rax.SVGProps; - feTile: Rax.SVGProps; - feTurbulence: Rax.SVGProps; - filter: Rax.SVGProps; - foreignObject: Rax.SVGProps; - g: Rax.SVGProps; - image: Rax.SVGProps; - line: Rax.SVGProps; - linearGradient: Rax.SVGProps; - marker: Rax.SVGProps; - mask: Rax.SVGProps; - metadata: Rax.SVGProps; - mpath: Rax.SVGProps; - path: Rax.SVGProps; - pattern: Rax.SVGProps; - polygon: Rax.SVGProps; - polyline: Rax.SVGProps; - radialGradient: Rax.SVGProps; - rect: Rax.SVGProps; - stop: Rax.SVGProps; - switch: Rax.SVGProps; - symbol: Rax.SVGProps; - text: Rax.SVGProps; - textPath: Rax.SVGProps; - tspan: Rax.SVGProps; - use: Rax.SVGProps; - view: Rax.SVGProps; - - // weex - list: any; - cell: any; - loading: any; - refresh: any; - 'recycle-list': any; - scroller: any; - slider: any; - indicator: any; - waterfall: any; - web: any; - richtext: any; - - // MiniApp - slot: any; - swiper: any; - 'swiper-item': any; - 'scroll-view': any; - 'cover-view': any; - 'cover-image': any; - 'camera': any; - 'movable-view': any; - 'movable-area': any; - 'match-media': any; - icon: any; - 'rich-text': any; - 'radio': any; - 'radio-group': any; - 'picker-view': any; - picker: any; - navigator: any; - 'web-view': any; - 'lifestyle': any; - 'contact-button': any; - 'aria-component': any; - 'functional-page-navigator': any; - 'live-player': any; - 'live-pusher': any; - ad: any; - 'ad-custom': any; - 'open-data': any; - 'voip-room': any; - 'page-meta': any; - 'picker-view-column': any; - 'official-account': any; - 'navigation-bar': any; - } - } + namespace JSX { + interface Element extends Rax.RaxElement {} + interface ElementClass extends Rax.Component { + render(): Rax.RaxNode; + } + interface ElementAttributesProperty { + props: {}; + } + interface ElementChildrenAttribute { + children: {}; + } + + // We can't recurse forever because `type` can't be self-referential; + // let's assume it's reasonable to do a single Rax.lazy() around a single Rax.memo() / vice-versa + type LibraryManagedAttributes = C extends Rax.MemoExoticComponent + ? T extends Rax.MemoExoticComponent ? RaxManagedAttributes + : RaxManagedAttributes + : RaxManagedAttributes; + + interface IntrinsicAttributes extends Rax.Attributes {} + interface IntrinsicClassAttributes extends Rax.ClassAttributes {} + + interface IntrinsicElements { + // HTML + a: Rax.DetailedHTMLProps, HTMLAnchorElement>; + abbr: Rax.DetailedHTMLProps, HTMLElement>; + address: Rax.DetailedHTMLProps, HTMLElement>; + area: Rax.DetailedHTMLProps, HTMLAreaElement>; + article: Rax.DetailedHTMLProps, HTMLElement>; + aside: Rax.DetailedHTMLProps, HTMLElement>; + audio: Rax.DetailedHTMLProps, HTMLAudioElement>; + b: Rax.DetailedHTMLProps, HTMLElement>; + base: Rax.DetailedHTMLProps, HTMLBaseElement>; + bdi: Rax.DetailedHTMLProps, HTMLElement>; + bdo: Rax.DetailedHTMLProps, HTMLElement>; + big: Rax.DetailedHTMLProps, HTMLElement>; + blockquote: Rax.DetailedHTMLProps, HTMLElement>; + body: Rax.DetailedHTMLProps, HTMLBodyElement>; + br: Rax.DetailedHTMLProps, HTMLBRElement>; + button: Rax.DetailedHTMLProps, HTMLButtonElement>; + canvas: Rax.DetailedHTMLProps, HTMLCanvasElement>; + caption: Rax.DetailedHTMLProps, HTMLElement>; + cite: Rax.DetailedHTMLProps, HTMLElement>; + code: Rax.DetailedHTMLProps, HTMLElement>; + col: Rax.DetailedHTMLProps, HTMLTableColElement>; + colgroup: Rax.DetailedHTMLProps< + Rax.ColgroupHTMLAttributes, + HTMLTableColElement + >; + data: Rax.DetailedHTMLProps, HTMLElement>; + datalist: Rax.DetailedHTMLProps, HTMLDataListElement>; + dd: Rax.DetailedHTMLProps, HTMLElement>; + del: Rax.DetailedHTMLProps, HTMLElement>; + details: Rax.DetailedHTMLProps, HTMLElement>; + dfn: Rax.DetailedHTMLProps, HTMLElement>; + dialog: Rax.DetailedHTMLProps, HTMLDialogElement>; + div: Rax.DetailedHTMLProps, HTMLDivElement>; + dl: Rax.DetailedHTMLProps, HTMLDListElement>; + dt: Rax.DetailedHTMLProps, HTMLElement>; + em: Rax.DetailedHTMLProps, HTMLElement>; + embed: Rax.DetailedHTMLProps, HTMLEmbedElement>; + fieldset: Rax.DetailedHTMLProps< + Rax.FieldsetHTMLAttributes, + HTMLFieldSetElement + >; + figcaption: Rax.DetailedHTMLProps, HTMLElement>; + figure: Rax.DetailedHTMLProps, HTMLElement>; + footer: Rax.DetailedHTMLProps, HTMLElement>; + form: Rax.DetailedHTMLProps, HTMLFormElement>; + h1: Rax.DetailedHTMLProps, HTMLHeadingElement>; + h2: Rax.DetailedHTMLProps, HTMLHeadingElement>; + h3: Rax.DetailedHTMLProps, HTMLHeadingElement>; + h4: Rax.DetailedHTMLProps, HTMLHeadingElement>; + h5: Rax.DetailedHTMLProps, HTMLHeadingElement>; + h6: Rax.DetailedHTMLProps, HTMLHeadingElement>; + head: Rax.DetailedHTMLProps, HTMLHeadElement>; + header: Rax.DetailedHTMLProps, HTMLElement>; + hgroup: Rax.DetailedHTMLProps, HTMLElement>; + hr: Rax.DetailedHTMLProps, HTMLHRElement>; + html: Rax.DetailedHTMLProps, HTMLHtmlElement>; + i: Rax.DetailedHTMLProps, HTMLElement>; + iframe: Rax.DetailedHTMLProps, HTMLIFrameElement>; + img: Rax.DetailedHTMLProps, HTMLImageElement>; + input: Rax.DetailedHTMLProps, HTMLInputElement>; + ins: Rax.DetailedHTMLProps, HTMLModElement>; + kbd: Rax.DetailedHTMLProps, HTMLElement>; + keygen: Rax.DetailedHTMLProps, HTMLElement>; + label: Rax.DetailedHTMLProps, HTMLLabelElement>; + legend: Rax.DetailedHTMLProps, HTMLLegendElement>; + li: Rax.DetailedHTMLProps, HTMLLIElement>; + link: Rax.DetailedHTMLProps, HTMLLinkElement>; + main: Rax.DetailedHTMLProps, HTMLElement>; + map: Rax.DetailedHTMLProps, HTMLMapElement>; + mark: Rax.DetailedHTMLProps, HTMLElement>; + menu: Rax.DetailedHTMLProps, HTMLElement>; + menuitem: Rax.DetailedHTMLProps, HTMLElement>; + meta: Rax.DetailedHTMLProps, HTMLMetaElement>; + meter: Rax.DetailedHTMLProps, HTMLElement>; + nav: Rax.DetailedHTMLProps, HTMLElement>; + noindex: Rax.DetailedHTMLProps, HTMLElement>; + noscript: Rax.DetailedHTMLProps, HTMLElement>; + object: Rax.DetailedHTMLProps, HTMLObjectElement>; + ol: Rax.DetailedHTMLProps, HTMLOListElement>; + optgroup: Rax.DetailedHTMLProps< + Rax.OptgroupHTMLAttributes, + HTMLOptGroupElement + >; + option: Rax.DetailedHTMLProps, HTMLOptionElement>; + output: Rax.DetailedHTMLProps, HTMLElement>; + p: Rax.DetailedHTMLProps, HTMLParagraphElement>; + param: Rax.DetailedHTMLProps, HTMLParamElement>; + picture: Rax.DetailedHTMLProps, HTMLElement>; + pre: Rax.DetailedHTMLProps, HTMLPreElement>; + progress: Rax.DetailedHTMLProps< + Rax.ProgressHTMLAttributes, + HTMLProgressElement + >; + q: Rax.DetailedHTMLProps, HTMLQuoteElement>; + rp: Rax.DetailedHTMLProps, HTMLElement>; + rt: Rax.DetailedHTMLProps, HTMLElement>; + ruby: Rax.DetailedHTMLProps, HTMLElement>; + s: Rax.DetailedHTMLProps, HTMLElement>; + samp: Rax.DetailedHTMLProps, HTMLElement>; + script: Rax.DetailedHTMLProps, HTMLScriptElement>; + section: Rax.DetailedHTMLProps, HTMLElement>; + select: Rax.DetailedHTMLProps, HTMLSelectElement>; + small: Rax.DetailedHTMLProps, HTMLElement>; + source: Rax.DetailedHTMLProps, HTMLSourceElement>; + span: Rax.DetailedHTMLProps, HTMLSpanElement>; + strong: Rax.DetailedHTMLProps, HTMLElement>; + style: Rax.DetailedHTMLProps, HTMLStyleElement>; + sub: Rax.DetailedHTMLProps, HTMLElement>; + summary: Rax.DetailedHTMLProps, HTMLElement>; + sup: Rax.DetailedHTMLProps, HTMLElement>; + table: Rax.DetailedHTMLProps, HTMLTableElement>; + tbody: Rax.DetailedHTMLProps< + Rax.HTMLAttributes, + HTMLTableSectionElement + >; + td: Rax.DetailedHTMLProps< + Rax.TdHTMLAttributes, + HTMLTableDataCellElement + >; + textarea: Rax.DetailedHTMLProps< + Rax.TextareaHTMLAttributes, + HTMLTextAreaElement + >; + tfoot: Rax.DetailedHTMLProps< + Rax.HTMLAttributes, + HTMLTableSectionElement + >; + th: Rax.DetailedHTMLProps< + Rax.ThHTMLAttributes, + HTMLTableHeaderCellElement + >; + thead: Rax.DetailedHTMLProps< + Rax.HTMLAttributes, + HTMLTableSectionElement + >; + time: Rax.DetailedHTMLProps, HTMLElement>; + title: Rax.DetailedHTMLProps, HTMLTitleElement>; + tr: Rax.DetailedHTMLProps, HTMLTableRowElement>; + track: Rax.DetailedHTMLProps, HTMLTrackElement>; + u: Rax.DetailedHTMLProps, HTMLElement>; + ul: Rax.DetailedHTMLProps, HTMLUListElement>; + var: Rax.DetailedHTMLProps, HTMLElement>; + video: Rax.DetailedHTMLProps, HTMLVideoElement>; + wbr: Rax.DetailedHTMLProps, HTMLElement>; + webview: Rax.DetailedHTMLProps< + Rax.WebViewHTMLAttributes, + HTMLWebViewElement + >; + + // SVG + svg: Rax.SVGProps; + + animate: Rax.SVGProps; // TODO: It is SVGAnimateElement but is not in TypeScript's lib.dom.d.ts for now. + animateMotion: Rax.SVGProps; + animateTransform: Rax.SVGProps; // TODO: It is SVGAnimateTransformElement but is not in TypeScript's lib.dom.d.ts for now. + circle: Rax.SVGProps; + clipPath: Rax.SVGProps; + defs: Rax.SVGProps; + desc: Rax.SVGProps; + ellipse: Rax.SVGProps; + feBlend: Rax.SVGProps; + feColorMatrix: Rax.SVGProps; + feComponentTransfer: Rax.SVGProps; + feComposite: Rax.SVGProps; + feConvolveMatrix: Rax.SVGProps; + feDiffuseLighting: Rax.SVGProps; + feDisplacementMap: Rax.SVGProps; + feDistantLight: Rax.SVGProps; + feDropShadow: Rax.SVGProps; + feFlood: Rax.SVGProps; + feFuncA: Rax.SVGProps; + feFuncB: Rax.SVGProps; + feFuncG: Rax.SVGProps; + feFuncR: Rax.SVGProps; + feGaussianBlur: Rax.SVGProps; + feImage: Rax.SVGProps; + feMerge: Rax.SVGProps; + feMergeNode: Rax.SVGProps; + feMorphology: Rax.SVGProps; + feOffset: Rax.SVGProps; + fePointLight: Rax.SVGProps; + feSpecularLighting: Rax.SVGProps; + feSpotLight: Rax.SVGProps; + feTile: Rax.SVGProps; + feTurbulence: Rax.SVGProps; + filter: Rax.SVGProps; + foreignObject: Rax.SVGProps; + g: Rax.SVGProps; + image: Rax.SVGProps; + line: Rax.SVGProps; + linearGradient: Rax.SVGProps; + marker: Rax.SVGProps; + mask: Rax.SVGProps; + metadata: Rax.SVGProps; + mpath: Rax.SVGProps; + path: Rax.SVGProps; + pattern: Rax.SVGProps; + polygon: Rax.SVGProps; + polyline: Rax.SVGProps; + radialGradient: Rax.SVGProps; + rect: Rax.SVGProps; + stop: Rax.SVGProps; + switch: Rax.SVGProps; + symbol: Rax.SVGProps; + text: Rax.SVGProps; + textPath: Rax.SVGProps; + tspan: Rax.SVGProps; + use: Rax.SVGProps; + view: Rax.SVGProps; + + // weex + list: any; + cell: any; + loading: any; + refresh: any; + "recycle-list": any; + scroller: any; + slider: any; + indicator: any; + waterfall: any; + web: any; + richtext: any; + + // MiniApp + slot: any; + swiper: any; + "swiper-item": any; + "scroll-view": any; + "cover-view": any; + "cover-image": any; + "camera": any; + "movable-view": any; + "movable-area": any; + "match-media": any; + icon: any; + "rich-text": any; + "radio": any; + "radio-group": any; + "picker-view": any; + picker: any; + navigator: any; + "web-view": any; + "lifestyle": any; + "contact-button": any; + "aria-component": any; + "functional-page-navigator": any; + "live-player": any; + "live-pusher": any; + ad: any; + "ad-custom": any; + "open-data": any; + "voip-room": any; + "page-meta": any; + "picker-view-column": any; + "official-account": any; + "navigation-bar": any; + } + } } diff --git a/types/rax/test/hooks.tsx b/types/rax/test/hooks.tsx index 9b39b3d1294bbf..be4dd6c3eba056 100644 --- a/types/rax/test/hooks.tsx +++ b/types/rax/test/hooks.tsx @@ -1,31 +1,33 @@ import { - forwardRef, - MutableRefObject, - RefObject, - useRef, - useState, - useEffect, - useContext, - useCallback, - createRef, - createContext, - RaxNode, - useImperativeHandle, - Ref, - useReducer, - useLayoutEffect, - ComponentRef, - useMemo, - } from "rax"; + ComponentRef, + createContext, + createRef, + forwardRef, + MutableRefObject, + RaxNode, + Ref, + RefObject, + useCallback, + useContext, + useEffect, + useImperativeHandle, + useLayoutEffect, + useMemo, + useReducer, + useRef, + useState, +} from "rax"; interface PersonProps { name: string; age: number; } export function Person(props: PersonProps) { - return

; + return ( +
+ hello! I'm {props.name} and I'm {props.age} years old! +
+ ); } export interface FancyButtonProps { @@ -45,12 +47,19 @@ export const FancyButton = forwardRef((props: FancyButtonProps, ref: Ref { setCount(count + 1); props.onClick(); }}> - {props.children} - ; + return ( + + ); }); interface AppState { @@ -73,7 +82,7 @@ function reducer(s: AppState, action: AppActions): AppState { const initialState = { name: "Daniel", - age: 26 + age: 26, }; export function App() { @@ -90,15 +99,17 @@ export function App() { } }); - return <> - - dispatch({ type: "getOlder" })}> - Birthday time! - - dispatch({ type: "resetAge" })}> - Let's start over. - - ; + return ( + <> + + dispatch({ type: "getOlder" })}> + Birthday time! + + dispatch({ type: "resetAge" })}> + Let's start over. + + + ); } interface Context { @@ -106,12 +117,12 @@ interface Context { } const context = createContext({ test: true }); -function useEveryHook(ref: Ref<{ id: number }>|undefined): () => boolean { +function useEveryHook(ref: Ref<{ id: number }> | undefined): () => boolean { const value: Context = useContext(context); const [, setState] = useState(() => 0); // inline object, to (manually) check if autocomplete works - useReducer(reducer, { age: 42, name: 'The Answer' }); + useReducer(reducer, { age: 42, name: "The Answer" }); // test useRef and its convenience overloads // $ExpectType MutableRefObject @@ -223,12 +234,14 @@ const UsesEveryHook = forwardRef( useEveryHook(ref)(); return null; - } + }, ); const everyHookRef = createRef<{ id: number }>(); -; - - { - // $ExpectType { id: number; } | null - ref; - }}/>; +; + + { + // $ExpectType { id: number; } | null + ref; + }} +/>; diff --git a/types/raygun4js/index.d.ts b/types/raygun4js/index.d.ts index 173e52932ff4ba..2bdc3f1ef27c8b 100644 --- a/types/raygun4js/index.d.ts +++ b/types/raygun4js/index.d.ts @@ -199,7 +199,7 @@ interface RaygunStatic { init( apiKey: string, options?: RaygunOptions, - customdata?: any + customdata?: any, ): RaygunStatic; /** @@ -236,7 +236,7 @@ interface RaygunStatic { email?: string, fullName?: string, firstName?: string, - uuid?: string + uuid?: string, ): RaygunStatic; /** @@ -258,7 +258,7 @@ interface RaygunStatic { * Blacklist keys to prevent their values from being sent to Raygun. */ filterSensitiveData( - filteredKeys: ReadonlyArray + filteredKeys: ReadonlyArray, ): RaygunStatic; /** @@ -275,7 +275,7 @@ interface RaygunStatic { * Executed before the payload is sent. If a truthy object is returned, Raygun will attempt to use that as the payload. Raygun will abort the send if `false` is returned. */ onBeforeSend( - callback: (payload: RaygunPayload) => RaygunPayload | boolean + callback: (payload: RaygunPayload) => RaygunPayload | boolean, ): RaygunStatic; /** @@ -285,8 +285,8 @@ interface RaygunStatic { callback: ( payload: RaygunPayload, stackTrace: TracekitStackTrace, - options: any - ) => string | void + options: any, + ) => string | void, ): RaygunStatic; onBeforeXHR(callback: (xhr: XMLHttpRequest) => void): RaygunStatic; onAfterSend(callback: (response: XMLHttpRequest) => void): RaygunStatic; @@ -296,7 +296,7 @@ interface RaygunStatic { * Track Single Page Application route events. */ trackEvent(type: "pageView", options: { path: string }): void; - trackEvent(type: "customTiming", options: { name: string; duration: number; }): void; + trackEvent(type: "customTiming", options: { name: string; duration: number }): void; /** * Records a manual breadcrumb with the given message and metadata passed. @@ -307,14 +307,14 @@ interface RaygunStatic { * Enables all breadcrumbs level or a type can be passed which will enable only that passed one. */ enableAutoBreadcrumbs( - type?: "XHR" | "Clicks" | "Console" | "Navigation" + type?: "XHR" | "Clicks" | "Console" | "Navigation", ): void; /** * Disables all breadcrumbs or a type can be passed to disable only that one. */ disableAutoBreadcrumbs( - type?: "XHR" | "Clicks" | "Console" | "Navigation" + type?: "XHR" | "Clicks" | "Console" | "Navigation", ): void; /** @@ -322,7 +322,7 @@ interface RaygunStatic { */ setBreadcrumbOption( option?: string | "breadcrumbsLevel", - value?: string | "debug" | "info" | "warning" | "error" + value?: string | "debug" | "info" | "warning" | "error", ): void; } @@ -364,21 +364,21 @@ interface RaygunV2 { (key: "setUser", value: RaygunV2UserDetails): void; ( key: "onBeforeSend", - callback: (payload: RaygunPayload) => RaygunPayload | boolean + callback: (payload: RaygunPayload) => RaygunPayload | boolean, ): void; ( key: "onBeforeXHR" | "onAfterSend", - callback: (xhr: XMLHttpRequest) => void + callback: (xhr: XMLHttpRequest) => void, ): void; ( key: "groupingKey", value: ( payload: RaygunPayload, stackTrace: TracekitStackTrace, - options: any - ) => string | void + options: any, + ) => string | void, ): void; - (key: "trackEvent", value: { type: string; path: string } | { type: string, name: string, duration: number }): void; + (key: "trackEvent", value: { type: string; path: string } | { type: string; name: string; duration: number }): void; (key: "apiKey" | "setVersion" | "setFilterScope", value: string): void; ( key: @@ -388,18 +388,18 @@ interface RaygunV2 { | "logContentsOfXhrCalls" | "noConflict" | "saveIfOffline", - value: boolean + value: boolean, ): void; (key: "filterSensitiveData", values: Array): void; ( key: "whitelistCrossOriginDomains" | "withTags", - values: string[] + values: string[], ): void; (key: "send" | "withCustomData", value: any): void; (key: "getRaygunInstance"): RaygunStatic; ( key: - "boot" + | "boot" | "endSession" | "detach" | "disableAutoBreadcrumbs" @@ -412,7 +412,7 @@ interface RaygunV2 { | "enableAutoBreadcrumbsClicks" | "disableAutoBreadcrumbsXHR" | "enableAutoBreadcrumbsXHR" - | "setAutoBreadcrumbsXHRIgnoredHosts" + | "setAutoBreadcrumbsXHRIgnoredHosts", ): void; (key: "setBreadcrumbLevel", level: BreadcrumbLevel): void; ( @@ -425,7 +425,7 @@ interface RaygunV2 { level: BreadcrumbLevel; location: string; }, - metadata: object + metadata: object, ): void; } @@ -435,14 +435,6 @@ interface Window { Raygun: RaygunStatic; } -export { - RaygunStatic, - RaygunV2, - RaygunV2UserDetails, - RaygunOptions, - RaygunPayload, - RaygunStackTrace, - BreadcrumbLevel, -}; +export { BreadcrumbLevel, RaygunOptions, RaygunPayload, RaygunStackTrace, RaygunStatic, RaygunV2, RaygunV2UserDetails }; export default rg4js; diff --git a/types/raygun4js/raygun4js-tests.ts b/types/raygun4js/raygun4js-tests.ts index 9447dc28a4d9d2..11e695b8e538dd 100644 --- a/types/raygun4js/raygun4js-tests.ts +++ b/types/raygun4js/raygun4js-tests.ts @@ -1,28 +1,28 @@ // V2 Api // Used in CommonJS-like environments -import rg4js, { RaygunStatic, RaygunPayload } from 'raygun4js'; +import rg4js, { RaygunPayload, RaygunStatic } from "raygun4js"; rg4js("apiKey", "api-key"); rg4js("boot"); rg4js("enableCrashReporting", true); rg4js("enablePulse", true); -rg4js('setUser', { +rg4js("setUser", { identifier: "username", firstName: "Robert", - fullName: "Robert Raygun" + fullName: "Robert Raygun", }); -rg4js('trackEvent', { - type: 'customTiming', - name: 'testDuration', - duration: 100 +rg4js("trackEvent", { + type: "customTiming", + name: "testDuration", + duration: 100, }); -rg4js('endSession'); +rg4js("endSession"); try { - throw new Error('oops'); + throw new Error("oops"); } catch (e) { - rg4js('send', e); + rg4js("send", e); } // V1 Api @@ -32,44 +32,50 @@ declare const Raygun: RaygunStatic; const client: RaygunStatic = Raygun.noConflict(); const newClient: RaygunStatic = client.constructNewRaygun(); -client.init('api-key'); -client.init('api-key', { allowInsecureSubmissions: true, disablePulse: false, captureMissingRequests: true, clientIp: "test", automaticPerformanceCustomTimings: true }); -client.init('api-key', { allowInsecureSubmissions: true, disablePulse: false }, { some: 'data' }); +client.init("api-key"); +client.init("api-key", { + allowInsecureSubmissions: true, + disablePulse: false, + captureMissingRequests: true, + clientIp: "test", + automaticPerformanceCustomTimings: true, +}); +client.init("api-key", { allowInsecureSubmissions: true, disablePulse: false }, { some: "data" }); -client.withCustomData({ some: 'data' }); +client.withCustomData({ some: "data" }); client.withCustomData(() => { - return { some: 'data' }; + return { some: "data" }; }); -client.withTags(['tag1', 'tag2']); +client.withTags(["tag1", "tag2"]); client.attach().detach(); -client.send(new Error('a error')); -client.send(new Error('a error'), { some: 'data' }); -client.send(new Error('a error'), { some: 'data' }, ['tag1', 'tag2']); +client.send(new Error("a error")); +client.send(new Error("a error"), { some: "data" }); +client.send(new Error("a error"), { some: "data" }, ["tag1", "tag2"]); try { - throw new Error('oops'); + throw new Error("oops"); } catch (e) { client.send(e); } -client.setUser('username'); -client.setUser('username', true); -client.setUser('username', false, 'user@email.com', 'Robert Raygun'); -client.setUser('username', false, 'user@email.com', 'Robert Raygun', 'Robert'); -client.setUser('username', false, 'user@email.com', 'Robert Raygun', 'Robert', '8ae89fc9-1144-42d6-9629-bf085dab18d2'); +client.setUser("username"); +client.setUser("username", true); +client.setUser("username", false, "user@email.com", "Robert Raygun"); +client.setUser("username", false, "user@email.com", "Robert Raygun", "Robert"); +client.setUser("username", false, "user@email.com", "Robert Raygun", "Robert", "8ae89fc9-1144-42d6-9629-bf085dab18d2"); client.resetAnonymousUser(); -client.setVersion('1.2.3.4'); +client.setVersion("1.2.3.4"); client.saveIfOffline(true); -client.filterSensitiveData(['field1', 'field2']); +client.filterSensitiveData(["field1", "field2"]); -client.setFilterScope('all'); +client.setFilterScope("all"); -client.whitelistCrossOriginDomains(['domain1', 'domain2']); +client.whitelistCrossOriginDomains(["domain1", "domain2"]); client.onBeforeSend((payload: RaygunPayload) => { payload.OccurredOn = new Date(); @@ -90,8 +96,8 @@ client.onAfterSend((xhr) => { client.endSession(); -client.trackEvent('pageView', { - path: '/url' +client.trackEvent("pageView", { + path: "/url", }); client.disableAutoBreadcrumbs(); @@ -100,7 +106,7 @@ client.enableAutoBreadcrumbs(); client.recordBreadcrumb("Breadcrumb Message", { custom: "data" }); -client.trackEvent('customTiming', { - name: 'static-test-duration', - duration: 200 +client.trackEvent("customTiming", { + name: "static-test-duration", + duration: 200, }); diff --git a/types/rbac-a/index.d.ts b/types/rbac-a/index.d.ts index d807477fba4f3d..5c72f4542ea2ec 100644 --- a/types/rbac-a/index.d.ts +++ b/types/rbac-a/index.d.ts @@ -6,9 +6,7 @@ /// -import { - EventEmitter, -} from "events"; +import { EventEmitter } from "events"; export interface Roles { [_: string]: number | Roles; @@ -83,7 +81,7 @@ export class AttributesManager { export class RBAC
} - getTooltipContainer={() => document.querySelector('.foo')!} + onPopupAlign={(popup, align) => console.log("aligned:", popup, align)} + arrowContent={
} + getTooltipContainer={() => document.querySelector(".foo")!} destroyTooltipOnHide id="tooltip-id" > - hover + hover , - document.querySelector('.another-app') + document.querySelector(".another-app"), ); ReactDOM.render( tooltip} > - hover + hover , - document.querySelector('.another-app') + document.querySelector(".another-app"), ); const props: RCTooltip.Props = { placement: "bottomRight", - trigger: ['click', 'focus'], + trigger: ["click", "focus"], overlay: () => tooltip, }; // It should be a single-line definition because TS 2.9 and other TS versions throw an error on different lines // @ts-expect-error -const falseProps: RCTooltip.Props = {overlay: undefined}; +const falseProps: RCTooltip.Props = { overlay: undefined }; diff --git a/types/rc/index.d.ts b/types/rc/index.d.ts index fe36e718159f7a..853f4ab2def702 100644 --- a/types/rc/index.d.ts +++ b/types/rc/index.d.ts @@ -6,7 +6,7 @@ // David Gabison // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import minimist = require('minimist'); +import minimist = require("minimist"); interface RcResultType extends Record { /** @@ -50,7 +50,7 @@ declare function rc( * This function will be passed the string contents of each * discovered configuration file, should return a parsed object dictionary. */ - parse?: (content: string) => object + parse?: (content: string) => object, ): RcResultType & minimist.ParsedArgs; declare function rc( /** @@ -82,7 +82,7 @@ declare function rc( * This function will be passed the string contents of each * discovered configuration file, should return a parsed object dictionary. */ - parse?: (content: string) => object + parse?: (content: string) => object, ): T & RcResultType & minimist.ParsedArgs; declare function rc( /** @@ -114,11 +114,11 @@ declare function rc( * This function will be passed the string contents of each * discovered configuration file, should return a parsed object dictionary. */ - parse?: (content: string) => object + parse?: (content: string) => object, ): U & RcResultType; declare function rc< T extends object, - U extends object + U extends object, >( /** * The name of the app to configure, rc will search for this files : @@ -149,11 +149,11 @@ declare function rc< * This function will be passed the string contents of each * discovered configuration file, should return a parsed object dictionary. */ - parse?: (content: string) => object + parse?: (content: string) => object, ): T & U & RcResultType; declare function rc< T extends object | string | null | undefined, - U extends object | null | undefined + U extends object | null | undefined, >( /** * The name of the app to configure, rc will search for this files : @@ -184,9 +184,8 @@ declare function rc< * This function will be passed the string contents of each * discovered configuration file, should return a parsed object dictionary. */ - parse?: (content: string) => object -): (T extends string | null | undefined ? - (U extends null | undefined ? minimist.ParsedArgs : U) & RcResultType : - T & (U extends null | undefined ? minimist.ParsedArgs : U) & RcResultType); + parse?: (content: string) => object, +): T extends string | null | undefined ? (U extends null | undefined ? minimist.ParsedArgs : U) & RcResultType + : T & (U extends null | undefined ? minimist.ParsedArgs : U) & RcResultType; export = rc; diff --git a/types/rc/rc-tests.ts b/types/rc/rc-tests.ts index a28a4e0c64b407..f9bb47adb98c4f 100644 --- a/types/rc/rc-tests.ts +++ b/types/rc/rc-tests.ts @@ -1,37 +1,37 @@ -import rc = require('rc'); +import rc = require("rc"); // without any arg // @ts-expect-error rc(); // with appname arg only -rc('appname'); +rc("appname"); // with default values object -const confA = rc('appname', { +const confA = rc("appname", { port: 2468, views: { - engine: 'jade', + engine: "jade", }, }); // with default config file -rc('appname', './default-config.json'); +rc("appname", "./default-config.json"); // with parsed argv -rc('appname', null, { +rc("appname", null, { option: false, envOption: 24, argv: { remain: [], - cooked: ['--no-option', '--envOption', '24'], - original: ['--no-option', '--envOption=24'], + cooked: ["--no-option", "--envOption", "24"], + original: ["--no-option", "--envOption=24"], }, }); // with both default values AND parsed argv rc( - 'appname', + "appname", { option: true, }, @@ -40,52 +40,52 @@ rc( envOption: 24, argv: { remain: [], - cooked: ['--no-option', '--envOption', '24'], - original: ['--no-option', '--envOption=24'], + cooked: ["--no-option", "--envOption", "24"], + original: ["--no-option", "--envOption=24"], }, - } + }, ); // with parse function -rc('appname', null, null, content => JSON.parse(content.toLowerCase())); +rc("appname", null, null, content => JSON.parse(content.toLowerCase())); // with defaults and parse but not argv -rc('appname', { option: true }, null, content => JSON.parse(content.toLowerCase())); +rc("appname", { option: true }, null, content => JSON.parse(content.toLowerCase())); // call with interface interface AppConfig { port: number; views: { - engine: string, + engine: string; }; } -rc('appname', { +rc("appname", { port: 1234, views: { - engine: 'jade' - } + engine: "jade", + }, }); // calling with type definition rc<{ port: number; views: { - engine: string, + engine: string; }; -}>('appname', { +}>("appname", { port: 1234, views: { - engine: 'jade' - } + engine: "jade", + }, }); // return type -const appCfg = rc('appname'); +const appCfg = rc("appname"); appCfg.configs; // $ExpectType string[] | undefined if (appCfg.configs) { appCfg.configs[0]; // $ExpectType string appCfg.configs[1]; // $ExpectType string -/// actually, when configs is defined as string[], config have to be string -/// but I don't known how to write this in `index.d.ts`, sorry... -// appCfg.config; // $ExpectType string + /// actually, when configs is defined as string[], config have to be string + /// but I don't known how to write this in `index.d.ts`, sorry... + // appCfg.config; // $ExpectType string } diff --git a/types/rcloader/index.d.ts b/types/rcloader/index.d.ts index 4c8ef0b9b15bfe..37970287af2625 100644 --- a/types/rcloader/index.d.ts +++ b/types/rcloader/index.d.ts @@ -3,7 +3,6 @@ // Definitions by: Panu Horsmalahti // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - interface Options { [property: string]: any; lookup?: boolean | undefined; diff --git a/types/rcloader/rcloader-tests.ts b/types/rcloader/rcloader-tests.ts index f36f61c025fa49..e5b315eb1271dd 100644 --- a/types/rcloader/rcloader-tests.ts +++ b/types/rcloader/rcloader-tests.ts @@ -1,8 +1,7 @@ - import RcLoader = require("rcloader"); const rcLoader = new RcLoader(".configfilename", { - lookup: true + lookup: true, }); rcLoader.for("foo.json", (err, fileOpts) => { diff --git a/types/rclone.js/index.d.ts b/types/rclone.js/index.d.ts index c91ff70e0e9d0f..282ba46a59c339 100644 --- a/types/rclone.js/index.d.ts +++ b/types/rclone.js/index.d.ts @@ -6,80 +6,80 @@ /// -import type { ChildProcess } from 'node:child_process'; +import type { ChildProcess } from "node:child_process"; type Command = ( - | 'about' // Get quota information from the remote. - | 'authorize' // Remote authorization. - | 'backend' // Run a backend specific command. - | 'cat' // Concatenates any files and sends them to stdout. - | 'check' // Checks the files in the source and destination match. - | 'checksum' // Checks the files in the source against a SUM file. - | 'cleanup' // Clean up the remote if possible. - | 'config' // Enter an interactive configuration session. - | 'config create' // Create a new remote with name, type and options. - | 'config delete' // Delete an existing remote name. - | 'config disconnect' // Disconnects user from remote - | 'config dump' // Dump the config file as JSON. - | 'config edit' // Enter an interactive configuration session. - | 'config file' // Show path of configuration file in use. - | 'config password' // Update password in an existing remote. - | 'config providers' // List in JSON format all the providers and options. - | 'config reconnect' // Re-authenticates user with remote. - | 'config show' // Print (decrypted) config file, or the config for a single remote. - | 'config update' // Update options in an existing remote. - | 'config userinfo' // Prints info about logged in user of remote. - | 'copy' // Copy files from source to dest, skipping already copied. - | 'copyto' // Copy files from source to dest, skipping already copied. - | 'copyurl' // Copy url content to dest. - | 'cryptcheck' // Cryptcheck checks the integrity of a crypted remote. - | 'cryptdecode' // Cryptdecode returns unencrypted file names. - | 'dedupe' // Interactively find duplicate filenames and delete/rename them. - | 'delete' // Remove the contents of path. - | 'deletefile' // Remove a single file from remote. - | 'genautocomplete' // Output completion script for a given shell. - | 'genautocomplete bash' // Output bash completion script for rclone. - | 'genautocomplete fish' // Output fish completion script for rclone. - | 'genautocomplete zsh' // Output zsh completion script for rclone. - | 'gendocs' // Output markdown docs for rclone to the directory supplied. - | 'hashsum' // Produces a hashsum file for all the objects in the path. - | 'help' // Show help for rclone commands, flags and backends. - | 'link' // Generate public link to file/folder. - | 'listremotes' // List all the remotes in the config file. - | 'ls' // List the objects in the path with size and path. - | 'lsd' // List all directories/containers/buckets in the path. - | 'lsf' // List directories and objects in remote:path formatted for parsing. - | 'lsjson' // List directories and objects in the path in JSON format. - | 'lsl' // List the objects in path with modification time, size and path. - | 'md5sum' // Produces an md5sum file for all the objects in the path. - | 'mkdir' // Make the path if it doesn't already exist. - | 'mount' // Mount the remote as file system on a mountpoint. - | 'move' // Move files from source to dest. - | 'moveto' // Move file or directory from source to dest. - | 'ncdu' // Explore a remote with a text based user interface. - | 'obscure' // Obscure password for use in the rclone config file. - | 'purge' // Remove the path and all of its contents. - | 'rc' // Run a command against a running rclone. - | 'rcat' // Copies standard input to file on remote. - | 'rcd' // Run rclone listening to remote control commands only. - | 'rmdir' // Remove the path if empty. - | 'rmdirs' // Remove empty directories under the path. - | 'selfupdate' // Update the rclone binary. - | 'serve' // Serve a remote over a protocol. - | 'serve dlna' // Serve remote:path over DLNA - | 'serve ftp' // Serve remote:path over FTP. - | 'serve http' // Serve the remote over HTTP. - | 'serve restic' // Serve the remote for restic's REST API. - | 'serve sftp' // Serve the remote over SFTP. - | 'serve webdav' // Serve remote:path over webdav. - | 'settier' // Changes storage class/tier of objects in remote. - | 'sha1sum' // Produces an sha1sum file for all the objects in the path. - | 'size' // Prints the total size and number of objects in remote:path. - | 'sync' // Make source and dest identical, modifying destination only. - | 'test' // Run a test command. - | 'touch' // Create new file or change file modification time. - | 'tree' // List the contents of the remote in a tree like fashion. - | 'version' // Show the version number. + | "about" // Get quota information from the remote. + | "authorize" // Remote authorization. + | "backend" // Run a backend specific command. + | "cat" // Concatenates any files and sends them to stdout. + | "check" // Checks the files in the source and destination match. + | "checksum" // Checks the files in the source against a SUM file. + | "cleanup" // Clean up the remote if possible. + | "config" // Enter an interactive configuration session. + | "config create" // Create a new remote with name, type and options. + | "config delete" // Delete an existing remote name. + | "config disconnect" // Disconnects user from remote + | "config dump" // Dump the config file as JSON. + | "config edit" // Enter an interactive configuration session. + | "config file" // Show path of configuration file in use. + | "config password" // Update password in an existing remote. + | "config providers" // List in JSON format all the providers and options. + | "config reconnect" // Re-authenticates user with remote. + | "config show" // Print (decrypted) config file, or the config for a single remote. + | "config update" // Update options in an existing remote. + | "config userinfo" // Prints info about logged in user of remote. + | "copy" // Copy files from source to dest, skipping already copied. + | "copyto" // Copy files from source to dest, skipping already copied. + | "copyurl" // Copy url content to dest. + | "cryptcheck" // Cryptcheck checks the integrity of a crypted remote. + | "cryptdecode" // Cryptdecode returns unencrypted file names. + | "dedupe" // Interactively find duplicate filenames and delete/rename them. + | "delete" // Remove the contents of path. + | "deletefile" // Remove a single file from remote. + | "genautocomplete" // Output completion script for a given shell. + | "genautocomplete bash" // Output bash completion script for rclone. + | "genautocomplete fish" // Output fish completion script for rclone. + | "genautocomplete zsh" // Output zsh completion script for rclone. + | "gendocs" // Output markdown docs for rclone to the directory supplied. + | "hashsum" // Produces a hashsum file for all the objects in the path. + | "help" // Show help for rclone commands, flags and backends. + | "link" // Generate public link to file/folder. + | "listremotes" // List all the remotes in the config file. + | "ls" // List the objects in the path with size and path. + | "lsd" // List all directories/containers/buckets in the path. + | "lsf" // List directories and objects in remote:path formatted for parsing. + | "lsjson" // List directories and objects in the path in JSON format. + | "lsl" // List the objects in path with modification time, size and path. + | "md5sum" // Produces an md5sum file for all the objects in the path. + | "mkdir" // Make the path if it doesn't already exist. + | "mount" // Mount the remote as file system on a mountpoint. + | "move" // Move files from source to dest. + | "moveto" // Move file or directory from source to dest. + | "ncdu" // Explore a remote with a text based user interface. + | "obscure" // Obscure password for use in the rclone config file. + | "purge" // Remove the path and all of its contents. + | "rc" // Run a command against a running rclone. + | "rcat" // Copies standard input to file on remote. + | "rcd" // Run rclone listening to remote control commands only. + | "rmdir" // Remove the path if empty. + | "rmdirs" // Remove empty directories under the path. + | "selfupdate" // Update the rclone binary. + | "serve" // Serve a remote over a protocol. + | "serve dlna" // Serve remote:path over DLNA + | "serve ftp" // Serve remote:path over FTP. + | "serve http" // Serve the remote over HTTP. + | "serve restic" // Serve the remote for restic's REST API. + | "serve sftp" // Serve the remote over SFTP. + | "serve webdav" // Serve remote:path over webdav. + | "settier" // Changes storage class/tier of objects in remote. + | "sha1sum" // Produces an sha1sum file for all the objects in the path. + | "size" // Prints the total size and number of objects in remote:path. + | "sync" // Make source and dest identical, modifying destination only. + | "test" // Run a test command. + | "touch" // Create new file or change file modification time. + | "tree" // List the contents of the remote in a tree like fashion. + | "version" // Show the version number. ); type FnStringOrObjectArgs = (...args: Array) => R; @@ -98,8 +98,8 @@ type PromisesFn = FnStringOrObjectArgs>; * @returns the rclone subprocess. */ declare const api: ApiFn & Record & { - /** Promise-based API. */ - promises: PromisesFn & Record; + /** Promise-based API. */ + promises: PromisesFn & Record; }; export = api; diff --git a/types/rclone.js/rclone.js-tests.ts b/types/rclone.js/rclone.js-tests.ts index d36d14bd548327..3c7f1a6dd5ed02 100644 --- a/types/rclone.js/rclone.js-tests.ts +++ b/types/rclone.js/rclone.js-tests.ts @@ -1,39 +1,39 @@ import rclone = require("rclone.js"); -import { promises as rclonePromise } from "rclone.js"; import { join } from "path"; +import { promises as rclonePromise } from "rclone.js"; const rcloneRemoteName = "atifcppprogrammer-aws-s3"; const rcloneConfigPath = join( - "/home", - process.env["USER"] || "atifcppprogrammer", - ".config/rclone/rclone.conf" + "/home", + process.env["USER"] || "atifcppprogrammer", + ".config/rclone/rclone.conf", ); const rcloneConfigOptions = { - env: { RCLONE_CONFIG: rcloneConfigPath }, - shell: "/bin/sh", - "max-depth": 1 + env: { RCLONE_CONFIG: rcloneConfigPath }, + shell: "/bin/sh", + "max-depth": 1, }; async function usingRclonePromiseAPI() { - try { - const response = await rclonePromise.ls(rcloneRemoteName, rcloneConfigOptions); - console.log(response.toString()); - } catch (error) { - console.log(error.toString()); - } + try { + const response = await rclonePromise.ls(rcloneRemoteName, rcloneConfigOptions); + console.log(response.toString()); + } catch (error) { + console.log(error.toString()); + } } async function usingRcloneDefaultAPI() { - const ls = rclone.ls(rcloneRemoteName, rcloneConfigOptions); - ls.stdout?.on("data", (data: Buffer) => { - console.log(data.toString()); - }); + const ls = rclone.ls(rcloneRemoteName, rcloneConfigOptions); + ls.stdout?.on("data", (data: Buffer) => { + console.log(data.toString()); + }); - ls.stderr?.on("data", (data: Buffer) => { - console.error(data.toString()); - }); + ls.stderr?.on("data", (data: Buffer) => { + console.error(data.toString()); + }); } usingRclonePromiseAPI(); diff --git a/types/rdf-data-model/rdf-data-model-tests.ts b/types/rdf-data-model/rdf-data-model-tests.ts index 3e794f984d8410..e9fd993bdd009c 100644 --- a/types/rdf-data-model/rdf-data-model-tests.ts +++ b/types/rdf-data-model/rdf-data-model-tests.ts @@ -1,17 +1,17 @@ -import * as RDF from "rdf-js"; import * as DataFactory from "rdf-data-model"; +import * as RDF from "rdf-js"; function test_datafactory() { - const namedNode: RDF.NamedNode = DataFactory.namedNode('http://example.org'); + const namedNode: RDF.NamedNode = DataFactory.namedNode("http://example.org"); - const blankNode1: RDF.BlankNode = DataFactory.blankNode('b1'); + const blankNode1: RDF.BlankNode = DataFactory.blankNode("b1"); const blankNode2: RDF.BlankNode = DataFactory.blankNode(); - const literal1: RDF.Literal = DataFactory.literal('abc'); - const literal2: RDF.Literal = DataFactory.literal('abc', 'en-us'); - const literal3: RDF.Literal = DataFactory.literal('abc', namedNode); + const literal1: RDF.Literal = DataFactory.literal("abc"); + const literal2: RDF.Literal = DataFactory.literal("abc", "en-us"); + const literal3: RDF.Literal = DataFactory.literal("abc", namedNode); - const variable: RDF.Variable = DataFactory.variable('v1'); + const variable: RDF.Variable = DataFactory.variable("v1"); const defaultGraph1: RDF.DefaultGraph = DataFactory.defaultGraphInstance; const defaultGraph2: RDF.DefaultGraph = DataFactory.defaultGraph(); diff --git a/types/rdf-dataset-ext/addAll.d.ts b/types/rdf-dataset-ext/addAll.d.ts index 4532212aedab92..e996ae80d2fe44 100644 --- a/types/rdf-dataset-ext/addAll.d.ts +++ b/types/rdf-dataset-ext/addAll.d.ts @@ -5,6 +5,9 @@ import { BaseQuad, DatasetCore, Quad } from "rdf-js"; * * Returns the given dataset. */ -declare function addAll = DatasetCore>(dataset: D, iterable: Iterable): D; +declare function addAll = DatasetCore>( + dataset: D, + iterable: Iterable, +): D; -export = addAll; +export = addAll; diff --git a/types/rdf-dataset-ext/deleteMatch.d.ts b/types/rdf-dataset-ext/deleteMatch.d.ts index c4835c946d408f..a62c060e8c5a6d 100644 --- a/types/rdf-dataset-ext/deleteMatch.d.ts +++ b/types/rdf-dataset-ext/deleteMatch.d.ts @@ -5,6 +5,9 @@ import { BaseQuad, DatasetCore, Term } from "rdf-js"; * * `.match` of dataset is used to find the matches and .delete to delete all matches. Returns the given dataset. */ -declare function deleteMatch = DatasetCore>(dataset: D, ...arg: Parameters): D; +declare function deleteMatch = DatasetCore>( + dataset: D, + ...arg: Parameters +): D; export = deleteMatch; diff --git a/types/rdf-dataset-ext/fromStream.d.ts b/types/rdf-dataset-ext/fromStream.d.ts index 51447cf47c29e2..aece2a03956a99 100644 --- a/types/rdf-dataset-ext/fromStream.d.ts +++ b/types/rdf-dataset-ext/fromStream.d.ts @@ -6,6 +6,9 @@ import { EventEmitter } from "stream"; * * Errors emitted by the stream are forwarded as Promise rejects. Returns the given dataset. */ -declare function fromStream = DatasetCore>(dataset: D, stream: EventEmitter): Promise; +declare function fromStream = DatasetCore>( + dataset: D, + stream: EventEmitter, +): Promise; export = fromStream; diff --git a/types/rdf-dataset-ext/index.d.ts b/types/rdf-dataset-ext/index.d.ts index 7db4920ef999a5..fcfcff03adc6ba 100644 --- a/types/rdf-dataset-ext/index.d.ts +++ b/types/rdf-dataset-ext/index.d.ts @@ -3,20 +3,20 @@ // Definitions by: Chris Wilkinson // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import addAll = require('./addAll'); -import deleteMatch = require('./deleteMatch'); -import equals = require('./equals'); -import fromStream = require('./fromStream'); -import toCanonical = require('./toCanonical'); -import toStream = require('./toStream'); +import addAll = require("./addAll"); +import deleteMatch = require("./deleteMatch"); +import equals = require("./equals"); +import fromStream = require("./fromStream"); +import toCanonical = require("./toCanonical"); +import toStream = require("./toStream"); declare const datasetExt: { - addAll: typeof addAll, - deleteMatch: typeof deleteMatch, - equals: typeof equals, - fromStream: typeof fromStream, - toCanonical: typeof toCanonical, - toStream: typeof toStream + addAll: typeof addAll; + deleteMatch: typeof deleteMatch; + equals: typeof equals; + fromStream: typeof fromStream; + toCanonical: typeof toCanonical; + toStream: typeof toStream; }; export = datasetExt; diff --git a/types/rdf-dataset-ext/rdf-dataset-ext-tests.ts b/types/rdf-dataset-ext/rdf-dataset-ext-tests.ts index 2122ee301610b4..6e167e9a87237f 100644 --- a/types/rdf-dataset-ext/rdf-dataset-ext-tests.ts +++ b/types/rdf-dataset-ext/rdf-dataset-ext-tests.ts @@ -1,12 +1,12 @@ -import { Readable, EventEmitter } from 'stream'; -import { BaseQuad, DatasetCore, Quad, Stream, Term } from 'rdf-js'; -import grouped = require('rdf-dataset-ext'); -import addAll = require('rdf-dataset-ext/addAll'); -import deleteMatch = require('rdf-dataset-ext/deleteMatch'); -import equals = require('rdf-dataset-ext/equals'); -import fromStream = require('rdf-dataset-ext/fromStream'); -import toCanonical = require('rdf-dataset-ext/toCanonical'); -import toStream = require('rdf-dataset-ext/toStream'); +import { BaseQuad, DatasetCore, Quad, Stream, Term } from "rdf-js"; +import { EventEmitter, Readable } from "stream"; +import grouped = require("rdf-dataset-ext"); +import addAll = require("rdf-dataset-ext/addAll"); +import deleteMatch = require("rdf-dataset-ext/deleteMatch"); +import equals = require("rdf-dataset-ext/equals"); +import fromStream = require("rdf-dataset-ext/fromStream"); +import toCanonical = require("rdf-dataset-ext/toCanonical"); +import toStream = require("rdf-dataset-ext/toStream"); const dataset1: DatasetCore = {} as any; const dataset2: DatasetCore = {} as any; diff --git a/types/rdf-dataset-ext/toStream.d.ts b/types/rdf-dataset-ext/toStream.d.ts index 7be0068e1cf4de..00da11058ac37b 100644 --- a/types/rdf-dataset-ext/toStream.d.ts +++ b/types/rdf-dataset-ext/toStream.d.ts @@ -1,5 +1,5 @@ -import { BaseQuad, DatasetCore, Quad, Stream } from 'rdf-js'; -import { Readable } from 'readable-stream'; +import { BaseQuad, DatasetCore, Quad, Stream } from "rdf-js"; +import { Readable } from "readable-stream"; /** * Creates a `Stream` which emits all quads of the given dataset. Returns the created stream. diff --git a/types/rdf-dataset-indexed/dataset.d.ts b/types/rdf-dataset-indexed/dataset.d.ts index e5327e05a8606e..8d479c1a9124ef 100644 --- a/types/rdf-dataset-indexed/dataset.d.ts +++ b/types/rdf-dataset-indexed/dataset.d.ts @@ -1,5 +1,5 @@ -import { DatasetCore, DatasetFactory, DataFactory, Quad, BaseQuad, Stream, Term } from 'rdf-js'; -import { Readable } from 'stream'; +import { BaseQuad, DataFactory, DatasetCore, DatasetFactory, Quad, Stream, Term } from "rdf-js"; +import { Readable } from "stream"; declare namespace DatasetIndexed { interface DatasetIndexed extends DatasetCore { @@ -21,11 +21,18 @@ declare namespace DatasetIndexed { some(predicate: (quad: Q) => boolean): boolean; toArray(): Q[]; toStream(): Stream & Readable; - match(subject?: Term | null, predicate?: Term | null, object?: Term | null, graph?: Term | null): DatasetIndexed; + match( + subject?: Term | null, + predicate?: Term | null, + object?: Term | null, + graph?: Term | null, + ): DatasetIndexed; } } -interface DatasetIndexed extends DatasetIndexed.DatasetIndexed {} +interface DatasetIndexed + extends DatasetIndexed.DatasetIndexed +{} // tslint:disable-next-line no-unnecessary-class declare class DatasetIndexed { diff --git a/types/rdf-dataset-indexed/index.d.ts b/types/rdf-dataset-indexed/index.d.ts index fd6ac91ae667fd..a908ee53156825 100644 --- a/types/rdf-dataset-indexed/index.d.ts +++ b/types/rdf-dataset-indexed/index.d.ts @@ -3,9 +3,12 @@ // Definitions by: Chris Wilkinson // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { BaseQuad, DataFactory, DatasetCoreFactory, Quad } from 'rdf-js'; -import { DatasetIndexed } from './dataset'; +import { BaseQuad, DataFactory, DatasetCoreFactory, Quad } from "rdf-js"; +import { DatasetIndexed } from "./dataset"; -declare function datasetFactory(quads?: Q[], dataFactory?: DataFactory & DatasetCoreFactory): DatasetIndexed; +declare function datasetFactory( + quads?: Q[], + dataFactory?: DataFactory & DatasetCoreFactory, +): DatasetIndexed; export = datasetFactory; diff --git a/types/rdf-dataset-indexed/rdf-dataset-indexed-tests.ts b/types/rdf-dataset-indexed/rdf-dataset-indexed-tests.ts index 4ab2b513127f4a..e6b12f7984747b 100644 --- a/types/rdf-dataset-indexed/rdf-dataset-indexed-tests.ts +++ b/types/rdf-dataset-indexed/rdf-dataset-indexed-tests.ts @@ -1,6 +1,6 @@ -import datasetFactory = require('rdf-dataset-indexed'); -import { BaseQuad, DataFactory, DatasetCore, DatasetCoreFactory, Quad, Term, Stream } from 'rdf-js'; -import { DatasetIndexed } from 'rdf-dataset-indexed/dataset'; +import datasetFactory = require("rdf-dataset-indexed"); +import { DatasetIndexed } from "rdf-dataset-indexed/dataset"; +import { BaseQuad, DataFactory, DatasetCore, DatasetCoreFactory, Quad, Stream, Term } from "rdf-js"; interface QuadBnode extends BaseQuad { subject: Term; @@ -64,6 +64,6 @@ removeMatches = dataset.removeMatches(null, null, null, null); const some: boolean = dataset.some((q: QuadBnode) => true); -const toArray: QuadBnode[] = dataset.toArray(); +const toArray: QuadBnode[] = dataset.toArray(); const toStream: Stream = dataset.toStream(); diff --git a/types/rdf-ext/DataFactory.d.ts b/types/rdf-ext/DataFactory.d.ts index d3e09b5d923a35..52cd72aa8214bd 100644 --- a/types/rdf-ext/DataFactory.d.ts +++ b/types/rdf-ext/DataFactory.d.ts @@ -1,10 +1,10 @@ -import * as RDF from '@rdfjs/types'; -import { FromTerm } from '@rdfjs/data-model/lib/fromTerm.js'; +import { FromTerm } from "@rdfjs/data-model/lib/fromTerm.js"; +import * as RDF from "@rdfjs/types"; import { BlankNodeExt } from "./lib/BlankNode.js"; +import { DefaultGraphExt } from "./lib/DefaultGraph.js"; import { LiteralExt } from "./lib/Literal.js"; import { NamedNodeExt } from "./lib/NamedNode.js"; import { QuadExt } from "./lib/Quad.js"; -import { DefaultGraphExt } from "./lib/DefaultGraph.js"; import { VariableExt } from "./lib/Variable.js"; export interface DataFactoryExt extends RDF.DataFactory { @@ -20,7 +20,12 @@ export interface DataFactoryExt extends RDF.DataFactory { defaultGraph(): DefaultGraphExt; - quad(subject: RDF.Quad_Subject, predicate: RDF.Quad_Predicate, object: RDF.Quad_Object, graph?: RDF.Quad_Graph): QuadExt; + quad( + subject: RDF.Quad_Subject, + predicate: RDF.Quad_Predicate, + object: RDF.Quad_Object, + graph?: RDF.Quad_Graph, + ): QuadExt; fromTerm: (original: T) => ReturnType>; @@ -30,14 +35,14 @@ export interface DataFactoryExt extends RDF.DataFactory { interface DataFactoryExtCtor { new(): DataFactoryExt; exports: [ - 'namedNode', - 'blankNode', - 'literal', - 'variable', - 'defaultGraph', - 'quad', - 'fromTerm', - 'fromQuad' + "namedNode", + "blankNode", + "literal", + "variable", + "defaultGraph", + "quad", + "fromTerm", + "fromQuad", ]; } diff --git a/types/rdf-ext/DatasetFactory.d.ts b/types/rdf-ext/DatasetFactory.d.ts index edabd5aace5d3e..b2682c5ac76539 100644 --- a/types/rdf-ext/DatasetFactory.d.ts +++ b/types/rdf-ext/DatasetFactory.d.ts @@ -1,5 +1,5 @@ -import { Quad , NamedNode, DefaultGraph } from '@rdfjs/types'; -import DatasetExt from './lib/Dataset.js'; +import { DefaultGraph, NamedNode, Quad } from "@rdfjs/types"; +import DatasetExt from "./lib/Dataset.js"; export interface DatasetFactory { dataset(quads?: Quad[], graph?: NamedNode | DefaultGraph): DatasetExt; @@ -7,7 +7,7 @@ export interface DatasetFactory { interface DatasetFactoryCtor { new(): DatasetFactory; - exports: ['dataset']; + exports: ["dataset"]; } declare const datasetFactory: DatasetFactoryCtor; diff --git a/types/rdf-ext/index.d.ts b/types/rdf-ext/index.d.ts index 8204a6dc4210ee..d7eee9c87f9eb9 100644 --- a/types/rdf-ext/index.d.ts +++ b/types/rdf-ext/index.d.ts @@ -5,34 +5,34 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import { Environment } from '@rdfjs/environment/Environment.js'; +import { Environment } from "@rdfjs/environment/Environment.js"; import { FormatsFactory } from "@rdfjs/environment/FormatsFactory.js"; -import { FetchFactory } from '@rdfjs/fetch-lite/Factory.js'; -import { NamespaceFactory } from '@rdfjs/namespace/Factory.js'; -import { TermMapFactory } from '@rdfjs/term-map/Factory.js'; -import { TermSetFactory } from '@rdfjs/term-set/Factory.js'; -import { PrefixMapFactory } from '@rdfjs/prefix-map/Factory.js'; -import { TraverserFactory } from "@rdfjs/traverser/Factory.js"; +import { FetchFactory } from "@rdfjs/fetch-lite/Factory.js"; +import { NamespaceFactory } from "@rdfjs/namespace/Factory.js"; +import { PrefixMapFactory } from "@rdfjs/prefix-map/Factory.js"; import { ScoreFactory } from "@rdfjs/score/Factory.js"; -import ClownfaceFactory from './ClownfaceFactory.js'; -import { DataFactoryExt as DataFactory } from './DataFactory.js'; -import { DatasetFactory } from './DatasetFactory.js'; +import { TermMapFactory } from "@rdfjs/term-map/Factory.js"; +import { TermSetFactory } from "@rdfjs/term-set/Factory.js"; +import { TraverserFactory } from "@rdfjs/traverser/Factory.js"; +import ClownfaceFactory from "./ClownfaceFactory.js"; +import { DataFactoryExt as DataFactory } from "./DataFactory.js"; +import { DatasetFactory } from "./DatasetFactory.js"; -export { default as Environment } from '@rdfjs/environment/Environment.js'; -export { default as FetchFactory } from '@rdfjs/fetch-lite/Factory.js'; -export { default as FormatsFactory } from '@rdfjs/environment/FormatsFactory.js'; -export { default as NamespaceFactory } from '@rdfjs/namespace/Factory.js'; -export { default as PrefixMapFactory } from '@rdfjs/prefix-map/Factory.js'; -export { default as TermMapFactory } from '@rdfjs/term-map/Factory.js'; -export { default as TermSetFactory } from '@rdfjs/term-set/Factory.js'; -export { default as TraverserFactory } from '@rdfjs/traverser/Factory.js'; -export { default as ScoreFactory } from '@rdfjs/score/Factory.js'; -export { default as ClownfaceFactory } from './ClownfaceFactory.js'; -export { default as DataFactory } from './DataFactory.js'; -export { default as DatasetFactory } from './DatasetFactory.js'; +export { default as Environment } from "@rdfjs/environment/Environment.js"; +export { default as FormatsFactory } from "@rdfjs/environment/FormatsFactory.js"; +export { default as FetchFactory } from "@rdfjs/fetch-lite/Factory.js"; +export { default as NamespaceFactory } from "@rdfjs/namespace/Factory.js"; +export { default as PrefixMapFactory } from "@rdfjs/prefix-map/Factory.js"; +export { default as ScoreFactory } from "@rdfjs/score/Factory.js"; +export { default as TermMapFactory } from "@rdfjs/term-map/Factory.js"; +export { default as TermSetFactory } from "@rdfjs/term-set/Factory.js"; +export { default as TraverserFactory } from "@rdfjs/traverser/Factory.js"; +export { default as ClownfaceFactory } from "./ClownfaceFactory.js"; +export { default as DataFactory } from "./DataFactory.js"; +export { default as DatasetFactory } from "./DatasetFactory.js"; declare const defaultEnv: Environment< - ClownfaceFactory + | ClownfaceFactory | DataFactory | DatasetFactory | FetchFactory diff --git a/types/rdf-ext/lib/BlankNode.d.ts b/types/rdf-ext/lib/BlankNode.d.ts index f2f042f38ddc13..7028a167added6 100644 --- a/types/rdf-ext/lib/BlankNode.d.ts +++ b/types/rdf-ext/lib/BlankNode.d.ts @@ -1,12 +1,12 @@ import { BlankNode, Term } from "@rdfjs/types"; -import { PropType } from './_PropType.js'; +import { PropType } from "./_PropType.js"; export interface BlankNodeExt extends BlankNode { - toCanonical(): string; - toJSON(): { - value: PropType; - termType: PropType; - }; + toCanonical(): string; + toJSON(): { + value: PropType; + termType: PropType; + }; } // tslint:disable-next-line:no-unnecessary-class diff --git a/types/rdf-ext/lib/Dataset.d.ts b/types/rdf-ext/lib/Dataset.d.ts index fb48bb753d0d9c..0fc5f27bb90c9b 100644 --- a/types/rdf-ext/lib/Dataset.d.ts +++ b/types/rdf-ext/lib/Dataset.d.ts @@ -1,14 +1,14 @@ -import Dataset from '@rdfjs/dataset/DatasetCore.js'; -import { Quad, DatasetCore, Stream, Term } from '@rdfjs/types'; -import { PropType } from './_PropType.js'; -import { QuadExt } from './Quad.js'; +import Dataset from "@rdfjs/dataset/DatasetCore.js"; +import { DatasetCore, Quad, Stream, Term } from "@rdfjs/types"; +import { PropType } from "./_PropType.js"; +import { QuadExt } from "./Quad.js"; export interface DatasetExt extends Dataset { addAll(quads: Iterable): this; clone(): DatasetExt; - deleteMatches(...args: Parameters): this; + deleteMatches(...args: Parameters): this; difference(other: DatasetCore): DatasetExt; @@ -30,7 +30,7 @@ export interface DatasetExt extends Dataset { merge(other: Iterable): DatasetExt; - toJSON(): Array>>; + toJSON(): Array>>; toCanonical(): string; @@ -38,8 +38,14 @@ export interface DatasetExt extends Dataset { equals(other: DatasetCore): boolean; - reduce(callbackfn: (previousValue: QuadExt, currentValue: QuadExt, currentIndex: number, self: DatasetExt) => QuadExt, initialValue?: QuadExt): QuadExt; - reduce(callbackfn: (previousValue: U, currentValue: QuadExt, currentIndex: number, self: DatasetExt) => U, initialValue: U): U; + reduce( + callbackfn: (previousValue: QuadExt, currentValue: QuadExt, currentIndex: number, self: DatasetExt) => QuadExt, + initialValue?: QuadExt, + ): QuadExt; + reduce( + callbackfn: (previousValue: U, currentValue: QuadExt, currentIndex: number, self: DatasetExt) => U, + initialValue: U, + ): U; } // tslint:disable-next-line:no-unnecessary-class diff --git a/types/rdf-ext/lib/DefaultGraph.d.ts b/types/rdf-ext/lib/DefaultGraph.d.ts index 9c8edc94de7625..aee8d463beb247 100644 --- a/types/rdf-ext/lib/DefaultGraph.d.ts +++ b/types/rdf-ext/lib/DefaultGraph.d.ts @@ -1,12 +1,12 @@ -import { DefaultGraph } from '@rdfjs/types'; -import { PropType } from './_PropType.js'; +import { DefaultGraph } from "@rdfjs/types"; +import { PropType } from "./_PropType.js"; export interface DefaultGraphExt extends DefaultGraph { - toCanonical(): string; - toJSON(): { - value: PropType; - termType: PropType; - }; + toCanonical(): string; + toJSON(): { + value: PropType; + termType: PropType; + }; } export class DefaultGraphExt {} diff --git a/types/rdf-ext/lib/Literal.d.ts b/types/rdf-ext/lib/Literal.d.ts index 9f628c2f2fad6e..3eab931dd58711 100644 --- a/types/rdf-ext/lib/Literal.d.ts +++ b/types/rdf-ext/lib/Literal.d.ts @@ -1,17 +1,17 @@ -import { Literal, NamedNode } from '@rdfjs/types'; -import { PropType } from './_PropType.js'; +import { Literal, NamedNode } from "@rdfjs/types"; +import { PropType } from "./_PropType.js"; export interface LiteralExt extends Literal { - toCanonical(): string; - toJSON(): { - value: PropType; - termType: PropType; - language: PropType; - datatype: { - value: PropType; - termType: PropType; + toCanonical(): string; + toJSON(): { + value: PropType; + termType: PropType; + language: PropType; + datatype: { + value: PropType; + termType: PropType; + }; }; - }; } // tslint:disable-next-line:no-unnecessary-class diff --git a/types/rdf-ext/lib/NamedNode.d.ts b/types/rdf-ext/lib/NamedNode.d.ts index bfc4571f999341..1e5b3973c72eb3 100644 --- a/types/rdf-ext/lib/NamedNode.d.ts +++ b/types/rdf-ext/lib/NamedNode.d.ts @@ -1,12 +1,12 @@ import { NamedNode, Term } from "@rdfjs/types"; -import { PropType } from './_PropType.js'; +import { PropType } from "./_PropType.js"; export interface NamedNodeExt extends NamedNode { - toCanonical(): string; - toJSON(): { - value: PropType; - termType: PropType; - }; + toCanonical(): string; + toJSON(): { + value: PropType; + termType: PropType; + }; } // tslint:disable-next-line:no-unnecessary-class diff --git a/types/rdf-ext/lib/Quad.d.ts b/types/rdf-ext/lib/Quad.d.ts index 5c7321282683aa..d501490bf11bec 100644 --- a/types/rdf-ext/lib/Quad.d.ts +++ b/types/rdf-ext/lib/Quad.d.ts @@ -1,25 +1,25 @@ -import { Quad, Quad_Graph, Quad_Object, Quad_Predicate, Quad_Subject } from '@rdfjs/types'; -import { PropType } from './_PropType.js'; -import { LiteralExt } from './Literal.js'; -import { BlankNodeExt } from './BlankNode.js'; -import { NamedNodeExt } from './NamedNode.js'; -import { VariableExt } from './Variable.js'; -import { DefaultGraphExt } from './DefaultGraph.js'; +import { Quad, Quad_Graph, Quad_Object, Quad_Predicate, Quad_Subject } from "@rdfjs/types"; +import { PropType } from "./_PropType.js"; +import { BlankNodeExt } from "./BlankNode.js"; +import { DefaultGraphExt } from "./DefaultGraph.js"; +import { LiteralExt } from "./Literal.js"; +import { NamedNodeExt } from "./NamedNode.js"; +import { VariableExt } from "./Variable.js"; export interface QuadExt extends Quad { - termType: 'Quad'; - value: ''; - subject: NamedNodeExt | BlankNodeExt | VariableExt; - predicate: NamedNodeExt | VariableExt; - object: NamedNodeExt | LiteralExt | BlankNodeExt | VariableExt; - graph: DefaultGraphExt | NamedNodeExt | BlankNodeExt | VariableExt; - toCanonical(): string; - toJSON(): { - subject: ReturnType, 'toJSON'>>; - predicate: ReturnType, 'toJSON'>>; - object: ReturnType, 'toJSON'>>; - graph: ReturnType, 'toJSON'>>; - }; + termType: "Quad"; + value: ""; + subject: NamedNodeExt | BlankNodeExt | VariableExt; + predicate: NamedNodeExt | VariableExt; + object: NamedNodeExt | LiteralExt | BlankNodeExt | VariableExt; + graph: DefaultGraphExt | NamedNodeExt | BlankNodeExt | VariableExt; + toCanonical(): string; + toJSON(): { + subject: ReturnType, "toJSON">>; + predicate: ReturnType, "toJSON">>; + object: ReturnType, "toJSON">>; + graph: ReturnType, "toJSON">>; + }; } // tslint:disable-next-line:no-unnecessary-class diff --git a/types/rdf-ext/lib/Variable.d.ts b/types/rdf-ext/lib/Variable.d.ts index 2b618feb853aae..fe8b5b45f87aaa 100644 --- a/types/rdf-ext/lib/Variable.d.ts +++ b/types/rdf-ext/lib/Variable.d.ts @@ -1,12 +1,12 @@ -import { Variable } from '@rdfjs/types'; -import { PropType } from './_PropType.js'; +import { Variable } from "@rdfjs/types"; +import { PropType } from "./_PropType.js"; export interface VariableExt extends Variable { - toCanonical(): string; - toJSON(): { - value: PropType; - termType: PropType; - }; + toCanonical(): string; + toJSON(): { + value: PropType; + termType: PropType; + }; } // tslint:disable-next-line:no-unnecessary-class diff --git a/types/rdf-ext/rdf-ext-tests.ts b/types/rdf-ext/rdf-ext-tests.ts index 786c62cfd9a38e..d8461be00fba7f 100644 --- a/types/rdf-ext/rdf-ext-tests.ts +++ b/types/rdf-ext/rdf-ext-tests.ts @@ -1,20 +1,32 @@ -import rdf from 'rdf-ext'; -import { Literal, Quad, NamedNode, Stream, Sink, DatasetCore, DatasetCoreFactory, BlankNode, Variable, DefaultGraph, Term } from '@rdfjs/types'; -import QuadExt from 'rdf-ext/lib/Quad'; -import BlankNodeExt from 'rdf-ext/lib/BlankNode'; -import DefaultGraphExt from 'rdf-ext/lib/DefaultGraph'; -import LiteralExt from 'rdf-ext/lib/Literal'; -import NamedNodeExt from 'rdf-ext/lib/NamedNode'; -import VariableExt from 'rdf-ext/lib/Variable'; -import * as clownface from 'clownface'; -import { DatasetExt } from 'rdf-ext/lib/Dataset'; -import DataFactory, { DataFactoryExt } from 'rdf-ext/DataFactory'; -import Traverser from '@rdfjs/traverser/Traverser'; -import { EventEmitter } from 'events'; -import { Readable } from 'stream'; -import Environment, { Environment as IEnvironment } from '@rdfjs/environment/Environment'; -import ClownfaceFactory from 'rdf-ext/ClownfaceFactory'; -import DatasetFactoryExt, { DatasetFactory } from 'rdf-ext/DatasetFactory'; +import Environment, { Environment as IEnvironment } from "@rdfjs/environment/Environment"; +import Traverser from "@rdfjs/traverser/Traverser"; +import { + BlankNode, + DatasetCore, + DatasetCoreFactory, + DefaultGraph, + Literal, + NamedNode, + Quad, + Sink, + Stream, + Term, + Variable, +} from "@rdfjs/types"; +import * as clownface from "clownface"; +import { EventEmitter } from "events"; +import rdf from "rdf-ext"; +import ClownfaceFactory from "rdf-ext/ClownfaceFactory"; +import DataFactory, { DataFactoryExt } from "rdf-ext/DataFactory"; +import DatasetFactoryExt, { DatasetFactory } from "rdf-ext/DatasetFactory"; +import BlankNodeExt from "rdf-ext/lib/BlankNode"; +import { DatasetExt } from "rdf-ext/lib/Dataset"; +import DefaultGraphExt from "rdf-ext/lib/DefaultGraph"; +import LiteralExt from "rdf-ext/lib/Literal"; +import NamedNodeExt from "rdf-ext/lib/NamedNode"; +import QuadExt from "rdf-ext/lib/Quad"; +import VariableExt from "rdf-ext/lib/Variable"; +import { Readable } from "stream"; function rdfExt_factory() { const baseFactory: DatasetCoreFactory = rdf; @@ -25,56 +37,56 @@ function rdfExt_factory() { } function NamedNode_toCanonical(): string { - const iri = 'http://example.org'; + const iri = "http://example.org"; const term = rdf.namedNode(iri); return term.toCanonical(); } function NamedNode_toJSON(): boolean { - const iri = 'http://example.org'; + const iri = "http://example.org"; const term = rdf.namedNode(iri); const json = term.toJSON(); - return json.value === iri && json.termType === 'NamedNode'; + return json.value === iri && json.termType === "NamedNode"; } function BlankNode_toCanonical(): string { - const iri = 'http://example.org'; + const iri = "http://example.org"; const term = rdf.blankNode(iri); return term.toCanonical(); } function BlankNode_toJSON(): boolean { - const term = rdf.blankNode('b1'); + const term = rdf.blankNode("b1"); const json = term.toJSON(); - return json.value === 'b1' && json.termType === 'BlankNode'; + return json.value === "b1" && json.termType === "BlankNode"; } function Literal_toCanonical(): string { - const term = rdf.literal('foobar'); + const term = rdf.literal("foobar"); return term.toCanonical(); } function Literal_toJSON(): boolean { - const term = rdf.literal('foobar'); + const term = rdf.literal("foobar"); const json = term.toJSON(); - return json.value === 'b1' && json.termType === 'Literal'; + return json.value === "b1" && json.termType === "Literal"; } function Literal_withDatatype(): Literal { - return rdf.literal('foobar', rdf.namedNode('xsd:int')); + return rdf.literal("foobar", rdf.namedNode("xsd:int")); } function Literal_withLanguage(): Literal { - return rdf.literal('foobar', 'de'); + return rdf.literal("foobar", "de"); } function DefaultGraph_toCanonical(): string { @@ -88,28 +100,28 @@ function DefaultGraph_toJSON(): boolean { const json = term.toJSON(); - return json.value === '' && json.termType === 'DefaultGraph'; + return json.value === "" && json.termType === "DefaultGraph"; } function Variable_toCanonical(): string { - const term = rdf.variable('s'); + const term = rdf.variable("s"); return term.toCanonical(); } function Variable_toJSON(): boolean { - const term = rdf.variable('p'); + const term = rdf.variable("p"); const json = term.toJSON(); - return json.value === 'p' && json.termType === 'Variable'; + return json.value === "p" && json.termType === "Variable"; } function Quad_toCanonical(): string { const quad = rdf.quad( - rdf.namedNode('urn:foo:bar'), - rdf.namedNode('predicate'), - rdf.namedNode('object') + rdf.namedNode("urn:foo:bar"), + rdf.namedNode("predicate"), + rdf.namedNode("object"), ); return quad.toCanonical(); @@ -117,57 +129,57 @@ function Quad_toCanonical(): string { function Quad_subject(): boolean { const quad = rdf.quad( - rdf.namedNode('urn:foo:bar'), - rdf.namedNode('predicate'), - rdf.namedNode('object') + rdf.namedNode("urn:foo:bar"), + rdf.namedNode("predicate"), + rdf.namedNode("object"), ); - return quad.subject.equals(rdf.namedNode('urn:foo:bar')); + return quad.subject.equals(rdf.namedNode("urn:foo:bar")); } function Quad_predicate(): boolean { const quad = rdf.quad( - rdf.namedNode('urn:foo:bar'), - rdf.namedNode('predicate'), - rdf.namedNode('object') + rdf.namedNode("urn:foo:bar"), + rdf.namedNode("predicate"), + rdf.namedNode("object"), ); - return quad.predicate.equals(rdf.namedNode('predicate')); + return quad.predicate.equals(rdf.namedNode("predicate")); } function Quad_object(): boolean { const quad = rdf.quad( - rdf.namedNode('urn:foo:bar'), - rdf.namedNode('predicate'), - rdf.namedNode('object') + rdf.namedNode("urn:foo:bar"), + rdf.namedNode("predicate"), + rdf.namedNode("object"), ); - return quad.object.equals(rdf.namedNode('object')); + return quad.object.equals(rdf.namedNode("object")); } function Quad_withGraph(): Quad { return rdf.quad( - rdf.namedNode('urn:foo:bar'), - rdf.namedNode('predicate'), - rdf.namedNode('object'), - rdf.namedNode('G') + rdf.namedNode("urn:foo:bar"), + rdf.namedNode("predicate"), + rdf.namedNode("object"), + rdf.namedNode("G"), ); } function Quad_withLiteralObject(): Quad { return rdf.quad( - rdf.namedNode('urn:foo:bar'), - rdf.namedNode('predicate'), - rdf.literal('object'), - rdf.namedNode('G') + rdf.namedNode("urn:foo:bar"), + rdf.namedNode("predicate"), + rdf.literal("object"), + rdf.namedNode("G"), ); } function Quad_withBlankSubject(): Quad { return rdf.quad( - rdf.blankNode('foo'), - rdf.namedNode('predicate'), - rdf.literal('object') + rdf.blankNode("foo"), + rdf.namedNode("predicate"), + rdf.literal("object"), ); } @@ -209,16 +221,16 @@ function instance_Triple_fromBaseTerms(): Quad { function Quad_toJSON(): boolean { const quad = rdf.quad( - rdf.blankNode('foo'), - rdf.namedNode('predicate'), - rdf.literal('object') + rdf.blankNode("foo"), + rdf.namedNode("predicate"), + rdf.literal("object"), ); const json = quad.toJSON(); - return json.subject.termType === 'BlankNode' - && json.predicate.value === 'predicate' - && json.object.termType === 'Literal' + return json.subject.termType === "BlankNode" + && json.predicate.value === "predicate" + && json.object.termType === "Literal" && json.graph !== null; } @@ -251,24 +263,35 @@ function test_reduce() { const dataset: DatasetExt = {}; // $ExpectType QuadExt - const reduced = dataset.reduce((previousValue: QuadExt, currentValue: QuadExt, currentIndex: number, self: DatasetExt) => { - return previousValue; - }); + const reduced = dataset.reduce( + (previousValue: QuadExt, currentValue: QuadExt, currentIndex: number, self: DatasetExt) => { + return previousValue; + }, + ); // $ExpectType QuadExt - const reducedWithInitial = dataset.reduce((previousValue: QuadExt, currentValue: QuadExt, currentIndex: number, self: DatasetExt) => { - return previousValue; - }, quad); + const reducedWithInitial = dataset.reduce( + (previousValue: QuadExt, currentValue: QuadExt, currentIndex: number, self: DatasetExt) => { + return previousValue; + }, + quad, + ); // $ExpectType string - const reducedToOther = dataset.reduce((previousValue: string, currentValue: QuadExt, currentIndex: number, self: DatasetExt) => { - return previousValue; - }, ''); + const reducedToOther = dataset.reduce( + (previousValue: string, currentValue: QuadExt, currentIndex: number, self: DatasetExt) => { + return previousValue; + }, + "", + ); // $ExpectType number - const reducedToExplicit = dataset.reduce((previousValue: number, currentValue: QuadExt, currentIndex: number, self: DatasetExt) => { - return previousValue; - }, 0); + const reducedToExplicit = dataset.reduce( + (previousValue: number, currentValue: QuadExt, currentIndex: number, self: DatasetExt) => { + return previousValue; + }, + 0, + ); } function dataset_merge_array(): DatasetExt { @@ -294,16 +317,18 @@ function dataset_toCanoncal(): string { function dataset_initializeWithQuads(): DatasetExt { const quad1 = rdf.quad( - rdf.namedNode('http://example.org/subject'), - rdf.namedNode('http://example.org/predicate'), - rdf.literal('object1'), - rdf.namedNode('http://example.org/graph')); + rdf.namedNode("http://example.org/subject"), + rdf.namedNode("http://example.org/predicate"), + rdf.literal("object1"), + rdf.namedNode("http://example.org/graph"), + ); const quad2 = rdf.quad( - rdf.namedNode('http://example.org/subject'), - rdf.namedNode('http://example.org/predicate'), - rdf.literal('object2'), - rdf.namedNode('http://example.org/graph')); + rdf.namedNode("http://example.org/subject"), + rdf.namedNode("http://example.org/predicate"), + rdf.literal("object2"), + rdf.namedNode("http://example.org/graph"), + ); return rdf.dataset([quad1, quad2]); } @@ -311,19 +336,20 @@ function dataset_initializeWithQuads(): DatasetExt { function Dataset_toJSON() { const dataset = rdf.dataset([ rdf.quad( - rdf.namedNode('http://example.org/subject'), - rdf.namedNode('http://example.org/predicate'), - rdf.literal('object1'), - rdf.namedNode('http://example.org/graph')) + rdf.namedNode("http://example.org/subject"), + rdf.namedNode("http://example.org/predicate"), + rdf.literal("object1"), + rdf.namedNode("http://example.org/graph"), + ), ]); const json = dataset.toJSON(); json.forEach(quad => { - quad.subject.termType === 'NamedNode' - && quad.predicate.value === 'predicate' - && quad.object.termType === 'Literal' - && quad.graph !== null; + quad.subject.termType === "NamedNode" + && quad.predicate.value === "predicate" + && quad.object.termType === "Literal" + && quad.graph !== null; }); } @@ -336,16 +362,16 @@ async function dataset_parserImport() { } function constructedTerms() { - const blankNode: BlankNode = new BlankNodeExt('b1'); + const blankNode: BlankNode = new BlankNodeExt("b1"); - const namedNode: NamedNode = new NamedNodeExt('foo:bar:baz'); + const namedNode: NamedNode = new NamedNodeExt("foo:bar:baz"); let literal: Literal; - literal = new LiteralExt('foo'); - literal = new LiteralExt('foo', 'bar'); - literal = new LiteralExt('foo', null, namedNode); + literal = new LiteralExt("foo"); + literal = new LiteralExt("foo", "bar"); + literal = new LiteralExt("foo", null, namedNode); - const variable: Variable = new VariableExt('foo'); + const variable: Variable = new VariableExt("foo"); let quad: Quad; quad = new QuadExt(blankNode, namedNode, literal); @@ -398,11 +424,11 @@ function dataset_toStream() { } function testDataFactory() { - const namedNode = rdf.namedNode('foo'); // $ExpectType NamedNodeExt<"foo"> - const literal = rdf.literal('foo'); // $ExpectType LiteralExt - const variable = rdf.variable('foo'); // $ExpectType VariableExt - let blankNode = rdf.blankNode(); // $ExpectType BlankNodeExt - blankNode = rdf.blankNode('b1'); + const namedNode = rdf.namedNode("foo"); // $ExpectType NamedNodeExt<"foo"> + const literal = rdf.literal("foo"); // $ExpectType LiteralExt + const variable = rdf.variable("foo"); // $ExpectType VariableExt + let blankNode = rdf.blankNode(); // $ExpectType BlankNodeExt + blankNode = rdf.blankNode("b1"); const quad = rdf.quad(blankNode, namedNode, literal); // $ExpectType QuadExt const originalNamedNode: NamedNode = {}; @@ -415,14 +441,14 @@ function testDatasetFactory() { const emptyDataset: DatasetExt = rdf.dataset(); const quad: Quad = {}; - const datasetWithQuads: DatasetExt = rdf.dataset([ quad, quad, quad ]); + const datasetWithQuads: DatasetExt = rdf.dataset([quad, quad, quad]); const graph: NamedNode | DefaultGraph = {}; - const datasetWithQuadsInGraph: DatasetExt = rdf.dataset([ quad, quad, quad ], graph); + const datasetWithQuadsInGraph: DatasetExt = rdf.dataset([quad, quad, quad], graph); } type DatasetFoo = DatasetCore & { - foo: 'bar' + foo: "bar"; }; function testClownface() { @@ -433,10 +459,10 @@ function testClownface() { const anyPointerExistingDataset = rdf.clownface({ dataset }); anyPointerExistingDataset.dataset; // $ExpectType DatasetFoo - const namedNode = rdf.clownface({ term: rdf.namedNode('foo') }); + const namedNode = rdf.clownface({ term: rdf.namedNode("foo") }); namedNode.dataset; // $ExpectType DatasetExt - const namedNodes = rdf.clownface({ term: [rdf.namedNode('foo'), rdf.namedNode('bar')] }); + const namedNodes = rdf.clownface({ term: [rdf.namedNode("foo"), rdf.namedNode("bar")] }); namedNodes.dataset; // $ExpectType DatasetExt const other: clownface.MultiPointer = {}; @@ -446,7 +472,7 @@ function testClownface() { async function testFetch() { const formats: any = {}; - const res = await rdf.fetch('foo'); + const res = await rdf.fetch("foo"); const stream: Stream = await res.quadStream(); const dataset: DatasetCore = await res.dataset(); } @@ -456,8 +482,8 @@ function testFormats() { } function testNamespace() { - const schema = rdf.namespace('http://schema.org/'); - const typedNs = rdf.namespace<'foo' | 'bar'>('http://schema.org/'); + const schema = rdf.namespace("http://schema.org/"); + const typedNs = rdf.namespace<"foo" | "bar">("http://schema.org/"); const { foo, bar } = typedNs; // @ts-expect-error @@ -497,7 +523,7 @@ function testScore() { sort, sortObjects, sum, - type + type, } = rdf.score; } diff --git a/types/rdf-loader-code/arguments.d.ts b/types/rdf-loader-code/arguments.d.ts index 479da188f95fa8..c650fd94cd58ad 100644 --- a/types/rdf-loader-code/arguments.d.ts +++ b/types/rdf-loader-code/arguments.d.ts @@ -1,6 +1,6 @@ -import { Loader } from 'rdf-loaders-registry'; -import { NamedNode } from 'rdf-js'; -import LoaderRegistry = require('rdf-loaders-registry'); +import { NamedNode } from "rdf-js"; +import { Loader } from "rdf-loaders-registry"; +import LoaderRegistry = require("rdf-loaders-registry"); interface Options { property?: NamedNode | undefined; diff --git a/types/rdf-loader-code/ecmaScript.d.ts b/types/rdf-loader-code/ecmaScript.d.ts index 34bdce0aaa1c44..b148992fa0f222 100644 --- a/types/rdf-loader-code/ecmaScript.d.ts +++ b/types/rdf-loader-code/ecmaScript.d.ts @@ -1,5 +1,5 @@ -import { Loader } from 'rdf-loaders-registry'; -import LoaderRegistry = require('rdf-loaders-registry'); +import { Loader } from "rdf-loaders-registry"; +import LoaderRegistry = require("rdf-loaders-registry"); interface Options { basePath?: string | undefined; diff --git a/types/rdf-loader-code/ecmaScriptLiteral.d.ts b/types/rdf-loader-code/ecmaScriptLiteral.d.ts index f3bc49b5b7bc95..778c9a1b3b79db 100644 --- a/types/rdf-loader-code/ecmaScriptLiteral.d.ts +++ b/types/rdf-loader-code/ecmaScriptLiteral.d.ts @@ -1,5 +1,5 @@ -import { Loader } from 'rdf-loaders-registry'; -import LoaderRegistry = require('rdf-loaders-registry'); +import { Loader } from "rdf-loaders-registry"; +import LoaderRegistry = require("rdf-loaders-registry"); interface Options { variables?: Map | undefined; diff --git a/types/rdf-loader-code/ecmaScriptModule.d.ts b/types/rdf-loader-code/ecmaScriptModule.d.ts index 394853fea0d435..a1515c3550a718 100644 --- a/types/rdf-loader-code/ecmaScriptModule.d.ts +++ b/types/rdf-loader-code/ecmaScriptModule.d.ts @@ -1,5 +1,5 @@ -import { Loader } from 'rdf-loaders-registry'; -import LoaderRegistry = require('rdf-loaders-registry'); +import { Loader } from "rdf-loaders-registry"; +import LoaderRegistry = require("rdf-loaders-registry"); interface Options { basePath?: string | undefined; diff --git a/types/rdf-loader-code/rdf-loader-code-tests.ts b/types/rdf-loader-code/rdf-loader-code-tests.ts index 42f609a006fb1f..19d0a632d9104a 100644 --- a/types/rdf-loader-code/rdf-loader-code-tests.ts +++ b/types/rdf-loader-code/rdf-loader-code-tests.ts @@ -1,51 +1,54 @@ -import { GraphPointer } from 'clownface'; -import LoaderRegistry = require('rdf-loaders-registry'); -import ArgumentsLoader = require('rdf-loader-code/arguments'); -import EcmaScriptLoader = require('rdf-loader-code/ecmaScript'); -import EcmaScriptModuleLoader = require('rdf-loader-code/ecmaScriptModule'); -import EcmaScriptLiteralLoader = require('rdf-loader-code/ecmaScriptLiteral'); -import { Arguments } from 'rdf-loader-code/arguments'; -import { NamedNode } from 'rdf-js'; +import { GraphPointer } from "clownface"; +import LoaderRegistry = require("rdf-loaders-registry"); +import ArgumentsLoader = require("rdf-loader-code/arguments"); +import EcmaScriptLoader = require("rdf-loader-code/ecmaScript"); +import EcmaScriptModuleLoader = require("rdf-loader-code/ecmaScriptModule"); +import EcmaScriptLiteralLoader = require("rdf-loader-code/ecmaScriptLiteral"); +import { NamedNode } from "rdf-js"; +import { Arguments } from "rdf-loader-code/arguments"; const node: GraphPointer = {}; const registry = new LoaderRegistry(); const variables = new Map(); -variables.set('name', 'World'); +variables.set("name", "World"); async function ecmaScript() { - EcmaScriptLoader.register(registry); + EcmaScriptLoader.register(registry); - registry.load(node, { - basePath: '/temp', - }); + registry.load(node, { + basePath: "/temp", + }); } async function ecmaScriptModules() { - EcmaScriptLoader.register(registry); + EcmaScriptLoader.register(registry); - registry.load(node, { - basePath: '/temp', - }); + registry.load(node, { + basePath: "/temp", + }); } async function ecmaScriptLiteral() { - EcmaScriptLiteralLoader.register(registry); + EcmaScriptLiteralLoader.register(registry); - const literal: string | undefined = await registry.load(node, { - variables, - context: {} - }); + const literal: string | undefined = await registry.load(node, { + variables, + context: {}, + }); } async function argumentsLoader() { - ArgumentsLoader.register(registry); - - const property: NamedNode = {}; - const args: unknown[] | [Record] | undefined = await registry.load(node, { - basePath: '/temp', - context: {}, - variables, - property - }); + ArgumentsLoader.register(registry); + + const property: NamedNode = {}; + const args: unknown[] | [Record] | undefined = await registry.load( + node, + { + basePath: "/temp", + context: {}, + variables, + property, + }, + ); } diff --git a/types/rdf-loaders-registry/index.d.ts b/types/rdf-loaders-registry/index.d.ts index c186f8a65b187e..f8e46a9cd3a98f 100644 --- a/types/rdf-loaders-registry/index.d.ts +++ b/types/rdf-loaders-registry/index.d.ts @@ -4,8 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 3.4 -import { NamedNode } from 'rdf-js'; -import { GraphPointer } from 'clownface'; +import { GraphPointer } from "clownface"; +import { NamedNode } from "rdf-js"; declare namespace LoaderRegistry { type LoadOptions = {}> = T & { @@ -23,9 +23,11 @@ declare namespace LoaderRegistry { T extends any = unknown, // eslint-disable-next-line @definitelytyped/no-unnecessary-generics TLoader extends Loader = Loader, - TOptions extends Record = TLoader extends Loader ? U : {}>( - node: GraphPointer, - options?: TOptions): Promise | T | undefined; + TOptions extends Record = TLoader extends Loader ? U : {}, + >( + node: GraphPointer, + options?: TOptions, + ): Promise | T | undefined; loader(node: GraphPointer): Loader | null; } } diff --git a/types/rdf-loaders-registry/rdf-loaders-registry-tests.ts b/types/rdf-loaders-registry/rdf-loaders-registry-tests.ts index e1508a1df69195..0b0a33ef3f8253 100644 --- a/types/rdf-loaders-registry/rdf-loaders-registry-tests.ts +++ b/types/rdf-loaders-registry/rdf-loaders-registry-tests.ts @@ -1,53 +1,53 @@ -import { NamedNode } from 'rdf-js'; -import { GraphPointer } from 'clownface'; -import LoaderRegistry = require('rdf-loaders-registry'); +import { GraphPointer } from "clownface"; +import { NamedNode } from "rdf-js"; +import LoaderRegistry = require("rdf-loaders-registry"); const registry: LoaderRegistry = new LoaderRegistry(); const node: GraphPointer = {}; type IntegerLoader = LoaderRegistry.Loader; interface Nebula { - label: string; - distance: number; + label: string; + distance: number; } type NebulaLoader = LoaderRegistry.Loader; async function basicLoading() { - const integer: NamedNode = {}; - const nebula: NamedNode = {}; + const integer: NamedNode = {}; + const nebula: NamedNode = {}; - const integerLoader: IntegerLoader = (numberNode: GraphPointer): number => { - return 0; - }; + const integerLoader: IntegerLoader = (numberNode: GraphPointer): number => { + return 0; + }; - const nebulaLoader: NebulaLoader = async (term: GraphPointer, { loaderRegistry, bar }): Promise => { - return { - label: bar, - distance: await loaderRegistry.load(term) || 0 + const nebulaLoader: NebulaLoader = async (term: GraphPointer, { loaderRegistry, bar }): Promise => { + return { + label: bar, + distance: await loaderRegistry.load(term) || 0, + }; }; - }; - registry.registerLiteralLoader(integer, integerLoader); - registry.registerNodeLoader(nebula, nebulaLoader); + registry.registerLiteralLoader(integer, integerLoader); + registry.registerNodeLoader(nebula, nebulaLoader); - const result: Nebula | undefined = await registry.load(node); + const result: Nebula | undefined = await registry.load(node); } async function loadWithSpecificLoaderInferOptionType() { - const result = registry.load(node, { bar: 'baz' }); - if (result) { - const nebula: Nebula = await result; - } - - // @ts-expect-error - await registry.load(node, {}); - // @ts-expect-error - await registry.load(node, { bar: 5 }); + const result = registry.load(node, { bar: "baz" }); + if (result) { + const nebula: Nebula = await result; + } + + // @ts-expect-error + await registry.load(node, {}); + // @ts-expect-error + await registry.load(node, { bar: 5 }); } async function wrongLoaderForType() { - // @ts-expect-error - await registry.load(node); + // @ts-expect-error + await registry.load(node); } const nebulaLoader: NebulaLoader | null = registry.loader(node); diff --git a/types/rdf-store-fs/FlatMultiFileStore.d.ts b/types/rdf-store-fs/FlatMultiFileStore.d.ts index dca9890441156b..f34543419c06e2 100644 --- a/types/rdf-store-fs/FlatMultiFileStore.d.ts +++ b/types/rdf-store-fs/FlatMultiFileStore.d.ts @@ -1,8 +1,8 @@ -import { DataFactory } from '@rdfjs/types'; -import MultiFileStore = require('./MultiFileStore'); +import { DataFactory } from "@rdfjs/types"; +import MultiFileStore = require("./MultiFileStore"); declare class FlatMultiFileStore extends MultiFileStore { - constructor(params: { baseIRI: string, factory?: DataFactory, path: string, extension?: string }); + constructor(params: { baseIRI: string; factory?: DataFactory; path: string; extension?: string }); } export = FlatMultiFileStore; diff --git a/types/rdf-store-fs/MultiFileStore.d.ts b/types/rdf-store-fs/MultiFileStore.d.ts index 46e90eaa0966bd..003a0dc8b4b36a 100644 --- a/types/rdf-store-fs/MultiFileStore.d.ts +++ b/types/rdf-store-fs/MultiFileStore.d.ts @@ -1,20 +1,25 @@ -import { EventEmitter } from 'events'; -import { Term, DataFactory, Stream, Quad_Graph } from '@rdfjs/types'; -import FlatFilenameResolver = require('./lib/FlatFilenameResolver'); -import MultiFileDatasetStore = require('./lib/MultiFileDatasetStore'); +import { DataFactory, Quad_Graph, Stream, Term } from "@rdfjs/types"; +import { EventEmitter } from "events"; +import FlatFilenameResolver = require("./lib/FlatFilenameResolver"); +import MultiFileDatasetStore = require("./lib/MultiFileDatasetStore"); declare class MultiFileStore { datastore: MultiFileDatasetStore; constructor(arg: { factory?: DataFactory; resolver: FlatFilenameResolver }); - match(subject?: Term | null, predicate?: Term| null, object?: Term | null, graph?: Term | null): Stream; + match(subject?: Term | null, predicate?: Term | null, object?: Term | null, graph?: Term | null): Stream; import(stream: Stream, opt?: { truncate?: boolean }): EventEmitter; remove(stream: Stream): EventEmitter; - removeMatches(subject?: Term | null, predicate?: Term| null, object?: Term | null, graph?: Term | null): EventEmitter; + removeMatches( + subject?: Term | null, + predicate?: Term | null, + object?: Term | null, + graph?: Term | null, + ): EventEmitter; deleteGraph(graph: Quad_Graph): EventEmitter; } diff --git a/types/rdf-store-fs/index.d.ts b/types/rdf-store-fs/index.d.ts index 50324b8c66118f..3baccf6ff0cd44 100644 --- a/types/rdf-store-fs/index.d.ts +++ b/types/rdf-store-fs/index.d.ts @@ -3,12 +3,12 @@ // Definitions by: tpluscode // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import FlatMultiFileStore = require('./FlatMultiFileStore'); -import MultiFileStore = require('./MultiFileStore'); +import FlatMultiFileStore = require("./FlatMultiFileStore"); +import MultiFileStore = require("./MultiFileStore"); declare const Export: { - FlatMultiFileStore: typeof FlatMultiFileStore, - MultiFileStore: typeof MultiFileStore + FlatMultiFileStore: typeof FlatMultiFileStore; + MultiFileStore: typeof MultiFileStore; }; export = Export; diff --git a/types/rdf-store-fs/lib/FlatFilenameResolver.d.ts b/types/rdf-store-fs/lib/FlatFilenameResolver.d.ts index 4ecbec3420379f..4b5e631686f2b1 100644 --- a/types/rdf-store-fs/lib/FlatFilenameResolver.d.ts +++ b/types/rdf-store-fs/lib/FlatFilenameResolver.d.ts @@ -1,7 +1,7 @@ -import { Quad_Graph, DataFactory } from '@rdfjs/types'; +import { DataFactory, Quad_Graph } from "@rdfjs/types"; declare class FlatFilenameResolver { - constructor(params: { baseIRI: string; factory?: DataFactory; path: string, extension?: string }); + constructor(params: { baseIRI: string; factory?: DataFactory; path: string; extension?: string }); graphs(graph?: Quad_Graph): Promise>; resolve(graph: Quad_Graph): Promise; } diff --git a/types/rdf-store-fs/lib/MultiFileDatasetStore.d.ts b/types/rdf-store-fs/lib/MultiFileDatasetStore.d.ts index 8709b06b90f4c4..55ff8cff26ac45 100644 --- a/types/rdf-store-fs/lib/MultiFileDatasetStore.d.ts +++ b/types/rdf-store-fs/lib/MultiFileDatasetStore.d.ts @@ -1,9 +1,9 @@ -import { Quad_Graph, DataFactory, DatasetCore } from '@rdfjs/types'; -import FlatFilenameResolver = require('./FlatFilenameResolver'); +import { DataFactory, DatasetCore, Quad_Graph } from "@rdfjs/types"; +import FlatFilenameResolver = require("./FlatFilenameResolver"); declare class MultiFileDatasetStore { - constructor(params: {factory?: DataFactory; resolver: FlatFilenameResolver}); - graphs(): ReturnType; + constructor(params: { factory?: DataFactory; resolver: FlatFilenameResolver }); + graphs(): ReturnType; read(graph: Quad_Graph): Promise; write(graph: Quad_Graph, dataset: DatasetCore): Promise; } diff --git a/types/rdf-store-fs/rdf-store-fs-tests.ts b/types/rdf-store-fs/rdf-store-fs-tests.ts index 164ba1dd7badd7..02ab43cfb5acb8 100644 --- a/types/rdf-store-fs/rdf-store-fs-tests.ts +++ b/types/rdf-store-fs/rdf-store-fs-tests.ts @@ -1,34 +1,34 @@ -import { Term, Stream, Quad_Graph } from '@rdfjs/types'; -import $rdf from 'rdf-ext'; -import StoreFs = require('rdf-store-fs'); -import FlatFilenameResolver = require('rdf-store-fs/lib/FlatFilenameResolver.js'); +import { Quad_Graph, Stream, Term } from "@rdfjs/types"; +import $rdf from "rdf-ext"; +import StoreFs = require("rdf-store-fs"); +import FlatFilenameResolver = require("rdf-store-fs/lib/FlatFilenameResolver.js"); let flatStore = new StoreFs.FlatMultiFileStore({ - path: '/', - baseIRI: 'http://example.com/' + path: "/", + baseIRI: "http://example.com/", }); flatStore = new StoreFs.FlatMultiFileStore({ - path: '/', - baseIRI: 'http://example.com/', - extension: 'n3', - factory: $rdf + path: "/", + baseIRI: "http://example.com/", + extension: "n3", + factory: $rdf, }); let resolver = new FlatFilenameResolver({ - path: '/', - baseIRI: 'http://example.com/', + path: "/", + baseIRI: "http://example.com/", }); resolver = new FlatFilenameResolver({ - path: '/', - baseIRI: 'http://example.com/', - extension: 'n3', - factory: $rdf + path: "/", + baseIRI: "http://example.com/", + extension: "n3", + factory: $rdf, }); let multiStore = new StoreFs.MultiFileStore({ - resolver + resolver, }); multiStore = new StoreFs.MultiFileStore({ resolver, factory: $rdf }); diff --git a/types/rdf-transform-triple-to-quad/index.d.ts b/types/rdf-transform-triple-to-quad/index.d.ts index 47b64c38c6908c..1ad0e8d9fcfce4 100644 --- a/types/rdf-transform-triple-to-quad/index.d.ts +++ b/types/rdf-transform-triple-to-quad/index.d.ts @@ -3,8 +3,8 @@ // Definitions by: tpluscode // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { Transform } from 'readable-stream'; -import { Quad_Graph, DataFactory, BaseQuad, Quad, Stream } from 'rdf-js'; +import { BaseQuad, DataFactory, Quad, Quad_Graph, Stream } from "rdf-js"; +import { Transform } from "readable-stream"; export interface TripleToQuadTransformOptions { factory: DataFactory; diff --git a/types/rdf-transform-triple-to-quad/rdf-transform-triple-to-quad-tests.ts b/types/rdf-transform-triple-to-quad/rdf-transform-triple-to-quad-tests.ts index d895d3a3726248..1ef9e713c93993 100644 --- a/types/rdf-transform-triple-to-quad/rdf-transform-triple-to-quad-tests.ts +++ b/types/rdf-transform-triple-to-quad/rdf-transform-triple-to-quad-tests.ts @@ -1,7 +1,7 @@ -import TripleToQuadTransform from 'rdf-transform-triple-to-quad'; -import { Stream, NamedNode, DataFactory, Sink } from 'rdf-js'; -import { Readable } from 'stream'; -import { EventEmitter } from 'events'; +import { EventEmitter } from "events"; +import { DataFactory, NamedNode, Sink, Stream } from "rdf-js"; +import TripleToQuadTransform from "rdf-transform-triple-to-quad"; +import { Readable } from "stream"; const inputStream: Stream & Readable = {}; const graph: NamedNode = {}; @@ -10,6 +10,6 @@ const sink: Sink = {}; const transformedStream1: TripleToQuadTransform = inputStream.pipe(new TripleToQuadTransform()); const transformedStream2: Stream = inputStream.pipe(new TripleToQuadTransform(graph)); -const transformedStreamGraphString: Stream = inputStream.pipe(new TripleToQuadTransform('http://graph.name/')); +const transformedStreamGraphString: Stream = inputStream.pipe(new TripleToQuadTransform("http://graph.name/")); const transformedStream3: Stream = inputStream.pipe(new TripleToQuadTransform(graph, { factory })); const emitter: EventEmitter = sink.import(transformedStream1); diff --git a/types/rdf-utils-dataset/index.d.ts b/types/rdf-utils-dataset/index.d.ts index 3253b00b95e8f7..019add593c2870 100644 --- a/types/rdf-utils-dataset/index.d.ts +++ b/types/rdf-utils-dataset/index.d.ts @@ -3,10 +3,7 @@ // Definitions by: Chris Wilkinson // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import resource from './resource'; -import resourcesToGraph from './resourcesToGraph'; +import resource from "./resource"; +import resourcesToGraph from "./resourcesToGraph"; -export { - resource, - resourcesToGraph -}; +export { resource, resourcesToGraph }; diff --git a/types/rdf-utils-dataset/rdf-utils-dataset-tests.ts b/types/rdf-utils-dataset/rdf-utils-dataset-tests.ts index c05cb1861d5dba..1c652b59cf863a 100644 --- a/types/rdf-utils-dataset/rdf-utils-dataset-tests.ts +++ b/types/rdf-utils-dataset/rdf-utils-dataset-tests.ts @@ -1,13 +1,12 @@ -import { resource, resourcesToGraph } from 'rdf-utils-dataset'; -import { DatasetIndexed } from 'rdf-dataset-indexed/dataset'; -import DatasetExt from 'rdf-ext/lib/Dataset'; -import QuadExt from 'rdf-ext/lib/Quad'; -import { BaseQuad, DataFactory, DatasetCore, DatasetCoreFactory, Quad, Term } from '@rdfjs/types'; - -type Factory, -> = DataFactory & DatasetCoreFactory; +import { BaseQuad, DataFactory, DatasetCore, DatasetCoreFactory, Quad, Term } from "@rdfjs/types"; +import { DatasetIndexed } from "rdf-dataset-indexed/dataset"; +import DatasetExt from "rdf-ext/lib/Dataset"; +import QuadExt from "rdf-ext/lib/Quad"; +import { resource, resourcesToGraph } from "rdf-utils-dataset"; + +type Factory> = + & DataFactory + & DatasetCoreFactory; const dataset1: DatasetIndexed = {} as any; const dataset2: DatasetIndexed = {} as any; diff --git a/types/rdf-utils-dataset/resource.d.ts b/types/rdf-utils-dataset/resource.d.ts index 015d041bc3c0f3..6dee638634e8de 100644 --- a/types/rdf-utils-dataset/resource.d.ts +++ b/types/rdf-utils-dataset/resource.d.ts @@ -1,3 +1,3 @@ -import { DatasetCore, BaseQuad, Term } from '@rdfjs/types'; +import { BaseQuad, DatasetCore, Term } from "@rdfjs/types"; export default function resource>(input: D, subject: Term): D; diff --git a/types/rdf-utils-dataset/resourcesToGraph.d.ts b/types/rdf-utils-dataset/resourcesToGraph.d.ts index 8bea2755007818..538e87512dc4e4 100644 --- a/types/rdf-utils-dataset/resourcesToGraph.d.ts +++ b/types/rdf-utils-dataset/resourcesToGraph.d.ts @@ -1,8 +1,9 @@ -import * as RDF from '@rdfjs/types'; -import QuadExt from 'rdf-ext/lib/Quad'; -import DatasetExt from 'rdf-ext/lib/Dataset'; +import * as RDF from "@rdfjs/types"; +import DatasetExt from "rdf-ext/lib/Dataset"; +import QuadExt from "rdf-ext/lib/Quad"; -type Factory = RDF.DatasetCore, > = RDF.DataFactory & RDF.DatasetCoreFactory; @@ -13,5 +14,8 @@ interface Options { type DatasetOf = F extends RDF.DatasetCoreFactory ? D : never; -export default function resourcesToGraph>(_input: RDF.DatasetCore, options?: Options): DatasetOf; +export default function resourcesToGraph>( + _input: RDF.DatasetCore, + options?: Options, +): DatasetOf; export {}; diff --git a/types/rdf-utils-fs/defaults.d.ts b/types/rdf-utils-fs/defaults.d.ts index 433393c71a294d..6f62fee851dd22 100644 --- a/types/rdf-utils-fs/defaults.d.ts +++ b/types/rdf-utils-fs/defaults.d.ts @@ -1,5 +1,5 @@ declare const defaults: { - extensions: Record + extensions: Record; }; export = defaults; diff --git a/types/rdf-utils-fs/fromFile.d.ts b/types/rdf-utils-fs/fromFile.d.ts index e44c720bf68a2e..bea8a99e51eab7 100644 --- a/types/rdf-utils-fs/fromFile.d.ts +++ b/types/rdf-utils-fs/fromFile.d.ts @@ -1,9 +1,9 @@ -import { Stream } from 'rdf-js'; -import { PathLike } from 'fs'; -import defaults = require('./defaults'); +import { PathLike } from "fs"; +import { Stream } from "rdf-js"; +import defaults = require("./defaults"); type Options = Record & { - extensions?: typeof defaults['extensions'] + extensions?: typeof defaults["extensions"]; }; declare function fromFile(filename: PathLike, options?: Options): Stream; diff --git a/types/rdf-utils-fs/index.d.ts b/types/rdf-utils-fs/index.d.ts index 06ea50635cd122..6882e07b3f27a4 100644 --- a/types/rdf-utils-fs/index.d.ts +++ b/types/rdf-utils-fs/index.d.ts @@ -4,8 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare const rdfUtilsFs: { - fromFile: typeof import('./fromFile'), - toFile: typeof import('./toFile') + fromFile: typeof import("./fromFile"); + toFile: typeof import("./toFile"); }; export = rdfUtilsFs; diff --git a/types/rdf-utils-fs/rdf-utils-fs-tests.ts b/types/rdf-utils-fs/rdf-utils-fs-tests.ts index 632d0c1e520f35..45bf6478fbbfed 100644 --- a/types/rdf-utils-fs/rdf-utils-fs-tests.ts +++ b/types/rdf-utils-fs/rdf-utils-fs-tests.ts @@ -1,20 +1,20 @@ -import rdfUtilsFs = require('rdf-utils-fs'); -import { Stream } from 'rdf-js'; -import { URL } from 'url'; +import rdfUtilsFs = require("rdf-utils-fs"); +import { Stream } from "rdf-js"; +import { URL } from "url"; -let fromFile: Stream = rdfUtilsFs.fromFile('./file/path'); -fromFile = rdfUtilsFs.fromFile(new URL('file://foo/bar')); -fromFile = rdfUtilsFs.fromFile('./file/path', { +let fromFile: Stream = rdfUtilsFs.fromFile("./file/path"); +fromFile = rdfUtilsFs.fromFile(new URL("file://foo/bar")); +fromFile = rdfUtilsFs.fromFile("./file/path", { extensions: { - json: 'application/json' + json: "application/json", }, - foo: 'bar' + foo: "bar", }); -let toFile: Promise = rdfUtilsFs.toFile(fromFile, './file/path'); -toFile = rdfUtilsFs.toFile(fromFile, new URL('file://foo/bar'), { +let toFile: Promise = rdfUtilsFs.toFile(fromFile, "./file/path"); +toFile = rdfUtilsFs.toFile(fromFile, new URL("file://foo/bar"), { extensions: { - json: 'application/json' + json: "application/json", }, - foo: 'bar' + foo: "bar", }); diff --git a/types/rdf-utils-fs/toFile.d.ts b/types/rdf-utils-fs/toFile.d.ts index 092df45d737640..f86c07e205a7cb 100644 --- a/types/rdf-utils-fs/toFile.d.ts +++ b/types/rdf-utils-fs/toFile.d.ts @@ -1,9 +1,9 @@ -import { Stream } from 'rdf-js'; -import { PathLike } from 'fs'; -import defaults = require('./defaults'); +import { PathLike } from "fs"; +import { Stream } from "rdf-js"; +import defaults = require("./defaults"); type Options = Record & { - extensions?: typeof defaults['extensions'] + extensions?: typeof defaults["extensions"]; }; declare function toFile(stream: Stream, filename: PathLike, options?: Options): Promise; diff --git a/types/rdf-validate-datatype/index.d.ts b/types/rdf-validate-datatype/index.d.ts index bf611b28e29827..ba0218f3289470 100644 --- a/types/rdf-validate-datatype/index.d.ts +++ b/types/rdf-validate-datatype/index.d.ts @@ -3,7 +3,7 @@ // Definitions by: Tomasz Pluskiewicz // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { Term, Quad, NamedNode } from 'rdf-js'; +import { NamedNode, Quad, Term } from "rdf-js"; interface ValidatorFunc { (value: string): boolean; @@ -17,9 +17,9 @@ interface Registry { } declare const RdfValidateDatatype: { - validateTerm: typeof validateTerm, - validateQuad: typeof validateQuad, - validators: Registry + validateTerm: typeof validateTerm; + validateQuad: typeof validateQuad; + validators: Registry; }; export = RdfValidateDatatype; diff --git a/types/rdf-validate-datatype/rdf-validate-datatype-tests.ts b/types/rdf-validate-datatype/rdf-validate-datatype-tests.ts index 6e4609641fadf4..9311f9a7c0f9e8 100644 --- a/types/rdf-validate-datatype/rdf-validate-datatype-tests.ts +++ b/types/rdf-validate-datatype/rdf-validate-datatype-tests.ts @@ -1,5 +1,5 @@ -import { NamedNode, Quad, Term } from 'rdf-js'; -import validateDatatype = require('rdf-validate-datatype'); +import { NamedNode, Quad, Term } from "rdf-js"; +import validateDatatype = require("rdf-validate-datatype"); const { validateTerm, validateQuad, validators } = validateDatatype; @@ -14,7 +14,7 @@ func = validators.find(null); func = validators.find(undefined); if (func) { - const isValid: boolean = func('foo'); + const isValid: boolean = func("foo"); } const termIsValid: boolean = validateTerm(term); diff --git a/types/rdf-validate-shacl/index.d.ts b/types/rdf-validate-shacl/index.d.ts index d5aeb1a430a9e8..f1b976e4146712 100644 --- a/types/rdf-validate-shacl/index.d.ts +++ b/types/rdf-validate-shacl/index.d.ts @@ -4,10 +4,11 @@ // cristianvasquez // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import * as RDF from '@rdfjs/types'; -import { ValidationReport } from './src/validation-report'; +import * as RDF from "@rdfjs/types"; +import { ValidationReport } from "./src/validation-report"; -type Factory = RDF.DatasetCore, > = RDF.DataFactory & RDF.DatasetCoreFactory; diff --git a/types/rdf-validate-shacl/rdf-validate-shacl-tests.ts b/types/rdf-validate-shacl/rdf-validate-shacl-tests.ts index 10b7ba4dbd181a..33bd2689b18622 100644 --- a/types/rdf-validate-shacl/rdf-validate-shacl-tests.ts +++ b/types/rdf-validate-shacl/rdf-validate-shacl-tests.ts @@ -1,12 +1,12 @@ -import { DataFactory, DatasetCore, DatasetCoreFactory, NamedNode, Literal } from '@rdfjs/types'; -import { GraphPointer } from 'clownface'; -import SHACLValidator = require('rdf-validate-shacl'); -import $rdf from 'rdf-ext'; -import { ValidationResult } from 'rdf-validate-shacl/src/validation-report'; -import ValidationReport = require('rdf-validate-shacl/src/validation-report'); -import BlankNodeExt from 'rdf-ext/lib/BlankNode'; -import LiteralExt from 'rdf-ext/lib/Literal'; -import NamedNodeExt from 'rdf-ext/lib/NamedNode'; +import { DataFactory, DatasetCore, DatasetCoreFactory, Literal, NamedNode } from "@rdfjs/types"; +import { GraphPointer } from "clownface"; +import SHACLValidator = require("rdf-validate-shacl"); +import $rdf from "rdf-ext"; +import { ValidationResult } from "rdf-validate-shacl/src/validation-report"; +import ValidationReport = require("rdf-validate-shacl/src/validation-report"); +import BlankNodeExt from "rdf-ext/lib/BlankNode"; +import LiteralExt from "rdf-ext/lib/Literal"; +import NamedNodeExt from "rdf-ext/lib/NamedNode"; const shapes: DatasetCore = {}; const data: DatasetCore = {}; diff --git a/types/rdf-validate-shacl/src/validation-report.d.ts b/types/rdf-validate-shacl/src/validation-report.d.ts index 61345f36165163..afeefa0d7c1998 100644 --- a/types/rdf-validate-shacl/src/validation-report.d.ts +++ b/types/rdf-validate-shacl/src/validation-report.d.ts @@ -1,15 +1,16 @@ -import * as RDF from '@rdfjs/types'; -import { GraphPointer } from 'clownface'; +import * as RDF from "@rdfjs/types"; +import { GraphPointer } from "clownface"; -type Factory = RDF.DatasetCore, > = RDF.DataFactory & RDF.DatasetCoreFactory; -type BlankNodeOf = ReturnType; -type NamedNodeOf = ReturnType; -type LiteralOf = ReturnType; -type DatasetOf = ReturnType; +type BlankNodeOf = ReturnType; +type NamedNodeOf = ReturnType; +type LiteralOf = ReturnType; +type DatasetOf = ReturnType; declare namespace ValidationReport { interface Options { diff --git a/types/rdfjs__data-model/Factory.d.ts b/types/rdfjs__data-model/Factory.d.ts index 710daf4d8cc115..2badfe96f2e179 100644 --- a/types/rdfjs__data-model/Factory.d.ts +++ b/types/rdfjs__data-model/Factory.d.ts @@ -1,23 +1,27 @@ import * as RDF from "@rdfjs/types"; -import { FromTerm } from './lib/fromTerm.js'; +import { FromTerm } from "./lib/fromTerm.js"; interface DataFactory extends Required> { quad( - subject: Q['subject'], predicate: Q['predicate'], object: Q['object'], graph?: Q['graph']): Q; + subject: Q["subject"], + predicate: Q["predicate"], + object: Q["object"], + graph?: Q["graph"], + ): Q; fromTerm(value: T): ReturnType>; fromQuad(value: T): ReturnType>; } declare class DataFactory { static readonly exports: [ - 'blankNode', - 'defaultGraph', - 'fromQuad', - 'fromTerm', - 'literal', - 'namedNode', - 'quad', - 'variable' + "blankNode", + "defaultGraph", + "fromQuad", + "fromTerm", + "literal", + "namedNode", + "quad", + "variable", ]; init(): void; } diff --git a/types/rdfjs__data-model/index.d.ts b/types/rdfjs__data-model/index.d.ts index b298f675e215c4..71c2d32af38213 100644 --- a/types/rdfjs__data-model/index.d.ts +++ b/types/rdfjs__data-model/index.d.ts @@ -6,7 +6,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // Minimum TypeScript Version: 3.9 -import DataFactory from './Factory.js'; +import DataFactory from "./Factory.js"; declare const factory: DataFactory; export default factory; diff --git a/types/rdfjs__data-model/lib/fromTerm.d.ts b/types/rdfjs__data-model/lib/fromTerm.d.ts index 51fbd3843ae90d..38677c831ce63e 100644 --- a/types/rdfjs__data-model/lib/fromTerm.d.ts +++ b/types/rdfjs__data-model/lib/fromTerm.d.ts @@ -1,14 +1,17 @@ -import * as RDF from '@rdfjs/types'; +import * as RDF from "@rdfjs/types"; export interface FromTerm { - (factory: D, original: T): - T extends RDF.Literal ? ReturnType - : T extends RDF.BlankNode ? ReturnType - : T extends RDF.NamedNode ? ReturnType - : T extends RDF.Variable ? D['variable'] extends (...arg: any[]) => RDF.Variable ? ReturnType : never - : T extends RDF.BaseQuad ? ReturnType - : T extends RDF.DefaultGraph ? ReturnType - : never; + (factory: D, original: T): T extends RDF.Literal ? ReturnType + : T extends RDF.BlankNode ? ReturnType + : T extends RDF.NamedNode ? ReturnType + : T extends RDF.Variable ? D["variable"] extends (...arg: any[]) => RDF.Variable ? ReturnType + : never + : T extends RDF.BaseQuad ? ReturnType + : T extends RDF.DefaultGraph ? ReturnType + : never; } -export default function fromTerm(factory: D, original: T): ReturnType>; +export default function fromTerm( + factory: D, + original: T, +): ReturnType>; diff --git a/types/rdfjs__data-model/rdfjs__data-model-tests.ts b/types/rdfjs__data-model/rdfjs__data-model-tests.ts index 5a4364a520d52b..a6d2da6f2ad5b4 100644 --- a/types/rdfjs__data-model/rdfjs__data-model-tests.ts +++ b/types/rdfjs__data-model/rdfjs__data-model-tests.ts @@ -1,17 +1,17 @@ import factory from "@rdfjs/data-model"; import Factory from "@rdfjs/data-model/Factory.js"; +import Environment from "@rdfjs/environment/Environment.js"; import * as RDF from "@rdfjs/types"; -import Environment from '@rdfjs/environment/Environment.js'; const exports: [ - 'blankNode', - 'defaultGraph', - 'fromQuad', - 'fromTerm', - 'literal', - 'namedNode', - 'quad', - 'variable' + "blankNode", + "defaultGraph", + "fromQuad", + "fromTerm", + "literal", + "namedNode", + "quad", + "variable", ] = Factory.exports; const fromCtor = new Factory(); // $ExpectType DataFactory @@ -21,41 +21,41 @@ fromCtor.init(); const env = new Environment([Factory]); // $ExpectType Environment const myQuad = factory.quad( - factory.namedNode('http://example.org/subject'), - factory.namedNode('http://example.org/predicate'), - factory.namedNode('http://example.org/object'), + factory.namedNode("http://example.org/subject"), + factory.namedNode("http://example.org/predicate"), + factory.namedNode("http://example.org/object"), ); const myQuadWithLiteral = factory.quad( - factory.namedNode('http://example.org/subject'), - factory.namedNode('http://example.org/predicate'), - factory.literal('34'), + factory.namedNode("http://example.org/subject"), + factory.namedNode("http://example.org/predicate"), + factory.literal("34"), ); const myQuadWithVariable = factory.quad( - factory.namedNode('http://example.org/subject'), - factory.namedNode('http://example.org/predicate'), - factory.variable('?o'), + factory.namedNode("http://example.org/subject"), + factory.namedNode("http://example.org/predicate"), + factory.variable("?o"), ); const myQuadWithGraph = factory.quad( - factory.namedNode('http://example.org/subject'), - factory.namedNode('http://example.org/predicate'), - factory.namedNode('http://example.org/object'), - factory.defaultGraph() + factory.namedNode("http://example.org/subject"), + factory.namedNode("http://example.org/predicate"), + factory.namedNode("http://example.org/object"), + factory.defaultGraph(), ); const myBaseQuad = factory.quad( - factory.namedNode('http://example.org/subject'), - factory.blankNode('34'), - factory.namedNode('http://example.org/object'), + factory.namedNode("http://example.org/subject"), + factory.blankNode("34"), + factory.namedNode("http://example.org/object"), ); const myBaseQuadBad = factory.quad( - factory.namedNode('http://example.org/subject'), - // @ts-expect-error - factory.blankNode('34'), - factory.namedNode('http://example.org/object'), + factory.namedNode("http://example.org/subject"), + // @ts-expect-error + factory.blankNode("34"), + factory.namedNode("http://example.org/object"), ); // $ExpectType BaseQuad @@ -64,10 +64,10 @@ const fromQuadValue = factory.fromQuad(myQuad); const fromBaseQuadValue = factory.fromQuad(myBaseQuad); // @ts-expect-error -factory.fromQuad(factory.variable('?o')); +factory.fromQuad(factory.variable("?o")); // $ExpectType Variable -const fromTermValue = factory.fromTerm(factory.variable('?o')); +const fromTermValue = factory.fromTerm(factory.variable("?o")); const baseQuad: RDF.BaseQuad = {}; // $ExpectType BaseQuad diff --git a/types/rdfjs__dataset/DatasetCore.d.ts b/types/rdfjs__dataset/DatasetCore.d.ts index c36afda6b9c488..ef859f3b4ac2b0 100644 --- a/types/rdfjs__dataset/DatasetCore.d.ts +++ b/types/rdfjs__dataset/DatasetCore.d.ts @@ -1,4 +1,4 @@ -import * as RDF from '@rdfjs/types'; +import * as RDF from "@rdfjs/types"; interface DatasetCore extends RDF.DatasetCore { } diff --git a/types/rdfjs__dataset/Factory.d.ts b/types/rdfjs__dataset/Factory.d.ts index ff5f208461b64e..d1c51f7361e337 100644 --- a/types/rdfjs__dataset/Factory.d.ts +++ b/types/rdfjs__dataset/Factory.d.ts @@ -1,7 +1,7 @@ -import { BaseQuad, Quad } from '@rdfjs/types'; -import DatasetCore from './DatasetCore.js'; +import { BaseQuad, Quad } from "@rdfjs/types"; +import DatasetCore from "./DatasetCore.js"; export default class Factory { - static readonly exports: ['dataset']; + static readonly exports: ["dataset"]; dataset(quads?: Q[]): DatasetCore; } diff --git a/types/rdfjs__dataset/index.d.ts b/types/rdfjs__dataset/index.d.ts index 6636f93f1646a0..b53db84e51f121 100644 --- a/types/rdfjs__dataset/index.d.ts +++ b/types/rdfjs__dataset/index.d.ts @@ -4,8 +4,8 @@ // Jesse Wright // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { BaseQuad, DataFactory, DefaultGraph, Quad } from '@rdfjs/types'; -import Factory from './Factory.js'; +import { BaseQuad, DataFactory, DefaultGraph, Quad } from "@rdfjs/types"; +import Factory from "./Factory.js"; declare const factory: Factory; diff --git a/types/rdfjs__dataset/rdfjs__dataset-tests.ts b/types/rdfjs__dataset/rdfjs__dataset-tests.ts index b05afff568551b..37e327f91c996b 100644 --- a/types/rdfjs__dataset/rdfjs__dataset-tests.ts +++ b/types/rdfjs__dataset/rdfjs__dataset-tests.ts @@ -1,10 +1,10 @@ -import * as RDF from '@rdfjs/types'; -import rdf from '@rdfjs/dataset'; -import Factory from '@rdfjs/dataset/Factory.js'; -import DatasetCore from '@rdfjs/dataset/DatasetCore.js'; -import Environment from '@rdfjs/environment/Environment.js'; +import rdf from "@rdfjs/dataset"; +import DatasetCore from "@rdfjs/dataset/DatasetCore.js"; +import Factory from "@rdfjs/dataset/Factory.js"; +import Environment from "@rdfjs/environment/Environment.js"; +import * as RDF from "@rdfjs/types"; -const exports: ['dataset'] = Factory.exports; +const exports: ["dataset"] = Factory.exports; let dataset: RDF.DatasetCore = rdf.dataset(); const env = new Environment([Factory]); // $ExpectType Environment diff --git a/types/rdfjs__environment/DataFactory.d.ts b/types/rdfjs__environment/DataFactory.d.ts index 40c0ede8a83920..47cdbf0ca8c331 100644 --- a/types/rdfjs__environment/DataFactory.d.ts +++ b/types/rdfjs__environment/DataFactory.d.ts @@ -1,3 +1,3 @@ -import DataFactory from '@rdfjs/data-model/Factory.js'; +import DataFactory from "@rdfjs/data-model/Factory.js"; export default DataFactory; diff --git a/types/rdfjs__environment/DatasetFactory.d.ts b/types/rdfjs__environment/DatasetFactory.d.ts index 824a91d054fcc9..a5a5d6bfe1b076 100644 --- a/types/rdfjs__environment/DatasetFactory.d.ts +++ b/types/rdfjs__environment/DatasetFactory.d.ts @@ -1,3 +1,3 @@ -import DatasetFactory from '@rdfjs/dataset/Factory.js'; +import DatasetFactory from "@rdfjs/dataset/Factory.js"; export default DatasetFactory; diff --git a/types/rdfjs__environment/Environment.d.ts b/types/rdfjs__environment/Environment.d.ts index 44d86ab635035c..25f1b68903cb00 100644 --- a/types/rdfjs__environment/Environment.d.ts +++ b/types/rdfjs__environment/Environment.d.ts @@ -1,5 +1,5 @@ export interface FactoryConstructor { - new (...args: any[]): F; + new(...args: any[]): F; } type Narrow = @@ -10,15 +10,17 @@ type Narrow = type ReturnFactory = C extends FactoryConstructor ? X : C; type Distribute = U extends any ? ReturnFactory : never; -type UnionToIntersection = - (U extends {} ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never; +type UnionToIntersection = (U extends {} ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never; export type Environment = { - clone(): Environment -} & Omit, 'init' | 'clone'>; + clone(): Environment; +} & Omit, "init" | "clone">; interface EnvironmentCtor { - new>>(factories: Narrow, options?: { bind: boolean }): Environment>; + new>>( + factories: Narrow, + options?: { bind: boolean }, + ): Environment>; } declare const environment: EnvironmentCtor; diff --git a/types/rdfjs__environment/FormatsFactory.d.ts b/types/rdfjs__environment/FormatsFactory.d.ts index c9db6047c7f911..cab1248d92c40c 100644 --- a/types/rdfjs__environment/FormatsFactory.d.ts +++ b/types/rdfjs__environment/FormatsFactory.d.ts @@ -1,4 +1,4 @@ -import Formats from './lib/Formats.js'; +import Formats from "./lib/Formats.js"; export interface FormatsFactory { formats: Formats; diff --git a/types/rdfjs__environment/NamespaceFactory.d.ts b/types/rdfjs__environment/NamespaceFactory.d.ts index 7d6a5a37f66ee7..5473899b1c2d91 100644 --- a/types/rdfjs__environment/NamespaceFactory.d.ts +++ b/types/rdfjs__environment/NamespaceFactory.d.ts @@ -1,3 +1,3 @@ -import NamespaceFactory from '@rdfjs/namespace/Factory.js'; +import NamespaceFactory from "@rdfjs/namespace/Factory.js"; export default NamespaceFactory; diff --git a/types/rdfjs__environment/TermMapSetFactory.d.ts b/types/rdfjs__environment/TermMapSetFactory.d.ts index 975389de359508..68a31a6df72c9b 100644 --- a/types/rdfjs__environment/TermMapSetFactory.d.ts +++ b/types/rdfjs__environment/TermMapSetFactory.d.ts @@ -1,5 +1,5 @@ -import { TermMapFactory } from '@rdfjs/term-map/Factory.js'; -import { TermSetFactory } from '@rdfjs/term-set/Factory.js'; +import { TermMapFactory } from "@rdfjs/term-map/Factory.js"; +import { TermSetFactory } from "@rdfjs/term-set/Factory.js"; export interface Factory extends TermSetFactory, TermMapFactory { } diff --git a/types/rdfjs__environment/index.d.ts b/types/rdfjs__environment/index.d.ts index 2d18ffa729c23a..12f9eb573f82a7 100644 --- a/types/rdfjs__environment/index.d.ts +++ b/types/rdfjs__environment/index.d.ts @@ -4,6 +4,6 @@ // Jesse Wright // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { default as Environment } from './Environment.js'; +import { default as Environment } from "./Environment.js"; export default Environment; diff --git a/types/rdfjs__environment/lib/Formats.d.ts b/types/rdfjs__environment/lib/Formats.d.ts index 0410dfb14b670c..8525d62c38aafc 100644 --- a/types/rdfjs__environment/lib/Formats.d.ts +++ b/types/rdfjs__environment/lib/Formats.d.ts @@ -1,12 +1,12 @@ -import { DataFactory, Stream } from '@rdfjs/types'; -import { SinkMap } from '@rdfjs/sink-map'; -import { EventEmitter } from 'events'; +import { SinkMap } from "@rdfjs/sink-map"; +import { DataFactory, Stream } from "@rdfjs/types"; +import { EventEmitter } from "events"; declare class Formats { constructor(arg: { factory: DataFactory }); parsers: SinkMap; serializers: SinkMap; - import(other: Partial>): Formats; + import(other: Partial>): Formats; } export default Formats; diff --git a/types/rdfjs__environment/rdfjs__environment-tests.ts b/types/rdfjs__environment/rdfjs__environment-tests.ts index 89a238d2238632..c77a49552b0ec6 100644 --- a/types/rdfjs__environment/rdfjs__environment-tests.ts +++ b/types/rdfjs__environment/rdfjs__environment-tests.ts @@ -1,14 +1,14 @@ -import { NamedNode, Stream } from '@rdfjs/types'; -import Environment from '@rdfjs/environment'; -import { FactoryConstructor } from '@rdfjs/environment/Environment.js'; -import FormatsFactory from '@rdfjs/environment/FormatsFactory.js'; -import NamespaceFactory from '@rdfjs/environment/NamespaceFactory.js'; -import TermMapSetFactory from '@rdfjs/environment/TermMapSetFactory.js'; -import DatasetFactory from '@rdfjs/environment/DatasetFactory.js'; -import DataFactory from '@rdfjs/environment/DataFactory.js'; -import { SinkMap } from '@rdfjs/sink-map'; -import { EventEmitter } from 'events'; -import formatsCommon from '@rdfjs/formats-common'; +import Environment from "@rdfjs/environment"; +import DataFactory from "@rdfjs/environment/DataFactory.js"; +import DatasetFactory from "@rdfjs/environment/DatasetFactory.js"; +import { FactoryConstructor } from "@rdfjs/environment/Environment.js"; +import FormatsFactory from "@rdfjs/environment/FormatsFactory.js"; +import NamespaceFactory from "@rdfjs/environment/NamespaceFactory.js"; +import TermMapSetFactory from "@rdfjs/environment/TermMapSetFactory.js"; +import formatsCommon from "@rdfjs/formats-common"; +import { SinkMap } from "@rdfjs/sink-map"; +import { NamedNode, Stream } from "@rdfjs/types"; +import { EventEmitter } from "events"; const emptyEnv = new Environment([]); const clone = emptyEnv.clone(); @@ -16,18 +16,18 @@ const clone = emptyEnv.clone(); declare class FooFactory { init(): void; foo(foo: string): string; - static exports: ['foo']; + static exports: ["foo"]; } declare class BarFactory { bar(bar: number): number; baz(): number; - static exports: ['bar']; + static exports: ["bar"]; } const dataEnv = new Environment([ DatasetFactory, - DataFactory + DataFactory, ]); let environment = new Environment([ @@ -42,7 +42,7 @@ environment = new Environment([ // @ts-expect-error environment.init(); -const foo: string = environment.foo('10'); +const foo: string = environment.foo("10"); const bar: number = environment.bar(10); const envWithDefaults = new Environment([ @@ -50,14 +50,14 @@ const envWithDefaults = new Environment([ NamespaceFactory, ]); -const { formats, namespace } = envWithDefaults; +const { formats, namespace } = envWithDefaults; const env = new Environment([TermMapSetFactory]); const node: NamedNode = {}; const termMap = env.termMap([ // $ExpectType TermMap, string> - [node, 'foo'], - [node, 'bar'] + [node, "foo"], + [node, "bar"], ]); const termSet = env.termSet([node]); // $ExpectType TermSet> @@ -102,11 +102,13 @@ function customFactory(...additionalFactories: F[] } function testCustomFactoryMethod() { - const env = customFactory(class Factory { - foo() { - return 'bar'; - } - }); + const env = customFactory( + class Factory { + foo() { + return "bar"; + } + }, + ); // $ExpectType BlankNode const node = env.blankNode(); diff --git a/types/rdfjs__express-handler/index.d.ts b/types/rdfjs__express-handler/index.d.ts index 8d6fd85c00bd3a..5ef844d2de0058 100644 --- a/types/rdfjs__express-handler/index.d.ts +++ b/types/rdfjs__express-handler/index.d.ts @@ -3,12 +3,12 @@ // Definitions by: tpluscode // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { Stream, DatasetCore, DatasetCoreFactory } from 'rdf-js'; -import { Request, Response, RequestHandler } from 'express'; -import { SinkMap } from '@rdfjs/sink-map'; -import { EventEmitter } from 'events'; +import { SinkMap } from "@rdfjs/sink-map"; +import { EventEmitter } from "events"; +import { Request, RequestHandler, Response } from "express"; +import { DatasetCore, DatasetCoreFactory, Stream } from "rdf-js"; -declare module 'express-serve-static-core' { +declare module "express-serve-static-core" { interface Request { dataset?(parserOptions?: any): Promise; quadStream?(parserOptions?: any): Stream; diff --git a/types/rdfjs__express-handler/rdfjs__express-handler-tests.ts b/types/rdfjs__express-handler/rdfjs__express-handler-tests.ts index d6758c9e61068c..abec989a4bcfb2 100644 --- a/types/rdfjs__express-handler/rdfjs__express-handler-tests.ts +++ b/types/rdfjs__express-handler/rdfjs__express-handler-tests.ts @@ -1,8 +1,8 @@ -import express = require('express'); -import { EventEmitter } from 'events'; -import { DatasetCore, DatasetCoreFactory, Stream } from 'rdf-js'; -import { SinkMap } from '@rdfjs/sink-map'; -import rdfHandler from '@rdfjs/express-handler'; +import express = require("express"); +import rdfHandler from "@rdfjs/express-handler"; +import { SinkMap } from "@rdfjs/sink-map"; +import { EventEmitter } from "events"; +import { DatasetCore, DatasetCoreFactory, Stream } from "rdf-js"; const factory: DatasetCoreFactory = {}; const formats: { @@ -16,7 +16,7 @@ app.use(rdfHandler()); app.use(rdfHandler({ factory, formats, - defaultMediaType: 'text/turtle', + defaultMediaType: "text/turtle", })); app.use(rdfHandler({ @@ -35,7 +35,7 @@ async function streams(req: express.Request, res: express.Response) { if (req.quadStream) { let stream: Stream = req.quadStream(); stream = req.quadStream({ - baseIRI: 'foo' + baseIRI: "foo", }); await res.quadStream(stream); @@ -46,7 +46,7 @@ async function datasets(req: express.Request, res: express.Response) { if (req.dataset) { let dataset: DatasetCore = await req.dataset(); dataset = await req.dataset({ - baseIRI: 'foo' + baseIRI: "foo", }); await res.dataset(dataset); @@ -56,6 +56,6 @@ async function datasets(req: express.Request, res: express.Response) { async function attach(req: express.Request, res: express.Response) { await rdfHandler.attach(req, res); await rdfHandler.attach(req, res, { - baseIriFromRequest: true + baseIriFromRequest: true, }); } diff --git a/types/rdfjs__fetch-lite/Factory.d.ts b/types/rdfjs__fetch-lite/Factory.d.ts index 7d5b22e821187c..d4a0a9412fea26 100644 --- a/types/rdfjs__fetch-lite/Factory.d.ts +++ b/types/rdfjs__fetch-lite/Factory.d.ts @@ -1,7 +1,11 @@ -import { BaseQuad, DatasetCore, Quad, Stream } from '@rdfjs/types'; -import { FormatsInit } from './index.js'; +import { BaseQuad, DatasetCore, Quad, Stream } from "@rdfjs/types"; +import { FormatsInit } from "./index.js"; -interface RdfFetchResponse, OutQuad extends BaseQuad = Quad, InQuad extends BaseQuad = OutQuad> extends Response { +interface RdfFetchResponse< + D extends DatasetCore, + OutQuad extends BaseQuad = Quad, + InQuad extends BaseQuad = OutQuad, +> extends Response { quadStream(): Promise>; dataset(): Promise; } diff --git a/types/rdfjs__fetch-lite/index.d.ts b/types/rdfjs__fetch-lite/index.d.ts index 0ca500acafe8dd..99782f8044cd9d 100644 --- a/types/rdfjs__fetch-lite/index.d.ts +++ b/types/rdfjs__fetch-lite/index.d.ts @@ -4,15 +4,19 @@ // Jesse Wright // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { DatasetCoreFactory, DatasetCore, Quad, Stream, BaseQuad } from '@rdfjs/types'; -import { Formats } from '@rdfjs/formats-common'; +import { Formats } from "@rdfjs/formats-common"; +import { BaseQuad, DatasetCore, DatasetCoreFactory, Quad, Stream } from "@rdfjs/types"; export interface FormatsInit extends RequestInit { formats: Formats; fetch?: typeof fetch | undefined; } -export interface FactoryInit, OutQuad extends BaseQuad = Quad, InQuad extends BaseQuad = OutQuad> extends FormatsInit { +export interface FactoryInit< + D extends DatasetCore, + OutQuad extends BaseQuad = Quad, + InQuad extends BaseQuad = OutQuad, +> extends FormatsInit { factory: DatasetCoreFactory; } @@ -20,14 +24,23 @@ export interface RdfFetchResponse extends Response { quadStream(): Promise>; } -export interface DatasetResponse, OutQuad extends BaseQuad = Quad, InQuad extends BaseQuad = OutQuad> extends RdfFetchResponse { +export interface DatasetResponse< + D extends DatasetCore, + OutQuad extends BaseQuad = Quad, + InQuad extends BaseQuad = OutQuad, +> extends RdfFetchResponse { dataset(): Promise; } declare function rdfFetch(url: string, options: FormatsInit): Promise; -declare function rdfFetch , OutQuad extends BaseQuad = Quad, InQuad extends BaseQuad = OutQuad>( +declare function rdfFetch< + D extends DatasetCore, + OutQuad extends BaseQuad = Quad, + InQuad extends BaseQuad = OutQuad, +>( url: string, - options: FactoryInit): Promise>; + options: FactoryInit, +): Promise>; export default rdfFetch; export const Headers: Headers; diff --git a/types/rdfjs__fetch-lite/rdfjs__fetch-lite-tests.ts b/types/rdfjs__fetch-lite/rdfjs__fetch-lite-tests.ts index 26f0cd6ff169a0..2ebee8e5944a68 100644 --- a/types/rdfjs__fetch-lite/rdfjs__fetch-lite-tests.ts +++ b/types/rdfjs__fetch-lite/rdfjs__fetch-lite-tests.ts @@ -1,18 +1,18 @@ -import fetch from '@rdfjs/fetch-lite'; -import { Stream, Dataset, Quad, DatasetCoreFactory, DatasetCore } from '@rdfjs/types'; -import { Formats } from '@rdfjs/formats-common'; -import Environment from '@rdfjs/environment/Environment'; -import FetchFactory from '@rdfjs/fetch-lite/Factory'; +import Environment from "@rdfjs/environment/Environment"; +import fetch from "@rdfjs/fetch-lite"; +import FetchFactory from "@rdfjs/fetch-lite/Factory"; +import { Formats } from "@rdfjs/formats-common"; +import { Dataset, DatasetCore, DatasetCoreFactory, Quad, Stream } from "@rdfjs/types"; const formats: Formats = {}; async function fetchString(): Promise { - const response = await fetch('http://example.com', { formats }); + const response = await fetch("http://example.com", { formats }); return response.text(); } async function fetchQuadStream(): Promise { - const response = await fetch('http://example.com', { formats }); + const response = await fetch("http://example.com", { formats }); return response.quadStream(); } @@ -26,42 +26,42 @@ interface DatasetX extends Dataset { const factory: DatasetCoreFactory = {}; async function fetchDataset(): Promise { - const response = await fetch('http://example.com', { formats, factory }); + const response = await fetch("http://example.com", { formats, factory }); return response.dataset(); } async function fetchTypedStream(): Promise> { - const response = await fetch('http://example.com', { formats, factory }); + const response = await fetch("http://example.com", { formats, factory }); return response.quadStream(); } async function environmentRawFetch(): Promise { const environmentTest = new Environment([ - FetchFactory + FetchFactory, ]); - environmentTest.fetch.config('foo', 'bar'); + environmentTest.fetch.config("foo", "bar"); // $ExpectType Headers const headers = environmentTest.fetch.Headers; - const res = await environmentTest.fetch('foo', { formats }); + const res = await environmentTest.fetch("foo", { formats }); return res.quadStream(); } interface TestDataset extends DatasetCore { - foo: 'bar'; + foo: "bar"; } async function environmentDatasetFetch(): Promise { class DatasetFactory { dataset(): TestDataset { return {}; } - exports: ['dataset']; + exports: ["dataset"]; } const environmentTest = new Environment([ FetchFactory, - DatasetFactory + DatasetFactory, ]); - const res = await environmentTest.fetch('foo', { formats }); + const res = await environmentTest.fetch("foo", { formats }); return res.dataset(); } diff --git a/types/rdfjs__fetch/index.d.ts b/types/rdfjs__fetch/index.d.ts index 91a91422c936aa..1f4b2be8ca5b1f 100644 --- a/types/rdfjs__fetch/index.d.ts +++ b/types/rdfjs__fetch/index.d.ts @@ -3,14 +3,19 @@ // Definitions by: tpluscode // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { FormatsInit, RdfFetchResponse, FactoryInit, DatasetResponse } from '@rdfjs/fetch-lite'; -import { DatasetCore, Quad, BaseQuad } from 'rdf-js'; +import { DatasetResponse, FactoryInit, FormatsInit, RdfFetchResponse } from "@rdfjs/fetch-lite"; +import { BaseQuad, DatasetCore, Quad } from "rdf-js"; -export { Headers } from '@rdfjs/fetch-lite'; +export { Headers } from "@rdfjs/fetch-lite"; declare function rdfFetch(url: string, options?: Partial): Promise; -declare function rdfFetch , OutQuad extends BaseQuad = Quad, InQuad extends BaseQuad = OutQuad>( +declare function rdfFetch< + D extends DatasetCore, + OutQuad extends BaseQuad = Quad, + InQuad extends BaseQuad = OutQuad, +>( url: string, - options?: Partial>): Promise>; + options?: Partial>, +): Promise>; export default rdfFetch; diff --git a/types/rdfjs__fetch/rdfjs__fetch-tests.ts b/types/rdfjs__fetch/rdfjs__fetch-tests.ts index 8175e9eb071eb1..4a7ec555f441d8 100644 --- a/types/rdfjs__fetch/rdfjs__fetch-tests.ts +++ b/types/rdfjs__fetch/rdfjs__fetch-tests.ts @@ -1,8 +1,8 @@ -import fetch from '@rdfjs/fetch'; -import { SinkMap } from '@rdfjs/sink-map'; -import { Stream, Dataset, Quad, DatasetCoreFactory } from 'rdf-js'; -import { EventEmitter } from 'events'; -import { RdfFetchResponse } from '@rdfjs/fetch-lite'; +import fetch from "@rdfjs/fetch"; +import { RdfFetchResponse } from "@rdfjs/fetch-lite"; +import { SinkMap } from "@rdfjs/sink-map"; +import { EventEmitter } from "events"; +import { Dataset, DatasetCoreFactory, Quad, Stream } from "rdf-js"; const formats: { parsers: SinkMap; @@ -10,20 +10,20 @@ const formats: { } = {}; function noOptions(): Promise { - return fetch('http://example.com/'); + return fetch("http://example.com/"); } function allOptionsOptional(): Promise { - return fetch('http://example.com/', {}); + return fetch("http://example.com/", {}); } async function fetchString(): Promise { - const response = await fetch('http://example.com', { formats }); + const response = await fetch("http://example.com", { formats }); return response.text(); } async function fetchQuadStream(): Promise { - const response = await fetch('http://example.com', { formats }); + const response = await fetch("http://example.com", { formats }); return response.quadStream(); } @@ -37,11 +37,11 @@ interface DatasetX extends Dataset { const factory: DatasetCoreFactory = {}; async function fetchDataset(): Promise { - const response = await fetch('http://example.com', { formats, factory }); + const response = await fetch("http://example.com", { formats, factory }); return response.dataset(); } async function fetchTypedStream(): Promise> { - const response = await fetch('http://example.com', { formats, factory }); + const response = await fetch("http://example.com", { formats, factory }); return response.quadStream(); } diff --git a/types/rdfjs__formats-common/index.d.ts b/types/rdfjs__formats-common/index.d.ts index 733f71b2005c38..ea9f1627b3639f 100644 --- a/types/rdfjs__formats-common/index.d.ts +++ b/types/rdfjs__formats-common/index.d.ts @@ -3,9 +3,9 @@ // Definitions by: tpluscode // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { SinkMap } from '@rdfjs/sink-map'; -import { Stream } from 'rdf-js'; -import { EventEmitter } from 'events'; +import { SinkMap } from "@rdfjs/sink-map"; +import { EventEmitter } from "events"; +import { Stream } from "rdf-js"; export const parsers: SinkMap; export const serializers: SinkMap; @@ -19,8 +19,8 @@ declare const formats: Formats; export default formats; -export { default as JsonLdParser } from '@rdfjs/parser-jsonld'; -export { default as N3Parser } from '@rdfjs/parser-n3'; -export { default as NTriplesSerializer } from '@rdfjs/serializer-ntriples'; -export { default as JsonLdSerializer } from '@rdfjs/serializer-jsonld'; -export { RdfXmlParser } from 'rdfxml-streaming-parser'; +export { default as JsonLdParser } from "@rdfjs/parser-jsonld"; +export { default as N3Parser } from "@rdfjs/parser-n3"; +export { default as JsonLdSerializer } from "@rdfjs/serializer-jsonld"; +export { default as NTriplesSerializer } from "@rdfjs/serializer-ntriples"; +export { RdfXmlParser } from "rdfxml-streaming-parser"; diff --git a/types/rdfjs__formats-common/rdfjs__formats-common-tests.ts b/types/rdfjs__formats-common/rdfjs__formats-common-tests.ts index 02c8ccba62b1de..eca26d607d5c44 100644 --- a/types/rdfjs__formats-common/rdfjs__formats-common-tests.ts +++ b/types/rdfjs__formats-common/rdfjs__formats-common-tests.ts @@ -1,12 +1,12 @@ -import formats, * as formatsNamed from '@rdfjs/formats-common'; -import { Stream, Sink } from 'rdf-js'; -import { SinkMap } from '@rdfjs/sink-map'; -import { EventEmitter } from 'events'; +import formats, * as formatsNamed from "@rdfjs/formats-common"; +import { SinkMap } from "@rdfjs/sink-map"; +import { EventEmitter } from "events"; +import { Sink, Stream } from "rdf-js"; let parsers: SinkMap = formats.parsers; let serializers: SinkMap = formats.serializers; -({parsers, serializers} = formatsNamed); +({ parsers, serializers } = formatsNamed); type Parser = Sink; diff --git a/types/rdfjs__namespace/Factory.d.ts b/types/rdfjs__namespace/Factory.d.ts index dbf662b24c1601..08eebcf12fed17 100644 --- a/types/rdfjs__namespace/Factory.d.ts +++ b/types/rdfjs__namespace/Factory.d.ts @@ -1,4 +1,4 @@ -import { NamespaceBuilder } from './index.js'; +import { NamespaceBuilder } from "./index.js"; export interface NamespaceFactory { // eslint-disable-next-line @definitelytyped/no-unnecessary-generics @@ -7,7 +7,7 @@ export interface NamespaceFactory { interface NamespaceFactoryCtor { new(): NamespaceFactory; - exports: ['namespace']; + exports: ["namespace"]; } declare const namespaceFactory: NamespaceFactoryCtor; diff --git a/types/rdfjs__namespace/index.d.ts b/types/rdfjs__namespace/index.d.ts index d596143ef8b9da..0377cff07a730e 100644 --- a/types/rdfjs__namespace/index.d.ts +++ b/types/rdfjs__namespace/index.d.ts @@ -5,7 +5,7 @@ // tpluscode // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { DataFactory, NamedNode } from '@rdfjs/types'; +import { DataFactory, NamedNode } from "@rdfjs/types"; export type NamespaceBuilder = Record & { (property?: TemplateStringsArray | TermNames): NamedNode; @@ -15,5 +15,8 @@ export interface BuilderOptions { factory?: DataFactory | undefined; } -// eslint-disable-next-line @definitelytyped/no-unnecessary-generics -export default function namespace(baseIRI: string, options?: BuilderOptions): NamespaceBuilder; +export default function namespace( + baseIRI: string, + options?: BuilderOptions, + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics +): NamespaceBuilder; diff --git a/types/rdfjs__namespace/rdfjs__namespace-tests.ts b/types/rdfjs__namespace/rdfjs__namespace-tests.ts index 49b4d3fc21277c..e7cb8331bb71f3 100644 --- a/types/rdfjs__namespace/rdfjs__namespace-tests.ts +++ b/types/rdfjs__namespace/rdfjs__namespace-tests.ts @@ -1,32 +1,32 @@ -import namespace, { NamespaceBuilder } from '@rdfjs/namespace'; -import Factory from '@rdfjs/namespace/Factory'; -import { DataFactory, NamedNode } from '@rdfjs/types'; +import namespace, { NamespaceBuilder } from "@rdfjs/namespace"; +import Factory from "@rdfjs/namespace/Factory"; +import { DataFactory, NamedNode } from "@rdfjs/types"; const factory: DataFactory = {} as any; -const builder1: NamespaceBuilder = namespace('http://schema.org/'); -const builder2: NamespaceBuilder = namespace('http://schema.org/', {}); -const builder3: NamespaceBuilder = namespace('http://schema.org/', { factory }); +const builder1: NamespaceBuilder = namespace("http://schema.org/"); +const builder2: NamespaceBuilder = namespace("http://schema.org/", {}); +const builder3: NamespaceBuilder = namespace("http://schema.org/", { factory }); const assignToPlain: NamespaceBuilder = builder1; const node1: NamedNode = builder1.Thing; const node2: NamedNode = builder1.url; -const node3: NamedNode = builder1('Thing'); -const node4: NamedNode = builder1('url'); +const node3: NamedNode = builder1("Thing"); +const node4: NamedNode = builder1("url"); const node5: NamedNode = builder1`'Thing'`; const node6: NamedNode = builder1`url`; const node7: NamedNode = builder1(); -type Foobar = 'foo' | 'bar'; -const restrictedBuilder: NamespaceBuilder = namespace('http://example.com/'); +type Foobar = "foo" | "bar"; +const restrictedBuilder: NamespaceBuilder = namespace("http://example.com/"); const assignTypedToPlain: NamespaceBuilder = restrictedBuilder; const foo = restrictedBuilder.foo; -const bar = restrictedBuilder('bar'); +const bar = restrictedBuilder("bar"); // @ts-expect-error const bazProp = restrictedBuilder.baz; // @ts-expect-error -const bazArg = restrictedBuilder('baz'); +const bazArg = restrictedBuilder("baz"); -const exports: ['namespace'] = Factory.exports; -const builderFromFactory: NamespaceBuilder = new Factory().namespace('http://example.com/'); +const exports: ["namespace"] = Factory.exports; +const builderFromFactory: NamespaceBuilder = new Factory().namespace("http://example.com/"); diff --git a/types/rdfjs__parser-jsonld/index.d.ts b/types/rdfjs__parser-jsonld/index.d.ts index 6bfccec7d87358..3579510c145eba 100644 --- a/types/rdfjs__parser-jsonld/index.d.ts +++ b/types/rdfjs__parser-jsonld/index.d.ts @@ -4,9 +4,9 @@ // tpluscode // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { Context } from 'jsonld/jsonld-spec.js'; -import { DataFactory, Sink, Stream, BaseQuad, Quad } from 'rdf-js'; -import { EventEmitter } from 'events'; +import { EventEmitter } from "events"; +import { Context } from "jsonld/jsonld-spec.js"; +import { BaseQuad, DataFactory, Quad, Sink, Stream } from "rdf-js"; export interface ParserOptions { baseIRI?: string | undefined; diff --git a/types/rdfjs__parser-jsonld/rdfjs__parser-jsonld-tests.ts b/types/rdfjs__parser-jsonld/rdfjs__parser-jsonld-tests.ts index c990a6198eba5c..6bf4b26e914b06 100644 --- a/types/rdfjs__parser-jsonld/rdfjs__parser-jsonld-tests.ts +++ b/types/rdfjs__parser-jsonld/rdfjs__parser-jsonld-tests.ts @@ -1,9 +1,9 @@ -import Parser from '@rdfjs/parser-jsonld'; -import { Context } from 'jsonld/jsonld-spec'; -import { DataFactory, Sink, Stream, BaseQuad } from 'rdf-js'; -import { EventEmitter } from 'events'; +import Parser from "@rdfjs/parser-jsonld"; +import { EventEmitter } from "events"; +import { Context } from "jsonld/jsonld-spec"; +import { BaseQuad, DataFactory, Sink, Stream } from "rdf-js"; -const baseIRI = ''; +const baseIRI = ""; const context: Context = {} as any; const factory: DataFactory = {} as any; const stream: Stream = {} as any; diff --git a/types/rdfjs__parser-n3/index.d.ts b/types/rdfjs__parser-n3/index.d.ts index c7bde219767ac1..53a13224897c34 100644 --- a/types/rdfjs__parser-n3/index.d.ts +++ b/types/rdfjs__parser-n3/index.d.ts @@ -3,8 +3,8 @@ // Definitions by: tpluscode // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { Sink, Stream, DataFactory, BaseQuad, Quad } from 'rdf-js'; -import { EventEmitter } from 'events'; +import { EventEmitter } from "events"; +import { BaseQuad, DataFactory, Quad, Sink, Stream } from "rdf-js"; export interface ParserOptions { baseIRI?: string | undefined; diff --git a/types/rdfjs__parser-n3/rdfjs__parser-n3-tests.ts b/types/rdfjs__parser-n3/rdfjs__parser-n3-tests.ts index 9c15a554f636d6..23d35b4088aebf 100644 --- a/types/rdfjs__parser-n3/rdfjs__parser-n3-tests.ts +++ b/types/rdfjs__parser-n3/rdfjs__parser-n3-tests.ts @@ -1,9 +1,9 @@ -import ParserN3 from '@rdfjs/parser-n3'; -import { Stream, DataFactory, Sink, BaseQuad } from 'rdf-js'; -import { EventEmitter } from 'events'; +import ParserN3 from "@rdfjs/parser-n3"; +import { EventEmitter } from "events"; +import { BaseQuad, DataFactory, Sink, Stream } from "rdf-js"; const factory: DataFactory = {}; -const baseIRI = ''; +const baseIRI = ""; const parser = new ParserN3(); const parser1 = new ParserN3({}); diff --git a/types/rdfjs__prefix-map/Factory.d.ts b/types/rdfjs__prefix-map/Factory.d.ts index 38e985f76f7238..030b45ad560f9f 100644 --- a/types/rdfjs__prefix-map/Factory.d.ts +++ b/types/rdfjs__prefix-map/Factory.d.ts @@ -1,4 +1,4 @@ -import { PrefixMap, PrefixMapInit } from './PrefixMap.js'; +import { PrefixMap, PrefixMapInit } from "./PrefixMap.js"; export interface PrefixMapFactory { prefixMap(prefixes?: PrefixMapInit): PrefixMap; @@ -6,7 +6,7 @@ export interface PrefixMapFactory { interface PrefixMapFactoryCtor { new(): PrefixMapFactory; - exports: ['prefixMap']; + exports: ["prefixMap"]; } declare const factory: PrefixMapFactoryCtor; diff --git a/types/rdfjs__prefix-map/PrefixMap.d.ts b/types/rdfjs__prefix-map/PrefixMap.d.ts index 61ce9e1fb8ca2e..47803435a14c40 100644 --- a/types/rdfjs__prefix-map/PrefixMap.d.ts +++ b/types/rdfjs__prefix-map/PrefixMap.d.ts @@ -1,4 +1,4 @@ -import { NamedNode, DataFactory, Stream } from '@rdfjs/types'; +import { DataFactory, NamedNode, Stream } from "@rdfjs/types"; export type PrefixMapInit = Array<[string, NamedNode]>; diff --git a/types/rdfjs__prefix-map/rdfjs__prefix-map-tests.ts b/types/rdfjs__prefix-map/rdfjs__prefix-map-tests.ts index 110f37fcaff3f7..f71fc7255dcc25 100644 --- a/types/rdfjs__prefix-map/rdfjs__prefix-map-tests.ts +++ b/types/rdfjs__prefix-map/rdfjs__prefix-map-tests.ts @@ -1,12 +1,12 @@ -import { NamedNode } from '@rdfjs/types'; -import Environment from '@rdfjs/environment/Environment'; -import PrefixMapFactory from '@rdfjs/prefix-map/Factory'; +import Environment from "@rdfjs/environment/Environment"; +import PrefixMapFactory from "@rdfjs/prefix-map/Factory"; +import { NamedNode } from "@rdfjs/types"; const term: NamedNode = {}; const environment = new Environment([PrefixMapFactory]); const prefixMap = environment.prefixMap([ - ['schema', term] + ["schema", term], ]); const termShort: NamedNode = prefixMap.shrink(term); diff --git a/types/rdfjs__score/Factory.d.ts b/types/rdfjs__score/Factory.d.ts index 3bed80221a0153..cbc9d321f3c77b 100644 --- a/types/rdfjs__score/Factory.d.ts +++ b/types/rdfjs__score/Factory.d.ts @@ -1,4 +1,4 @@ -import * as score from './index.js'; +import * as score from "./index.js"; export interface ScoreFactory { score: typeof score; diff --git a/types/rdfjs__score/combine.d.ts b/types/rdfjs__score/combine.d.ts index b0915ca443983d..15a9e0fe039f94 100644 --- a/types/rdfjs__score/combine.d.ts +++ b/types/rdfjs__score/combine.d.ts @@ -1,7 +1,7 @@ -import { ScoreFn } from './index.js'; +import { ScoreFn } from "./index.js"; declare const combine: ScoreFn & { - prioritized: ScoreFn + prioritized: ScoreFn; }; declare const prioritized: ScoreFn; diff --git a/types/rdfjs__score/concat.d.ts b/types/rdfjs__score/concat.d.ts index b10e1aad401385..43f8510ed71e5b 100644 --- a/types/rdfjs__score/concat.d.ts +++ b/types/rdfjs__score/concat.d.ts @@ -1,4 +1,4 @@ -import { ScoreFn } from './index.js'; +import { ScoreFn } from "./index.js"; declare const concat: ScoreFn; export default concat; diff --git a/types/rdfjs__score/count.d.ts b/types/rdfjs__score/count.d.ts index de96560c02e7f3..9c297c52c8774b 100644 --- a/types/rdfjs__score/count.d.ts +++ b/types/rdfjs__score/count.d.ts @@ -1,6 +1,6 @@ -import { ScoreFn } from './index.js'; +import { ScoreFn } from "./index.js"; -type CountCriteria = Record<'subject' | 'predicate' | 'object' | 'graph', boolean>; +type CountCriteria = Record<"subject" | "predicate" | "object" | "graph", boolean>; declare const count: ScoreFn<[] | [CountCriteria]>; export default count; diff --git a/types/rdfjs__score/distinct.d.ts b/types/rdfjs__score/distinct.d.ts index d197f2c4c7972b..bddd0867a5b16c 100644 --- a/types/rdfjs__score/distinct.d.ts +++ b/types/rdfjs__score/distinct.d.ts @@ -1,3 +1,3 @@ -import { Score } from './index.js'; +import { Score } from "./index.js"; export default function distinct(score: Score[]): Score[]; diff --git a/types/rdfjs__score/exists.d.ts b/types/rdfjs__score/exists.d.ts index 4ec1dbd2fde287..f625921b8333ca 100644 --- a/types/rdfjs__score/exists.d.ts +++ b/types/rdfjs__score/exists.d.ts @@ -1,5 +1,5 @@ -import { Term } from '@rdfjs/types'; -import { ScoreFn } from './index.js'; +import { Term } from "@rdfjs/types"; +import { ScoreFn } from "./index.js"; interface SubjectExists { subject: Term; diff --git a/types/rdfjs__score/fallback.d.ts b/types/rdfjs__score/fallback.d.ts index 825a0cb72467cf..d883d7ecd8c2db 100644 --- a/types/rdfjs__score/fallback.d.ts +++ b/types/rdfjs__score/fallback.d.ts @@ -1,4 +1,4 @@ -import { ScoreFn } from './index.js'; +import { ScoreFn } from "./index.js"; declare const fallback: ScoreFn; export default fallback; diff --git a/types/rdfjs__score/fixed.d.ts b/types/rdfjs__score/fixed.d.ts index c021f60989aef6..73a9779a62291c 100644 --- a/types/rdfjs__score/fixed.d.ts +++ b/types/rdfjs__score/fixed.d.ts @@ -1,5 +1,5 @@ -import { Term } from '@rdfjs/types'; -import { ScoreFn } from './index.js'; +import { Term } from "@rdfjs/types"; +import { ScoreFn } from "./index.js"; declare const fixed: ScoreFn<[Term]>; export default fixed; diff --git a/types/rdfjs__score/index.d.ts b/types/rdfjs__score/index.d.ts index 82ab4107d7d96d..b9c4b7859ce873 100644 --- a/types/rdfjs__score/index.d.ts +++ b/types/rdfjs__score/index.d.ts @@ -3,25 +3,25 @@ // Definitions by: tpluscode // Jesse Wright // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { DatasetCore, Quad_Graph, Term } from '@rdfjs/types'; +import { DatasetCore, Quad_Graph, Term } from "@rdfjs/types"; -export { default as combine } from './combine.js'; -export { default as concat } from './concat.js'; -export { default as count } from './count.js'; -export { default as distinct } from './distinct.js'; -export { default as exists } from './exists.js'; -export { default as fallback } from './fallback.js'; -export { default as fixed } from './fixed.js'; -export { default as language } from './language.js'; -export { default as pageRank } from './pageRank.js'; -export { default as pathDepth } from './pathDepth.js'; -export { default as prioritized } from './prioritized.js'; -export { default as product } from './product.js'; -export { default as scale } from './scale.js'; -export { default as sort } from './sort.js'; -export { default as sortObjects } from './sortObjects.js'; -export { default as sum } from './sum.js'; -export { default as type } from './type.js'; +export { default as combine } from "./combine.js"; +export { default as concat } from "./concat.js"; +export { default as count } from "./count.js"; +export { default as distinct } from "./distinct.js"; +export { default as exists } from "./exists.js"; +export { default as fallback } from "./fallback.js"; +export { default as fixed } from "./fixed.js"; +export { default as language } from "./language.js"; +export { default as pageRank } from "./pageRank.js"; +export { default as pathDepth } from "./pathDepth.js"; +export { default as prioritized } from "./prioritized.js"; +export { default as product } from "./product.js"; +export { default as scale } from "./scale.js"; +export { default as sort } from "./sort.js"; +export { default as sortObjects } from "./sortObjects.js"; +export { default as sum } from "./sum.js"; +export { default as type } from "./type.js"; export interface Pointers { dataset: DatasetCore; diff --git a/types/rdfjs__score/language.d.ts b/types/rdfjs__score/language.d.ts index bf18f2b4c31150..37cc562a7d38b0 100644 --- a/types/rdfjs__score/language.d.ts +++ b/types/rdfjs__score/language.d.ts @@ -1,4 +1,4 @@ -import { ScoreFn } from './index.js'; +import { ScoreFn } from "./index.js"; declare const language: ScoreFn<[string[]]>; export default language; diff --git a/types/rdfjs__score/pageRank.d.ts b/types/rdfjs__score/pageRank.d.ts index ec97f1431a33e7..ae354967fcec00 100644 --- a/types/rdfjs__score/pageRank.d.ts +++ b/types/rdfjs__score/pageRank.d.ts @@ -1,4 +1,4 @@ -import { ScoreFn } from './index.js'; +import { ScoreFn } from "./index.js"; interface PageRank { alpha?: number; diff --git a/types/rdfjs__score/pathDepth.d.ts b/types/rdfjs__score/pathDepth.d.ts index ae284eda524642..ac63e3391072c5 100644 --- a/types/rdfjs__score/pathDepth.d.ts +++ b/types/rdfjs__score/pathDepth.d.ts @@ -1,4 +1,4 @@ -import { ScoreFn } from './index.js'; +import { ScoreFn } from "./index.js"; declare const pathDepth: ScoreFn<[]>; export default pathDepth; diff --git a/types/rdfjs__score/prioritized.d.ts b/types/rdfjs__score/prioritized.d.ts index 13459edf0a862f..a04c2840baf106 100644 --- a/types/rdfjs__score/prioritized.d.ts +++ b/types/rdfjs__score/prioritized.d.ts @@ -1,4 +1,4 @@ -import { ScoreFn } from './index.js'; +import { ScoreFn } from "./index.js"; declare const prioritized: ScoreFn; export default prioritized; diff --git a/types/rdfjs__score/product.d.ts b/types/rdfjs__score/product.d.ts index 9e75840a54ea28..511727c19f7874 100644 --- a/types/rdfjs__score/product.d.ts +++ b/types/rdfjs__score/product.d.ts @@ -1,4 +1,4 @@ -import { ScoreFn } from './index.js'; +import { ScoreFn } from "./index.js"; declare const product: ScoreFn; export default product; diff --git a/types/rdfjs__score/rdfjs__score-tests.ts b/types/rdfjs__score/rdfjs__score-tests.ts index 222c17727f4426..bcf97e72184538 100644 --- a/types/rdfjs__score/rdfjs__score-tests.ts +++ b/types/rdfjs__score/rdfjs__score-tests.ts @@ -1,9 +1,5 @@ -import { Term, DatasetCore } from '@rdfjs/types'; -import { MultiPointer, GraphPointer } from 'clownface'; +import Environment from "@rdfjs/environment/Environment"; import { - ScoreCb, - Score, - Pointers, combine, concat, count, @@ -14,16 +10,20 @@ import { language, pageRank, pathDepth, + Pointers, prioritized, product, scale, + Score, + ScoreCb, sort, sortObjects, sum, - type -} from '@rdfjs/score'; -import Factory from '@rdfjs/score/Factory'; -import Environment from '@rdfjs/environment/Environment'; + type, +} from "@rdfjs/score"; +import Factory from "@rdfjs/score/Factory"; +import { DatasetCore, Term } from "@rdfjs/types"; +import { GraphPointer, MultiPointer } from "clownface"; const score: ScoreCb = {}; const clownfacePointer: MultiPointer = {}; @@ -47,7 +47,7 @@ function test_count() { const countSubjects = count()(ptrs); // $ExpectType Score[] - const countAllBut = count({subject: false, graph: true, object: true, predicate: true})(ptrs); + const countAllBut = count({ subject: false, graph: true, object: true, predicate: true })(ptrs); } function test_distinct() { @@ -67,19 +67,19 @@ function test_exists() { exists({})(ptrs); // $ExpectType Score[] - exists({subject})(ptrs); + exists({ subject })(ptrs); // $ExpectType Score[] - exists({predicate})(ptrs); + exists({ predicate })(ptrs); // $ExpectType Score[] - exists({object})(ptrs); + exists({ object })(ptrs); // $ExpectType Score[] - exists({graph})(ptrs); + exists({ graph })(ptrs); // $ExpectType Score[] - exists({subject, predicate, object, graph})(ptrs); + exists({ subject, predicate, object, graph })(ptrs); } function test_fallback() { @@ -96,7 +96,7 @@ function test_fixed() { function test_language() { // $ExpectType Score[] - language(['en', 'de', '*'])(ptrs); + language(["en", "de", "*"])(ptrs); } function test_pageRank() { @@ -141,7 +141,7 @@ function test_sort() { } interface SortedObj { - deep: { term: Term }; + deep: { term: Term }; } function test_sortObjects() { @@ -161,7 +161,7 @@ function test_sortObjects() { dataset, objects: customObjects, score, - termCallback: obj => obj.deep.term + termCallback: obj => obj.deep.term, }); } @@ -199,6 +199,6 @@ function test_Factory() { sort, sortObjects, sum, - type + type, } = fromEnv.score; } diff --git a/types/rdfjs__score/scale.d.ts b/types/rdfjs__score/scale.d.ts index de3044c85fa154..b5a242af494d36 100644 --- a/types/rdfjs__score/scale.d.ts +++ b/types/rdfjs__score/scale.d.ts @@ -1,4 +1,4 @@ -import { ScoreFn, ScoreCb } from './index.js'; +import { ScoreCb, ScoreFn } from "./index.js"; interface ScaleCriteria { score: ScoreCb; diff --git a/types/rdfjs__score/sort.d.ts b/types/rdfjs__score/sort.d.ts index 7ebd074414af6a..0469be1147333b 100644 --- a/types/rdfjs__score/sort.d.ts +++ b/types/rdfjs__score/sort.d.ts @@ -1,3 +1,3 @@ -import { Score } from './index.js'; +import { Score } from "./index.js"; export default function sort(scores: Score[]): Score[]; diff --git a/types/rdfjs__score/sortObjects.d.ts b/types/rdfjs__score/sortObjects.d.ts index 224689c3cd91b6..2934eb785146c0 100644 --- a/types/rdfjs__score/sortObjects.d.ts +++ b/types/rdfjs__score/sortObjects.d.ts @@ -1,5 +1,5 @@ -import { DatasetCore, Term } from '@rdfjs/types'; -import { ScoreCb } from './index.js'; +import { DatasetCore, Term } from "@rdfjs/types"; +import { ScoreCb } from "./index.js"; interface SortArgs { dataset: DatasetCore; @@ -8,8 +8,10 @@ interface SortArgs { } declare function sortObjects(arg: SortArgs<{ term: Term }>): Array<{ term: Term }>; -declare function sortObjects(arg: SortArgs & { - termCallback: (obj: T) => Term -}): T[]; +declare function sortObjects( + arg: SortArgs & { + termCallback: (obj: T) => Term; + }, +): T[]; export default sortObjects; diff --git a/types/rdfjs__score/sum.d.ts b/types/rdfjs__score/sum.d.ts index 18cecb67b831b0..1c647ddf11291d 100644 --- a/types/rdfjs__score/sum.d.ts +++ b/types/rdfjs__score/sum.d.ts @@ -1,4 +1,4 @@ -import { ScoreFn } from './index.js'; +import { ScoreFn } from "./index.js"; declare const sum: ScoreFn; export default sum; diff --git a/types/rdfjs__score/type.d.ts b/types/rdfjs__score/type.d.ts index d1a66f64143721..ebf2b9b66277d4 100644 --- a/types/rdfjs__score/type.d.ts +++ b/types/rdfjs__score/type.d.ts @@ -1,5 +1,5 @@ -import { Term } from '@rdfjs/types'; -import { ScoreFn } from './index.js'; +import { Term } from "@rdfjs/types"; +import { ScoreFn } from "./index.js"; declare const type: ScoreFn<[Term]>; export default type; diff --git a/types/rdfjs__serializer-jsonld-ext/index.d.ts b/types/rdfjs__serializer-jsonld-ext/index.d.ts index c49b2a59e1cd2b..5a6723533565a8 100644 --- a/types/rdfjs__serializer-jsonld-ext/index.d.ts +++ b/types/rdfjs__serializer-jsonld-ext/index.d.ts @@ -3,15 +3,15 @@ // Definitions by: Chris Wilkinson // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { EventEmitter } from 'events'; -import { Context } from 'jsonld/jsonld-spec'; -import { Sink, Stream, BaseQuad, Quad } from 'rdf-js'; +import { EventEmitter } from "events"; +import { Context } from "jsonld/jsonld-spec"; +import { BaseQuad, Quad, Sink, Stream } from "rdf-js"; declare namespace Serializer { interface SerializerOptions { context?: Context | undefined; compact?: boolean | undefined; - encoding?: 'string' | 'object' | undefined; + encoding?: "string" | "object" | undefined; flatten?: boolean | undefined; frame?: boolean | undefined; skipContext?: boolean | undefined; diff --git a/types/rdfjs__serializer-jsonld-ext/rdfjs__serializer-jsonld-ext-tests.ts b/types/rdfjs__serializer-jsonld-ext/rdfjs__serializer-jsonld-ext-tests.ts index 8925b2eb2ff334..409fa2fb2379b2 100644 --- a/types/rdfjs__serializer-jsonld-ext/rdfjs__serializer-jsonld-ext-tests.ts +++ b/types/rdfjs__serializer-jsonld-ext/rdfjs__serializer-jsonld-ext-tests.ts @@ -1,7 +1,7 @@ -import Serializer = require('@rdfjs/serializer-jsonld-ext'); -import { EventEmitter } from 'events'; -import { Context } from 'jsonld/jsonld-spec'; -import { Sink, Stream } from 'rdf-js'; +import Serializer = require("@rdfjs/serializer-jsonld-ext"); +import { EventEmitter } from "events"; +import { Context } from "jsonld/jsonld-spec"; +import { Sink, Stream } from "rdf-js"; const context: Context = {} as any; const stream: Stream = {} as any; @@ -11,13 +11,13 @@ const serializer2 = new Serializer({}); const serializer3 = new Serializer({ context, compact: true, - encoding: 'string', + encoding: "string", flatten: true, frame: true, skipContext: true, - skipGraphProperty: true + skipGraphProperty: true, }); -const serializer4: Serializer = new Serializer({ encoding: 'object' }); +const serializer4: Serializer = new Serializer({ encoding: "object" }); const sink: Sink = serializer1; @@ -26,10 +26,10 @@ const eventEmitter2: EventEmitter = serializer1.import(stream, {}); const eventEmitter3: EventEmitter = serializer1.import(stream, { context, compact: true, - encoding: 'string', + encoding: "string", flatten: true, frame: true, skipContext: true, - skipGraphProperty: true + skipGraphProperty: true, }); -const eventEmitter4: EventEmitter = serializer1.import(stream, { encoding: 'object' }); +const eventEmitter4: EventEmitter = serializer1.import(stream, { encoding: "object" }); diff --git a/types/rdfjs__serializer-jsonld/index.d.ts b/types/rdfjs__serializer-jsonld/index.d.ts index ad89610ea0ba12..8d3fb151f98ace 100644 --- a/types/rdfjs__serializer-jsonld/index.d.ts +++ b/types/rdfjs__serializer-jsonld/index.d.ts @@ -4,11 +4,11 @@ // tpluscode // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { EventEmitter } from 'events'; -import { Sink, Stream, BaseQuad, Quad } from 'rdf-js'; +import { EventEmitter } from "events"; +import { BaseQuad, Quad, Sink, Stream } from "rdf-js"; export interface SerializerOptions { - encoding?: 'string' | 'object' | undefined; + encoding?: "string" | "object" | undefined; } export default class Serializer implements Sink, EventEmitter> { diff --git a/types/rdfjs__serializer-jsonld/rdfjs__serializer-jsonld-tests.ts b/types/rdfjs__serializer-jsonld/rdfjs__serializer-jsonld-tests.ts index 800c80df23f354..d35c855a970794 100644 --- a/types/rdfjs__serializer-jsonld/rdfjs__serializer-jsonld-tests.ts +++ b/types/rdfjs__serializer-jsonld/rdfjs__serializer-jsonld-tests.ts @@ -1,17 +1,17 @@ -import Serializer from '@rdfjs/serializer-jsonld'; -import { EventEmitter } from 'events'; -import { Sink, Stream } from 'rdf-js'; +import Serializer from "@rdfjs/serializer-jsonld"; +import { EventEmitter } from "events"; +import { Sink, Stream } from "rdf-js"; const stream: Stream = {} as any; const serializer1 = new Serializer(); const serializer2 = new Serializer({}); -const serializer3 = new Serializer({ encoding: 'string' }); -const serializer4 = new Serializer({ encoding: 'object' }); +const serializer3 = new Serializer({ encoding: "string" }); +const serializer4 = new Serializer({ encoding: "object" }); const sink: Sink = serializer1; const eventEmitter1: EventEmitter = serializer1.import(stream); const eventEmitter2: EventEmitter = serializer1.import(stream, {}); -const eventEmitter3: EventEmitter = serializer1.import(stream, { encoding: 'string' }); -const eventEmitter4: EventEmitter = serializer1.import(stream, { encoding: 'object' }); +const eventEmitter3: EventEmitter = serializer1.import(stream, { encoding: "string" }); +const eventEmitter4: EventEmitter = serializer1.import(stream, { encoding: "object" }); diff --git a/types/rdfjs__serializer-ntriples/index.d.ts b/types/rdfjs__serializer-ntriples/index.d.ts index fb64d34284d543..458662ab34dd86 100644 --- a/types/rdfjs__serializer-ntriples/index.d.ts +++ b/types/rdfjs__serializer-ntriples/index.d.ts @@ -3,8 +3,8 @@ // Definitions by: tpluscode // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { EventEmitter } from 'events'; -import { Sink, Stream, BaseQuad, Quad } from 'rdf-js'; +import { EventEmitter } from "events"; +import { BaseQuad, Quad, Sink, Stream } from "rdf-js"; export default class Serializer implements Sink, EventEmitter> { import(stream: Stream): EventEmitter; diff --git a/types/rdfjs__serializer-ntriples/rdfjs__serializer-ntriples-tests.ts b/types/rdfjs__serializer-ntriples/rdfjs__serializer-ntriples-tests.ts index 6373da37148cd7..b3ed295124bfbb 100644 --- a/types/rdfjs__serializer-ntriples/rdfjs__serializer-ntriples-tests.ts +++ b/types/rdfjs__serializer-ntriples/rdfjs__serializer-ntriples-tests.ts @@ -1,6 +1,6 @@ -import Serializer from '@rdfjs/serializer-ntriples'; -import { EventEmitter } from 'events'; -import { Sink, Stream } from 'rdf-js'; +import Serializer from "@rdfjs/serializer-ntriples"; +import { EventEmitter } from "events"; +import { Sink, Stream } from "rdf-js"; const stream: Stream = {} as any; diff --git a/types/rdfjs__serializer-rdfjs/index.d.ts b/types/rdfjs__serializer-rdfjs/index.d.ts index 902b4e8ebb948c..0db84484bdbc92 100644 --- a/types/rdfjs__serializer-rdfjs/index.d.ts +++ b/types/rdfjs__serializer-rdfjs/index.d.ts @@ -4,11 +4,11 @@ // Benjamin Hofstetter // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { EventEmitter } from 'events'; -import { Sink, Stream, BaseQuad, Quad } from 'rdf-js'; +import { EventEmitter } from "events"; +import { BaseQuad, Quad, Sink, Stream } from "rdf-js"; export interface SerializerOptions { - module?: 'commonjs' | 'ts' | undefined; + module?: "commonjs" | "ts" | undefined; } export default class Serializer implements Sink, EventEmitter> { diff --git a/types/rdfjs__serializer-rdfjs/rdfjs__serializer-rdfjs-tests.ts b/types/rdfjs__serializer-rdfjs/rdfjs__serializer-rdfjs-tests.ts index 50b5da201cc470..f03138127be137 100644 --- a/types/rdfjs__serializer-rdfjs/rdfjs__serializer-rdfjs-tests.ts +++ b/types/rdfjs__serializer-rdfjs/rdfjs__serializer-rdfjs-tests.ts @@ -1,6 +1,6 @@ -import Serializer from '@rdfjs/serializer-rdfjs'; -import { Quad, Stream, DatasetCore } from 'rdf-js'; -import { EventEmitter } from 'events'; +import Serializer from "@rdfjs/serializer-rdfjs"; +import { EventEmitter } from "events"; +import { DatasetCore, Quad, Stream } from "rdf-js"; const dataset: DatasetCore = {}; const quads: Quad[] = {}; @@ -9,10 +9,10 @@ const quadStream: Stream = {}; const serializer = new Serializer(); const serializer2 = new Serializer({}); const serializerTypescript = new Serializer({ - module: 'ts' + module: "ts", }); const serializerCjs = new Serializer({ - module: 'commonjs' + module: "commonjs", }); const code: string = serializer.transform(quads); @@ -20,5 +20,5 @@ const codeFromDataset: string = serializer.transform(dataset); const stream: EventEmitter = serializer.import(quadStream); const typescriptStream: EventEmitter = serializer.import(quadStream, { - module: 'ts' + module: "ts", }); diff --git a/types/rdfjs__sink-map/index.d.ts b/types/rdfjs__sink-map/index.d.ts index ed8b5255e20cc6..2f2bbad9d71d39 100644 --- a/types/rdfjs__sink-map/index.d.ts +++ b/types/rdfjs__sink-map/index.d.ts @@ -4,14 +4,19 @@ // Jesse Wright // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { EventEmitter } from 'events'; -import { Sink } from '@rdfjs/types'; +import { Sink } from "@rdfjs/types"; +import { EventEmitter } from "events"; -export interface SinkMap extends Map> { +export interface SinkMap + extends Map> +{ import(mediaType: string, input: InputStream, options?: any): OutputStream | null; } -export class SinkMap extends Map> implements SinkMap { +export class SinkMap + extends Map> + implements SinkMap +{ import(mediaType: string, input: InputStream, options?: any): OutputStream | null; } diff --git a/types/rdfjs__sink-map/rdfjs__sink-map-tests.ts b/types/rdfjs__sink-map/rdfjs__sink-map-tests.ts index d6dcc3b23b3435..c3d29aac86a334 100644 --- a/types/rdfjs__sink-map/rdfjs__sink-map-tests.ts +++ b/types/rdfjs__sink-map/rdfjs__sink-map-tests.ts @@ -1,12 +1,12 @@ -import SinkMap from '@rdfjs/sink-map'; -import { Stream, Sink } from '@rdfjs/types'; +import SinkMap from "@rdfjs/sink-map"; +import { Sink, Stream } from "@rdfjs/types"; const parsers: SinkMap = new SinkMap(); function createSinkMap(): SinkMap { const parser: Sink = {}; return new SinkMap([ - ['text/turtle', parser] + ["text/turtle", parser], ]); } @@ -16,5 +16,5 @@ function castToMap(): Map> { function importing(): Stream | null { const input: NodeJS.ReadableStream = {}; - return parsers.import('text/turtle', input); + return parsers.import("text/turtle", input); } diff --git a/types/rdfjs__term-map/Factory.d.ts b/types/rdfjs__term-map/Factory.d.ts index b84d13a4d1ceb4..ea57ccf3d8b274 100644 --- a/types/rdfjs__term-map/Factory.d.ts +++ b/types/rdfjs__term-map/Factory.d.ts @@ -1,5 +1,5 @@ -import TermMap from './index.js'; -import { Term } from '@rdfjs/types'; +import { Term } from "@rdfjs/types"; +import TermMap from "./index.js"; export interface TermMapFactory { // eslint-disable-next-line @definitelytyped/no-unnecessary-generics @@ -8,7 +8,7 @@ export interface TermMapFactory { interface FactoryCtor { new(): TermMapFactory; - exports: ['termMap']; + exports: ["termMap"]; } declare const factoryCtor: FactoryCtor; export default factoryCtor; diff --git a/types/rdfjs__term-map/rdfjs__term-map-tests.ts b/types/rdfjs__term-map/rdfjs__term-map-tests.ts index 4f0093790d599f..c01c40f42deb64 100644 --- a/types/rdfjs__term-map/rdfjs__term-map-tests.ts +++ b/types/rdfjs__term-map/rdfjs__term-map-tests.ts @@ -1,6 +1,6 @@ -import TermMap from '@rdfjs/term-map'; -import Factory from '@rdfjs/term-map/Factory'; -import { Term, Literal, BlankNode, NamedNode } from '@rdfjs/types'; +import TermMap from "@rdfjs/term-map"; +import Factory from "@rdfjs/term-map/Factory"; +import { BlankNode, Literal, NamedNode, Term } from "@rdfjs/types"; const literal: Literal = {}; const blank: BlankNode = {}; @@ -11,16 +11,16 @@ const value: any = anyTermMap.get(literal); const initializedMap: Map = new TermMap([ [literal, 1], - [blank, 1] + [blank, 1], ]); const specificKeyMap: Map = new TermMap([ - [named, 'foo'] + [named, "foo"], ]); -const exports: ['termMap'] = Factory.exports; +const exports: ["termMap"] = Factory.exports; const factory = new Factory(); let fromFactory: Map = factory.termMap(); fromFactory = factory.termMap([ - [named, 5] + [named, 5], ]); diff --git a/types/rdfjs__term-set/Factory.d.ts b/types/rdfjs__term-set/Factory.d.ts index 10d4d557f0e65f..e0dda890f7520f 100644 --- a/types/rdfjs__term-set/Factory.d.ts +++ b/types/rdfjs__term-set/Factory.d.ts @@ -1,8 +1,8 @@ -import TermSet from './index.js'; -import { Term } from '@rdfjs/types'; +import { Term } from "@rdfjs/types"; +import TermSet from "./index.js"; export class TermSetFactory { - static exports: ['termSet']; + static exports: ["termSet"]; termSet(terms?: T[] | null): TermSet; } diff --git a/types/rdfjs__term-set/rdfjs__term-set-tests.ts b/types/rdfjs__term-set/rdfjs__term-set-tests.ts index e83b48ea4b71c8..3c75aed2440441 100644 --- a/types/rdfjs__term-set/rdfjs__term-set-tests.ts +++ b/types/rdfjs__term-set/rdfjs__term-set-tests.ts @@ -1,11 +1,11 @@ -import TermSet from '@rdfjs/term-set'; -import Factory from '@rdfjs/term-set/Factory'; -import { Term } from '@rdfjs/types'; +import TermSet from "@rdfjs/term-set"; +import Factory from "@rdfjs/term-set/Factory"; +import { Term } from "@rdfjs/types"; const type1: Term = {}; const type2: Term = {}; const set: Set = new TermSet([type1, type2]); -const exports: ['termSet'] = Factory.exports; +const exports: ["termSet"] = Factory.exports; const fromFactory: Set = new Factory().termSet([type1, type2]); diff --git a/types/rdfjs__to-ntriples/index.d.ts b/types/rdfjs__to-ntriples/index.d.ts index e627420805b8a5..5cf5449670eec1 100644 --- a/types/rdfjs__to-ntriples/index.d.ts +++ b/types/rdfjs__to-ntriples/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // Minimum TypeScript Version: 3.0 -import { DatasetCore, Term } from 'rdf-js'; +import { DatasetCore, Term } from "rdf-js"; declare function toNT(term: Term | DatasetCore): string; diff --git a/types/rdfjs__to-ntriples/lib/blankNode.d.ts b/types/rdfjs__to-ntriples/lib/blankNode.d.ts index 53dee7b793e306..09393fa07fb59c 100644 --- a/types/rdfjs__to-ntriples/lib/blankNode.d.ts +++ b/types/rdfjs__to-ntriples/lib/blankNode.d.ts @@ -1,4 +1,4 @@ -import { BlankNode } from 'rdf-js'; +import { BlankNode } from "rdf-js"; declare function blankNode(blankNode: BlankNode): string; diff --git a/types/rdfjs__to-ntriples/lib/dataset.d.ts b/types/rdfjs__to-ntriples/lib/dataset.d.ts index b87daa17426122..19ba655aebdd2f 100644 --- a/types/rdfjs__to-ntriples/lib/dataset.d.ts +++ b/types/rdfjs__to-ntriples/lib/dataset.d.ts @@ -1,4 +1,4 @@ -import { DatasetCore, Quad } from 'rdf-js'; +import { DatasetCore, Quad } from "rdf-js"; declare function dataset(dataset: DatasetCore, toNT: (quad: Quad) => string): string; diff --git a/types/rdfjs__to-ntriples/lib/literal.d.ts b/types/rdfjs__to-ntriples/lib/literal.d.ts index 24156b9628ed74..1d8fd52824148a 100644 --- a/types/rdfjs__to-ntriples/lib/literal.d.ts +++ b/types/rdfjs__to-ntriples/lib/literal.d.ts @@ -1,4 +1,4 @@ -import { Literal } from 'rdf-js'; +import { Literal } from "rdf-js"; declare function literal(literal: Literal): string; diff --git a/types/rdfjs__to-ntriples/lib/namedNode.d.ts b/types/rdfjs__to-ntriples/lib/namedNode.d.ts index f7625edf4e3874..04c870d80acc95 100644 --- a/types/rdfjs__to-ntriples/lib/namedNode.d.ts +++ b/types/rdfjs__to-ntriples/lib/namedNode.d.ts @@ -1,4 +1,4 @@ -import { NamedNode } from 'rdf-js'; +import { NamedNode } from "rdf-js"; declare function namedNode(namedNode: NamedNode): string; diff --git a/types/rdfjs__to-ntriples/lib/quad.d.ts b/types/rdfjs__to-ntriples/lib/quad.d.ts index d86c092b1afd04..f32778a6dd7b72 100644 --- a/types/rdfjs__to-ntriples/lib/quad.d.ts +++ b/types/rdfjs__to-ntriples/lib/quad.d.ts @@ -1,4 +1,4 @@ -import { Quad, Term } from 'rdf-js'; +import { Quad, Term } from "rdf-js"; declare function quad(quad: Quad, toNT: (term: Term) => string): string; diff --git a/types/rdfjs__to-ntriples/lib/term.d.ts b/types/rdfjs__to-ntriples/lib/term.d.ts index fd15be5af915ea..c3e87a5751022f 100644 --- a/types/rdfjs__to-ntriples/lib/term.d.ts +++ b/types/rdfjs__to-ntriples/lib/term.d.ts @@ -1,4 +1,4 @@ -import { Term } from 'rdf-js'; +import { Term } from "rdf-js"; declare function term(term: Term): string; declare function term(term: unknown): undefined; diff --git a/types/rdfjs__to-ntriples/lib/variable.d.ts b/types/rdfjs__to-ntriples/lib/variable.d.ts index eccd7de999b5c3..ca33f7ef993283 100644 --- a/types/rdfjs__to-ntriples/lib/variable.d.ts +++ b/types/rdfjs__to-ntriples/lib/variable.d.ts @@ -1,4 +1,4 @@ -import { Variable } from 'rdf-js'; +import { Variable } from "rdf-js"; declare function variable(variable: Variable): string; diff --git a/types/rdfjs__to-ntriples/rdfjs__to-ntriples-tests.ts b/types/rdfjs__to-ntriples/rdfjs__to-ntriples-tests.ts index 40a508327ed807..d6aa6db5f1efa1 100644 --- a/types/rdfjs__to-ntriples/rdfjs__to-ntriples-tests.ts +++ b/types/rdfjs__to-ntriples/rdfjs__to-ntriples-tests.ts @@ -1,12 +1,12 @@ -import * as RDF from 'rdf-js'; -import toNT = require('@rdfjs/to-ntriples'); -import blankNode = require('@rdfjs/to-ntriples/lib/blankNode'); -import defaultGraph = require('@rdfjs/to-ntriples/lib/defaultGraph'); -import namedNode = require('@rdfjs/to-ntriples/lib/namedNode'); -import variable = require('@rdfjs/to-ntriples/lib/variable'); -import quad = require('@rdfjs/to-ntriples/lib/quad'); -import dataset = require('@rdfjs/to-ntriples/lib/dataset'); -import term = require('@rdfjs/to-ntriples/lib/term'); +import * as RDF from "rdf-js"; +import toNT = require("@rdfjs/to-ntriples"); +import blankNode = require("@rdfjs/to-ntriples/lib/blankNode"); +import defaultGraph = require("@rdfjs/to-ntriples/lib/defaultGraph"); +import namedNode = require("@rdfjs/to-ntriples/lib/namedNode"); +import variable = require("@rdfjs/to-ntriples/lib/variable"); +import quad = require("@rdfjs/to-ntriples/lib/quad"); +import dataset = require("@rdfjs/to-ntriples/lib/dataset"); +import term = require("@rdfjs/to-ntriples/lib/term"); const rdfBlankNode: RDF.BlankNode = {}; const rdfDefaultGraph: RDF.DefaultGraph = {}; diff --git a/types/rdfjs__traverser/Factory.d.ts b/types/rdfjs__traverser/Factory.d.ts index e98ba2b74572a5..d859eb7a8c5b4d 100644 --- a/types/rdfjs__traverser/Factory.d.ts +++ b/types/rdfjs__traverser/Factory.d.ts @@ -1,5 +1,5 @@ -import { DatasetCore } from '@rdfjs/types'; -import Traverser, { Options, TraversePredicate } from './Traverser.js'; +import { DatasetCore } from "@rdfjs/types"; +import Traverser, { Options, TraversePredicate } from "./Traverser.js"; interface DatasetFactory { dataset(): DatasetCore; @@ -10,14 +10,14 @@ type ExtractDataset = This extends DatasetFactory ? ReturnType>( filter: TraversePredicate, - options?: Omit + options?: Omit, ): Traverser; } interface TraverserFactoryCtor { new(): TraverserFactory; - exports: ['traverser']; + exports: ["traverser"]; } declare const factory: TraverserFactoryCtor; diff --git a/types/rdfjs__traverser/Traverser.d.ts b/types/rdfjs__traverser/Traverser.d.ts index 315f48d73feb5c..71a87e4801d399 100644 --- a/types/rdfjs__traverser/Traverser.d.ts +++ b/types/rdfjs__traverser/Traverser.d.ts @@ -1,4 +1,4 @@ -import { Term, DatasetCore, DataFactory, Quad } from '@rdfjs/types'; +import { DataFactory, DatasetCore, Quad, Term } from "@rdfjs/types"; export interface PointerLike { term: Term; @@ -30,7 +30,7 @@ export interface Options { } export default class Traverser { - constructor(filter: TraversePredicate, options?: Options) + constructor(filter: TraversePredicate, options?: Options); forEach(pointer: PointerLike, callback: ForEachCallback): void; match(pointer: PointerLike): D; diff --git a/types/rdfjs__traverser/rdfjs__traverser-tests.ts b/types/rdfjs__traverser/rdfjs__traverser-tests.ts index 17d1ef85fa3fa8..5ad122a894ea6d 100644 --- a/types/rdfjs__traverser/rdfjs__traverser-tests.ts +++ b/types/rdfjs__traverser/rdfjs__traverser-tests.ts @@ -1,9 +1,9 @@ -import Traverser from '@rdfjs/traverser/Traverser'; -import TraverserFactory from '@rdfjs/traverser/Factory'; -import { Quad, DatasetCore, NamedNode } from "@rdfjs/types"; -import { GraphPointer } from 'clownface'; -import { DatasetExt } from 'rdf-ext/lib/Dataset'; -import Environment from '@rdfjs/environment/Environment.js'; +import Environment from "@rdfjs/environment/Environment.js"; +import TraverserFactory from "@rdfjs/traverser/Factory"; +import Traverser from "@rdfjs/traverser/Traverser"; +import { DatasetCore, NamedNode, Quad } from "@rdfjs/types"; +import { GraphPointer } from "clownface"; +import { DatasetExt } from "rdf-ext/lib/Dataset"; function filter(arg: { dataset: DatasetCore; quad: Quad; level: number }): boolean { return true; diff --git a/types/re-base/index.d.ts b/types/re-base/index.d.ts index ea16bf2c6f3fa9..7bfb826bafd5ac 100644 --- a/types/re-base/index.d.ts +++ b/types/re-base/index.d.ts @@ -507,7 +507,7 @@ export interface Rebase { */ remove( endpoint: string, - callback?: (result: Promise) => void + callback?: (result: Promise) => void, ): Promise; /** @@ -530,7 +530,7 @@ export interface Rebase { */ listenToDoc( refOrPath: object | string, - options: listenToDocOptions + options: listenToDocOptions, ): object; /** @@ -544,7 +544,7 @@ export interface Rebase { */ bindCollection( refOrPath: object | string, - options: bindCollectionOptions + options: bindCollectionOptions, ): RebaseBinding; /** @@ -557,7 +557,7 @@ export interface Rebase { */ listenToCollection( refOrPath: object | string, - options: listenToCollectionOptions + options: listenToCollectionOptions, ): RebaseBinding; /** @@ -570,7 +570,7 @@ export interface Rebase { */ get( refOrPath: object | object | string, - options: listenToCollectionOptions + options: listenToCollectionOptions, ): Promise; /** @@ -586,7 +586,7 @@ export interface Rebase { addToCollection( refOrPath: object | string, data: object, - id?: string + id?: string, ): Promise; /** @@ -621,7 +621,7 @@ export interface Rebase { */ removeFromCollection( refOrPath: object | string, - options: removeFromCollectionOptions + options: removeFromCollectionOptions, ): Promise; /** diff --git a/types/re-base/re-base-tests.ts b/types/re-base/re-base-tests.ts index 0edc9ea5422b6e..3d15305d740d26 100644 --- a/types/re-base/re-base-tests.ts +++ b/types/re-base/re-base-tests.ts @@ -6,5 +6,5 @@ const bar = {}; const _ref = base.syncState("foo", { context: bar, - state: "foo" + state: "foo", }); diff --git a/types/re-carousel/index.d.ts b/types/re-carousel/index.d.ts index a8f5d00fc3524c..eb4fca4961fe6e 100644 --- a/types/re-carousel/index.d.ts +++ b/types/re-carousel/index.d.ts @@ -3,21 +3,21 @@ // Definitions by: Josh Kramer // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { ComponentType, CSSProperties } from 'react'; +import { ComponentType, CSSProperties } from "react"; interface WidgetProps { index: number; total: number; prevHandler: () => void; nextHandler: () => void; - axis?: 'x' | 'y'; + axis?: "x" | "y"; auto?: boolean; loop?: boolean; interval?: number; } interface CarouselProps { - axis?: 'x' | 'y'; + axis?: "x" | "y"; auto?: boolean; loop?: boolean; interval?: number; diff --git a/types/re-carousel/re-carousel-tests.tsx b/types/re-carousel/re-carousel-tests.tsx index 35e0483ab63011..972304f5468893 100644 --- a/types/re-carousel/re-carousel-tests.tsx +++ b/types/re-carousel/re-carousel-tests.tsx @@ -1,5 +1,5 @@ -import Recarousel = require('re-carousel'); -import { CSSProperties } from 'react'; +import Recarousel = require("re-carousel"); +import { CSSProperties } from "react"; // props { @@ -14,7 +14,7 @@ import { CSSProperties } from 'react'; const axisZ = ; const minMove = ; - const style: CSSProperties = { background: 'red' }; + const style: CSSProperties = { background: "red" }; const styled = ; const emptyOnTransitionEnd = {}} />; @@ -34,7 +34,7 @@ import { CSSProperties } from 'react'; // Widget - axis prop { interface MyWidgetProps { - axis: 'y' | 'x'; + axis: "y" | "x"; } const MyWidget = (props: MyWidgetProps) => <>; const MyOptionalWidget = (props: Partial) => <>; diff --git a/types/re-template-tag/re-template-tag-tests.ts b/types/re-template-tag/re-template-tag-tests.ts index b0c78cd3b8f0af..46fc311fb3fc8b 100644 --- a/types/re-template-tag/re-template-tag-tests.ts +++ b/types/re-template-tag/re-template-tag-tests.ts @@ -1,8 +1,8 @@ -import { quoteText, re } from 're-template-tag'; +import { quoteText, re } from "re-template-tag"; re`/^${/^$/}$/u`; // $ExpectType RegExp -re`/^${'foo'}$/u`; // $ExpectType RegExp +re`/^${"foo"}$/u`; // $ExpectType RegExp // @ts-expect-error re`/^${1}$/u`; -quoteText('foo'); // $ExpectType string +quoteText("foo"); // $ExpectType string diff --git a/types/reach__router/index.d.ts b/types/reach__router/index.d.ts index 8e48eddcf3f48f..1a6dff9e217fd5 100644 --- a/types/reach__router/index.d.ts +++ b/types/reach__router/index.d.ts @@ -8,7 +8,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export interface HLocation { pathname: string; @@ -17,9 +17,9 @@ export interface HLocation { hash: string; key?: string | undefined; } -export type WindowLocation = Window['location'] & HLocation; +export type WindowLocation = Window["location"] & HLocation; -export type HistoryActionType = 'PUSH' | 'POP'; +export type HistoryActionType = "PUSH" | "POP"; export type HistoryLocation = WindowLocation & { state?: any }; export interface HistoryListenerParameter { location: HistoryLocation; @@ -56,7 +56,7 @@ export type Omit = Pick>; export type AnchorProps = Omit< React.DetailedHTMLProps, HTMLAnchorElement>, - 'href' // remove href, as it's ignored by the router + "href" // remove href, as it's ignored by the router >; export interface LinkProps extends AnchorProps { @@ -79,10 +79,11 @@ export function Link( // TODO: Define this as ...params: Parameters> when only TypeScript >= 3.1 support is needed. props: React.PropsWithoutRef> & React.RefAttributes, ): ReturnType>; -export interface Link - extends React.ForwardRefExoticComponent< +export interface Link extends + React.ForwardRefExoticComponent< React.PropsWithoutRef> & React.RefAttributes - > {} + > +{} export interface RedirectProps { from?: string | undefined; diff --git a/types/reach__router/reach__router-tests.tsx b/types/reach__router/reach__router-tests.tsx index f912047aa6e834..a6d015aaed7745 100644 --- a/types/reach__router/reach__router-tests.tsx +++ b/types/reach__router/reach__router-tests.tsx @@ -8,9 +8,9 @@ import { useLocation, useMatch, useParams, -} from '@reach/router'; -import * as React from 'react'; -import { render } from 'react-dom'; +} from "@reach/router"; +import * as React from "react"; +import { render } from "react-dom"; interface DashParams { id: string; @@ -27,8 +27,8 @@ const Dash = (props: RouteComponentProps) =>
Dash for item ${pr const NotFound = (props: RouteComponentProps) =>
Route not found
; const UseMatchCheck = (props: RouteComponentProps) => { - const match = useMatch('/params/:one'); - return
{match ? match.one : 'NO PATH PARAM'}
; + const match = useMatch("/params/:one"); + return
{match ? match.one : "NO PATH PARAM"}
; }; const UseLocationCheck = (props: RouteComponentProps) => { @@ -65,13 +65,13 @@ render( - + {context => ( <>
hostname is {context.location.hostname}
- + )} @@ -80,13 +80,13 @@ render( {context => ( <>
hostname is {context.location.hostname}
- + )} , - document.getElementById('app-root'), + document.getElementById("app-root"), ); const handleRef = (el: HTMLAnchorElement | null) => { @@ -95,19 +95,19 @@ const handleRef = (el: HTMLAnchorElement | null) => { } }; -render(, document.getElementById('app-root')); -render(, document.getElementById('app-root')); +render(, document.getElementById("app-root")); +render(, document.getElementById("app-root")); const refObject: React.RefObject = { current: null }; -render(, document.getElementById('app-root')); -render(, document.getElementById('app-root')); +render(, document.getElementById("app-root")); +render(, document.getElementById("app-root")); // Link can be used as a generic. // TODO: When TS >= 3.1 is supported, use more modern syntax: // state={5} to="./foo"> React.createElement(Link as Link, { state: 5 /* Cast is a test-only fix for TS 3.1. Remove when TS >= 3.2 is supported. */ as number | undefined, - to: './foo', + to: "./foo", ref: refObject /* Cast is a test-only fix for TS 3.1. Remove when TS >= 3.2 is supported. */ as | React.Ref | undefined, diff --git a/types/react-adal/index.d.ts b/types/react-adal/index.d.ts index 27ab90aaa98dad..39340ae8c322c1 100644 --- a/types/react-adal/index.d.ts +++ b/types/react-adal/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export type TokenCallback = (errorDesc: string | null, token: string | null, error: any) => void; @@ -66,7 +66,7 @@ export interface AdalConfig { /** * Sets browser storage to either 'localStorage' or sessionStorage'. Defaults to `sessionStorage`. */ - cacheLocation?: 'localStorage' | 'sessionStorage' | undefined; + cacheLocation?: "localStorage" | "sessionStorage" | undefined; /** * Array of keywords or URIs. Adal will attach a token to outgoing requests that have these keywords or URIs. */ @@ -114,9 +114,9 @@ export interface RequestInfo { valid: boolean; } -export type RequestType = 'LOGIN' | 'RENEW_TOKEN' | 'UNKNOWN'; +export type RequestType = "LOGIN" | "RENEW_TOKEN" | "UNKNOWN"; -export type ResponseType = 'id_token token' | 'token'; +export type ResponseType = "id_token token" | "token"; export interface UserInfo { /** @@ -130,32 +130,32 @@ export interface UserInfo { } export interface Constants { - ACCESS_TOKEN: 'access_token'; - EXPIRES_IN: 'expires_in'; - ID_TOKEN: 'id_token'; - ERROR_DESCRIPTION: 'error_description'; - SESSION_STATE: 'session_state'; + ACCESS_TOKEN: "access_token"; + EXPIRES_IN: "expires_in"; + ID_TOKEN: "id_token"; + ERROR_DESCRIPTION: "error_description"; + SESSION_STATE: "session_state"; STORAGE: { - TOKEN_KEYS: 'adal.token.keys'; - ACCESS_TOKEN_KEY: 'adal.access.token.key'; - EXPIRATION_KEY: 'adal.expiration.key'; - STATE_LOGIN: 'adal.state.login'; - STATE_RENEW: 'adal.state.renew'; - NONCE_IDTOKEN: 'adal.nonce.idtoken'; - SESSION_STATE: 'adal.session.state'; - USERNAME: 'adal.username'; - IDTOKEN: 'adal.idtoken'; - ERROR: 'adal.error'; - ERROR_DESCRIPTION: 'adal.error.description'; - LOGIN_REQUEST: 'adal.login.request'; - LOGIN_ERROR: 'adal.login.error'; - RENEW_STATUS: 'adal.token.renew.status'; + TOKEN_KEYS: "adal.token.keys"; + ACCESS_TOKEN_KEY: "adal.access.token.key"; + EXPIRATION_KEY: "adal.expiration.key"; + STATE_LOGIN: "adal.state.login"; + STATE_RENEW: "adal.state.renew"; + NONCE_IDTOKEN: "adal.nonce.idtoken"; + SESSION_STATE: "adal.session.state"; + USERNAME: "adal.username"; + IDTOKEN: "adal.idtoken"; + ERROR: "adal.error"; + ERROR_DESCRIPTION: "adal.error.description"; + LOGIN_REQUEST: "adal.login.request"; + LOGIN_ERROR: "adal.login.error"; + RENEW_STATUS: "adal.token.renew.status"; }; - RESOURCE_DELIMETER: '|'; - LOADFRAME_TIMEOUT: '6000'; - TOKEN_RENEW_STATUS_CANCELED: 'Canceled'; - TOKEN_RENEW_STATUS_COMPLETED: 'Completed'; - TOKEN_RENEW_STATUS_IN_PROGRESS: 'In Progress'; + RESOURCE_DELIMETER: "|"; + LOADFRAME_TIMEOUT: "6000"; + TOKEN_RENEW_STATUS_CANCELED: "Canceled"; + TOKEN_RENEW_STATUS_COMPLETED: "Completed"; + TOKEN_RENEW_STATUS_IN_PROGRESS: "In Progress"; LOGGING_LEVEL: { ERROR: 0; WARN: 1; @@ -163,10 +163,10 @@ export interface Constants { VERBOSE: 3; }; LEVEL_STRING_MAP: { - 0: 'ERROR:'; - 1: 'WARNING:'; - 2: 'INFO:'; - 3: 'VERBOSE:'; + 0: "ERROR:"; + 1: "WARNING:"; + 2: "INFO:"; + 3: "VERBOSE:"; }; POPUP_WIDTH: 483; POPUP_HEIGHT: 600; diff --git a/types/react-adal/react-adal-tests.tsx b/types/react-adal/react-adal-tests.tsx index e576bab14fe59b..e87d62c4f2c972 100644 --- a/types/react-adal/react-adal-tests.tsx +++ b/types/react-adal/react-adal-tests.tsx @@ -1,17 +1,17 @@ -import * as React from 'react'; -import { AuthenticationContext, adalFetch, adalGetToken, runWithAdal, withAdalLogin, AdalConfig } from 'react-adal'; +import * as React from "react"; +import { AdalConfig, adalFetch, adalGetToken, AuthenticationContext, runWithAdal, withAdalLogin } from "react-adal"; -const resourceUrl = 'https://graph.microsoft.net'; +const resourceUrl = "https://graph.microsoft.net"; const adalConfig: AdalConfig = { cacheLocation: "localStorage", - clientId: '9ha8cqc6-4668-459a-9272-f48c80a053y5', + clientId: "9ha8cqc6-4668-459a-9272-f48c80a053y5", endpoints: { - api: resourceUrl + api: resourceUrl, }, - postLogoutRedirectUri: 'https://localhost:3000', - tenant: 'tenantname.onmicrosoft.com' - }; + postLogoutRedirectUri: "https://localhost:3000", + tenant: "tenantname.onmicrosoft.com", +}; const authContext = new AuthenticationContext(adalConfig); @@ -58,21 +58,27 @@ const ProtectedPage2: React.FC = (props) => { return null; }; -const AdalProtectedPage1 = withAdalLoginApi(ProtectedPage1, () => , () => ); -const AdalProtectedPage2 = withAdalLoginApi(ProtectedPage2, () =>

loading...

, () =>

It seems something went wrong...

); +const AdalProtectedPage1 = withAdalLoginApi(ProtectedPage1, () => , () => ); +const AdalProtectedPage2 = withAdalLoginApi( + ProtectedPage2, + () =>

loading...

, + () =>

It seems something went wrong...

, +); // user must login to use only specific pages runWithAdal(authContext, () => { - const routes =
- {/* @ts-expect-error */} - - {/* @ts-expect-error */} - - {/* @ts-expect-error */} - -
; - // @ts-expect-error - const App = ; - // @ts-expect-error - ReactDOM.render(, document.getElementById('react-app') as HTMLElement); + const routes = ( +
+ {/* @ts-expect-error */} + + {/* @ts-expect-error */} + + {/* @ts-expect-error */} + +
+ ); + // @ts-expect-error + const App = ; + // @ts-expect-error + ReactDOM.render(, document.getElementById("react-app") as HTMLElement); }, true); diff --git a/types/react-adaptive-hooks/index.d.ts b/types/react-adaptive-hooks/index.d.ts index b8bf2cfcc300d3..3360330437cc7d 100644 --- a/types/react-adaptive-hooks/index.d.ts +++ b/types/react-adaptive-hooks/index.d.ts @@ -4,8 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // Minimum TypeScript Version: 3.5 -export * from './hardware-concurrency'; -export * from './media-capabilities'; -export * from './memory'; -export * from './network'; -export * from './save-data'; +export * from "./hardware-concurrency"; +export * from "./media-capabilities"; +export * from "./memory"; +export * from "./network"; +export * from "./save-data"; diff --git a/types/react-adaptive-hooks/media-capabilities.d.ts b/types/react-adaptive-hooks/media-capabilities.d.ts index 5bddb0cd853a44..f2e67d1b892651 100644 --- a/types/react-adaptive-hooks/media-capabilities.d.ts +++ b/types/react-adaptive-hooks/media-capabilities.d.ts @@ -14,7 +14,7 @@ export interface VideoMediaConfiguration { } export type MediaConfiguration = { - type: 'file' | 'record' | 'transmission' | 'media-source'; + type: "file" | "record" | "transmission" | "media-source"; } & ({ audio: AudioMediaConfiguration } | { video: VideoMediaConfiguration }); export interface MediaConfigurationInfo { @@ -28,5 +28,6 @@ export function useMediaCapabilities>( initialMediaCapabilities: T, ): { mediaCapabilities: - | ({ supported: boolean; hasMediaConfig: boolean } & T) | ({ hasMediaConfig?: undefined} & MediaConfigurationInfo); + | ({ supported: boolean; hasMediaConfig: boolean } & T) + | ({ hasMediaConfig?: undefined } & MediaConfigurationInfo); }; diff --git a/types/react-adaptive-hooks/memory.d.ts b/types/react-adaptive-hooks/memory.d.ts index 6383f51dc2fac8..fb3b6dae82295e 100644 --- a/types/react-adaptive-hooks/memory.d.ts +++ b/types/react-adaptive-hooks/memory.d.ts @@ -10,5 +10,5 @@ export function useMemoryStatus>( ): | ({ unsupported: true } & T) | ({ - unsupported: false; - } & MemoryStatus); + unsupported: false; + } & MemoryStatus); diff --git a/types/react-adaptive-hooks/network.d.ts b/types/react-adaptive-hooks/network.d.ts index 640322335c1892..d2b6e31b3e1428 100644 --- a/types/react-adaptive-hooks/network.d.ts +++ b/types/react-adaptive-hooks/network.d.ts @@ -1,4 +1,4 @@ -export type EffectiveConnectionType = 'slow-2g' | '2g' | '3g' | '4g'; +export type EffectiveConnectionType = "slow-2g" | "2g" | "3g" | "4g"; export function useNetworkStatus( initialEffectiveConnectionType?: EffectiveConnectionType | null, diff --git a/types/react-adaptive-hooks/react-adaptive-hooks-tests.tsx b/types/react-adaptive-hooks/react-adaptive-hooks-tests.tsx index 6aacc7abd4fcc3..0883ba7d613db6 100644 --- a/types/react-adaptive-hooks/react-adaptive-hooks-tests.tsx +++ b/types/react-adaptive-hooks/react-adaptive-hooks-tests.tsx @@ -1,34 +1,34 @@ -import * as React from 'react'; -import { useHardwareConcurrency } from 'react-adaptive-hooks/hardware-concurrency'; -import { useMediaCapabilities } from 'react-adaptive-hooks/media-capabilities'; -import { useMemoryStatus } from 'react-adaptive-hooks/memory'; -import { useNetworkStatus } from 'react-adaptive-hooks/network'; -import { useSaveData } from 'react-adaptive-hooks/save-data'; +import * as React from "react"; +import { useHardwareConcurrency } from "react-adaptive-hooks/hardware-concurrency"; +import { useMediaCapabilities } from "react-adaptive-hooks/media-capabilities"; +import { useMemoryStatus } from "react-adaptive-hooks/memory"; +import { useNetworkStatus } from "react-adaptive-hooks/network"; +import { useSaveData } from "react-adaptive-hooks/save-data"; const NetworkStatus = () => { - const initialEffectiveConnectionType = '4g'; + const initialEffectiveConnectionType = "4g"; const { effectiveConnectionType } = useNetworkStatus(initialEffectiveConnectionType); - let media; - switch (effectiveConnectionType) { - case 'slow-2g': - media = low resolution; - break; - case '2g': - media = medium resolution; - break; - case '3g': - media = high resolution; - break; - case '4g': - media = ; - break; - default: - media = ; - break; - } + let media; + switch (effectiveConnectionType) { + case "slow-2g": + media = low resolution; + break; + case "2g": + media = medium resolution; + break; + case "3g": + media = high resolution; + break; + case "4g": + media = ; + break; + default: + media = ; + break; + } - return
{media}
; + return
{media}
; }; const SaveData = () => { @@ -36,9 +36,9 @@ const SaveData = () => { const { saveData } = useSaveData(initialSaveDataStatus); return ( -
- { saveData ? : } -
+
+ {saveData ? : } +
); }; @@ -46,56 +46,57 @@ const HardwareConcurrency = () => { const { numberOfLogicalProcessors } = useHardwareConcurrency(); return ( -
- { numberOfLogicalProcessors && numberOfLogicalProcessors <= 4 ? : } -
+
+ {numberOfLogicalProcessors && numberOfLogicalProcessors <= 4 + ? + : } +
); - }; +}; - const MemoryStatus = () => { +const MemoryStatus = () => { const initialMemoryStatus = { deviceMemory: 4 }; const { deviceMemory } = useMemoryStatus(initialMemoryStatus); return ( -
- { deviceMemory < 4 ? : } -
+
+ {deviceMemory < 4 ? : } +
); - }; +}; - const webmMediaConfig = { - type: 'file' as const, // 'record', 'transmission', or 'media-source' +const webmMediaConfig = { + type: "file" as const, // 'record', 'transmission', or 'media-source' video: { - contentType: 'video/webm;codecs=vp8', // valid content type - width: 800, // width of the video - height: 600, // height of the video - bitrate: 10000, // number of bits used to encode 1s of video - framerate: 30 // number of frames making up that 1s. - } - }; + contentType: "video/webm;codecs=vp8", // valid content type + width: 800, // width of the video + height: 600, // height of the video + bitrate: 10000, // number of bits used to encode 1s of video + framerate: 30, // number of frames making up that 1s. + }, +}; - const initialMediaCapabilities = {smooth: false}; +const initialMediaCapabilities = { smooth: false }; - interface MediaCapabilitiesProps { - videoSources: { - webm: string; - mp4: string; - }; - } +interface MediaCapabilitiesProps { + videoSources: { + webm: string; + mp4: string; + }; +} - const MediaCapabilities = ({ videoSources }: MediaCapabilitiesProps) => { +const MediaCapabilities = ({ videoSources }: MediaCapabilitiesProps) => { const { mediaCapabilities } = useMediaCapabilities(webmMediaConfig, initialMediaCapabilities); return ( -
- - { (!mediaCapabilities.supported || !mediaCapabilities.hasMediaConfig) && ( -
- Defaulted to mp4. - Couldn't test webm support, - either the media capabilities api is unavailable or no media configuration was given. -
- ) } -
+
+ + {(!mediaCapabilities.supported || !mediaCapabilities.hasMediaConfig) && ( +
+ Defaulted to mp4. Couldn't test webm support, either the media capabilities api is unavailable or no + media configuration was given. +
+ )} +
); - }; +}; diff --git a/types/react-add-to-calendar/react-add-to-calendar-tests.tsx b/types/react-add-to-calendar/react-add-to-calendar-tests.tsx index 36fea0f86ffcbb..abf36a12ec170e 100644 --- a/types/react-add-to-calendar/react-add-to-calendar-tests.tsx +++ b/types/react-add-to-calendar/react-add-to-calendar-tests.tsx @@ -1,12 +1,12 @@ -import AddToCalendar from "react-add-to-calendar"; import * as React from "react"; +import AddToCalendar from "react-add-to-calendar"; const sampleEvent = { - title: 'Sample Event', - description: 'This is the sample event provided as an example only', - location: 'Portland, OR', - startTime: '2016-09-16T20:15:00-04:00', - endTime: '2016-09-16T21:45:00-04:00' + title: "Sample Event", + description: "This is the sample event provided as an example only", + location: "Portland, OR", + startTime: "2016-09-16T20:15:00-04:00", + endTime: "2016-09-16T21:45:00-04:00", }; const AddToCalendarRequiredOptions: JSX.Element = ( diff --git a/types/react-addons-create-fragment/index.d.ts b/types/react-addons-create-fragment/index.d.ts index 25e4ba9b43f36a..085e0180c447c9 100644 --- a/types/react-addons-create-fragment/index.d.ts +++ b/types/react-addons-create-fragment/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export = createFragment; diff --git a/types/react-addons-css-transition-group/index.d.ts b/types/react-addons-css-transition-group/index.d.ts index f3746189ccbb6a..b2a813c6111c15 100644 --- a/types/react-addons-css-transition-group/index.d.ts +++ b/types/react-addons-css-transition-group/index.d.ts @@ -4,10 +4,10 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import 'react-addons-transition-group'; -import { ComponentClass, CSSTransitionGroupProps } from 'react'; +import "react-addons-transition-group"; +import { ComponentClass, CSSTransitionGroupProps } from "react"; -declare module 'react' { +declare module "react" { interface CSSTransitionGroupTransitionName { enter: string; enterActive?: string | undefined; diff --git a/types/react-addons-css-transition-group/react-addons-css-transition-group-tests.ts b/types/react-addons-css-transition-group/react-addons-css-transition-group-tests.ts index 37035de235a13a..d57ec489c74480 100644 --- a/types/react-addons-css-transition-group/react-addons-css-transition-group-tests.ts +++ b/types/react-addons-css-transition-group/react-addons-css-transition-group-tests.ts @@ -1,27 +1,27 @@ -import * as React from 'react'; -import CSSTransitionGroup = require('react-addons-css-transition-group'); -import createReactClass = require('create-react-class'); +import * as React from "react"; +import CSSTransitionGroup = require("react-addons-css-transition-group"); +import createReactClass = require("create-react-class"); React.createFactory(CSSTransitionGroup)({ component: createReactClass({ render: (): null => null, }), childFactory: c => c, - transitionName: 'transition', + transitionName: "transition", transitionAppear: false, transitionEnter: true, transitionLeave: true, - id: 'some-id', - className: 'some-class', + id: "some-id", + className: "some-class", }); React.createFactory(CSSTransitionGroup)({ transitionName: { - enter: 'enter', - enterActive: 'enterActive', - leave: 'leave', - leaveActive: 'leaveActive', - appear: 'appear', - appearActive: 'appearActive', + enter: "enter", + enterActive: "enterActive", + leave: "leave", + leaveActive: "leaveActive", + appear: "appear", + appearActive: "appearActive", }, }); diff --git a/types/react-addons-linked-state-mixin/index.d.ts b/types/react-addons-linked-state-mixin/index.d.ts index 90b3ffb19cf53c..d0ff861b8c0542 100644 --- a/types/react-addons-linked-state-mixin/index.d.ts +++ b/types/react-addons-linked-state-mixin/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import { Mixin } from 'react'; +import { Mixin } from "react"; declare var LinkedStateMixin: LinkedStateMixin.LinkedStateMixin; type LinkedStateMixin = LinkedStateMixin.LinkedStateMixin; @@ -21,7 +21,7 @@ declare namespace LinkedStateMixin { } } -declare module 'react' { +declare module "react" { interface HTMLAttributes { checkedLink?: LinkedStateMixin.ReactLink | undefined; valueLink?: LinkedStateMixin.ReactLink | undefined; diff --git a/types/react-addons-perf/react-addons-perf-tests.ts b/types/react-addons-perf/react-addons-perf-tests.ts index 7d6d8869f40873..c43d8b3b5fe195 100644 --- a/types/react-addons-perf/react-addons-perf-tests.ts +++ b/types/react-addons-perf/react-addons-perf-tests.ts @@ -1,4 +1,4 @@ -import * as Perf from 'react-addons-perf'; +import * as Perf from "react-addons-perf"; Perf.start(); Perf.stop(); diff --git a/types/react-addons-pure-render-mixin/index.d.ts b/types/react-addons-pure-render-mixin/index.d.ts index a154dbe59429b7..407dd7c45639a3 100644 --- a/types/react-addons-pure-render-mixin/index.d.ts +++ b/types/react-addons-pure-render-mixin/index.d.ts @@ -4,9 +4,9 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import { Mixin } from 'react'; +import { Mixin } from "react"; declare var PureRenderMixin: PureRenderMixin; export = PureRenderMixin; -interface PureRenderMixin extends Mixin { } +interface PureRenderMixin extends Mixin {} diff --git a/types/react-addons-shallow-compare/index.d.ts b/types/react-addons-shallow-compare/index.d.ts index 5d6942ed24f85b..f31f655ccebea0 100644 --- a/types/react-addons-shallow-compare/index.d.ts +++ b/types/react-addons-shallow-compare/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import { Component } from 'react'; +import { Component } from "react"; export = shallowCompare; @@ -15,4 +15,5 @@ declare namespace shallowCompare {} declare function shallowCompare( component: Component, nextProps: P, - nextState: S): boolean; + nextState: S, +): boolean; diff --git a/types/react-addons-shallow-compare/react-addons-shallow-compare-tests.tsx b/types/react-addons-shallow-compare/react-addons-shallow-compare-tests.tsx index cd1a96a70ee5cf..78b31afe91535e 100644 --- a/types/react-addons-shallow-compare/react-addons-shallow-compare-tests.tsx +++ b/types/react-addons-shallow-compare/react-addons-shallow-compare-tests.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import shallowCompare = require('react-addons-shallow-compare'); +import * as React from "react"; +import shallowCompare = require("react-addons-shallow-compare"); export class MyComponent extends React.Component { shouldComponentUpdate(nextProps: any, nextState: any, nextContext: any): boolean { diff --git a/types/react-addons-test-utils/index.d.ts b/types/react-addons-test-utils/index.d.ts index 5673eaba0f17fd..9f4805e365db96 100644 --- a/types/react-addons-test-utils/index.d.ts +++ b/types/react-addons-test-utils/index.d.ts @@ -4,10 +4,20 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import { AbstractView, Component, ComponentClass, - ReactElement, ReactInstance, ClassType, - DOMElement, SFCElement, CElement, - ReactHTMLElement, DOMAttributes, SFC } from 'react'; +import { + AbstractView, + CElement, + ClassType, + Component, + ComponentClass, + DOMAttributes, + DOMElement, + ReactElement, + ReactHTMLElement, + ReactInstance, + SFC, + SFCElement, +} from "react"; export = TestUtils; @@ -116,56 +126,79 @@ declare namespace TestUtils { } export function renderIntoDocument( - element: DOMElement): T; + element: DOMElement, + ): T; export function renderIntoDocument( - element: SFCElement): void; + element: SFCElement, + ): void; export function renderIntoDocument>( - element: CElement): T; + element: CElement, + ): T; export function renderIntoDocument

( - element: ReactElement

): Component

| Element | void; + element: ReactElement

, + ): Component

| Element | void; export function mockComponent( - mocked: MockedComponentClass, mockTagName?: string): typeof TestUtils; + mocked: MockedComponentClass, + mockTagName?: string, + ): typeof TestUtils; export function isElementOfType( - element: ReactElement, type: string): element is ReactHTMLElement; + element: ReactElement, + type: string, + ): element is ReactHTMLElement; export function isElementOfType

, T extends Element>( - element: ReactElement, type: string): element is DOMElement; + element: ReactElement, + type: string, + ): element is DOMElement; export function isElementOfType

( - element: ReactElement, type: SFC

): element is SFCElement

; + element: ReactElement, + type: SFC

, + ): element is SFCElement

; export function isElementOfType, C extends ComponentClass

>( - element: ReactElement, type: ClassType): element is CElement; + element: ReactElement, + type: ClassType, + ): element is CElement; export function isDOMComponent(instance: ReactInstance): instance is Element; export function isCompositeComponent(instance: ReactInstance): instance is Component; export function isCompositeComponentWithType, C extends ComponentClass>( - instance: ReactInstance, type: ClassType): T; + instance: ReactInstance, + type: ClassType, + ): T; export function findAllInRenderedTree( root: Component, - fn: (i: ReactInstance) => boolean): ReactInstance[]; + fn: (i: ReactInstance) => boolean, + ): ReactInstance[]; export function scryRenderedDOMComponentsWithClass( root: Component, - className: string): Element[]; + className: string, + ): Element[]; export function findRenderedDOMComponentWithClass( root: Component, - className: string): Element; + className: string, + ): Element; export function scryRenderedDOMComponentsWithTag( root: Component, - tagName: string): Element[]; + tagName: string, + ): Element[]; export function findRenderedDOMComponentWithTag( root: Component, - tagName: string): Element; + tagName: string, + ): Element; export function scryRenderedComponentsWithType, C extends ComponentClass>( root: Component, - type: ClassType): T[]; + type: ClassType, + ): T[]; export function findRenderedComponentWithType, C extends ComponentClass>( root: Component, - type: ClassType): T; + type: ClassType, + ): T; export function createRenderer(): ShallowRenderer; } diff --git a/types/react-addons-test-utils/react-addons-test-utils-tests.ts b/types/react-addons-test-utils/react-addons-test-utils-tests.ts index 7b00c551ff3787..0219193548f235 100644 --- a/types/react-addons-test-utils/react-addons-test-utils-tests.ts +++ b/types/react-addons-test-utils/react-addons-test-utils-tests.ts @@ -1,6 +1,6 @@ -import * as React from 'react'; -import * as TestUtils from 'react-addons-test-utils'; -import * as DOM from 'react-dom-factories'; +import * as React from "react"; +import * as TestUtils from "react-addons-test-utils"; +import * as DOM from "react-dom-factories"; declare const container: Element; @@ -20,8 +20,8 @@ function FunctionComponent(props: SCProps) { const props: Props & React.ClassAttributes = { key: 42, - ref: 'myComponent42', - hello: 'world', + ref: "myComponent42", + hello: "world", foo: 42, }; const element: React.CElement = React.createElement(ModernComponent, props); @@ -30,7 +30,7 @@ const node: Element = TestUtils.renderIntoDocument(DOM.div()); TestUtils.Simulate.click(node); TestUtils.Simulate.change(node); -TestUtils.Simulate.keyDown(node, { key: 'Enter', cancelable: false }); +TestUtils.Simulate.keyDown(node, { key: "Enter", cancelable: false }); const renderer: TestUtils.ShallowRenderer = TestUtils.createRenderer(); renderer.render(React.createElement(ModernComponent)); @@ -52,6 +52,6 @@ if (TestUtils.isElementOfType(emptyElement2, FunctionComponent)) { if (TestUtils.isDOMComponent(container)) { const reassignedContainer: Element = container; -} else if (TestUtils.isCompositeComponent(new ModernComponent({ hello: 'hi', foo: 3 }))) { - new ModernComponent({ hello: 'hi', foo: 3 }).props; +} else if (TestUtils.isCompositeComponent(new ModernComponent({ hello: "hi", foo: 3 }))) { + new ModernComponent({ hello: "hi", foo: 3 }).props; } diff --git a/types/react-addons-transition-group/index.d.ts b/types/react-addons-transition-group/index.d.ts index d6f7d52867255b..b5544496d47e0a 100644 --- a/types/react-addons-transition-group/index.d.ts +++ b/types/react-addons-transition-group/index.d.ts @@ -4,9 +4,9 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import { ComponentClass, TransitionGroupProps } from 'react'; +import { ComponentClass, TransitionGroupProps } from "react"; -declare module 'react' { +declare module "react" { export interface HTMLTransitionGroupProps extends HTMLAttributes { component?: ElementType | undefined; childFactory?: ((child: ReactElement) => ReactElement) | undefined; diff --git a/types/react-addons-transition-group/react-addons-transition-group-tests.ts b/types/react-addons-transition-group/react-addons-transition-group-tests.ts index 9197b8c6c1eba8..7d19a086655fea 100644 --- a/types/react-addons-transition-group/react-addons-transition-group-tests.ts +++ b/types/react-addons-transition-group/react-addons-transition-group-tests.ts @@ -1,7 +1,7 @@ -import * as React from 'react'; -import TransitionGroup = require('react-addons-transition-group'); +import * as React from "react"; +import TransitionGroup = require("react-addons-transition-group"); // // TransitionGroup addon // -------------------------------------------------------------------------- -React.createFactory(TransitionGroup)({ component: 'div' }); +React.createFactory(TransitionGroup)({ component: "div" }); diff --git a/types/react-addons-update/index.d.ts b/types/react-addons-update/index.d.ts index ff25ef1312f9b3..69899229a15b84 100644 --- a/types/react-addons-update/index.d.ts +++ b/types/react-addons-update/index.d.ts @@ -4,11 +4,11 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export = React.__Addons.update; -declare module 'react' { +declare module "react" { interface UpdateSpecCommand { $set?: any; $merge?: {} | undefined; @@ -32,4 +32,3 @@ declare module 'react' { export function update(value: {}, spec: UpdateSpec): any; } } - diff --git a/types/react-albus/index.d.ts b/types/react-albus/index.d.ts index 2d0369675fbc06..52af8c1afbc614 100644 --- a/types/react-albus/index.d.ts +++ b/types/react-albus/index.d.ts @@ -6,8 +6,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from "react"; import { History } from "history"; +import * as React from "react"; export interface StepObject { id: string; @@ -29,7 +29,7 @@ export interface WizardComponentProps { } export function withWizard

( - component: React.ComponentType

+ component: React.ComponentType

, ): React.ComponentType

; export type WizardProps = { diff --git a/types/react-albus/react-albus-tests.tsx b/types/react-albus/react-albus-tests.tsx index a1add5a926a57e..bef2d35648086f 100644 --- a/types/react-albus/react-albus-tests.tsx +++ b/types/react-albus/react-albus-tests.tsx @@ -1,5 +1,5 @@ import * as React from "react"; -import { Wizard, Step, Steps, withWizard } from "react-albus"; +import { Step, Steps, withWizard, Wizard } from "react-albus"; declare module "react-albus" { interface StepObject { diff --git a/types/react-alert/index.d.ts b/types/react-alert/index.d.ts index c5af1c5564e23f..d407b9e9ea5bd5 100644 --- a/types/react-alert/index.d.ts +++ b/types/react-alert/index.d.ts @@ -9,37 +9,37 @@ // // 1. `alert.removeAll()` has been added since `6.x`. -import { CSSProperties, ReactNode, ComponentType, Component, Context } from 'react'; +import { Component, ComponentType, Context, CSSProperties, ReactNode } from "react"; export type AlertPositionV4 = - | 'top left' - | 'top center' - | 'top right' - | 'bottom left' - | 'bottom center' - | 'bottom right'; -export type AlertPosition = AlertPositionV4 | 'middle left' | 'middle' | 'middle right'; -export type AlertType = 'info' | 'success' | 'error'; -export type AlertTransition = 'fade' | 'scale'; + | "top left" + | "top center" + | "top right" + | "bottom left" + | "bottom center" + | "bottom right"; +export type AlertPosition = AlertPositionV4 | "middle left" | "middle" | "middle right"; +export type AlertType = "info" | "success" | "error"; +export type AlertTransition = "fade" | "scale"; export interface Positions { - TOP_LEFT: 'top left'; - TOP_CENTER: 'top center'; - TOP_RIGHT: 'top right'; - MIDDLE_LEFT: 'middle left'; - MIDDLE: 'middle'; - MIDDLE_RIGHT: 'middle right'; - BOTTOM_LEFT: 'bottom left'; - BOTTOM_CENTER: 'bottom center'; - BOTTOM_RIGHT: 'bottom right'; + TOP_LEFT: "top left"; + TOP_CENTER: "top center"; + TOP_RIGHT: "top right"; + MIDDLE_LEFT: "middle left"; + MIDDLE: "middle"; + MIDDLE_RIGHT: "middle right"; + BOTTOM_LEFT: "bottom left"; + BOTTOM_CENTER: "bottom center"; + BOTTOM_RIGHT: "bottom right"; } export interface Types { - INFO: 'info'; - SUCCESS: 'success'; - ERROR: 'error'; + INFO: "info"; + SUCCESS: "success"; + ERROR: "error"; } export interface Transitions { - FADE: 'fade'; - SCALE: 'scale'; + FADE: "fade"; + SCALE: "scale"; } export const positions: Positions; @@ -108,7 +108,7 @@ export interface AlertInstance { close: () => void; } -export interface AlertTemplateProps extends Omit { +export interface AlertTemplateProps extends Omit { /** * The style contains only the margin given as offset. */ @@ -159,7 +159,7 @@ export interface InjectedAlertProps { alert: AlertContainer; } export function withAlert

( - context?: Context, -): (c: ComponentType

) => ComponentType>; + context?: Context, +): (c: ComponentType

) => ComponentType>; export function useAlert(context?: Context): T; diff --git a/types/react-alert/react-alert-tests.tsx b/types/react-alert/react-alert-tests.tsx index a9998307f7e666..0dffc9973652b9 100644 --- a/types/react-alert/react-alert-tests.tsx +++ b/types/react-alert/react-alert-tests.tsx @@ -1,15 +1,15 @@ -import * as React from 'react'; +import * as React from "react"; import { AlertOptions, - Provider as AlertProvider, AlertTemplateProps, InjectedAlertProps, positions, + Provider as AlertProvider, transitions, useAlert, withAlert, -} from 'react-alert'; +} from "react-alert"; // the style contains only the margin given as offset // options contains all alert given options @@ -17,9 +17,9 @@ import { // close is a function that closes the alert const AlertTemplate: React.FC = ({ style, options, message, close }) => (

- {options.type === 'info' && '!'} - {options.type === 'success' && ':)'} - {options.type === 'error' && ':('} + {options.type === "info" && "!"} + {options.type === "success" && ":)"} + {options.type === "error" && ":("} {message}
@@ -30,13 +30,13 @@ const options: AlertOptions = { // you can also just use 'bottom center' position: positions.BOTTOM_CENTER, timeout: 5000, - offset: '30px', + offset: "30px", // you can also just use 'scale' transition: transitions.SCALE, }; // @ts-expect-error -options.position = 'top'; +options.position = "top"; const App = () => { const alert = useAlert(); @@ -44,7 +44,7 @@ const App = () => { return (
@@ -30,10 +30,10 @@ class AlertTemplate extends React.Component { } const options: AlertOptions = { - position: 'bottom center', + position: "bottom center", timeout: 5000, - offset: '30px', - transition: 'scale', + offset: "30px", + transition: "scale", }; class App extends React.Component<{} & InjectedAlertProps> { @@ -41,7 +41,7 @@ class App extends React.Component<{} & InjectedAlertProps> { return ( - } + )} , - document.getElementById('main') + document.getElementById("main"), ); diff --git a/types/react-aria-menubutton/index.d.ts b/types/react-aria-menubutton/index.d.ts index aee2eb9055de35..0514e164ac282a 100644 --- a/types/react-aria-menubutton/index.d.ts +++ b/types/react-aria-menubutton/index.d.ts @@ -12,8 +12,7 @@ export interface WrapperState { isOpen: boolean; } -export interface WrapperProps - extends React.HTMLProps { +export interface WrapperProps extends React.HTMLProps { /** * A callback to run when the user makes a selection * (i.e. clicks or presses Enter or Space on a `MenuItem`). @@ -55,8 +54,7 @@ export interface WrapperProps */ export class Wrapper extends React.Component> {} -export interface ButtonProps - extends React.HTMLProps { +export interface ButtonProps extends React.HTMLProps { /** * If true, the element is disabled * (aria-disabled='true', not in tab order, clicking has no effect). @@ -79,8 +77,7 @@ export interface ButtonProps */ export const Button: React.ForwardRefExoticComponent>; -export interface MenuProps - extends Omit, 'children'> { +export interface MenuProps extends Omit, "children"> { /** * The HTML tag for this element. Default: 'div'. */ @@ -93,8 +90,7 @@ export interface MenuProps */ export class Menu extends React.Component> {} -export interface MenuItemProps - extends React.HTMLProps { +export interface MenuItemProps extends React.HTMLProps { /** * If value has a value, it will be passed to the onSelection handler * when the `MenuItem` is selected @@ -142,7 +138,7 @@ export function openMenu( * menu opens. Default: `false`. */ focusMenu: boolean; - } + }, ): void; /** @@ -158,5 +154,5 @@ export function closeMenu( * menu closes. Default: `false`. */ focusButton: boolean; - } + }, ): void; diff --git a/types/react-aria-menubutton/react-aria-menubutton-tests.tsx b/types/react-aria-menubutton/react-aria-menubutton-tests.tsx index af832bf122c58d..1fd0c7746f4398 100644 --- a/types/react-aria-menubutton/react-aria-menubutton-tests.tsx +++ b/types/react-aria-menubutton/react-aria-menubutton-tests.tsx @@ -1,14 +1,7 @@ import * as React from "react"; import * as ReactDOM from "react-dom"; -import { - Button, - Menu, - MenuItem, - Wrapper, - closeMenu, - openMenu -} from "react-aria-menubutton"; +import { Button, closeMenu, Menu, MenuItem, openMenu, Wrapper } from "react-aria-menubutton"; const menuItemWords = ["foo", "bar", "baz"]; @@ -48,7 +41,7 @@ const words = [ "anisodactylous", "barbar", "pilcrow", - "destroy" + "destroy", ]; interface DemoOneState { @@ -73,8 +66,8 @@ class DemoOne extends React.Component<{}, DemoOneState> { if (noMenu) { return (
- [You decided to "destroy this menu," so the menu has been destroyed, - according to your wishes. Refresh the page to see it again.] + [You decided to "destroy this menu," so the menu has been destroyed, according to your wishes. + Refresh the page to see it again.]
); } @@ -129,7 +122,7 @@ class ObjectMenuItem extends React.Component { return ( console.log(value.name)}>
  • - {itemValue.label} + {itemValue.label}
  • ); @@ -144,7 +137,9 @@ class MenuWithRenderProp extends React.Component { {({ isOpen }) => (
      -
    • Foo
    • +
    • + Foo +
    )}
    diff --git a/types/react-aria-modal/index.d.ts b/types/react-aria-modal/index.d.ts index 54c47be0b78bdb..53e0324eaa6a3c 100644 --- a/types/react-aria-modal/index.d.ts +++ b/types/react-aria-modal/index.d.ts @@ -7,7 +7,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import React = require('react'); +import React = require("react"); export interface AriaModalProps { /** @@ -191,8 +191,9 @@ export interface AriaModalProps { /** * This difinition is for require one parameter of 'titleId' or 'title' (and not both) on AriaModal props. */ -export type RequiredAriaTypes, U = Pick> = - { [K in keyof T]-? : T[K] } & { [P in keyof U]: never} | { [X in keyof T]: never } & { [Y in keyof U]-?: U[Y]}; +export type RequiredAriaTypes, U = Pick> = + | { [K in keyof T]-?: T[K] } & { [P in keyof U]: never } + | { [X in keyof T]: never } & { [Y in keyof U]-?: U[Y] }; export default class AriaModal extends React.PureComponent { static renderTo(node: HTMLElement | string): React.ElementType; diff --git a/types/react-aria-modal/react-aria-modal-tests.tsx b/types/react-aria-modal/react-aria-modal-tests.tsx index ed1e890b254fc1..24a5f19d0de47e 100644 --- a/types/react-aria-modal/react-aria-modal-tests.tsx +++ b/types/react-aria-modal/react-aria-modal-tests.tsx @@ -1,6 +1,6 @@ -import AriaModal from 'react-aria-modal'; -import * as React from 'react'; -import { render } from 'react-dom'; +import * as React from "react"; +import AriaModal from "react-aria-modal"; +import { render } from "react-dom"; declare const appContainer: HTMLElement; @@ -10,31 +10,31 @@ render(

    Hello world

    , - appContainer + appContainer, ); -const DisplacedModal = AriaModal.renderTo('#some-id'); +const DisplacedModal = AriaModal.renderTo("#some-id"); render(

    Hello world

    , - appContainer + appContainer, ); render( - {}} alert={true} focusDialog={true} - titleText='A top modal' + titleText="A top modal" underlayClickExits={false} verticallyCenter={true} underlayColor={false} - > -
    Hello
    -
    , - appContainer + > +
    Hello
    + , + appContainer, ); const AriaModalOnExitBasic = ( diff --git a/types/react-async-script/index.d.ts b/types/react-async-script/index.d.ts index 8eb3bb8fce2c95..7dde3499b4d41b 100644 --- a/types/react-async-script/index.d.ts +++ b/types/react-async-script/index.d.ts @@ -3,8 +3,8 @@ // Definitions by: Michalis Zachariadis // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import * as React from 'react'; -import hoistNonReactStatics = require('hoist-non-react-statics'); +import * as React from "react"; +import hoistNonReactStatics = require("hoist-non-react-statics"); interface Options { attributes?: { [key: string]: string } | undefined; @@ -26,10 +26,11 @@ declare function makeAsyncScript( ):

    ( Component: React.ComponentType

    , ) => React.ComponentType< - P & - hoistNonReactStatics.NonReactStatics> & { - asyncScriptOnLoad?: (() => void) | undefined; - } + & P + & hoistNonReactStatics.NonReactStatics> + & { + asyncScriptOnLoad?: (() => void) | undefined; + } >; export = makeAsyncScript; diff --git a/types/react-async-script/react-async-script-tests.tsx b/types/react-async-script/react-async-script-tests.tsx index 969d5c5e33f225..b73fb85b7424f4 100644 --- a/types/react-async-script/react-async-script-tests.tsx +++ b/types/react-async-script/react-async-script-tests.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import makeAsyncScript = require('react-async-script'); +import * as React from "react"; +import makeAsyncScript = require("react-async-script"); interface Props { grecaptcha?: any; @@ -11,13 +11,13 @@ function DisplayComponent({ grecaptcha }: Props) { const AsyncHoC = makeAsyncScript(`https://www.google.com/recaptcha/api.js?render=test`, { attributes: { - 'data-attr1': 'attr1-value', - 'data-attr2': 'attr2-value', + "data-attr1": "attr1-value", + "data-attr2": "attr2-value", }, - globalName: 'grecaptcha', + globalName: "grecaptcha", removeOnUnmount: true, })(DisplayComponent); function WrapperComponent() { - return console.log('script loaded')} />; + return console.log("script loaded")} />; } diff --git a/types/react-autocomplete/index.d.ts b/types/react-autocomplete/index.d.ts index 07daf9baad6e44..3fb2187723c14f 100644 --- a/types/react-autocomplete/index.d.ts +++ b/types/react-autocomplete/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import { Component, ChangeEvent, ReactNode, CSSProperties, HTMLProps } from 'react'; +import { ChangeEvent, Component, CSSProperties, HTMLProps, ReactNode } from "react"; export = Autocomplete; declare namespace Autocomplete { @@ -75,11 +75,13 @@ declare namespace Autocomplete { * { top, left, minWidth } which are the coordinates of the top-left corner * and the width of the dropdown menu. */ - renderMenu?: (( - items: ReactNode[], - value: string, - styles: CSSProperties, - ) => ReactNode) | undefined; + renderMenu?: + | (( + items: ReactNode[], + value: string, + styles: CSSProperties, + ) => ReactNode) + | undefined; /** * Styles that are applied to the dropdown menu in the default `renderMenu` * implementation. If you override `renderMenu` and you want to use @@ -145,22 +147,22 @@ declare namespace Autocomplete { } interface State { - /** - * True when the menu is visible. Provided to `onMenuVisibilityChange`. - */ - isOpen: boolean; + /** + * True when the menu is visible. Provided to `onMenuVisibilityChange`. + */ + isOpen: boolean; - /** - * Index of the highlighted item, `null` if none currently is. - */ - highlightedIndex: number | null; + /** + * Index of the highlighted item, `null` if none currently is. + */ + highlightedIndex: number | null; - /** - * These three `menu___` values are used in CSS to layout the menu. - */ - menuLeft?: number | undefined; - menuTop?: number | undefined; - menuWidth?: number | undefined; + /** + * These three `menu___` values are used in CSS to layout the menu. + */ + menuLeft?: number | undefined; + menuTop?: number | undefined; + menuWidth?: number | undefined; } } declare class Autocomplete extends Component { @@ -168,11 +170,11 @@ declare class Autocomplete extends Component['renderMenu'] = ( - (item: string[]) =>

    -); +const renderMenu: React.ComponentProps["renderMenu"] = (item: string[]) =>
    ; diff --git a/types/react-autosuggest/index.d.ts b/types/react-autosuggest/index.d.ts index 282c4e5d0945e4..6a670f67e7b2a8 100644 --- a/types/react-autosuggest/index.d.ts +++ b/types/react-autosuggest/index.d.ts @@ -11,7 +11,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 3.2 -import * as React from 'react'; +import * as React from "react"; declare class Autosuggest extends React.Component< Autosuggest.AutosuggestProps, @@ -39,20 +39,20 @@ declare namespace Autosuggest { >; type FetchRequestedReasons = - | 'input-changed' - | 'input-focused' - | 'escape-pressed' - | 'suggestions-revealed' - | 'suggestion-selected'; + | "input-changed" + | "input-focused" + | "escape-pressed" + | "suggestions-revealed" + | "suggestion-selected"; type ShouldRenderReasons = - | 'input-changed' - | 'input-focused' - | 'input-blurred' - | 'escape-pressed' - | 'suggestions-revealed' - | 'suggestions-updated' - | 'render'; + | "input-changed" + | "input-focused" + | "input-blurred" + | "escape-pressed" + | "suggestions-revealed" + | "suggestions-updated" + | "render"; interface SuggestionsFetchRequestedParams { value: string; @@ -70,7 +70,7 @@ declare namespace Autosuggest { interface ChangeEvent { newValue: string; - method: 'down' | 'up' | 'escape' | 'enter' | 'click' | 'type'; + method: "down" | "up" | "escape" | "enter" | "click" | "type"; } interface BlurEvent { @@ -82,7 +82,7 @@ declare namespace Autosuggest { ref?: React.Ref | undefined; } - interface InputProps extends Omit, 'onChange' | 'onBlur'> { + interface InputProps extends Omit, "onChange" | "onBlur"> { onChange: (event: React.FormEvent, params: ChangeEvent) => void; onBlur?: ((event: React.FocusEvent, params?: BlurEvent) => void) | undefined; value: string; @@ -96,24 +96,24 @@ declare namespace Autosuggest { suggestionValue: string; suggestionIndex: number; sectionIndex: number | null; - method: 'click' | 'enter'; + method: "click" | "enter"; } type ThemeKey = - | 'container' - | 'containerOpen' - | 'input' - | 'inputOpen' - | 'inputFocused' - | 'suggestionsContainer' - | 'suggestionsContainerOpen' - | 'suggestionsList' - | 'suggestion' - | 'suggestionFirst' - | 'suggestionHighlighted' - | 'sectionContainer' - | 'sectionContainerFirst' - | 'sectionTitle'; + | "container" + | "containerOpen" + | "input" + | "inputOpen" + | "inputFocused" + | "suggestionsContainer" + | "suggestionsContainerOpen" + | "suggestionsList" + | "suggestion" + | "suggestionFirst" + | "suggestionHighlighted" + | "sectionContainer" + | "sectionContainerFirst" + | "sectionTitle"; type Theme = Record | Partial>; diff --git a/types/react-autosuggest/react-autosuggest-tests.tsx b/types/react-autosuggest/react-autosuggest-tests.tsx index af8da7c238e270..03beb411d73b13 100644 --- a/types/react-autosuggest/react-autosuggest-tests.tsx +++ b/types/react-autosuggest/react-autosuggest-tests.tsx @@ -1,7 +1,7 @@ // region Imports -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import Autosuggest = require('react-autosuggest'); +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import Autosuggest = require("react-autosuggest"); // endregion interface Language { @@ -12,73 +12,73 @@ interface Language { // https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expression // s#Using_Special_Characters function escapeRegexCharacters(str: string): string { - return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); } export class ReactAutosuggestBasicTest extends React.Component { // region Fields static languages: Language[] = [ { - name: 'C', + name: "C", year: 1972, }, { - name: 'C#', + name: "C#", year: 2000, }, { - name: 'C++', + name: "C++", year: 1983, }, { - name: 'Clojure', + name: "Clojure", year: 2007, }, { - name: 'Elm', + name: "Elm", year: 2012, }, { - name: 'Go', + name: "Go", year: 2009, }, { - name: 'Haskell', + name: "Haskell", year: 1990, }, { - name: 'Java', + name: "Java", year: 1995, }, { - name: 'Javascript', + name: "Javascript", year: 1995, }, { - name: 'Perl', + name: "Perl", year: 1987, }, { - name: 'PHP', + name: "PHP", year: 1995, }, { - name: 'Python', + name: "Python", year: 1991, }, { - name: 'Ruby', + name: "Ruby", year: 1995, }, { - name: 'Scala', + name: "Scala", year: 2003, }, ]; // endregion region Constructor state = { - value: '', - suggestions: this.getSuggestions(''), + value: "", + suggestions: this.getSuggestions(""), }; // endregion region Rendering methods inputRef = React.createRef(); @@ -86,10 +86,10 @@ export class ReactAutosuggestBasicTest extends React.Component { const { value, suggestions } = this.state; const theme = { - input: 'themed-input-class', - container: 'themed-container-class', - suggestionFocused: 'active', - sectionTitle: { color: 'blue' }, + input: "themed-input-class", + container: "themed-container-class", + suggestionFocused: "active", + sectionTitle: { color: "blue" }, }; return ( @@ -100,7 +100,7 @@ export class ReactAutosuggestBasicTest extends React.Component { renderSuggestion={this.renderSuggestion} onSuggestionSelected={this.onSuggestionsSelected} alwaysRenderSuggestions={true} - shouldRenderSuggestions={(value, reason) => reason !== 'input-focused'} + shouldRenderSuggestions={(value, reason) => reason !== "input-focused"} shouldKeepSuggestionsOnSelect={() => false} inputProps={{ placeholder: `Type 'c'`, @@ -112,7 +112,7 @@ export class ReactAutosuggestBasicTest extends React.Component { ref: this.inputRef, }} containerProps={{ - className: 'some-css-class', + className: "some-css-class", }} theme={theme} /> @@ -127,7 +127,7 @@ export class ReactAutosuggestBasicTest extends React.Component { } protected renderSuggestion(suggestion: Language, params: Autosuggest.RenderSuggestionParams): JSX.Element { - const className = params.isHighlighted ? 'highlighted' : undefined; + const className = params.isHighlighted ? "highlighted" : undefined; return {suggestion.name}; } // endregion region Event handlers @@ -144,11 +144,11 @@ export class ReactAutosuggestBasicTest extends React.Component { protected getSuggestions(value: string): Language[] { const escapedValue = escapeRegexCharacters(value.trim()); - if (escapedValue === '') { + if (escapedValue === "") { return []; } - const regex = new RegExp('^' + escapedValue, 'i'); + const regex = new RegExp("^" + escapedValue, "i"); return ReactAutosuggestBasicTest.languages.filter(language => regex.test(language.name)); } @@ -159,83 +159,83 @@ export class ReactAutosuggestBasicTest extends React.Component { // endregion } -const LanguageAutosuggestSingle = Autosuggest as { new (): Autosuggest }; -const LanguageAutosuggestMulti = Autosuggest as { new (): Autosuggest }; +const LanguageAutosuggestSingle = Autosuggest as { new(): Autosuggest }; +const LanguageAutosuggestMulti = Autosuggest as { new(): Autosuggest }; export class ReactAutosuggestTypedTest extends React.Component { // region Fields static languages: Language[] = [ { - name: 'C', + name: "C", year: 1972, }, { - name: 'C#', + name: "C#", year: 2000, }, { - name: 'C++', + name: "C++", year: 1983, }, { - name: 'Clojure', + name: "Clojure", year: 2007, }, { - name: 'Elm', + name: "Elm", year: 2012, }, { - name: 'Go', + name: "Go", year: 2009, }, { - name: 'Haskell', + name: "Haskell", year: 1990, }, { - name: 'Java', + name: "Java", year: 1995, }, { - name: 'Javascript', + name: "Javascript", year: 1995, }, { - name: 'Perl', + name: "Perl", year: 1987, }, { - name: 'PHP', + name: "PHP", year: 1995, }, { - name: 'Python', + name: "Python", year: 1991, }, { - name: 'Ruby', + name: "Ruby", year: 1995, }, { - name: 'Scala', + name: "Scala", year: 2003, }, ]; // endregion region Constructor state = { - value: '', - suggestions: this.getSuggestions(''), + value: "", + suggestions: this.getSuggestions(""), }; // endregion region Rendering methods render(): JSX.Element { const { value, suggestions } = this.state; const theme = { - input: 'themed-input-class', - container: 'themed-container-class', - suggestionFocused: 'active', - sectionTitle: { color: 'blue' }, + input: "themed-input-class", + container: "themed-container-class", + suggestionFocused: "active", + sectionTitle: { color: "blue" }, }; return ( @@ -264,7 +264,7 @@ export class ReactAutosuggestTypedTest extends React.Component { } protected renderSuggestion(suggestion: Language, params: Autosuggest.RenderSuggestionParams): JSX.Element { - const className = params.isHighlighted ? 'highlighted' : undefined; + const className = params.isHighlighted ? "highlighted" : undefined; return {suggestion.name}; } // endregion region Event handlers @@ -281,11 +281,11 @@ export class ReactAutosuggestTypedTest extends React.Component { protected getSuggestions(value: string): Language[] { const escapedValue = escapeRegexCharacters(value.trim()); - if (escapedValue === '') { + if (escapedValue === "") { return []; } - const regex = new RegExp('^' + escapedValue, 'i'); + const regex = new RegExp("^" + escapedValue, "i"); return ReactAutosuggestBasicTest.languages.filter(language => regex.test(language.name)); } @@ -296,7 +296,7 @@ export class ReactAutosuggestTypedTest extends React.Component { // endregion } -ReactDOM.render(, document.getElementById('app')); +ReactDOM.render(, document.getElementById("app")); interface LanguageGroup { title: string; @@ -307,82 +307,82 @@ export class ReactAutosuggestMultipleTest extends React.Component { // region Fields static languages: LanguageGroup[] = [ { - title: '1970s', + title: "1970s", languages: [ { - name: 'C', + name: "C", year: 1972, }, ], }, { - title: '1980s', + title: "1980s", languages: [ { - name: 'C++', + name: "C++", year: 1983, }, { - name: 'Perl', + name: "Perl", year: 1987, }, ], }, { - title: '1990s', + title: "1990s", languages: [ { - name: 'Haskell', + name: "Haskell", year: 1990, }, { - name: 'Python', + name: "Python", year: 1991, }, { - name: 'Java', + name: "Java", year: 1995, }, { - name: 'Javascript', + name: "Javascript", year: 1995, }, { - name: 'PHP', + name: "PHP", year: 1995, }, { - name: 'Ruby', + name: "Ruby", year: 1995, }, ], }, { - title: '2000s', + title: "2000s", languages: [ { - name: 'C#', + name: "C#", year: 2000, }, { - name: 'Scala', + name: "Scala", year: 2003, }, { - name: 'Clojure', + name: "Clojure", year: 2007, }, { - name: 'Go', + name: "Go", year: 2009, }, ], }, { - title: '2010s', + title: "2010s", languages: [ { - name: 'Elm', + name: "Elm", year: 2012, }, ], @@ -395,9 +395,9 @@ export class ReactAutosuggestMultipleTest extends React.Component { super(props); this.state = { - value: '', - suggestions: this.getSuggestions(''), - highlighted: '', + value: "", + suggestions: this.getSuggestions(""), + highlighted: "", }; } // endregion region Rendering methods @@ -436,7 +436,7 @@ export class ReactAutosuggestMultipleTest extends React.Component { } protected renderSuggestion(suggestion: Language, params: Autosuggest.RenderSuggestionParams): JSX.Element { - const className = params.isHighlighted ? 'highlighted' : undefined; + const className = params.isHighlighted ? "highlighted" : undefined; return {suggestion.name}; } @@ -477,11 +477,11 @@ export class ReactAutosuggestMultipleTest extends React.Component { protected getSuggestions(value: string): LanguageGroup[] { const escapedValue = escapeRegexCharacters(value.trim()); - if (escapedValue === '') { + if (escapedValue === "") { return []; } - const regex = new RegExp('^' + escapedValue, 'i'); + const regex = new RegExp("^" + escapedValue, "i"); return ReactAutosuggestMultipleTest.languages .map(section => { @@ -509,7 +509,7 @@ export class ReactAutosuggestMultipleTest extends React.Component { // endregion } -ReactDOM.render(, document.getElementById('app')); +ReactDOM.render(, document.getElementById("app")); interface Person { first: string; @@ -517,36 +517,36 @@ interface Person { twitter: string; } -const PersonAutosuggest = Autosuggest as { new (): Autosuggest }; +const PersonAutosuggest = Autosuggest as { new(): Autosuggest }; export class ReactAutosuggestCustomTest extends React.Component { // region Fields static people: Person[] = [ { - first: 'Charlie', - last: 'Brown', - twitter: 'dancounsell', + first: "Charlie", + last: "Brown", + twitter: "dancounsell", }, { - first: 'Charlotte', - last: 'White', - twitter: 'mtnmissy', + first: "Charlotte", + last: "White", + twitter: "mtnmissy", }, { - first: 'Chloe', - last: 'Jones', - twitter: 'ladylexy', + first: "Chloe", + last: "Jones", + twitter: "ladylexy", }, { - first: 'Cooper', - last: 'King', - twitter: 'steveodom', + first: "Cooper", + last: "King", + twitter: "steveodom", }, ]; // endregion region Constructor state = { - value: '', - suggestions: this.getSuggestions(''), + value: "", + suggestions: this.getSuggestions(""), }; // endregion region Rendering methods render(): JSX.Element { @@ -570,7 +570,7 @@ export class ReactAutosuggestCustomTest extends React.Component { protected renderSuggestion(suggestion: Person, params: Autosuggest.RenderSuggestionParams): JSX.Element { const suggestionText = `${suggestion.first} ${suggestion.last}`; const query = params.query.trim(); - const parts = suggestionText.split(' ').map((part: string) => { + const parts = suggestionText.split(" ").map((part: string) => { return { highlight: Math.ceil(Math.random() * 10) % 2, text: part, @@ -578,10 +578,10 @@ export class ReactAutosuggestCustomTest extends React.Component { }); return ( - + {parts.map((part, index) => { - const className = part.highlight ? 'highlight' : undefined; + const className = part.highlight ? "highlight" : undefined; return ( @@ -607,11 +607,11 @@ export class ReactAutosuggestCustomTest extends React.Component { protected getSuggestions(value: string): Person[] { const escapedValue = escapeRegexCharacters(value.trim()); - if (escapedValue === '') { + if (escapedValue === "") { return []; } - const regex = new RegExp('\\b' + escapedValue, 'i'); + const regex = new RegExp("\\b" + escapedValue, "i"); return ReactAutosuggestCustomTest.people.filter(person => regex.test(this.getSuggestionValue(person))); } @@ -622,11 +622,11 @@ export class ReactAutosuggestCustomTest extends React.Component { // endregion } -ReactDOM.render(, document.getElementById('app')); +ReactDOM.render(, document.getElementById("app")); const test: Autosuggest.InputProps<{ foo: string }> = { onChange: () => {}, - value: 'foo', + value: "foo", // @ts-expect-error anything: false, }; @@ -639,7 +639,7 @@ function testSingleSection() { getSuggestionValue={suggestion => suggestion} inputProps={{ onChange: () => {}, - value: '', + value: "", }} onSuggestionsFetchRequested={() => {}} renderSuggestion={suggestion => suggestion} @@ -660,14 +660,14 @@ function testMultiSections() { getSuggestionValue={(suggestion: string) => suggestion} inputProps={{ onChange: () => {}, - value: '', + value: "", }} onSuggestionsFetchRequested={() => {}} renderSuggestion={suggestion => suggestion} />; } -const testInputOnChange: Autosuggest.InputProps<{ foo: string }>['onChange'] = event => { +const testInputOnChange: Autosuggest.InputProps<{ foo: string }>["onChange"] = event => { const element = event.target; // `value` only exists on the input element, but sometimes this function is // called with a `target` pointing to a non-input element. For example, when @@ -678,7 +678,7 @@ const testInputOnChange: Autosuggest.InputProps<{ foo: string }>['onChange'] = e }; { - const CustomInput: React.FC, 'onChange'>> = props => null; + const CustomInput: React.FC, "onChange">> = props => null; const invalidOnChange = (event: React.FormEvent) => {}; const onChange = (event: React.FormEvent) => {}; @@ -690,7 +690,7 @@ const testInputOnChange: Autosuggest.InputProps<{ foo: string }>['onChange'] = e } { - const CustomInput: React.FC, 'onBlur'>> = props => null; + const CustomInput: React.FC, "onBlur">> = props => null; const invalidOnBlur = (event: React.FocusEvent) => {}; const onBlur = (event: React.FocusEvent) => {}; diff --git a/types/react-avatar-editor/react-avatar-editor-tests.tsx b/types/react-avatar-editor/react-avatar-editor-tests.tsx index 3e1e4d268cb797..ae4258cc4a6460 100644 --- a/types/react-avatar-editor/react-avatar-editor-tests.tsx +++ b/types/react-avatar-editor/react-avatar-editor-tests.tsx @@ -1,22 +1,18 @@ import * as React from "react"; -import AvatarEditor, { - ImageState, - CroppedRect, - Position -} from "react-avatar-editor"; +import AvatarEditor, { CroppedRect, ImageState, Position } from "react-avatar-editor"; const file: File = new File(["str"], "image.jpg"); const image: ImageData = new ImageData(1, 2); const position: Position = { x: 1, - y: 1 + y: 1, }; const imageState: ImageState = { height: 1, width: 1, x: 1, y: 1, - resource: image + resource: image, }; class AvatarEditorTest extends React.Component { diff --git a/types/react-beautiful-dnd/index.d.ts b/types/react-beautiful-dnd/index.d.ts index 753c10fd069d43..94de6d90382698 100644 --- a/types/react-beautiful-dnd/index.d.ts +++ b/types/react-beautiful-dnd/index.d.ts @@ -15,7 +15,7 @@ // TypeScript Version: 2.8 // Refer to https://github.com/atlassian/react-beautiful-dnd/blob/master/src/types.js -import * as React from 'react'; +import * as React from "react"; export type Omit = Pick>; @@ -73,7 +73,7 @@ export type TypeId = Id; export type ContextId = Id; export type ElementId = Id; -export type DroppableMode = 'standard' | 'virtual'; +export type DroppableMode = "standard" | "virtual"; export interface DroppableDescriptor { id: DroppableId; @@ -97,30 +97,30 @@ export interface DraggableOptions { isEnabled: boolean; } -export type Direction = 'horizontal' | 'vertical'; +export type Direction = "horizontal" | "vertical"; export interface VerticalAxis { - direction: 'vertical'; - line: 'y'; - start: 'top'; - end: 'bottom'; - size: 'height'; - crossAxisLine: 'x'; - crossAxisStart: 'left'; - crossAxisEnd: 'right'; - crossAxisSize: 'width'; + direction: "vertical"; + line: "y"; + start: "top"; + end: "bottom"; + size: "height"; + crossAxisLine: "x"; + crossAxisStart: "left"; + crossAxisEnd: "right"; + crossAxisSize: "width"; } export interface HorizontalAxis { - direction: 'horizontal'; - line: 'x'; - start: 'left'; - end: 'right'; - size: 'width'; - crossAxisLine: 'y'; - crossAxisStart: 'top'; - crossAxisEnd: 'bottom'; - crossAxisSize: 'height'; + direction: "horizontal"; + line: "x"; + start: "left"; + end: "right"; + size: "width"; + crossAxisLine: "y"; + crossAxisStart: "top"; + crossAxisEnd: "bottom"; + crossAxisSize: "height"; } export type Axis = VerticalAxis | HorizontalAxis; @@ -265,12 +265,12 @@ export interface DisplacementGroups { } export interface ReorderImpact { - type: 'REORDER'; + type: "REORDER"; destination: DraggableLocation; } export interface CombineImpact { - type: 'COMBINE'; + type: "COMBINE"; combine: Combine; } @@ -308,7 +308,7 @@ export interface PagePositions { // There are two seperate modes that a drag can be in // FLUID: everything is done in response to highly granular input (eg mouse) // SNAP: items move in response to commands (eg keyboard); -export type MovementMode = 'FLUID' | 'SNAP'; +export type MovementMode = "FLUID" | "SNAP"; export interface DragPositions { client: ClientPositions; @@ -341,7 +341,7 @@ export interface DragUpdate extends DragStart { combine: Combine | null | undefined; } -export type DropReason = 'DROP' | 'CANCEL'; +export type DropReason = "DROP" | "CANCEL"; export interface DropResult extends DragUpdate { reason: DropReason; @@ -403,13 +403,13 @@ export interface CompletedDrag { } export interface IdleState { - phase: 'IDLE'; + phase: "IDLE"; completed: CompletedDrag | null | undefined; shouldFlush: boolean; } export interface DraggingState { - phase: 'DRAGGING'; + phase: "DRAGGING"; isDragging: true; critical: Critical; movementMode: MovementMode; @@ -433,23 +433,23 @@ export interface DraggingState { // If a drop occurs during this phase, it must wait until it is // completed before continuing with the drop // TODO: rename to BulkCollectingState -export interface CollectingState extends Omit { - phase: 'COLLECTING'; +export interface CollectingState extends Omit { + phase: "COLLECTING"; } // If a drop action occurs during a bulk collection we need to // wait for the collection to finish before performing the drop. // This is to ensure that everything has the correct index after // a drop -export interface DropPendingState extends Omit { - phase: 'DROP_PENDING'; +export interface DropPendingState extends Omit { + phase: "DROP_PENDING"; isWaiting: boolean; reason: DropReason; } // An optional phase for animating the drop / cancel if it is needed export interface DropAnimatingState { - phase: 'DROP_ANIMATING'; + phase: "DROP_ANIMATING"; completed: CompletedDrag; newHomeClientOffset: Position; dropDuration: number; @@ -463,7 +463,7 @@ export type StateWhenUpdatesAllowed = DraggingState | CollectingState; export type Announce = (message: string) => void; -export type InOutAnimationMode = 'none' | 'open' | 'close'; +export type InOutAnimationMode = "none" | "open" | "close"; export interface ResponderProvided { announce: Announce; @@ -567,9 +567,9 @@ export class DragDropContext extends React.Component {} export interface DroppableProvidedProps { // used for shared global styles - 'data-rbd-droppable-context-id': ContextId; + "data-rbd-droppable-context-id": ContextId; // Used to lookup. Currently not used for drag and drop lifecycle - 'data-rbd-droppable-id': DroppableId; + "data-rbd-droppable-id": DroppableId; } export interface DroppableProvided { @@ -648,14 +648,14 @@ export interface NotDraggingStyle { * * The `style` prop should interpret `null` and `undefined` the same way. */ - transition: 'none' | undefined; + transition: "none" | undefined; } export interface DraggingStyle { - position: 'fixed'; + position: "fixed"; top: number; left: number; - boxSizing: 'border-box'; + boxSizing: "border-box"; width: number; height: number; transition: string; @@ -678,22 +678,22 @@ export interface DraggingStyle { * The `style` prop should interpret `null` and `undefined` the same way. */ opacity: number | undefined; - pointerEvents: 'none'; + pointerEvents: "none"; } export interface DraggableProvidedDraggableProps { // inline style style?: DraggingStyle | NotDraggingStyle | undefined; // used for shared global styles - 'data-rbd-draggable-context-id': string; - 'data-rbd-draggable-id': string; + "data-rbd-draggable-context-id": string; + "data-rbd-draggable-id": string; onTransitionEnd?: React.TransitionEventHandler | undefined; } export interface DraggableProvidedDragHandleProps { - 'data-rbd-drag-handle-draggable-id': DraggableId; - 'data-rbd-drag-handle-context-id': ContextId; - 'aria-describedby': ElementId; + "data-rbd-drag-handle-draggable-id": DraggableId; + "data-rbd-drag-handle-context-id": ContextId; + "aria-describedby": ElementId; role: string; tabIndex: number; diff --git a/types/react-beautiful-dnd/react-beautiful-dnd-tests.tsx b/types/react-beautiful-dnd/react-beautiful-dnd-tests.tsx index 754a98a826d50f..5779155de63113 100644 --- a/types/react-beautiful-dnd/react-beautiful-dnd-tests.tsx +++ b/types/react-beautiful-dnd/react-beautiful-dnd-tests.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import * as React from "react"; import { DragDropContext, Draggable, @@ -15,8 +15,8 @@ import { useKeyboardSensor, useMouseSensor, useTouchSensor, -} from 'react-beautiful-dnd'; -import * as ReactDOM from 'react-dom'; +} from "react-beautiful-dnd"; +import * as ReactDOM from "react-dom"; interface Item { id: string; @@ -39,7 +39,7 @@ const reorder = (list: any[], startIndex: number, endIndex: number) => { }; const getListStyle = (snapshot: DroppableStateSnapshot) => ({ - background: snapshot.draggingFromThisWith ? 'lightpink' : snapshot.isDraggingOver ? 'lightblue' : 'lightgrey', + background: snapshot.draggingFromThisWith ? "lightpink" : snapshot.isDraggingOver ? "lightblue" : "lightgrey", width: 250, }); @@ -98,9 +98,9 @@ class App extends React.Component<{}, AppState> { {...dragHandleProps} style={{ ...draggableProps.style, - userSelect: 'none', - background: snapshot.isDragging ? 'lightgreen' : 'grey', - boxShadow: snapshot.isClone ? 'inset 0px 0px 0px 2px blue' : 'none', + userSelect: "none", + background: snapshot.isDragging ? "lightgreen" : "grey", + boxShadow: snapshot.isClone ? "inset 0px 0px 0px 2px blue" : "none", }} > {item.content} @@ -152,6 +152,6 @@ class App extends React.Component<{}, AppState> { } } -ReactDOM.render(, document.getElementById('app')); +ReactDOM.render(, document.getElementById("app")); resetServerContext(); diff --git a/types/react-beautiful-dnd/v10/index.d.ts b/types/react-beautiful-dnd/v10/index.d.ts index d3d5fab6c59c1e..0997d667ef4315 100644 --- a/types/react-beautiful-dnd/v10/index.d.ts +++ b/types/react-beautiful-dnd/v10/index.d.ts @@ -10,14 +10,14 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export type Id = string; export type DraggableId = Id; export type DroppableId = Id; export type TypeId = Id; -export type ZIndex = React.CSSProperties['zIndex']; -export type DropReason = 'DROP' | 'CANCEL'; +export type ZIndex = React.CSSProperties["zIndex"]; +export type DropReason = "DROP" | "CANCEL"; export type Announce = (message: string) => void; export interface DraggableLocation { @@ -25,7 +25,7 @@ export interface DraggableLocation { index: number; } -export type MovementMode = 'FLUID' | 'SNAP'; +export type MovementMode = "FLUID" | "SNAP"; /** * Responders @@ -94,7 +94,7 @@ export interface DragDropContextProps { onDragEnd(result: DropResult, provided: ResponderProvided): void; } -export class DragDropContext extends React.Component { } +export class DragDropContext extends React.Component {} /** * Droppable @@ -102,7 +102,7 @@ export class DragDropContext extends React.Component { } export interface DroppableProvidedProps { // used for shared global styles - 'data-react-beautiful-dnd-droppable': string; + "data-react-beautiful-dnd-droppable": string; } export interface DroppableProvided { innerRef(element: HTMLElement | null): any; @@ -122,11 +122,11 @@ export interface DroppableProps { ignoreContainerClipping?: boolean | undefined; isDropDisabled?: boolean | undefined; isCombineEnabled?: boolean | undefined; - direction?: 'vertical' | 'horizontal' | undefined; + direction?: "vertical" | "horizontal" | undefined; children(provided: DroppableProvided, snapshot: DroppableStateSnapshot): React.ReactElement; } -export class Droppable extends React.Component { } +export class Droppable extends React.Component {} /** * Draggable @@ -134,20 +134,20 @@ export class Droppable extends React.Component { } export interface NotDraggingStyle { transform?: string | undefined; - transition?: 'none' | undefined; + transition?: "none" | undefined; } export interface DraggingStyle { - pointerEvents: 'none'; - position: 'fixed'; + pointerEvents: "none"; + position: "fixed"; width: number; height: number; - boxSizing: 'border-box'; + boxSizing: "border-box"; top: number; left: number; margin: 0; transform?: string | undefined; - transition: 'none'; + transition: "none"; zIndex: ZIndex; } @@ -155,7 +155,7 @@ export interface DraggableProvidedDraggableProps { // inline style style?: DraggingStyle | NotDraggingStyle | undefined; // used for shared global styles - 'data-react-beautiful-dnd-draggable': string; + "data-react-beautiful-dnd-draggable": string; } export interface DraggableProvidedDragHandleProps { @@ -163,10 +163,10 @@ export interface DraggableProvidedDragHandleProps { onKeyDown: React.KeyboardEventHandler; onTouchStart: React.TouchEventHandler; onTouchMove: React.TouchEventHandler; - 'data-react-beautiful-dnd-drag-handle': string; - 'aria-roledescription': string; + "data-react-beautiful-dnd-drag-handle": string; + "aria-roledescription": string; tabIndex: number; - 'aria-grabbed': boolean; + "aria-grabbed": boolean; draggable: boolean; onDragStart: React.DragEventHandler; } @@ -216,4 +216,4 @@ export interface DraggableProps { shouldRespectForceTouch?: boolean | undefined; } -export class Draggable extends React.Component { } +export class Draggable extends React.Component {} diff --git a/types/react-beautiful-dnd/v10/react-beautiful-dnd-tests.tsx b/types/react-beautiful-dnd/v10/react-beautiful-dnd-tests.tsx index c169d8631acafe..493b0f89bf42f5 100644 --- a/types/react-beautiful-dnd/v10/react-beautiful-dnd-tests.tsx +++ b/types/react-beautiful-dnd/v10/react-beautiful-dnd-tests.tsx @@ -1,117 +1,136 @@ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import { DragDropContext, Draggable, Droppable, DropResult, DragStart, DragUpdate, ResponderProvided, DroppableStateSnapshot } from 'react-beautiful-dnd'; +import * as React from "react"; +import { + DragDropContext, + Draggable, + DragStart, + DragUpdate, + Droppable, + DroppableStateSnapshot, + DropResult, + ResponderProvided, +} from "react-beautiful-dnd"; +import * as ReactDOM from "react-dom"; interface Item { - id: string; - content: string; + id: string; + content: string; } const getItems = (count: number): Item[] => { - return Array - .from({length: count}, (v, k) => k) - .map(k => ({ - id: `item-${k}`, - content: `item ${k}` - })); + return Array + .from({ length: count }, (v, k) => k) + .map(k => ({ + id: `item-${k}`, + content: `item ${k}`, + })); }; const reorder = (list: any[], startIndex: number, endIndex: number) => { - const result = Array.from(list); - const [removed] = result.splice(startIndex, 1); - result.splice(endIndex, 0, removed); + const result = Array.from(list); + const [removed] = result.splice(startIndex, 1); + result.splice(endIndex, 0, removed); - return result; + return result; }; const getItemStyle = (isDragging: boolean, draggableStyle: any) => ({ - userSelect: 'none', - background: isDragging ? 'lightgreen' : 'grey', - ...draggableStyle + userSelect: "none", + background: isDragging ? "lightgreen" : "grey", + ...draggableStyle, }); const getListStyle = (snapshot: DroppableStateSnapshot) => ({ - background: snapshot.draggingFromThisWith ? 'lightpink' : snapshot.isDraggingOver ? 'lightblue' : 'lightgrey', - width: 250 + background: snapshot.draggingFromThisWith ? "lightpink" : snapshot.isDraggingOver ? "lightblue" : "lightgrey", + width: 250, }); interface AppState { - items: Item[]; + items: Item[]; } class App extends React.Component<{}, AppState> { - state = { - items: getItems(10) - }; - constructor(props: any) { - super(props); - this.onDragEnd = this.onDragEnd.bind(this); - } - - onBeforeDragStart(dragStart: DragStart) { - // - } - - onDragStart(dragStart: DragStart, provided: ResponderProvided) { - // - } - - onDragUpdate(dragUpdate: DragUpdate, provided: ResponderProvided) { - // - } - - onDragEnd(result: DropResult, provided: ResponderProvided) { - if (result.combine) { - // super simple: just removing the dragging item - const items: Item[] = [...this.state.items]; - items.splice(result.source.index, 1); - this.setState({ items }); - return; + state = { + items: getItems(10), + }; + constructor(props: any) { + super(props); + this.onDragEnd = this.onDragEnd.bind(this); } - if (!result.destination) { - return; + onBeforeDragStart(dragStart: DragStart) { + // } - const items = reorder( - this.state.items, - result.source.index, - result.destination.index - ); - - this.setState({items}); - } - - render() { - return ( - - - {(provided, snapshot) => ( -
    - {this.state.items.map((item, index) => ( - - {(provided, snapshot) => ( -
    -
    - {item.content} -
    - {provided.placeholder} -
    - )} -
    - ))} - {provided.placeholder} -
    - )} -
    -
    - ); - } + onDragStart(dragStart: DragStart, provided: ResponderProvided) { + // + } + + onDragUpdate(dragUpdate: DragUpdate, provided: ResponderProvided) { + // + } + + onDragEnd(result: DropResult, provided: ResponderProvided) { + if (result.combine) { + // super simple: just removing the dragging item + const items: Item[] = [...this.state.items]; + items.splice(result.source.index, 1); + this.setState({ items }); + return; + } + + if (!result.destination) { + return; + } + + const items = reorder( + this.state.items, + result.source.index, + result.destination.index, + ); + + this.setState({ items }); + } + + render() { + return ( + + + {(provided, snapshot) => ( +
    + {this.state.items.map((item, index) => ( + + {(provided, snapshot) => ( +
    +
    + {item.content} +
    + {provided.placeholder} +
    + )} +
    + ))} + {provided.placeholder} +
    + )} +
    +
    + ); + } } -ReactDOM.render(, document.getElementById('app')); +ReactDOM.render(, document.getElementById("app")); diff --git a/types/react-beautiful-dnd/v11/index.d.ts b/types/react-beautiful-dnd/v11/index.d.ts index d1fbde5d647cfb..41544d870601ec 100644 --- a/types/react-beautiful-dnd/v11/index.d.ts +++ b/types/react-beautiful-dnd/v11/index.d.ts @@ -10,14 +10,14 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export type Id = string; export type DraggableId = Id; export type DroppableId = Id; export type TypeId = Id; -export type ZIndex = React.CSSProperties['zIndex']; -export type DropReason = 'DROP' | 'CANCEL'; +export type ZIndex = React.CSSProperties["zIndex"]; +export type DropReason = "DROP" | "CANCEL"; export type Announce = (message: string) => void; export interface DraggableLocation { @@ -25,7 +25,7 @@ export interface DraggableLocation { index: number; } -export type MovementMode = 'FLUID' | 'SNAP'; +export type MovementMode = "FLUID" | "SNAP"; /** * Responders @@ -100,7 +100,7 @@ export class DragDropContext extends React.Component {} export interface DroppableProvidedProps { // used for shared global styles - 'data-react-beautiful-dnd-droppable': string; + "data-react-beautiful-dnd-droppable": string; } export interface DroppableProvided { innerRef(element: HTMLElement | null): any; @@ -120,7 +120,7 @@ export interface DroppableProps { ignoreContainerClipping?: boolean | undefined; isDropDisabled?: boolean | undefined; isCombineEnabled?: boolean | undefined; - direction?: 'vertical' | 'horizontal' | undefined; + direction?: "vertical" | "horizontal" | undefined; children(provided: DroppableProvided, snapshot: DroppableStateSnapshot): React.ReactElement; } @@ -132,20 +132,20 @@ export class Droppable extends React.Component {} export interface NotDraggingStyle { transform?: string | undefined; - transition?: 'none' | undefined; + transition?: "none" | undefined; } export interface DraggingStyle { - pointerEvents: 'none'; - position: 'fixed'; + pointerEvents: "none"; + position: "fixed"; width: number; height: number; - boxSizing: 'border-box'; + boxSizing: "border-box"; top: number; left: number; margin: 0; transform?: string | undefined; - transition: 'none'; + transition: "none"; zIndex: ZIndex; } @@ -153,7 +153,7 @@ export interface DraggableProvidedDraggableProps { // inline style style?: DraggingStyle | NotDraggingStyle | undefined; // used for shared global styles - 'data-react-beautiful-dnd-draggable': string; + "data-react-beautiful-dnd-draggable": string; } export interface DraggableProvidedDragHandleProps { @@ -161,10 +161,10 @@ export interface DraggableProvidedDragHandleProps { onKeyDown: React.KeyboardEventHandler; onTouchStart: React.TouchEventHandler; onTouchMove: React.TouchEventHandler; - 'data-react-beautiful-dnd-drag-handle': string; - 'aria-roledescription': string; + "data-react-beautiful-dnd-drag-handle": string; + "aria-roledescription": string; tabIndex: number; - 'aria-grabbed': boolean; + "aria-grabbed": boolean; draggable: boolean; onDragStart: React.DragEventHandler; } diff --git a/types/react-beautiful-dnd/v11/react-beautiful-dnd-tests.tsx b/types/react-beautiful-dnd/v11/react-beautiful-dnd-tests.tsx index 7f6ecf71b7be1d..71920dd373a794 100644 --- a/types/react-beautiful-dnd/v11/react-beautiful-dnd-tests.tsx +++ b/types/react-beautiful-dnd/v11/react-beautiful-dnd-tests.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import * as React from "react"; import { BeforeCapture, DragDropContext, @@ -10,8 +10,8 @@ import { DropResult, resetServerContext, ResponderProvided, -} from 'react-beautiful-dnd'; -import * as ReactDOM from 'react-dom'; +} from "react-beautiful-dnd"; +import * as ReactDOM from "react-dom"; interface Item { id: string; @@ -34,13 +34,13 @@ const reorder = (list: any[], startIndex: number, endIndex: number) => { }; const getItemStyle = (isDragging: boolean, draggableStyle: any) => ({ - userSelect: 'none', - background: isDragging ? 'lightgreen' : 'grey', + userSelect: "none", + background: isDragging ? "lightgreen" : "grey", ...draggableStyle, }); const getListStyle = (snapshot: DroppableStateSnapshot) => ({ - background: snapshot.draggingFromThisWith ? 'lightpink' : snapshot.isDraggingOver ? 'lightblue' : 'lightgrey', + background: snapshot.draggingFromThisWith ? "lightpink" : snapshot.isDraggingOver ? "lightblue" : "lightgrey", width: 250, }); @@ -129,6 +129,6 @@ class App extends React.Component<{}, AppState> { } } -ReactDOM.render(, document.getElementById('app')); +ReactDOM.render(, document.getElementById("app")); resetServerContext(); diff --git a/types/react-beautiful-dnd/v12/index.d.ts b/types/react-beautiful-dnd/v12/index.d.ts index 62fb00b2b8536a..8a27aeea1585f3 100644 --- a/types/react-beautiful-dnd/v12/index.d.ts +++ b/types/react-beautiful-dnd/v12/index.d.ts @@ -13,7 +13,7 @@ // TypeScript Version: 2.8 // Refer to https://github.com/atlassian/react-beautiful-dnd/blob/master/src/types.js -import * as React from 'react'; +import * as React from "react"; export type Omit = Pick>; @@ -71,7 +71,7 @@ export type TypeId = Id; export type ContextId = Id; export type ElementId = Id; -export type DroppableMode = 'standard' | 'virtual'; +export type DroppableMode = "standard" | "virtual"; export interface DroppableDescriptor { id: DroppableId; @@ -95,30 +95,30 @@ export interface DraggableOptions { isEnabled: boolean; } -export type Direction = 'horizontal' | 'vertical'; +export type Direction = "horizontal" | "vertical"; export interface VerticalAxis { - direction: 'vertical'; - line: 'y'; - start: 'top'; - end: 'bottom'; - size: 'height'; - crossAxisLine: 'x'; - crossAxisStart: 'left'; - crossAxisEnd: 'right'; - crossAxisSize: 'width'; + direction: "vertical"; + line: "y"; + start: "top"; + end: "bottom"; + size: "height"; + crossAxisLine: "x"; + crossAxisStart: "left"; + crossAxisEnd: "right"; + crossAxisSize: "width"; } export interface HorizontalAxis { - direction: 'horizontal'; - line: 'x'; - start: 'left'; - end: 'right'; - size: 'width'; - crossAxisLine: 'y'; - crossAxisStart: 'top'; - crossAxisEnd: 'bottom'; - crossAxisSize: 'height'; + direction: "horizontal"; + line: "x"; + start: "left"; + end: "right"; + size: "width"; + crossAxisLine: "y"; + crossAxisStart: "top"; + crossAxisEnd: "bottom"; + crossAxisSize: "height"; } export type Axis = VerticalAxis | HorizontalAxis; @@ -250,8 +250,8 @@ export interface DisplacedBy { point: Position; } -export type VerticalUserDirection = 'up' | 'down'; -export type HorizontalUserDirection = 'left' | 'right'; +export type VerticalUserDirection = "up" | "down"; +export type HorizontalUserDirection = "left" | "right"; export interface UserDirection { vertical: VerticalUserDirection; @@ -271,12 +271,12 @@ export interface DisplacementGroups { } export interface ReorderImpact { - type: 'REORDER'; + type: "REORDER"; destination: DraggableLocation; } export interface CombineImpact { - type: 'COMBINE'; + type: "COMBINE"; combine: Combine; } @@ -313,7 +313,7 @@ export interface PagePositions { // There are two seperate modes that a drag can be in // FLUID: everything is done in response to highly granular input (eg mouse) // SNAP: items move in response to commands (eg keyboard); -export type MovementMode = 'FLUID' | 'SNAP'; +export type MovementMode = "FLUID" | "SNAP"; export interface DragPositions { client: ClientPositions; @@ -346,7 +346,7 @@ export interface DragUpdate extends DragStart { combine: Combine | null | undefined; } -export type DropReason = 'DROP' | 'CANCEL'; +export type DropReason = "DROP" | "CANCEL"; export interface DropResult extends DragUpdate { reason: DropReason; @@ -408,13 +408,13 @@ export interface CompletedDrag { } export interface IdleState { - phase: 'IDLE'; + phase: "IDLE"; completed: CompletedDrag | null | undefined; shouldFlush: boolean; } export interface DraggingState { - phase: 'DRAGGING'; + phase: "DRAGGING"; isDragging: true; critical: Critical; movementMode: MovementMode; @@ -438,23 +438,23 @@ export interface DraggingState { // If a drop occurs during this phase, it must wait until it is // completed before continuing with the drop // TODO: rename to BulkCollectingState -export interface CollectingState extends Omit { - phase: 'COLLECTING'; +export interface CollectingState extends Omit { + phase: "COLLECTING"; } // If a drop action occurs during a bulk collection we need to // wait for the collection to finish before performing the drop. // This is to ensure that everything has the correct index after // a drop -export interface DropPendingState extends Omit { - phase: 'DROP_PENDING'; +export interface DropPendingState extends Omit { + phase: "DROP_PENDING"; isWaiting: boolean; reason: DropReason; } // An optional phase for animating the drop / cancel if it is needed export interface DropAnimatingState { - phase: 'DROP_ANIMATING'; + phase: "DROP_ANIMATING"; completed: CompletedDrag; newHomeClientOffset: Position; dropDuration: number; @@ -468,7 +468,7 @@ export type StateWhenUpdatesAllowed = DraggingState | CollectingState; export type Announce = (message: string) => void; -export type InOutAnimationMode = 'none' | 'open' | 'close'; +export type InOutAnimationMode = "none" | "open" | "close"; export interface ResponderProvided { announce: Announce; @@ -572,9 +572,9 @@ export class DragDropContext extends React.Component {} export interface DroppableProvidedProps { // used for shared global styles - 'data-rbd-droppable-context-id': ContextId; + "data-rbd-droppable-context-id": ContextId; // Used to lookup. Currently not used for drag and drop lifecycle - 'data-rbd-droppable-id': DroppableId; + "data-rbd-droppable-id": DroppableId; } export interface DroppableProvided { @@ -653,14 +653,14 @@ export interface NotDraggingStyle { * * The `style` prop should interpret `null` and `undefined` the same way. */ - transition: 'none' | undefined; + transition: "none" | undefined; } export interface DraggingStyle { - position: 'fixed'; + position: "fixed"; top: number; left: number; - boxSizing: 'border-box'; + boxSizing: "border-box"; width: number; height: number; transition: string; @@ -683,22 +683,22 @@ export interface DraggingStyle { * The `style` prop should interpret `null` and `undefined` the same way. */ opacity: number | undefined; - pointerEvents: 'none'; + pointerEvents: "none"; } export interface DraggableProvidedDraggableProps { // inline style style?: DraggingStyle | NotDraggingStyle | undefined; // used for shared global styles - 'data-rbd-draggable-context-id': string; - 'data-rbd-draggable-id': string; + "data-rbd-draggable-context-id": string; + "data-rbd-draggable-id": string; onTransitionEnd?: React.TransitionEventHandler | undefined; } export interface DraggableProvidedDragHandleProps { - 'data-rbd-drag-handle-draggable-id': DraggableId; - 'data-rbd-drag-handle-context-id': ContextId; - 'aria-labelledby': ElementId; + "data-rbd-drag-handle-draggable-id": DraggableId; + "data-rbd-drag-handle-context-id": ContextId; + "aria-labelledby": ElementId; tabIndex: number; draggable: boolean; diff --git a/types/react-beautiful-dnd/v12/react-beautiful-dnd-tests.tsx b/types/react-beautiful-dnd/v12/react-beautiful-dnd-tests.tsx index 2367b71d239b92..5d39c6bfb34208 100644 --- a/types/react-beautiful-dnd/v12/react-beautiful-dnd-tests.tsx +++ b/types/react-beautiful-dnd/v12/react-beautiful-dnd-tests.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import * as React from "react"; import { DragDropContext, Draggable, @@ -12,8 +12,8 @@ import { DropResult, resetServerContext, ResponderProvided, -} from 'react-beautiful-dnd'; -import * as ReactDOM from 'react-dom'; +} from "react-beautiful-dnd"; +import * as ReactDOM from "react-dom"; interface Item { id: string; @@ -36,7 +36,7 @@ const reorder = (list: any[], startIndex: number, endIndex: number) => { }; const getListStyle = (snapshot: DroppableStateSnapshot) => ({ - background: snapshot.draggingFromThisWith ? 'lightpink' : snapshot.isDraggingOver ? 'lightblue' : 'lightgrey', + background: snapshot.draggingFromThisWith ? "lightpink" : snapshot.isDraggingOver ? "lightblue" : "lightgrey", width: 250, }); @@ -95,9 +95,9 @@ class App extends React.Component<{}, AppState> { {...dragHandleProps} style={{ ...draggableProps.style, - userSelect: 'none', - background: snapshot.isDragging ? 'lightgreen' : 'grey', - boxShadow: snapshot.isClone ? 'inset 0px 0px 0px 2px blue' : 'none', + userSelect: "none", + background: snapshot.isDragging ? "lightgreen" : "grey", + boxShadow: snapshot.isClone ? "inset 0px 0px 0px 2px blue" : "none", }} > {item.content} @@ -138,6 +138,6 @@ class App extends React.Component<{}, AppState> { } } -ReactDOM.render(, document.getElementById('app')); +ReactDOM.render(, document.getElementById("app")); resetServerContext(); diff --git a/types/react-beforeunload/index.d.ts b/types/react-beforeunload/index.d.ts index 13639ef80dbcfc..c6de0c213bf418 100644 --- a/types/react-beforeunload/index.d.ts +++ b/types/react-beforeunload/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export type UseBeforeunloadHandler = ((arg: Event) => string | undefined) | ((arg: Event) => void); diff --git a/types/react-beforeunload/react-beforeunload-tests.tsx b/types/react-beforeunload/react-beforeunload-tests.tsx index ba9dd03896b7e1..7618c04009b9dc 100644 --- a/types/react-beforeunload/react-beforeunload-tests.tsx +++ b/types/react-beforeunload/react-beforeunload-tests.tsx @@ -1,6 +1,6 @@ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import { useBeforeunload, Beforeunload } from 'react-beforeunload'; +import * as React from "react"; +import { Beforeunload, useBeforeunload } from "react-beforeunload"; +import * as ReactDOM from "react-dom"; function AppWithNoopHook() { useBeforeunload(); @@ -56,4 +56,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('app')); +ReactDOM.render(, document.getElementById("app")); diff --git a/types/react-better-password/index.d.ts b/types/react-better-password/index.d.ts index ee01dc416fdc59..33ff67958e2b52 100644 --- a/types/react-better-password/index.d.ts +++ b/types/react-better-password/index.d.ts @@ -4,14 +4,14 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export interface PasswordProps { className?: string | undefined; - mask?: '•' | string | undefined; + mask?: "•" | string | undefined; onChange?: ((value: string) => void) | undefined; placeholder?: string | undefined; show?: boolean | undefined; timeout?: number | undefined; value?: string | undefined; } -export default class Password extends React.Component { } +export default class Password extends React.Component {} diff --git a/types/react-better-password/react-better-password-tests.tsx b/types/react-better-password/react-better-password-tests.tsx index 1aea80d2504ecf..ebb8cadcc92e6f 100644 --- a/types/react-better-password/react-better-password-tests.tsx +++ b/types/react-better-password/react-better-password-tests.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import Password from 'react-better-password'; +import * as React from "react"; +import Password from "react-better-password"; interface PasswordState { password: string; @@ -12,7 +12,7 @@ class ReactBetterPasswordTest extends React.Component<{}, PasswordState> { handlePw = (password: string) => { this.setState({ password }); - } + }; render() { const { password } = this.state; diff --git a/types/react-big-calendar/index.d.ts b/types/react-big-calendar/index.d.ts index f393ac47a26c7c..fa89fe4de60de2 100644 --- a/types/react-big-calendar/index.d.ts +++ b/types/react-big-calendar/index.d.ts @@ -18,29 +18,29 @@ // decimoseptimo // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import { Validator } from 'prop-types'; -import * as React from 'react'; import { - milliseconds, - seconds, - minutes, - hours, - month, - startOf, - endOf, add, + endOf, eq, - neq, - gte, gt, - lte, - lt, + gte, + hours, inRange, - min, + lt, + lte, max, - Unit, + milliseconds, + min, + minutes, + month, + neq, + seconds, + startOf, StartOfWeek, -} from 'date-arithmetic'; + Unit, +} from "date-arithmetic"; +import { Validator } from "prop-types"; +import * as React from "react"; type Omit = Pick>; @@ -56,45 +56,47 @@ export type SlotGroupPropGetter = () => React.HTMLAttributes; export type stringOrDate = string | Date; // this isn't documented in the official repo, a thorough review is needed as to where stringOrDate or Date applies -export type ViewKey = 'MONTH' | 'WEEK' | 'WORK_WEEK' | 'DAY' | 'AGENDA'; -export type View = 'month' | 'week' | 'work_week' | 'day' | 'agenda'; -export type ViewProps = Omit< - CalendarProps, - 'elementProps' | 'className' | 'style' | 'view' | 'toolbar' | 'components' | 'formats' | 'messages' | 'culture' -> & { - date: stringOrDate; // date has always a value, in contrast to optional date in CalendarProps - - // props assigned from Calendar's this.state.context, see there if you want to improve the type defs: - accessors: any; - components: any; - getters: any; - localizer: any; - - // props assigned from Calendar instance, see there if you want to improve the type defs: - getDrilldownView: any; // = this.getDrilldownView - onNavigate: any; // = this.handleNavigate - onDrillDown: any; // = this.handleDrillDown - onSelectEvent: any; // = this.handleSelectEvent - onDoubleClickEvent: any; // = this.handleDoubleClickEvent - onSelectSlot: any; // = this.handleSelectSlot -}; +export type ViewKey = "MONTH" | "WEEK" | "WORK_WEEK" | "DAY" | "AGENDA"; +export type View = "month" | "week" | "work_week" | "day" | "agenda"; +export type ViewProps = + & Omit< + CalendarProps, + "elementProps" | "className" | "style" | "view" | "toolbar" | "components" | "formats" | "messages" | "culture" + > + & { + date: stringOrDate; // date has always a value, in contrast to optional date in CalendarProps + + // props assigned from Calendar's this.state.context, see there if you want to improve the type defs: + accessors: any; + components: any; + getters: any; + localizer: any; + + // props assigned from Calendar instance, see there if you want to improve the type defs: + getDrilldownView: any; // = this.getDrilldownView + onNavigate: any; // = this.handleNavigate + onDrillDown: any; // = this.handleDrillDown + onSelectEvent: any; // = this.handleSelectEvent + onDoubleClickEvent: any; // = this.handleDoubleClickEvent + onSelectSlot: any; // = this.handleSelectSlot + }; export type ViewsProps = | View[] | { - work_week?: boolean | (React.ComponentType & ViewStatic) | undefined; - day?: boolean | (React.ComponentType & ViewStatic) | undefined; - agenda?: boolean | (React.ComponentType & ViewStatic) | undefined; - month?: boolean | (React.ComponentType & ViewStatic) | undefined; - week?: boolean | (React.ComponentType & ViewStatic) | undefined; - }; + work_week?: boolean | (React.ComponentType & ViewStatic) | undefined; + day?: boolean | (React.ComponentType & ViewStatic) | undefined; + agenda?: boolean | (React.ComponentType & ViewStatic) | undefined; + month?: boolean | (React.ComponentType & ViewStatic) | undefined; + week?: boolean | (React.ComponentType & ViewStatic) | undefined; + }; export type DayLayoutFunction = (_: { events: TEvent[]; minimumStartDifference: number; slotMetrics: any; accessors: any; }) => Array<{ event: TEvent; style: React.CSSProperties }>; -export type DayLayoutAlgorithm = 'overlap' | 'no-overlap'; -export type NavigateAction = 'PREV' | 'NEXT' | 'TODAY' | 'DATE'; +export type DayLayoutAlgorithm = "overlap" | "no-overlap"; +export type NavigateAction = "PREV" | "NEXT" | "TODAY" | "DATE"; export interface Event { allDay?: boolean | undefined; title?: React.ReactNode | undefined; @@ -121,14 +123,12 @@ export interface Formats { /** * A day of the week format for Week and Day headings, * e.g. "Wed 01/04" - * */ dayFormat?: DateFormat | undefined; /** * Week day name format for the Month week day headings, * e.g: "Sun", "Mon", "Tue", etc - * */ weekdayFormat?: DateFormat | undefined; @@ -139,7 +139,6 @@ export interface Formats { /** * Toolbar header format for the Month view, e.g "2015 April" - * */ monthHeaderFormat?: DateFormat | undefined; @@ -221,35 +220,35 @@ export interface Components> | undefined; agenda?: | { - date?: React.ComponentType | undefined; - time?: React.ComponentType | undefined; - event?: React.ComponentType> | undefined; - } + date?: React.ComponentType | undefined; + time?: React.ComponentType | undefined; + event?: React.ComponentType> | undefined; + } | undefined; day?: | { - header?: React.ComponentType | undefined; - event?: React.ComponentType> | undefined; - } + header?: React.ComponentType | undefined; + event?: React.ComponentType> | undefined; + } | undefined; week?: | { - header?: React.ComponentType | undefined; - event?: React.ComponentType> | undefined; - } + header?: React.ComponentType | undefined; + event?: React.ComponentType> | undefined; + } | undefined; work_week?: | { - header?: React.ComponentType | undefined; - event?: React.ComponentType> | undefined; - } + header?: React.ComponentType | undefined; + event?: React.ComponentType> | undefined; + } | undefined; month?: | { - header?: React.ComponentType | undefined; - dateHeader?: React.ComponentType | undefined; - event?: React.ComponentType> | undefined; - } + header?: React.ComponentType | undefined; + dateHeader?: React.ComponentType | undefined; + event?: React.ComponentType> | undefined; + } | undefined; /** * component used as a header for each column in the TimeGridHeader @@ -328,28 +327,28 @@ export interface SlotInfo { start: Date; end: Date; slots: Date[]; - action: 'select' | 'click' | 'doubleClick'; + action: "select" | "click" | "doubleClick"; /** For "TimeGrid" views */ resourceId?: number | string | undefined; /** For "select" action */ bounds?: | { - x: number; - y: number; - top: number; - bottom: number; - left: number; - right: number; - } + x: number; + y: number; + top: number; + bottom: number; + left: number; + right: number; + } | undefined; /** For "click" or "doubleClick" actions */ box?: | { - x: number; - y: number; - clientX: number; - clientY: number; - } + x: number; + y: number; + clientX: number; + clientY: number; + } | undefined; } @@ -476,7 +475,7 @@ export interface CalendarProps void) | undefined; onSelectSlot?: ((slotInfo: SlotInfo) => void) | undefined; diff --git a/types/react-big-calendar/lib/addons/dragAndDrop.d.ts b/types/react-big-calendar/lib/addons/dragAndDrop.d.ts index e2c1ca3607ae13..aeb15c286aba4a 100644 --- a/types/react-big-calendar/lib/addons/dragAndDrop.d.ts +++ b/types/react-big-calendar/lib/addons/dragAndDrop.d.ts @@ -1,53 +1,55 @@ -import { CalendarProps, Components, Event, stringOrDate } from '../../index'; -import * as React from 'react'; +import * as React from "react"; +import { CalendarProps, Components, Event, stringOrDate } from "../../index"; -export type DragAction = 'resize' | 'move'; +export type DragAction = "resize" | "move"; -export type DragDirection = 'UP' | 'DOWN' | 'LEFT' | 'RIGHT'; +export type DragDirection = "UP" | "DOWN" | "LEFT" | "RIGHT"; export interface EventInteractionArgs { - event: TEvent; - start: stringOrDate; - end: stringOrDate; - isAllDay: boolean; + event: TEvent; + start: stringOrDate; + end: stringOrDate; + isAllDay: boolean; } export interface OnDragStartArgs { - event: TEvent; - action: DragAction; - direction: DragDirection; + event: TEvent; + action: DragAction; + direction: DragDirection; } export interface DragFromOutsideItemArgs { - start: stringOrDate; - end: stringOrDate; - allDay: boolean; + start: stringOrDate; + end: stringOrDate; + allDay: boolean; } export interface withDragAndDropProps { - onEventDrop?: ((args: EventInteractionArgs) => void) | undefined; - onEventResize?: ((args: EventInteractionArgs) => void) | undefined; - onDragStart?: ((args: OnDragStartArgs) => void) | undefined; - onDragOver?: ((event: React.DragEvent) => void) | undefined; - onDropFromOutside?: ((args: DragFromOutsideItemArgs) => void) | undefined; - dragFromOutsideItem?: (() => keyof TEvent | ((event: TEvent) => Date)) | undefined; - draggableAccessor?: keyof TEvent | ((event: TEvent) => boolean) | undefined; - resizableAccessor?: keyof TEvent | ((event: TEvent) => boolean) | undefined; - selectable?: true | false | 'ignoreEvents' | undefined; - resizable?: boolean | undefined; - components?: Components | undefined; - elementProps?: React.HTMLAttributes | undefined; - step?: number | undefined; + onEventDrop?: ((args: EventInteractionArgs) => void) | undefined; + onEventResize?: ((args: EventInteractionArgs) => void) | undefined; + onDragStart?: ((args: OnDragStartArgs) => void) | undefined; + onDragOver?: ((event: React.DragEvent) => void) | undefined; + onDropFromOutside?: ((args: DragFromOutsideItemArgs) => void) | undefined; + dragFromOutsideItem?: (() => keyof TEvent | ((event: TEvent) => Date)) | undefined; + draggableAccessor?: keyof TEvent | ((event: TEvent) => boolean) | undefined; + resizableAccessor?: keyof TEvent | ((event: TEvent) => boolean) | undefined; + selectable?: true | false | "ignoreEvents" | undefined; + resizable?: boolean | undefined; + components?: Components | undefined; + elementProps?: React.HTMLAttributes | undefined; + step?: number | undefined; } interface DragAndDropCalendarProps - extends CalendarProps, withDragAndDropProps {} + extends CalendarProps, withDragAndDropProps +{} declare class DragAndDropCalendar - extends React.Component> {} + extends React.Component> +{} declare function withDragAndDrop( - calendar: React.ComponentType> + calendar: React.ComponentType>, ): React.ComponentType>; export default withDragAndDrop; diff --git a/types/react-big-calendar/react-big-calendar-tests.tsx b/types/react-big-calendar/react-big-calendar-tests.tsx index bed2b1596c2f89..46300b59528528 100644 --- a/types/react-big-calendar/react-big-calendar-tests.tsx +++ b/types/react-big-calendar/react-big-calendar-tests.tsx @@ -1,34 +1,34 @@ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; +import * as React from "react"; import { Calendar, CalendarProps, - momentLocalizer, - globalizeLocalizer, + Culture, dateFnsLocalizer, - luxonLocalizer, - dayjsLocalizer, - Views, - Navigate, - View, - DateRange, + DateHeaderProps, DateLocalizer, - ToolbarProps, + DateRange, + Day, + dayjsLocalizer, + DayLayoutFunction, EventProps, EventWrapperProps, + globalizeLocalizer, + HeaderProps, + luxonLocalizer, + momentLocalizer, + Navigate, NavigateAction, - Culture, - DayLayoutFunction, + ResourceHeaderProps, stringOrDate, - ViewProps, - Day, TimeGrid, + ToolbarProps, + View, + ViewProps, + Views, Week, - HeaderProps, - DateHeaderProps, - ResourceHeaderProps, -} from 'react-big-calendar'; -import withDragAndDrop from 'react-big-calendar/lib/addons/dragAndDrop'; +} from "react-big-calendar"; +import withDragAndDrop from "react-big-calendar/lib/addons/dragAndDrop"; +import * as ReactDOM from "react-dom"; // Don't want to add this as a dependency, because it is only used for tests. declare const globalize: any; @@ -56,7 +56,7 @@ class CalendarEvent { this.allDay = _allDay || false; this.start = _start; this.endDate = _endDate; - this.desc = _desc || ''; + this.desc = _desc || ""; this.resourceId = _resourceId; } } @@ -179,7 +179,7 @@ class CalendarResource { // Drag and Drop Example Test { - class MyCalendar extends Calendar { } + class MyCalendar extends Calendar {} interface Props { localizer: DateLocalizer; @@ -207,7 +207,7 @@ class CalendarResource { onDropFromOutside={console.log} draggableAccessor={() => true} resizableAccessor={() => true} - elementProps={{ id: 'myCalendar' }} + elementProps={{ id: "myCalendar" }} components={{ event: Event, agenda: { @@ -234,7 +234,7 @@ class CalendarResource { } class DayComponent extends React.Component { static title() { - return 'title'; + return "title"; } static navigate() { @@ -259,7 +259,7 @@ class CalendarResource { { class DayComponent extends React.Component { static title() { - return 'title'; + return "title"; } static navigate() { @@ -286,7 +286,7 @@ class CalendarResource { } { - class MyCalendar extends Calendar { } + class MyCalendar extends Calendar {} // Full API Example Test - based on API Documentation // http://intljusticemission.github.io/react-big-calendar/examples/index.html#api @@ -297,17 +297,17 @@ class CalendarResource { {...this.props} date={new Date()} getNow={() => new Date()} - view={'day'} + view={"day"} events={getEvents()} - onNavigate={(newDate: Date, view: View, action: NavigateAction) => { }} - onView={(view: View) => { }} + onNavigate={(newDate: Date, view: View, action: NavigateAction) => {}} + onView={(view: View) => {}} onSelectSlot={slotInfo => { const start = slotInfo.start; const end = slotInfo.end; const slots = slotInfo.slots; }} - onSelectEvent={event => { }} - onKeyPressEvent={event => { }} + onSelectEvent={event => {}} + onKeyPressEvent={event => {}} onSelecting={slotInfo => { const start = slotInfo.start; const end = slotInfo.end; @@ -315,55 +315,55 @@ class CalendarResource { }} dayLayoutAlgorithm={customLayoutAlgorithm} showAllEvents={false} - views={['day']} + views={["day"]} toolbar={true} popup={true} popupOffset={20} onShowMore={(events, date) => { - console.log('onShowMore fired, events: %O, date: %O', events, date); + console.log("onShowMore fired, events: %O, date: %O", events, date); }} doShowMoreDrillDown={true} selectable={true} step={20} rtl={true} - eventPropGetter={(event, start, end, isSelected) => ({ className: 'some-class' })} - titleAccessor={'title'} - tooltipAccessor={'tooltip'} + eventPropGetter={(event, start, end, isSelected) => ({ className: "some-class" })} + titleAccessor={"title"} + tooltipAccessor={"tooltip"} allDayAccessor={(event: CalendarEvent) => !!event.allDay} - startAccessor={'start'} + startAccessor={"start"} endAccessor={(event: CalendarEvent) => event.endDate || event.start} min={new Date()} max={new Date()} scrollToTime={new Date()} enableAutoScroll={false} formats={{ - dateFormat: 'h a', - agendaDateFormat: (date: Date, culture?: Culture, localizer?: DateLocalizer) => 'some-format', + dateFormat: "h a", + agendaDateFormat: (date: Date, culture?: Culture, localizer?: DateLocalizer) => "some-format", dayRangeHeaderFormat: (range: DateRange, culture?: Culture, localizer?: DateLocalizer) => - 'some-format', + "some-format", }} messages={{ - date: 'Date', - time: 'Time', - event: 'Event', - allDay: 'All Day', - week: 'Week', - work_week: 'Work Week', - day: 'Day', - month: 'Month', - previous: 'Back', - next: 'Next', - yesterday: 'Yesterday', - tomorrow: 'Tomorrow', - today: 'Today', - agenda: 'Agenda', - noEventsInRange: 'There are no events in this range.', + date: "Date", + time: "Time", + event: "Event", + allDay: "All Day", + week: "Week", + work_week: "Work Week", + day: "Day", + month: "Month", + previous: "Back", + next: "Next", + yesterday: "Yesterday", + tomorrow: "Tomorrow", + today: "Today", + agenda: "Agenda", + noEventsInRange: "There are no events in this range.", showMore: total => `+${total} more`, }} timeslots={24} - defaultView={'month'} - className={'my-calendar'} - elementProps={{ id: 'myCalendar' }} + defaultView={"month"} + className={"my-calendar"} + elementProps={{ id: "myCalendar" }} components={{ event: Event, agenda: { @@ -395,49 +395,49 @@ class CalendarResource { // Test fixtures function getEvents(): CalendarEvent[] { const events: CalendarEvent[] = [ - new CalendarEvent('All Day Event', new Date(2015, 3, 0), new Date(2015, 3, 0), true), - new CalendarEvent('Long Event', new Date(2015, 3, 7), new Date(2015, 3, 10)), - new CalendarEvent('DTS STARTS', new Date(2016, 2, 13, 0, 0, 0), new Date(2016, 2, 20, 0, 0, 0)), - new CalendarEvent('DTS ENDS', new Date(2016, 10, 6, 0, 0, 0), new Date(2016, 10, 13, 0, 0, 0)), - new CalendarEvent('Some Event', new Date(2015, 3, 9, 0, 0, 0), new Date(2015, 3, 9, 0, 0, 0)), + new CalendarEvent("All Day Event", new Date(2015, 3, 0), new Date(2015, 3, 0), true), + new CalendarEvent("Long Event", new Date(2015, 3, 7), new Date(2015, 3, 10)), + new CalendarEvent("DTS STARTS", new Date(2016, 2, 13, 0, 0, 0), new Date(2016, 2, 20, 0, 0, 0)), + new CalendarEvent("DTS ENDS", new Date(2016, 10, 6, 0, 0, 0), new Date(2016, 10, 13, 0, 0, 0)), + new CalendarEvent("Some Event", new Date(2015, 3, 9, 0, 0, 0), new Date(2015, 3, 9, 0, 0, 0)), new CalendarEvent( - 'Conference', + "Conference", new Date(2015, 3, 11), new Date(2015, 3, 13), undefined, - 'Big conference for important people', + "Big conference for important people", ), new CalendarEvent( - 'Meeting', + "Meeting", new Date(2015, 3, 12, 10, 30, 0, 0), new Date(2015, 3, 12, 12, 30, 0, 0), undefined, - 'Pre-meeting meeting, to prepare for the meeting', + "Pre-meeting meeting, to prepare for the meeting", ), new CalendarEvent( - 'Lunch', + "Lunch", new Date(2015, 3, 12, 12, 0, 0, 0), new Date(2015, 3, 12, 13, 0, 0, 0), undefined, - 'Power lunch', + "Power lunch", ), - new CalendarEvent('Meeting', new Date(2015, 3, 12, 14, 0, 0, 0), new Date(2015, 3, 12, 15, 0, 0, 0)), + new CalendarEvent("Meeting", new Date(2015, 3, 12, 14, 0, 0, 0), new Date(2015, 3, 12, 15, 0, 0, 0)), new CalendarEvent( - 'Happy Hour', + "Happy Hour", new Date(2015, 3, 12, 17, 0, 0, 0), new Date(2015, 3, 12, 17, 30, 0, 0), undefined, - 'Most important meal of the day', + "Most important meal of the day", ), - new CalendarEvent('Dinner', new Date(2015, 3, 12, 20, 0, 0, 0), new Date(2015, 3, 12, 21, 0, 0, 0)), - new CalendarEvent('Birthday Party', new Date(2015, 3, 13, 7, 0, 0), new Date(2015, 3, 13, 10, 30, 0)), + new CalendarEvent("Dinner", new Date(2015, 3, 12, 20, 0, 0, 0), new Date(2015, 3, 12, 21, 0, 0, 0)), + new CalendarEvent("Birthday Party", new Date(2015, 3, 13, 7, 0, 0), new Date(2015, 3, 13, 10, 30, 0)), new CalendarEvent( "Alice's break", new Date(2015, 3, 14, 20, 0, 0, 0), new Date(2015, 3, 14, 21, 0, 0, 0), undefined, undefined, - 'alice', + "alice", ), new CalendarEvent( "Bob's break", @@ -445,14 +445,14 @@ function getEvents(): CalendarEvent[] { new Date(2015, 3, 15, 10, 30, 0), undefined, undefined, - 'bob', + "bob", ), ]; return events; } function getResources(): CalendarResource[] { - return [new CalendarResource('alice', 'Alice'), new CalendarResource('bob', 'Bob')]; + return [new CalendarResource("alice", "Alice"), new CalendarResource("bob", "Bob")]; } class EventAgenda extends React.Component> { @@ -473,27 +473,27 @@ class CustomHeader extends React.Component { } const customDayPropGetter = (date: Date) => { - if (date.getDate() === 7 || date.getDate() === 15) + if (date.getDate() === 7 || date.getDate() === 15) { return { - className: 'special-day', + className: "special-day", style: { - border: 'solid 3px ' + (date.getDate() === 7 ? '#faa' : '#afa'), + border: "solid 3px " + (date.getDate() === 7 ? "#faa" : "#afa"), }, }; - else return {}; + } else return {}; }; const customSlotPropGetter = (date: Date) => { - if (date.getDate() === 7 || date.getDate() === 15) + if (date.getDate() === 7 || date.getDate() === 15) { return { - className: 'special-day', + className: "special-day", }; - else return {}; + } else return {}; }; const customGroupSlotPropGetter = () => { return { - className: 'slot-group', + className: "slot-group", }; }; @@ -513,7 +513,7 @@ function Event(props: EventProps) { return ( {props.event.title} - {props.event.desc && ': ' + props.event.desc} + {props.event.desc && ": " + props.event.desc} ); } @@ -596,7 +596,7 @@ class Toolbar extends React.Component { - console.log('onRangeChange fired, range: %O, view: %O', range, view); + console.log("onRangeChange fired, range: %O, view: %O", range, view); }} /> ); @@ -691,11 +691,11 @@ class MyDay extends Day { const date = new Date(2022, 11, 1); // $ExpectType StartOfWeek - const firstOfWeek = localizer.startOfWeek('en'); + const firstOfWeek = localizer.startOfWeek("en"); // $ExpectType Date - localizer.startOf(date, 'week', firstOfWeek); + localizer.startOf(date, "week", firstOfWeek); // $ExpectType Date - localizer.endOf(date, 'week', firstOfWeek); + localizer.endOf(date, "week", firstOfWeek); // $ExpectType Date[] localizer.range(new Date(2022, 11, 1), new Date(2022, 11, 3)); diff --git a/types/react-big-scheduler/index.d.ts b/types/react-big-scheduler/index.d.ts index 44b093ad556f9c..6cb239020bf3c8 100644 --- a/types/react-big-scheduler/index.d.ts +++ b/types/react-big-scheduler/index.d.ts @@ -4,8 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; -import * as moment from 'moment'; +import * as moment from "moment"; +import * as React from "react"; export default class Scheduler extends React.Component {} diff --git a/types/react-big-scheduler/react-big-scheduler-tests.tsx b/types/react-big-scheduler/react-big-scheduler-tests.tsx index 98f63dc828c7ea..9d58bc9e0df586 100644 --- a/types/react-big-scheduler/react-big-scheduler-tests.tsx +++ b/types/react-big-scheduler/react-big-scheduler-tests.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import Scheduler, { SchedulerData } from 'react-big-scheduler'; +import * as React from "react"; +import Scheduler, { SchedulerData } from "react-big-scheduler"; const sd = new SchedulerData(); diff --git a/types/react-blockies/index.d.ts b/types/react-blockies/index.d.ts index 7b2b6488a5619d..f20e4e5b820817 100644 --- a/types/react-blockies/index.d.ts +++ b/types/react-blockies/index.d.ts @@ -3,7 +3,7 @@ // Definitions by: Martin Triay // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import * as React from 'react'; +import * as React from "react"; export interface IdenticonProps { seed: string; diff --git a/types/react-blockies/react-blockies-tests.tsx b/types/react-blockies/react-blockies-tests.tsx index ff4bdfe5946a5d..2c9531f7225686 100644 --- a/types/react-blockies/react-blockies-tests.tsx +++ b/types/react-blockies/react-blockies-tests.tsx @@ -1,28 +1,24 @@ -import * as React from 'react'; -import Blockies from 'react-blockies'; +import * as React from "react"; +import Blockies from "react-blockies"; class TestMinimumBlockie extends React.Component { - render() { - return ( - - ); - } + render() { + return ; + } } class TestFullBlockie extends React.Component { - render() { - return ( - - ); - } + render() { + return ( + + ); + } } diff --git a/types/react-body-classname/index.d.ts b/types/react-body-classname/index.d.ts index b0184bd325cebc..bd855737e4e7eb 100644 --- a/types/react-body-classname/index.d.ts +++ b/types/react-body-classname/index.d.ts @@ -8,7 +8,7 @@ import * as React from "react"; export = BodyClassName; -declare class BodyClassName extends React.Component<{ children?: React.ReactElement, className: string }> { +declare class BodyClassName extends React.Component<{ children?: React.ReactElement; className: string }> { static canUseDOM: boolean; static displayName: string; static peek(): any; diff --git a/types/react-body-classname/react-body-classname-tests.tsx b/types/react-body-classname/react-body-classname-tests.tsx index c59e438a866735..c7cbde6589576c 100644 --- a/types/react-body-classname/react-body-classname-tests.tsx +++ b/types/react-body-classname/react-body-classname-tests.tsx @@ -2,25 +2,25 @@ import * as React from "react"; import BodyClassName = require("react-body-classname"); class SomeComponent { - render() { - // This will add 'home' to the body - return ( - -

    Home, sweet home.

    -
    - ); - } + render() { + // This will add 'home' to the body + return ( + +

    Home, sweet home.

    +
    + ); + } } class App { - render() { - // This will add 'app' to the body - return ( - -
    - - ); - // Becuase we nested the component, our body will now have 'app home' - // as the class name - } + render() { + // This will add 'app' to the body + return ( + +
    + + ); + // Becuase we nested the component, our body will now have 'app home' + // as the class name + } } diff --git a/types/react-bootstrap-confirmation/index.d.ts b/types/react-bootstrap-confirmation/index.d.ts index 94e0f1d99c0eaf..59bd313be6c88a 100644 --- a/types/react-bootstrap-confirmation/index.d.ts +++ b/types/react-bootstrap-confirmation/index.d.ts @@ -6,15 +6,15 @@ export {}; type BootstrapStyleFlags = - | 'primary' - | 'secondary' - | 'success' - | 'danger' - | 'warning' - | 'info' - | 'light' - | 'dark' - | 'link'; + | "primary" + | "secondary" + | "success" + | "danger" + | "warning" + | "info" + | "light" + | "dark" + | "link"; interface AlertOptions { /** diff --git a/types/react-bootstrap-confirmation/react-bootstrap-confirmation-tests.tsx b/types/react-bootstrap-confirmation/react-bootstrap-confirmation-tests.tsx index a26d398a8d1aa3..3dbef2f9037402 100644 --- a/types/react-bootstrap-confirmation/react-bootstrap-confirmation-tests.tsx +++ b/types/react-bootstrap-confirmation/react-bootstrap-confirmation-tests.tsx @@ -1,9 +1,9 @@ -import * as React from 'react'; -import { alert, confirm } from 'react-bootstrap-confirmation'; +import * as React from "react"; +import { alert, confirm } from "react-bootstrap-confirmation"; const AlertButton: React.FC = () => { const display = async () => { - await alert('Something very wrong is happening!', { okButtonStyle: 'light' }); // undefined + await alert("Something very wrong is happening!", { okButtonStyle: "light" }); // undefined }; return ( - - Product ID - Product Name - =', '<=', '='] }}>Product Price - -
    - ); - } + + cleanSelected = () => { + this.tableRef.cleanSelected(); + }; + + onFilterChange = (filter: FilterData) => { + Object.keys(filter).forEach((column) => { + console.log(`Filtering ${column}: ${JSON.stringify(filter[column])}`); + }); + }; + + cleanFilters = () => { + this.idRef.cleanFiltered(); + }; + + afterColumnFilter = (filterConds: ReadonlyArray, result: ReadonlyArray) => { + console.log("Filter Conditions: "); + filterConds.forEach((filterCond: FilterData) => { + Object.keys(filterCond).forEach((fieldName: string) => + console.log(`Filter column = ${fieldName}, Filter value = ${filterCond[fieldName]}`) + ); + }); + console.log("Result is:"); + for (const resultItem of result) { + console.log(`Product: ${resultItem.id}, ${resultItem.name}, ${resultItem.price}`); + } + }; + + onSearchChange = ( + searchText: string, + colInfos: ReadonlyArray>, + multiColumnSearch: boolean, + ) => { + this.setState({ data: products.filter((product) => product.name = searchText) }); + }; + + afterSearch = (searchText: string, result: ReadonlyArray) => { + console.log(`Your search text is ${searchText}`); + console.log("Result is:"); + for (const resultItem of result) { + console.log(`Product: ${resultItem.id}, ${resultItem.name}, ${resultItem.price}`); + } + }; + + getNameCaret = (direction: SortOrder | null, fieldName: string) => + (direction === "asc") + ? up + : (direction === "desc") + ? down + : up/down; + + revertSortFunc = (a: Product, b: Product, order: SortOrder) => + (order === "desc") ? a.price - b.price : b.price - a.price; + + customSortStyle = (order: SortOrder, dataField: string) => (order === "desc") ? "sort-desc" : "sort-asc"; + + render() { + const options: Options = { + onSortChange: this.onSortChange, + onFilterChange: this.onFilterChange, + noDataText: "This is custom text for empty data", + withoutNoDataText: false, + afterColumnFilter: this.afterColumnFilter, + onSearchChange: this.onSearchChange, + afterSearch: this.afterSearch, + clearSearch: true, + sortIndicator: true, + }; + return ( +
    + + + + Product ID + + + Product Name + + =", "<=", "="] }} + > + Product Price + + +
    + ); + } } /** @@ -555,66 +681,80 @@ class MultiSortAndFiltering extends React.Component { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/sort/custom-sort-with-extra-data-table.js */ class CustomSortWithExtraDataTable extends React.Component { - sortByName = (a: any, b: any, order: SortOrder, field: string, enumObject: any) => { - if (order === 'desc') { - if (enumObject[a[field]] > enumObject[b[field]]) { - return -1; - } else if (enumObject[a[field]] < enumObject[b[field]]) { - return 1; - } - return 0; - } - if (enumObject[a[field]] < enumObject[b[field]]) { - return -1; - } else if (enumObject[a[field]] > enumObject[b[field]]) { - return 1; + sortByName = (a: any, b: any, order: SortOrder, field: string, enumObject: any) => { + if (order === "desc") { + if (enumObject[a[field]] > enumObject[b[field]]) { + return -1; + } else if (enumObject[a[field]] < enumObject[b[field]]) { + return 1; + } + return 0; + } + if (enumObject[a[field]] < enumObject[b[field]]) { + return -1; + } else if (enumObject[a[field]] > enumObject[b[field]]) { + return 1; + } + return 0; + }; + + render() { + return ( + + Product ID + Product Name + + Product Quality + + + ); } - return 0; - } - - render() { - return ( - - Product ID - Product Name - - Product Quality - - ); - } } /** * Render custom pagination with provided SizePerPageDropDown component. */ class CustomPagination extends React.Component { - renderPagination = (props: PaginationPanelProps) => ( -
    - -
    - - - -
    -
    - ) - - render() { - const options: Options = { - paginationPanel: this.renderPagination - }; - - return ( - - - - - + renderPagination = (props: PaginationPanelProps) => ( +
    + +
    + + + +
    +
    ); - } + + render() { + const options: Options = { + paginationPanel: this.renderPagination, + }; + + return ( + + + + + + ); + } } /** @@ -622,146 +762,165 @@ class CustomPagination extends React.Component { * Adapted from https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/custom/insert-modal/custom-insert-modal.js */ class CustomModal extends React.Component { - handleSaveBtnClick = (columns: ReadonlyArray>, onSave: (row: any) => void) => { - const newRow: {[field: string]: string} = {}; - columns.forEach((column, i) => { - newRow[column.field] = (this.refs[column.field] as HTMLInputElement).value; - }, this); - onSave(newRow); - } - - createCustomModal = ( - onModalClose: () => void, - onSave: (row: any) => void, - columns: ReadonlyArray>, - validateState: { [dataField: string]: string }, - ignoreEditable: boolean - ) => ( -
    -

    Custom Insert Modal

    -
    - { - columns.map((column, i) => { - const { - editable, - format, - field, - name, - hiddenOnInsert - } = column; - - if (hiddenOnInsert) { - return null; - } - const error = validateState[field] ? - ({validateState[field]}) : - null; - return ( -
    - - - {error} -
    - ); - }) - } -
    -
    - - -
    -
    - ) - - render() { - const options: Options = { - insertModal: this.createCustomModal + handleSaveBtnClick = ( + columns: ReadonlyArray>, + onSave: (row: any) => void, + ) => { + const newRow: { [field: string]: string } = {}; + columns.forEach((column, i) => { + newRow[column.field] = (this.refs[column.field] as HTMLInputElement).value; + }, this); + onSave(newRow); }; - return ( - - Product ID - Product Name - Product Price - + + createCustomModal = ( + onModalClose: () => void, + onSave: (row: any) => void, + columns: ReadonlyArray>, + validateState: { [dataField: string]: string }, + ignoreEditable: boolean, + ) => ( +
    +

    Custom Insert Modal

    +
    + {columns.map((column, i) => { + const { + editable, + format, + field, + name, + hiddenOnInsert, + } = column; + + if (hiddenOnInsert) { + return null; + } + const error = validateState[field] + ? {validateState[field]} + : null; + return ( +
    + + + {error} +
    + ); + })} +
    +
    + + +
    +
    ); - } + + render() { + const options: Options = { + insertModal: this.createCustomModal, + }; + return ( + + Product ID + Product Name + Product Price + + ); + } } /** * Custom Insert Modal Fields, both as a custom component and as custom fields. * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/custom/insert-modal/custom-insert-modal-field.js */ -class SalesRadioField extends React.Component<{editorClass: string, ignoreEditable: boolean}> { - yes: HTMLInputElement | null; - no: HTMLInputElement | null; - - getFieldValue = () => { - return this.yes.checked ? 'Yes' : 'No'; - } - - render() { - return ( -
    - - -
    - ); - } +class SalesRadioField extends React.Component<{ editorClass: string; ignoreEditable: boolean }> { + yes: HTMLInputElement | null; + no: HTMLInputElement | null; + + getFieldValue = () => { + return this.yes.checked ? "Yes" : "No"; + }; + + render() { + return ( +
    + + +
    + ); + } } class CustomInsertModalFieldTable extends React.Component { - customKeyField = ( - column: InsertModalColumnDescription, - attr: EditableAttrs, - editorClass: string, - ignoreEditable: boolean - ) => { - const seqId = products.length; - return ( - - ); - } - - customNameField = ( - column: InsertModalColumnDescription, - attr: EditableAttrs, - editorClass: string, - ignoreEditable: boolean, - defaultValue: any) => { - const fruits = ['banana', 'apple', 'orange', 'tomato', 'strawberries']; - return ( - - ); - } - - customSaleField = ( - column: InsertModalColumnDescription, - attr: EditableAttrs, - editorClass: string, - ignoreEditable: boolean, - defaultValue: any) => { - return ( - - ); - } - - render() { - return ( - - Product ID - Product Name - On Sales? - Product Price - - ); - } + customKeyField = ( + column: InsertModalColumnDescription, + attr: EditableAttrs, + editorClass: string, + ignoreEditable: boolean, + ) => { + const seqId = products.length; + return ; + }; + + customNameField = ( + column: InsertModalColumnDescription, + attr: EditableAttrs, + editorClass: string, + ignoreEditable: boolean, + defaultValue: any, + ) => { + const fruits = ["banana", "apple", "orange", "tomato", "strawberries"]; + return ( + + ); + }; + + customSaleField = ( + column: InsertModalColumnDescription, + attr: EditableAttrs, + editorClass: string, + ignoreEditable: boolean, + defaultValue: any, + ) => { + return ; + }; + + render() { + return ( + + + Product ID + + + Product Name + + + On Sales? + + Product Price + + ); + } } /** @@ -771,110 +930,110 @@ class CustomInsertModalFieldTable extends React.Component { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/custom/insert-modal/default-custom-insert-modal-footer.js */ interface MyCustomBodyProps { - columns: ReadonlyArray>; - validateState: { [dataField: string]: string }; - ignoreEditable: boolean; + columns: ReadonlyArray>; + validateState: { [dataField: string]: string }; + ignoreEditable: boolean; } class MyCustomBody extends React.Component implements ModalBodyInterface { - getFieldValue() { - const newRow: Partial = {}; - this.props.columns.forEach((column, i) => { - newRow[column.field] = (this.refs[column.field] as HTMLInputElement).value as number & string; - }, this); - return newRow as Product; - } - - render() { - const { columns, validateState } = this.props; - return ( -
    -

    Custom body

    -
    - { - this.props.columns.map((column, i) => { - const { - editable, - format, - field, - name, - hiddenOnInsert - } = column; - - if (hiddenOnInsert) { - return null; - } - const error = validateState[field] ? - ({validateState[field]}) : - null; - return ( -
    - - - {error} + getFieldValue() { + const newRow: Partial = {}; + this.props.columns.forEach((column, i) => { + newRow[column.field] = (this.refs[column.field] as HTMLInputElement).value as number & string; + }, this); + return newRow as Product; + } + + render() { + const { columns, validateState } = this.props; + return ( +
    +

    Custom body

    +
    + {this.props.columns.map((column, i) => { + const { + editable, + format, + field, + name, + hiddenOnInsert, + } = column; + + if (hiddenOnInsert) { + return null; + } + const error = validateState[field] + ? {validateState[field]} + : null; + return ( +
    + + + {error} +
    + ); + })}
    - ); - }) - } -
    -
    - ); - } +
    + ); + } } class DefaultCustomInsertModalHeaderFooterTable extends React.Component { - createCustomModalFooter = (closeModal: () => void, save: () => void) => { - return ( - {}} - beforeSave={(e) => {}} - onModalClose={closeModal} - onSave={save} /> - ); - } - - createCustomModalHeader = (closeModal: () => void, save: () => void) => { - return ( - { }} - onModalClose={closeModal} - hideClose={true} /> - ); - } - - createCustomModalBody = ( - columns: ReadonlyArray>, - validateState: { [dataField: string]: string }, - ignoreEditable: boolean - ) => ( - - ) - - render() { - const options: Options = { - insertModalFooter: this.createCustomModalFooter, - insertModalHeader: this.createCustomModalHeader, - insertModalBody: this.createCustomModalBody + createCustomModalFooter = (closeModal: () => void, save: () => void) => { + return ( + {}} + beforeSave={(e) => {}} + onModalClose={closeModal} + onSave={save} + /> + ); + }; + + createCustomModalHeader = (closeModal: () => void, save: () => void) => { + return ( + {}} + onModalClose={closeModal} + hideClose={true} + /> + ); }; - return ( - - Product ID - Product Name - Product Price - + + createCustomModalBody = ( + columns: ReadonlyArray>, + validateState: { [dataField: string]: string }, + ignoreEditable: boolean, + ) => ( + ); - } + + render() { + const options: Options = { + insertModalFooter: this.createCustomModalFooter, + insertModalHeader: this.createCustomModalHeader, + insertModalBody: this.createCustomModalBody, + }; + return ( + + Product ID + Product Name + Product Price + + ); + } } /** @@ -890,158 +1049,166 @@ class DefaultCustomInsertModalHeaderFooterTable extends React.Component { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/manipulation/del-row-custom-confirm.js */ class MySearchField extends React.Component implements SearchFieldInterface { - field: SearchField | null; - - getValue() { - return this.field.getValue(); - } - - setValue(search: string) { - this.field.setValue(search); - } - - render() { - const { ...rest} = this.props; - return ( - { this.field = node; }} - /> - ); - } + field: SearchField | null; + + getValue() { + return this.field.getValue(); + } + + setValue(search: string) { + this.field.setValue(search); + } + + render() { + const { ...rest } = this.props; + return ( + { + this.field = node; + }} + /> + ); + } } class CustomButtonGroup extends React.Component { - createInsertButton = (onClick: (e: React.MouseEvent<{}>) => void) => ( - - ) - - createDeleteButton = (onClick: (e: React.MouseEvent<{}>) => void) => ( - - ) - - createExportCSVButton = (onClick: (e: React.MouseEvent<{}>) => void) => ( - - ) - - createShowSelectedOnlyButton = (onClick: (e: React.MouseEvent<{}>) => void, showSelected: boolean) => ( - - ) - - createCustomButtonGroup = (props: ButtonGroupProps) => ( -
    - {props.showSelectedOnlyBtn} - {props.exportCSVBtn} - {props.insertBtn} - {props.deleteBtn} - -
    - ) - - createCustomSearchField = (props: SearchFieldProps) => ( - - ) - - createCustomClearSearch = (onClick: (e: React.MouseEvent<{}>) => void) => ( - - ) - - createCustomSearchPanel = (props: SearchPanelProps) => ( -
    -
    - - {props.clearBtn} - -
    - {props.searchField} -
    - ) - - createCustomToolBar = (props: ToolBarProps) => { - return ( -
    - {props.components.btnGroup} -
    - {props.components.searchPanel} + createInsertButton = (onClick: (e: React.MouseEvent<{}>) => void) => ( + + ); + + createDeleteButton = (onClick: (e: React.MouseEvent<{}>) => void) => ( + + ); + + createExportCSVButton = (onClick: (e: React.MouseEvent<{}>) => void) => ( + + ); + + createShowSelectedOnlyButton = (onClick: (e: React.MouseEvent<{}>) => void, showSelected: boolean) => ( + + ); + + createCustomButtonGroup = (props: ButtonGroupProps) => ( +
    + {props.showSelectedOnlyBtn} + {props.exportCSVBtn} + {props.insertBtn} + {props.deleteBtn} +
    -
    ); - } - customConfirm = (next: () => void, dropRowKeys: ReadonlyArray) => { - const dropRowKeysStr = dropRowKeys.join(','); - if (confirm(`(It's a custom confirm)Are you sure you want to delete ${dropRowKeysStr}?`)) { - next(); - } - } + createCustomSearchField = (props: SearchFieldProps) => ( + + ); + + createCustomClearSearch = (onClick: (e: React.MouseEvent<{}>) => void) => ( + + ); + + createCustomSearchPanel = (props: SearchPanelProps) => ( +
    +
    + + {props.clearBtn} + +
    + {props.searchField} +
    + ); - render() { - const selectRow: SelectRow = { - mode: 'checkbox', - showOnlySelected: true + createCustomToolBar = (props: ToolBarProps) => { + return ( +
    + {props.components.btnGroup} +
    + {props.components.searchPanel} +
    +
    + ); }; - const options: Options = { - insertBtn: this.createInsertButton, - deleteBtn: this.createDeleteButton, - exportCSVBtn: this.createExportCSVButton, - showSelectedOnlyBtn: this.createShowSelectedOnlyButton, - btnGroup: this.createCustomButtonGroup, - clearSearch: true, - clearSearchBtn: this.createCustomClearSearch, - searchField: this.createCustomSearchField, - searchPanel: this.createCustomSearchPanel, - toolBar: this.createCustomToolBar, - searchDelayTime: 3000, - handleConfirmDeleteRow: this.customConfirm + + customConfirm = (next: () => void, dropRowKeys: ReadonlyArray) => { + const dropRowKeysStr = dropRowKeys.join(","); + if (confirm(`(It's a custom confirm)Are you sure you want to delete ${dropRowKeysStr}?`)) { + next(); + } }; - return ( - - Product ID - Product Name - Product Price - - ); - } + + render() { + const selectRow: SelectRow = { + mode: "checkbox", + showOnlySelected: true, + }; + const options: Options = { + insertBtn: this.createInsertButton, + deleteBtn: this.createDeleteButton, + exportCSVBtn: this.createExportCSVButton, + showSelectedOnlyBtn: this.createShowSelectedOnlyButton, + btnGroup: this.createCustomButtonGroup, + clearSearch: true, + clearSearchBtn: this.createCustomClearSearch, + searchField: this.createCustomSearchField, + searchPanel: this.createCustomSearchPanel, + toolBar: this.createCustomToolBar, + searchDelayTime: 3000, + handleConfirmDeleteRow: this.customConfirm, + }; + return ( + + Product ID + Product Name + Product Price + + ); + } } /** @@ -1060,118 +1227,117 @@ class CustomButtonGroup extends React.Component { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/selection/select-hook-table.js * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/selection/select-row-class-table.js */ -class ExpandRowExample extends React.Component<{}, {expanding: number[]}> { - isExpandableRow = (row: any) => row.id === 2; - - expandComponent = (row: any) => ( -
    You expanded the row.
    - ) - - expandColumnComponent = ({ isExpandableRow, isExpanded }: ExpandColumnComponentProps) => { - const content = isExpandableRow - ? (isExpanded ? '(-)' : '(+)') - : ' '; - return ( -
    {content}
    - ); - } +class ExpandRowExample extends React.Component<{}, { expanding: number[] }> { + isExpandableRow = (row: any) => row.id === 2; - handleExpand = (rowKey: number, isExpand: boolean) => { - if (isExpand) { - this.setState({ expanding: [...this.state.expanding] }); - } else { - this.setState({ expanding: [...this.state.expanding.filter(id => id !== rowKey)] }); - } - } - - onSelectAll = (isSelected: boolean) => (isSelected) ? products.map(row => row.id) : []; - - onSelect = (row: Product, isSelected: boolean, e: React.MouseEvent, rowIndex: number) => { - const rowStr = `id: "${row.id}", name: ${row.name}, price: ${row.price}`; - console.log(e); - alert(`Selected: ${isSelected}, rowIndex: ${rowIndex}, row: ${rowStr}`); - } - - customMultiSelect = (props: CustomSelectProps) => ( -
    - props.onChange(e, props.rowIndex)} - ref={input => { - if (input) { - input.indeterminate = props.indeterminate; - } - }} /> - -
    - ) - - selectedRowClass = (row: Product, isSelect: boolean) => - (isSelect) - ? ((row.id >= 3) ? 'bigger-than-three-select-row' : 'less-than-three-select-row') - : '' - - render() { - const options: Options = { - expandRowBgColor: 'rgb(242, 255, 163)', - expandBy: 'column', - onlyOneExpanding: true, - expanding: this.state.expanding, - onExpand: this.handleExpand, - expandParentClass: 'custom-expand-parent', - expandBodyClass: (row, rowIndex, isExpanding) => { - return (!isExpanding) - ? 'current-is-hidden' - : (rowIndex > 1) - ? 'custom-expand-body-1' - : 'custom-expand-body-0'; - } + expandComponent = (row: any) =>
    You expanded the row.
    ; + + expandColumnComponent = ({ isExpandableRow, isExpanded }: ExpandColumnComponentProps) => { + const content = isExpandableRow + ? (isExpanded ? "(-)" : "(+)") + : " "; + return
    {content}
    ; }; - const selectRow: SelectRow = { - mode: 'checkbox', - bgColor: (row: Product, isSelect: boolean) => - (isSelect) - ? ((row.id < 2) ? 'blue' : ((row.id < 4) ? 'red' : 'yellow')) - : null, - clickToSelect: true, // click to select, default is false - clickToExpand: true, // click to expand row, default is false - onSelect: this.onSelect, - onSelectAll: this.onSelectAll, - customComponent: this.customMultiSelect, - hideSelectColumn: false, - selected: [0, 2], - showOnlySelected: true, - onlyUnselectVisible: true, - className: this.selectedRowClass, - columnWidth: '60px', - unselectable: [1, 3] + + handleExpand = (rowKey: number, isExpand: boolean) => { + if (isExpand) { + this.setState({ expanding: [...this.state.expanding] }); + } else { + this.setState({ expanding: [...this.state.expanding.filter(id => id !== rowKey)] }); + } }; - const expandColumnOptions: ExpandColumnOptions = { - expandColumnVisible: true, - expandColumnBeforeSelectColumn: false, - expandColumnComponent: this.expandColumnComponent, - columnWidth: 50 + + onSelectAll = (isSelected: boolean) => (isSelected) ? products.map(row => row.id) : []; + + onSelect = (row: Product, isSelected: boolean, e: React.MouseEvent, rowIndex: number) => { + const rowStr = `id: "${row.id}", name: ${row.name}, price: ${row.price}`; + console.log(e); + alert(`Selected: ${isSelected}, rowIndex: ${rowIndex}, row: ${rowStr}`); }; - return ( - - Product ID - Product Name - Product Price - + + customMultiSelect = (props: CustomSelectProps) => ( +
    + props.onChange(e, props.rowIndex)} + ref={input => { + if (input) { + input.indeterminate = props.indeterminate; + } + }} + /> + +
    ); - } + + selectedRowClass = (row: Product, isSelect: boolean) => + (isSelect) + ? ((row.id >= 3) ? "bigger-than-three-select-row" : "less-than-three-select-row") + : ""; + + render() { + const options: Options = { + expandRowBgColor: "rgb(242, 255, 163)", + expandBy: "column", + onlyOneExpanding: true, + expanding: this.state.expanding, + onExpand: this.handleExpand, + expandParentClass: "custom-expand-parent", + expandBodyClass: (row, rowIndex, isExpanding) => { + return (!isExpanding) + ? "current-is-hidden" + : (rowIndex > 1) + ? "custom-expand-body-1" + : "custom-expand-body-0"; + }, + }; + const selectRow: SelectRow = { + mode: "checkbox", + bgColor: (row: Product, isSelect: boolean) => + (isSelect) + ? ((row.id < 2) ? "blue" : ((row.id < 4) ? "red" : "yellow")) + : null, + clickToSelect: true, // click to select, default is false + clickToExpand: true, // click to expand row, default is false + onSelect: this.onSelect, + onSelectAll: this.onSelectAll, + customComponent: this.customMultiSelect, + hideSelectColumn: false, + selected: [0, 2], + showOnlySelected: true, + onlyUnselectVisible: true, + className: this.selectedRowClass, + columnWidth: "60px", + unselectable: [1, 3], + }; + const expandColumnOptions: ExpandColumnOptions = { + expandColumnVisible: true, + expandColumnBeforeSelectColumn: false, + expandColumnComponent: this.expandColumnComponent, + columnWidth: 50, + }; + return ( + + Product ID + Product Name + Product Price + + ); + } } /** @@ -1179,28 +1345,32 @@ class ExpandRowExample extends React.Component<{}, {expanding: number[]}> { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/others/mouse-event-table.js */ class MouseEventTable extends React.Component { - render() { - const options: Options = { - onMouseLeave: () => { console.log('mouse left table'); }, - onMouseEnter: () => { console.log('mouse entered table'); }, - onRowMouseOut: (row: any, e: React.MouseEvent<{}>) => { - console.log(e); - console.log('mouse left row ' + row.id); - }, - onRowMouseOver: (row: any, e: React.MouseEvent<{}>) => { - console.log(e); - console.log('mouse entered row ' + row.id); - } - }; - - return ( - - Product ID - Product Name - Product Price - - ); - } + render() { + const options: Options = { + onMouseLeave: () => { + console.log("mouse left table"); + }, + onMouseEnter: () => { + console.log("mouse entered table"); + }, + onRowMouseOut: (row: any, e: React.MouseEvent<{}>) => { + console.log(e); + console.log("mouse left row " + row.id); + }, + onRowMouseOver: (row: any, e: React.MouseEvent<{}>) => { + console.log(e); + console.log("mouse entered row " + row.id); + }, + }; + + return ( + + Product ID + Product Name + Product Price + + ); + } } /** @@ -1210,25 +1380,36 @@ class MouseEventTable extends React.Component { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/advance/validator-table-read-only.js */ class HideOnInsertTable extends React.Component { - handleAddRowWithASyncError = (row: any, colInfo: ReadonlyArray>, errorCallback: (msg: string) => void) => { - setTimeout(() => { - errorCallback('Sorry, There\'s some error happend'); - }, 5000); - return false; - } - render() { - const options: Options = { - onAddRow: this.handleAddRowWithASyncError + handleAddRowWithASyncError = ( + row: any, + colInfo: ReadonlyArray>, + errorCallback: (msg: string) => void, + ) => { + setTimeout(() => { + errorCallback("Sorry, There's some error happend"); + }, 5000); + return false; }; - return ( - - Job ID - Job Name - Job Type - Active - - ); - } + render() { + const options: Options = { + onAddRow: this.handleAddRowWithASyncError, + }; + return ( + + Job ID + Job Name + + Job Type + + + Active + + + ); + } } /** @@ -1238,37 +1419,62 @@ class HideOnInsertTable extends React.Component { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/advance/insert-error-handle-table.js */ class EditTypeTable extends React.Component { - formatType = (cell: string) => `TYPE_${cell}`; + formatType = (cell: string) => `TYPE_${cell}`; - jobTypes = (row: ExtendedJob) => (row.id > 2) ? ['A', 'B'] : ['B', 'C', 'D', 'E']; + jobTypes = (row: ExtendedJob) => (row.id > 2) ? ["A", "B"] : ["B", "C", "D", "E"]; - handleAddRowWithSyncError = () => { - return 'Sorry, There\'s some error happend'; - } - - render() { - const attrs = { - rows: 10, - onKeyDown: () => { console.log('keydown event trigger'); } - }; - const cellEditProp: CellEdit = { - mode: 'click', - blurToSave: true + handleAddRowWithSyncError = () => { + return "Sorry, There's some error happend"; }; - const options: Options = { - onAddRow: this.handleAddRowWithSyncError - }; - return ( - - Job ID - Job Name - Job Type1 - Job Type2 - Active - Date Time - - ); - } + + render() { + const attrs = { + rows: 10, + onKeyDown: () => { + console.log("keydown event trigger"); + }, + }; + const cellEditProp: CellEdit = { + mode: "click", + blurToSave: true, + }; + const options: Options = { + onAddRow: this.handleAddRowWithSyncError, + }; + return ( + + Job ID + + Job Name + + + Job Type1 + + + Job Type2 + + + Active + + + Date Time + + + ); + } } /** @@ -1276,24 +1482,22 @@ class EditTypeTable extends React.Component { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/column-format/react-column-format-table.js */ class ActiveFormatter extends React.Component<{ active: boolean }> { - render() { - return ( - - ); - } + render() { + return ; + } } export default class ReactColumnFormatTable extends React.Component { - activeFormatter = (cell: boolean, row: ExtendedJob) => (); - render() { - return ( - - - Job Name - Active - - ); - } + activeFormatter = (cell: boolean, row: ExtendedJob) => ; + render() { + return ( + + + Job Name + Active + + ); + } } /** @@ -1301,17 +1505,23 @@ export default class ReactColumnFormatTable extends React.Component { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/column-format/extra-data-column-format-table.js */ class ExtraDataColumnFormatTable extends React.Component { - enumFormatter = (cell: number, row: Product, enumObject: {[id: number]: string}) => enumObject[cell]; - render() { - return ( - - Product ID - Product Name - Product Quality - Product Stock Status - - ); - } + enumFormatter = (cell: number, row: Product, enumObject: { [id: number]: string }) => enumObject[cell]; + render() { + return ( + + Product ID + + Product Name + + + Product Quality + + + Product Stock Status + + + ); + } } /** @@ -1319,24 +1529,30 @@ class ExtraDataColumnFormatTable extends React.Component { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/column/column-title-table.js */ class ColumnAlignTable extends React.Component { - customTitle = (cell: number, row: any, rowIndex: number, colIndex: number) => `${row.name} for ${cell}`; - - render() { - const options: Options = { - exportCSVText: 'my_export', - insertText: 'my_insert', - deleteText: 'my_delete', - saveText: 'my_save', - closeText: 'my_close' - }; - return ( - - Product ID - Product Name - Product Price - - ); - } + customTitle = (cell: number, row: any, rowIndex: number, colIndex: number) => `${row.name} for ${cell}`; + + render() { + const options: Options = { + exportCSVText: "my_export", + insertText: "my_insert", + deleteText: "my_delete", + saveText: "my_save", + closeText: "my_close", + }; + return ( + + + Product ID + + + Product Name + + + Product Price + + + ); + } } /** @@ -1344,37 +1560,35 @@ class ColumnAlignTable extends React.Component { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/footer/footer-table.js */ class FooterTable extends React.Component { - render() { - const footerData: FooterData[][] = [ - [ - { label: 'Total', columnIndex: 0 }, - { - label: 'Total value', - columnIndex: 2, - align: 'right', - formatter: (tableData: Array<{price: number}>) => { - let label = 0; - for (let i = 0, tableDataLen = tableData.length; i < tableDataLen; i++) { - label += tableData[i].price; - } - return ( - {label} - ); - } - } - ] - ]; - - return ( -
    - - Product ID - Product Name - Product Price - -
    - ); - } + render() { + const footerData: FooterData[][] = [ + [ + { label: "Total", columnIndex: 0 }, + { + label: "Total value", + columnIndex: 2, + align: "right", + formatter: (tableData: Array<{ price: number }>) => { + let label = 0; + for (let i = 0, tableDataLen = tableData.length; i < tableDataLen; i++) { + label += tableData[i].price; + } + return {label}; + }, + }, + ], + ]; + + return ( +
    + + Product ID + Product Name + Product Price + +
    + ); + } } /** @@ -1386,32 +1600,32 @@ class FooterTable extends React.Component { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/keyboard-nav/nav-with-expand-table.js */ class CustomStyleNavTable extends React.Component { - customStyle = (cell: any, row: any) => { - return { - backgroundColor: 'red' + customStyle = (cell: any, row: any) => { + return { + backgroundColor: "red", + }; }; - } - render() { - const cellEdit: CellEdit = { - mode: 'click', - blurToSave: true - }; - const keyBoardNav = { - customStyleOnEditCell: this.customStyle, - customStyle: this.customStyle, - clickToNav: false, - enterToEdit: true, - enterToExpand: false - }; - return ( - - Product ID - Product Name - Product Price - - ); - } + render() { + const cellEdit: CellEdit = { + mode: "click", + blurToSave: true, + }; + const keyBoardNav = { + customStyleOnEditCell: this.customStyle, + customStyle: this.customStyle, + clickToNav: false, + enterToEdit: true, + enterToExpand: false, + }; + return ( + + Product ID + Product Name + Product Price + + ); + } } /** @@ -1421,26 +1635,34 @@ class CustomStyleNavTable extends React.Component { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/style/td-class-string-table.js */ class TrClassStringTable extends React.Component { - render() { - return ( - - Product ID - Product Name - Product Price - - ); - } + render() { + return ( + + Product ID + + Product Name + + + Product Price + + + ); + } } /** @@ -1450,25 +1672,28 @@ class TrClassStringTable extends React.Component { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/style/tr-style-table.js */ class TrClassFunctionTable extends React.Component { - headerColumnClassNameFormat = () => 'th-string-example'; - - columnClassNameFormat = (fieldValue: string | number, row: Product, rowIdx: number, colIdx: number) => - rowIdx % 2 === 0 ? 'td-column-function-even-example' : 'td-column-function-odd-example' - - trClassFormat = (rowData: ReadonlyArray, rIndex: number) => - rIndex % 3 === 0 ? 'tr-function-example' : '' - - trStyle = (row: Product, rowIndex: number) => ({ backgroundColor: '#FFFAFA' }); - - render() { - return ( - - Product ID - Product Name - Product Price - - ); - } + headerColumnClassNameFormat = () => "th-string-example"; + + columnClassNameFormat = (fieldValue: string | number, row: Product, rowIdx: number, colIdx: number) => + rowIdx % 2 === 0 ? "td-column-function-even-example" : "td-column-function-odd-example"; + + trClassFormat = (rowData: ReadonlyArray, rIndex: number) => rIndex % 3 === 0 ? "tr-function-example" : ""; + + trStyle = (row: Product, rowIndex: number) => ({ backgroundColor: "#FFFAFA" }); + + render() { + return ( + + Product ID + + Product Name + + + Product Price + + + ); + } } /** @@ -1481,66 +1706,117 @@ class TrClassFunctionTable extends React.Component { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/column-filter/text-filter-programmatically.js */ class AllFilters extends React.Component { - name1: TableHeaderColumn | null; - name2: TableHeaderColumn | null; - quality: TableHeaderColumn | null; - price: TableHeaderColumn | null; - satisfaction: TableHeaderColumn | null; - inStockDate: TableHeaderColumn | null; - - handlerClickCleanFiltered = () => { - this.name1.cleanFiltered(); - this.name2.cleanFiltered(); - this.quality.cleanFiltered(); - this.price.cleanFiltered(); - this.satisfaction.cleanFiltered(); - this.inStockDate.cleanFiltered(); - } - - applyFiltersProgramatically = () => { - this.name1.applyFilter('Item 1'); - this.name2.applyFilter('[name]'); - this.quality.applyFilter(1); - this.price.applyFilter({ - number: 10.5, - comparator: '<=' - }); - this.satisfaction.applyFilter({ - number: 2, - comparator: '>' - }); - this.inStockDate.applyFilter({ - date: new Date(2015, 0, 1), - comparator: '=' - }); - } - - dateFormatter = (cell: Date, row: any) => { - if (typeof cell !== 'object') { - cell = new Date(cell); - } + name1: TableHeaderColumn | null; + name2: TableHeaderColumn | null; + quality: TableHeaderColumn | null; + price: TableHeaderColumn | null; + satisfaction: TableHeaderColumn | null; + inStockDate: TableHeaderColumn | null; + + handlerClickCleanFiltered = () => { + this.name1.cleanFiltered(); + this.name2.cleanFiltered(); + this.quality.cleanFiltered(); + this.price.cleanFiltered(); + this.satisfaction.cleanFiltered(); + this.inStockDate.cleanFiltered(); + }; - return `${('0' + cell.getDate()).slice(-2)}/${('0' + (cell.getMonth() + 1)).slice(-2)}/${cell.getFullYear()}`; - } + applyFiltersProgramatically = () => { + this.name1.applyFilter("Item 1"); + this.name2.applyFilter("[name]"); + this.quality.applyFilter(1); + this.price.applyFilter({ + number: 10.5, + comparator: "<=", + }); + this.satisfaction.applyFilter({ + number: 2, + comparator: ">", + }); + this.inStockDate.applyFilter({ + date: new Date(2015, 0, 1), + comparator: "=", + }); + }; - render() { - const satisfaction = [0, 1, 2, 3, 4, 5]; - return ( - - - Product ID -
    clear filters -
    - { this.name1 = node; }} dataField='name' filter={{ type: 'TextFilter', placeholder: 'Please enter a value' }}>Product Name - { this.name2 = node; }} dataField='name' filter={{ type: 'RegexFilter', placeholder: 'Please enter a regex' }}>Product Name - < TableHeaderColumn ref={(node) => { this.quality = node; }} dataField='quality' filter={{ type: 'SelectFilter', options: qualityType }} - dataFormat={enumFormatter} formatExtraData={qualityType}>Product Quality - { this.price = node; }} dataField='price' filter={{ type: 'NumberFilter', delay: 1000 }}>Product Price - < TableHeaderColumn ref= {(node) => { this.satisfaction = node; }} dataField='satisfaction' filter={{ type: 'NumberFilter', options: satisfaction }}>Buyer Satisfaction - < TableHeaderColumn ref= {(node) => { this.inStockDate = node; }} dataField='inStockDate' filter={{ type: 'DateFilter' }} dataFormat={this.dateFormatter}>In Stock From -
    - ); - } + dateFormatter = (cell: Date, row: any) => { + if (typeof cell !== "object") { + cell = new Date(cell); + } + + return `${("0" + cell.getDate()).slice(-2)}/${("0" + (cell.getMonth() + 1)).slice(-2)}/${cell.getFullYear()}`; + }; + + render() { + const satisfaction = [0, 1, 2, 3, 4, 5]; + return ( + + + Product ID +
    + clear filters +
    + { + this.name1 = node; + }} + dataField="name" + filter={{ type: "TextFilter", placeholder: "Please enter a value" }} + > + Product Name + + { + this.name2 = node; + }} + dataField="name" + filter={{ type: "RegexFilter", placeholder: "Please enter a regex" }} + > + Product Name + + { + this.quality = node; + }} + dataField="quality" + filter={{ type: "SelectFilter", options: qualityType }} + dataFormat={enumFormatter} + formatExtraData={qualityType} + > + Product Quality + + { + this.price = node; + }} + dataField="price" + filter={{ type: "NumberFilter", delay: 1000 }} + > + Product Price + + { + this.satisfaction = node; + }} + dataField="satisfaction" + filter={{ type: "NumberFilter", options: satisfaction }} + > + Buyer Satisfaction + + { + this.inStockDate = node; + }} + dataField="inStockDate" + filter={{ type: "DateFilter" }} + dataFormat={this.dateFormatter} + > + In Stock From + +
    + ); + } } /** @@ -1548,26 +1824,33 @@ class AllFilters extends React.Component { * @see https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/column-filter/array-filter-programmatically.js */ class ProgrammaticallyArrayFilter extends React.Component { - table: BootstrapTable | null; - - /* Filtering passing an array of values */ - handleBtnClick = () => { - this.table.handleFilterData({ - name: { type: 'ArrayFilter', value: ['Item name 3', 'Item name 4'] }, - price: { type: 'ArrayFilter', value: [2100, 2104] } - }); - } - - render() { - return ( -
    - - { this.table = node; }} data={products}> - Product ID - Product Name - Product Price - -
    - ); - } + table: BootstrapTable | null; + + /* Filtering passing an array of values */ + handleBtnClick = () => { + this.table.handleFilterData({ + name: { type: "ArrayFilter", value: ["Item name 3", "Item name 4"] }, + price: { type: "ArrayFilter", value: [2100, 2104] }, + }); + }; + + render() { + return ( +
    + + { + this.table = node; + }} + data={products} + > + Product ID + + Product Name + + Product Price + +
    + ); + } } diff --git a/types/react-bootstrap-table/v2/index.d.ts b/types/react-bootstrap-table/v2/index.d.ts index 017b8dacf5547d..bffa8f093b9295 100644 --- a/types/react-bootstrap-table/v2/index.d.ts +++ b/types/react-bootstrap-table/v2/index.d.ts @@ -9,8 +9,8 @@ // documentation taken from http://allenfang.github.io/react-bootstrap-table/docs.html -import { ComponentClass, ReactElement } from 'react'; -import { EventEmitter } from 'events'; +import { EventEmitter } from "events"; +import { ComponentClass, ReactElement } from "react"; /** * Interface spec for sepcifying functionality to handle remotely @@ -183,7 +183,7 @@ export interface BootstrapTableProps { expandComponent?: ((row: any) => any) | undefined; } -export type SelectRowMode = 'none' | 'radio' | 'checkbox'; +export type SelectRowMode = "none" | "radio" | "checkbox"; export interface SelectRow { /** @@ -244,7 +244,7 @@ export interface SelectRow { unselectable?: number[] | undefined; } -export type CellEditClickMode = 'none' | 'click' | 'dbclick'; +export type CellEditClickMode = "none" | "click" | "dbclick"; export interface CellEdit { /** @@ -269,7 +269,7 @@ export interface CellEdit { afterSaveCell?: ((row: any, cellName: string, cellValue: any) => void) | undefined; } -export type SortOrder = 'asc' | 'desc'; +export type SortOrder = "asc" | "desc"; export interface Options { /** @@ -515,9 +515,9 @@ export interface BootstrapTable extends ComponentClass { */ cleanSelected(): void; } -interface BootstrapTable extends ComponentClass { } +interface BootstrapTable extends ComponentClass {} declare const BootstrapTable: BootstrapTable; -export type DataAlignType = 'left' | 'center' | 'right' | 'start' | 'end'; +export type DataAlignType = "left" | "center" | "right" | "start" | "end"; export interface TableHeaderColumnProps { children?: React.ReactNode; @@ -563,7 +563,10 @@ export interface TableHeaderColumnProps { * getElement(REQUIRED): Accept a callback function and take two arguments: onUpdate and props. * customEditorParameters: Another extra data for custom cell edit component. */ - customEditor?: { getElement: (onUpdate: any, props: any) => ReactElement, customEditorParameters?: object | undefined } | undefined; + customEditor?: { + getElement: (onUpdate: any, props: any) => ReactElement; + customEditorParameters?: object | undefined; + } | undefined; /** * To customize the column. This callback function should return a String or a React Component. * In addition, this function taking two argument: cell and row. @@ -709,7 +712,7 @@ export interface ApplyFilterParameter { callback: SetFilterCallback; } -export type FilterType = 'TextFilter' | 'RegexFilter' | 'SelectFilter' | 'NumberFilter' | 'DateFilter' | 'CustomFilter'; +export type FilterType = "TextFilter" | "RegexFilter" | "SelectFilter" | "NumberFilter" | "DateFilter" | "CustomFilter"; export interface Filter { /** * "TextFilter"||"SelectFilter"||"NumberFilter"||"DateFilter"||"RegexFilter"||"YOUR_CUSTOM_FILTER" @@ -745,7 +748,9 @@ export interface Filter { /** * Get element which represent filter. */ - getElement?: ((filterHandler: (parameters?: ApplyFilterParameter) => void, filterParameters: any) => JSX.Element) | undefined; + getElement?: + | ((filterHandler: (parameters?: ApplyFilterParameter) => void, filterParameters: any) => JSX.Element) + | undefined; /** * Parameters for custom filter @@ -753,7 +758,7 @@ export interface Filter { customFilterParameters?: any; } -export interface TableHeaderColumn extends ComponentClass { } +export interface TableHeaderColumn extends ComponentClass {} declare const TableHeaderColumn: TableHeaderColumn; declare class TableDataSet extends EventEmitter { diff --git a/types/react-bootstrap-table/v2/react-bootstrap-table-tests.tsx b/types/react-bootstrap-table/v2/react-bootstrap-table-tests.tsx index c8f25dfa56f537..b199bb9180357c 100644 --- a/types/react-bootstrap-table/v2/react-bootstrap-table-tests.tsx +++ b/types/react-bootstrap-table/v2/react-bootstrap-table-tests.tsx @@ -1,175 +1,214 @@ -import * as React from 'react'; -import { render } from 'react-dom'; -import { BootstrapTable, TableHeaderColumn, ApplyFilterParameter, Filter } from 'react-bootstrap-table'; +import * as React from "react"; +import { ApplyFilterParameter, BootstrapTable, Filter, TableHeaderColumn } from "react-bootstrap-table"; +import { render } from "react-dom"; const products = [{ - id: 1, - name: "Item name 1", - price: 100 + id: 1, + name: "Item name 1", + price: 100, }, { - id: 2, - name: "Item name 2", - price: 100 + id: 2, + name: "Item name 2", + price: 100, }]; // It's a data format example. function priceFormatter(cell: any, row: any) { - return ' ' + cell; + return " " + cell; } render( - - Product ID - Product Name - Product Price - , - document.getElementById("app") + + Product ID + + Product Name + + Product Price + , + document.getElementById("app"), ); const qualityType = { - 0: 'good', - 1: 'bad', - 2: 'unknown' + 0: "good", + 1: "bad", + 2: "unknown", }; function enumFormatter(cell: any, row: any, enumObject: any) { - return enumObject[cell]; + return enumObject[cell]; } class SelectFilterWithDefaultValue extends React.Component { - render() { - return ( - - Product ID - Product Name - Product Quality - - ); - } + render() { + return ( + + Product ID + Product Name + + Product Quality + + + ); + } } class TextFilterWithCondition extends React.Component { - render() { - return ( - - Product ID - Product Name - Product Price - - ); - } + render() { + return ( + + Product ID + + Product Name + + Product Price + + ); + } } function getCustomFilter(filterHandler: (parameters?: ApplyFilterParameter) => void, customFilterParameters: any) { - return ( -
    - ); + return
    ; } class CustomFilter extends React.Component { - render() { - const filter: Filter = { type: 'CustomFilter', getElement: getCustomFilter, customFilterParameters: { textOK: 'yes', textNOK: 'no' } }; - return ( - - Product ID - Product Name - Product Is In Stock - - ); - } + render() { + const filter: Filter = { + type: "CustomFilter", + getElement: getCustomFilter, + customFilterParameters: { textOK: "yes", textNOK: "no" }, + }; + return ( + + Product ID + Product Name + Product Is In Stock + + ); + } } class RemoteProps extends React.Component { - render() { - const filter: Filter = { type: 'CustomFilter', getElement: getCustomFilter, customFilterParameters: { textOK: 'yes', textNOK: 'no' } }; - return ( - { - remoteObj.cellEdit = true; - return remoteObj; - }} - options={{ - onCellEdit: (row: any, fieldName: string, value: any) => { console.info(row); } - }} - > - Product ID - Product Name - Product Is In Stock - - ); - } + render() { + const filter: Filter = { + type: "CustomFilter", + getElement: getCustomFilter, + customFilterParameters: { textOK: "yes", textNOK: "no" }, + }; + return ( + { + remoteObj.cellEdit = true; + return remoteObj; + }} + options={{ + onCellEdit: (row: any, fieldName: string, value: any) => { + console.info(row); + }, + }} + > + Product ID + Product Name + Product Is In Stock + + ); + } } class RemoteBool extends React.Component { - render() { - const filter: Filter = { type: 'CustomFilter', getElement: getCustomFilter, customFilterParameters: { textOK: 'yes', textNOK: 'no' } }; - return ( - - Product ID - Product Name - Product Is In Stock - - ); - } + render() { + const filter: Filter = { + type: "CustomFilter", + getElement: getCustomFilter, + customFilterParameters: { textOK: "yes", textNOK: "no" }, + }; + return ( + + Product ID + Product Name + Product Is In Stock + + ); + } } /** * See http://allenfang.github.io/react-bootstrap-table/docs.html#tdAttr */ -const tdAttrExample = - Product ID - Product Name - Product Price -; +const tdAttrExample = ( + + Product ID + Product Name + Product Price + +); /** * See http://allenfang.github.io/react-bootstrap-table/docs.html#tdStyle */ -const tdStyleExample = - Product ID - Product Name - Product Price -; +const tdStyleExample = ( + + Product ID + Product Name + Product Price + +); /** * See http://allenfang.github.io/react-bootstrap-table/docs.html#thStyle */ -const thStyleExample = - Product ID - Product Name - Product Price -; +const thStyleExample = ( + + Product ID + Product Name + Product Price + +); // Adopted from https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/column-header-span/column-header-span-complex.js export default class ColumnHeaderSpanComplex extends React.Component { - render() { - const selectRow = { - mode: 'checkbox', - bgColor: 'rgb(238, 193, 213)' - }; - - const cellEdit = { - mode: 'click', - blurToSave: true - }; - return ( - - ID - Product - name - price - Coupon - In stock - Customer - name - order - - ); - } + render() { + const selectRow = { + mode: "checkbox", + bgColor: "rgb(238, 193, 213)", + }; + + const cellEdit = { + mode: "click", + blurToSave: true, + }; + return ( + + ID + + Product + + name + price + Coupon + + In stock + + + Customer + + name + order + + ); + } } diff --git a/types/react-bootstrap-table2-filter/index.d.ts b/types/react-bootstrap-table2-filter/index.d.ts index bd4035e01dacba..17e033013d3ca8 100644 --- a/types/react-bootstrap-table2-filter/index.d.ts +++ b/types/react-bootstrap-table2-filter/index.d.ts @@ -6,32 +6,33 @@ // documentation taken from https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/table-props.html -import { TableColumnFilterProps, ColumnDescription } from 'react-bootstrap-table-next'; -import { CSSProperties, SyntheticEvent } from 'react'; +import { CSSProperties, SyntheticEvent } from "react"; +import { ColumnDescription, TableColumnFilterProps } from "react-bootstrap-table-next"; export enum FILTER_TYPES { - TEXT = 'TEXT', - SELECT = 'SELECT', - MULTISELECT = 'MULTISELECT', - NUMBER = 'NUMBER', - DATE = 'DATE', + TEXT = "TEXT", + SELECT = "SELECT", + MULTISELECT = "MULTISELECT", + NUMBER = "NUMBER", + DATE = "DATE", } /** * Filter comparators used for table filters */ export enum Comparator { - LIKE = 'LIKE', - EQ = '=', - NE = '!=', - GT = '>', - GE = '>=', - LT = '<', - LE = '<=', + LIKE = "LIKE", + EQ = "=", + NE = "!=", + GT = ">", + GE = ">=", + LT = "<", + LE = "<=", } -export type TextFilterProps = TableColumnFilterProps & - Partial<{ +export type TextFilterProps = + & TableColumnFilterProps + & Partial<{ /** * default is false, and true will only work when comparator is LIKE */ @@ -95,23 +96,25 @@ export function multiSelectFilter(props: Partial): Table /** * Number filter configuration options */ -export type NumberFilterProps = TableColumnFilterProps< - { number: number | ''; comparator: Comparator }, - T -> & { - options?: number[] | undefined; - comparators?: Comparator[] | undefined; - /** - * When set to true comparator dropdown does not show a "no selection" option - */ - withoutEmptyComparatorOption?: boolean | undefined; - withoutEmptyNumberOption?: boolean | undefined; - comparatorClassName?: string | undefined; - numberClassName?: string | undefined; - comparatorStyle?: CSSProperties | undefined; - numberStyle?: CSSProperties | undefined; - defaultValue?: { number: number; comparator: Comparator } | undefined; -}; +export type NumberFilterProps = + & TableColumnFilterProps< + { number: number | ""; comparator: Comparator }, + T + > + & { + options?: number[] | undefined; + comparators?: Comparator[] | undefined; + /** + * When set to true comparator dropdown does not show a "no selection" option + */ + withoutEmptyComparatorOption?: boolean | undefined; + withoutEmptyNumberOption?: boolean | undefined; + comparatorClassName?: string | undefined; + numberClassName?: string | undefined; + comparatorStyle?: CSSProperties | undefined; + numberStyle?: CSSProperties | undefined; + defaultValue?: { number: number; comparator: Comparator } | undefined; + }; export function numberFilter(props: Partial): TableColumnFilterProps; @@ -122,9 +125,9 @@ export interface DateFilterProps extends TableColumnFilt withoutEmptyComparatorOption?: boolean | undefined; defaultValue?: | { - date: Date; - comparator: Comparator; - } + date: Date; + comparator: Comparator; + } | undefined; comparators?: Comparator[] | undefined; comparatorClassName?: string | undefined; diff --git a/types/react-bootstrap-table2-filter/react-bootstrap-table2-filter-tests.tsx b/types/react-bootstrap-table2-filter/react-bootstrap-table2-filter-tests.tsx index 58435a6376cd8d..3f6dddd38c90ca 100644 --- a/types/react-bootstrap-table2-filter/react-bootstrap-table2-filter-tests.tsx +++ b/types/react-bootstrap-table2-filter/react-bootstrap-table2-filter-tests.tsx @@ -1,13 +1,13 @@ -import * as React from 'react'; -import BootstrapTable, { ColumnDescription, ColumnFormatter, HeaderFormatter } from 'react-bootstrap-table-next'; +import * as React from "react"; +import BootstrapTable, { ColumnDescription, ColumnFormatter, HeaderFormatter } from "react-bootstrap-table-next"; import filterFactory, { Comparator, multiSelectFilter, numberFilter, selectFilter, textFilter, -} from 'react-bootstrap-table2-filter'; -import { render } from 'react-dom'; +} from "react-bootstrap-table2-filter"; +import { render } from "react-dom"; // examples partially taken from https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/table-props.html interface Product { @@ -22,13 +22,13 @@ interface Product { const products: Product[] = [ { id: 1, - name: 'Item name 1', + name: "Item name 1", price: 100, quality: 0, }, { id: 2, - name: 'Item name 2', + name: "Item name 2", price: 100, quality: 1, }, @@ -55,33 +55,33 @@ const priceFormatter: ColumnFormatter = (cell, let priceFilter: any; const productColumns: Array> = [ - { dataField: 'id', align: 'center', sort: true, text: 'Product ID' }, - { dataField: 'name', align: 'center', sort: true, text: 'Product Name' }, + { dataField: "id", align: "center", sort: true, text: "Product ID" }, + { dataField: "name", align: "center", sort: true, text: "Product Name" }, { isDummyField: true, - dataField: '', + dataField: "", sort: true, - text: 'Product Name', + text: "Product Name", }, { - dataField: 'price', + dataField: "price", sort: true, formatter: priceFormatter, - text: 'Product Price', + text: "Product Price", headerFormatter: priceHeaderFormatter, filter: numberFilter({ options: [2100, 2103, 2105], // if options defined, will render number select instead of number input delay: 600, // how long will trigger filtering after user typing, default is 500 ms - placeholder: 'custom placeholder', // placeholder for number input + placeholder: "custom placeholder", // placeholder for number input withoutEmptyComparatorOption: true, // dont render empty option for comparator withoutEmptyNumberOption: true, // dont render empty option for number select if it is defined comparators: [Comparator.EQ, Comparator.GT, Comparator.LT], // Custom the comparators - style: { display: 'inline-grid' }, // custom the style on number filter - className: 'custom-numberfilter-class', // custom the class on number filter - comparatorStyle: { backgroundColor: 'antiquewhite' }, // custom the style on comparator select - comparatorClassName: 'custom-comparator-class', // custom the class on comparator select - numberStyle: { backgroundColor: 'cadetblue', margin: '0px' }, // custom the style on number input/select - numberClassName: 'custom-number-class', // custom the class on ber input/select + style: { display: "inline-grid" }, // custom the style on number filter + className: "custom-numberfilter-class", // custom the class on number filter + comparatorStyle: { backgroundColor: "antiquewhite" }, // custom the style on comparator select + comparatorClassName: "custom-comparator-class", // custom the class on comparator select + numberStyle: { backgroundColor: "cadetblue", margin: "0px" }, // custom the style on number input/select + numberClassName: "custom-number-class", // custom the class on ber input/select defaultValue: { number: 2103, comparator: Comparator.GT }, // default value getFilter: filter => { // priceFilter was assigned once the component has been mounted. @@ -92,10 +92,10 @@ const productColumns: Array> = [ }, { isDummyField: true, - dataField: '', + dataField: "", sort: true, formatter: priceFormatter, - text: 'Product Price', + text: "Product Price", headerFormatter: priceHeaderFormatter, }, ]; @@ -105,34 +105,34 @@ const productColumns: Array> = [ */ render( , - document.getElementById('app'), + document.getElementById("app"), ); /** * Options as Object */ const selectOptionsObject: { [index: number]: string } = { - 0: 'good', - 1: 'Bad', - 2: 'unknown', + 0: "good", + 1: "Bad", + 2: "unknown", }; /** * Options as Array */ const selectOptionsList = [ - { value: 0, label: 'good' }, - { value: 1, label: 'Bad' }, - { value: 2, label: 'unknown' }, + { value: 0, label: "good" }, + { value: 1, label: "Bad" }, + { value: 2, label: "unknown" }, ]; /** * Options as Function */ const selectOptionsCreator = (column: ColumnDescription) => [ - { value: 0, label: 'good' }, - { value: 1, label: 'Bad' }, - { value: 2, label: 'unknown' }, + { value: 0, label: "good" }, + { value: 1, label: "Bad" }, + { value: 2, label: "unknown" }, ]; render( @@ -140,19 +140,19 @@ render( keyField="id" data={products} columns={[ - { dataField: 'id', align: 'center', sort: true, text: 'Product ID' }, - { dataField: 'name', align: 'center', sort: true, text: 'Product Name' }, + { dataField: "id", align: "center", sort: true, text: "Product ID" }, + { dataField: "name", align: "center", sort: true, text: "Product Name" }, { - dataField: 'quality', - text: 'Product Quailty', + dataField: "quality", + text: "Product Quailty", // formatter: cell => selectOptionsObject[cell], filter: selectFilter({ options: selectOptionsObject, - className: 'test-classname', + className: "test-classname", withoutEmptyOption: true, defaultValue: 2, comparator: Comparator.LIKE, // default is Comparator.EQ - style: { backgroundColor: 'pink' }, + style: { backgroundColor: "pink" }, getFilter: filter => { // qualityFilter was assigned once the component has been mounted. }, @@ -162,7 +162,7 @@ render( ]} filter={filterFactory()} />, - document.getElementById('app'), + document.getElementById("app"), ); let qualityFilter: any; render( @@ -170,25 +170,25 @@ render( keyField="id" data={products} columns={[ - { dataField: 'id', align: 'center', sort: true, text: 'Product ID' }, + { dataField: "id", align: "center", sort: true, text: "Product ID" }, { - dataField: 'name', + dataField: "name", formatter: cell => cell, - align: 'center', + align: "center", sort: true, - text: 'Product Name', + text: "Product Name", }, { - dataField: 'quality', - text: 'Product Quailty', + dataField: "quality", + text: "Product Quailty", formatter: (cell: number, row, rowIndex, formatExtraData) => selectOptionsObject[cell], filter: multiSelectFilter({ options: selectOptionsObject, - className: 'test-classname', + className: "test-classname", withoutEmptyOption: true, defaultValue: [0, 2], comparator: Comparator.LIKE, // default is Comparator.EQ - style: { backgroundColor: 'pink' }, + style: { backgroundColor: "pink" }, getFilter: filter => { // qualityFilter was assigned once the component has been mounted. qualityFilter = filter; @@ -201,7 +201,7 @@ render( ]} filter={filterFactory()} />, - document.getElementById('app'), + document.getElementById("app"), ); /** @@ -209,19 +209,19 @@ render( */ const selectColumns = [ { - dataField: 'quality', - text: 'Product Quailty', + dataField: "quality", + text: "Product Quailty", formatter: (cell: number) => { const found = selectOptionsList.find(val => val.value === cell); - return found ? found.value : ''; + return found ? found.value : ""; }, filter: selectFilter({ options: selectOptionsList, - className: 'test-classname', + className: "test-classname", withoutEmptyOption: true, defaultValue: 2, comparator: Comparator.LIKE, // default is Comparator.EQ - style: { backgroundColor: 'pink' }, + style: { backgroundColor: "pink" }, getFilter: filter => { // qualityFilter was assigned once the component has been mounted. qualityFilter = filter; @@ -232,7 +232,7 @@ const selectColumns = [ ]; render( , - document.getElementById('app'), + document.getElementById("app"), ); /** @@ -240,26 +240,26 @@ render( */ const textColumns = [ { - dataField: 'id', - text: 'Product ID', + dataField: "id", + text: "Product ID", }, { - dataField: 'name', - text: 'Product Name', + dataField: "name", + text: "Product Name", filter: textFilter({ - placeholder: 'My Custom PlaceHolder', // custom the input placeholder - className: 'my-custom-text-filter', // custom classname on input - defaultValue: 'test', // default filtering value + placeholder: "My Custom PlaceHolder", // custom the input placeholder + className: "my-custom-text-filter", // custom classname on input + defaultValue: "test", // default filtering value comparator: Comparator.EQ, // default is Comparator.LIKE caseSensitive: true, // default is false, and true will only work when comparator is LIKE - style: { backgroundColor: 'yellow' }, // your custom inline styles on input + style: { backgroundColor: "yellow" }, // your custom inline styles on input delay: 1000, // how long will trigger filtering after user typing, default is 500 ms onClick: e => console.log(e), }), }, { - dataField: 'price', - text: 'Product Price', + dataField: "price", + text: "Product Price", filter: textFilter(), }, ]; @@ -271,26 +271,26 @@ const textColumns = [ */ const afterFilterColumns = [ { - dataField: 'id', - text: 'Product ID', + dataField: "id", + text: "Product ID", }, { - dataField: 'name', - text: 'Product Name', + dataField: "name", + text: "Product Name", filter: textFilter({ - placeholder: 'My Custom PlaceHolder', // custom the input placeholder - className: 'my-custom-text-filter', // custom classname on input - defaultValue: 'test', // default filtering value + placeholder: "My Custom PlaceHolder", // custom the input placeholder + className: "my-custom-text-filter", // custom classname on input + defaultValue: "test", // default filtering value comparator: Comparator.EQ, // default is Comparator.LIKE caseSensitive: true, // default is false, and true will only work when comparator is LIKE - style: { backgroundColor: 'yellow' }, // your custom inline styles on input + style: { backgroundColor: "yellow" }, // your custom inline styles on input delay: 1000, // how long will trigger filtering after user typing, default is 500 ms onClick: e => console.log(e), }), }, { - dataField: 'price', - text: 'Product Price', + dataField: "price", + text: "Product Price", filter: textFilter(), }, ]; @@ -301,5 +301,5 @@ const afterFilter = (newResult: Product[]): void => { render( , - document.getElementById('app'), + document.getElementById("app"), ); diff --git a/types/react-bootstrap-table2-paginator/index.d.ts b/types/react-bootstrap-table2-paginator/index.d.ts index e3b95eae041667..f1792674c4de76 100644 --- a/types/react-bootstrap-table2-paginator/index.d.ts +++ b/types/react-bootstrap-table2-paginator/index.d.ts @@ -6,7 +6,7 @@ // documentation taken from https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/table-props.html -import { PaginationOptions, BootstrapTableProps } from 'react-bootstrap-table-next'; +import { BootstrapTableProps, PaginationOptions } from "react-bootstrap-table-next"; export interface PaginationCtxOptions { options?: PaginationOptions | undefined; @@ -42,7 +42,7 @@ export interface SizePerPageDropdownStandaloneProps extends PaginationChildProps open?: boolean | undefined; hidden?: boolean | undefined; btnContextual?: boolean | undefined; - variation?: 'dropdown' | 'dropup' | undefined; + variation?: "dropdown" | "dropup" | undefined; className?: string | undefined; } diff --git a/types/react-bootstrap-table2-paginator/react-bootstrap-table2-paginator-tests.tsx b/types/react-bootstrap-table2-paginator/react-bootstrap-table2-paginator-tests.tsx index 4ea104620c7fbd..9ac9996f61ee2d 100644 --- a/types/react-bootstrap-table2-paginator/react-bootstrap-table2-paginator-tests.tsx +++ b/types/react-bootstrap-table2-paginator/react-bootstrap-table2-paginator-tests.tsx @@ -1,12 +1,16 @@ -import * as React from 'react'; +import * as React from "react"; import BootstrapTable, { CellAlignment, ColumnDescription, - HeaderFormatter, ColumnFormatter, -} from 'react-bootstrap-table-next'; -import paginationFactory, { PaginationProvider, PaginationTotalStandalone, PaginationListStandalone } from 'react-bootstrap-table2-paginator'; -import { render } from 'react-dom'; + HeaderFormatter, +} from "react-bootstrap-table-next"; +import paginationFactory, { + PaginationListStandalone, + PaginationProvider, + PaginationTotalStandalone, +} from "react-bootstrap-table2-paginator"; +import { render } from "react-dom"; interface Product { id: number; @@ -20,12 +24,12 @@ interface Product { const products: Product[] = [ { id: 1, - name: 'Item name 1', + name: "Item name 1", price: 100, }, { id: 2, - name: 'Item name 2', + name: "Item name 2", price: 100, }, ]; @@ -49,19 +53,19 @@ const priceFormatter: ColumnFormatter = (cell, }; const productColumns: Array> = [ - { dataField: 'id', align: 'center', sort: true, text: 'Product ID' }, - { dataField: 'name', align: 'center', sort: true, text: 'Product Name' }, + { dataField: "id", align: "center", sort: true, text: "Product ID" }, + { dataField: "name", align: "center", sort: true, text: "Product Name" }, { isDummyField: true, - dataField: '', + dataField: "", sort: true, - text: 'Product Name', + text: "Product Name", }, { - dataField: 'price', + dataField: "price", sort: true, formatter: priceFormatter, - text: 'Product Price', + text: "Product Price", headerFormatter: priceHeaderFormatter, }, /** @@ -69,10 +73,10 @@ const productColumns: Array> = [ */ { isDummyField: true, - dataField: '', + dataField: "", sort: true, formatter: priceFormatter, - text: 'Product Price', + text: "Product Price", headerFormatter: priceHeaderFormatter, }, ]; @@ -87,7 +91,7 @@ render( pagination={paginationFactory({ sizePerPage: 10, page: 1 })} columns={productColumns} />, - document.getElementById('app'), + document.getElementById("app"), ); /** @@ -96,20 +100,20 @@ render( render( {({ paginationProps, paginationTableProps }) => ( <> - - + + )} , - document.getElementById('app'), + document.getElementById("app"), ); diff --git a/types/react-bootstrap-table2-toolkit/index.d.ts b/types/react-bootstrap-table2-toolkit/index.d.ts index 64aa51afb43a06..793ba29c874dae 100644 --- a/types/react-bootstrap-table2-toolkit/index.d.ts +++ b/types/react-bootstrap-table2-toolkit/index.d.ts @@ -6,8 +6,8 @@ // documentation taken from https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/table-props.html -import { CSSProperties, ReactNode } from 'react'; -import { ColumnDescription, SearchProps } from 'react-bootstrap-table-next'; +import { CSSProperties, ReactNode } from "react"; +import { ColumnDescription, SearchProps } from "react-bootstrap-table-next"; /** * declaration for table toolkit sub module diff --git a/types/react-bootstrap-table2-toolkit/react-bootstrap-table2-toolkit-tests.tsx b/types/react-bootstrap-table2-toolkit/react-bootstrap-table2-toolkit-tests.tsx index f81ee747a160e2..625bb9d47b80af 100644 --- a/types/react-bootstrap-table2-toolkit/react-bootstrap-table2-toolkit-tests.tsx +++ b/types/react-bootstrap-table2-toolkit/react-bootstrap-table2-toolkit-tests.tsx @@ -1,13 +1,13 @@ -import * as React from 'react'; +import * as React from "react"; import BootstrapTable, { CellAlignment, ColumnDescription, - HeaderFormatter, ColumnFormatter, -} from 'react-bootstrap-table-next'; -import paginationFactory from 'react-bootstrap-table2-paginator'; -import { render } from 'react-dom'; -import ToolkitProvider, { InjectedSearchProps, Search, CSVExport } from 'react-bootstrap-table2-toolkit'; + HeaderFormatter, +} from "react-bootstrap-table-next"; +import paginationFactory from "react-bootstrap-table2-paginator"; +import ToolkitProvider, { CSVExport, InjectedSearchProps, Search } from "react-bootstrap-table2-toolkit"; +import { render } from "react-dom"; interface Product { id: number; @@ -21,12 +21,12 @@ interface Product { const products: Product[] = [ { id: 1, - name: 'Item name 1', + name: "Item name 1", price: 100, }, { id: 2, - name: 'Item name 2', + name: "Item name 2", price: 100, }, ]; @@ -50,19 +50,19 @@ const priceFormatter: ColumnFormatter = (cell, }; const productColumns: Array> = [ - { dataField: 'id', align: 'center', sort: true, text: 'Product ID' }, - { dataField: 'name', align: 'center', sort: true, text: 'Product Name' }, + { dataField: "id", align: "center", sort: true, text: "Product ID" }, + { dataField: "name", align: "center", sort: true, text: "Product Name" }, { isDummyField: true, - dataField: '', + dataField: "", sort: true, - text: 'Product Name', + text: "Product Name", }, { - dataField: 'price', + dataField: "price", sort: true, formatter: priceFormatter, - text: 'Product Price', + text: "Product Price", headerFormatter: priceHeaderFormatter, }, /** @@ -70,10 +70,10 @@ const productColumns: Array> = [ */ { isDummyField: true, - dataField: '', + dataField: "", sort: true, formatter: priceFormatter, - text: 'Product Price', + text: "Product Price", headerFormatter: priceHeaderFormatter, }, ]; @@ -100,7 +100,7 @@ render( )} , - document.getElementById('app'), + document.getElementById("app"), ); /** @@ -108,19 +108,19 @@ render( */ const csvColumns: Array> = [ - { dataField: 'id', align: 'center', sort: true, text: 'Product ID' }, - { dataField: 'name', align: 'center', sort: true, text: 'Product Name' }, + { dataField: "id", align: "center", sort: true, text: "Product ID" }, + { dataField: "name", align: "center", sort: true, text: "Product Name" }, { isDummyField: true, - dataField: '', + dataField: "", sort: true, - text: 'Product Name', + text: "Product Name", }, { - dataField: 'price', + dataField: "price", sort: true, formatter: priceFormatter, - text: 'Product Price', + text: "Product Price", headerFormatter: priceHeaderFormatter, csvExport: false, }, @@ -129,14 +129,14 @@ const csvColumns: Array> = [ */ { isDummyField: true, - dataField: '', + dataField: "", sort: true, formatter: priceFormatter, - text: 'Product Price', + text: "Product Price", headerFormatter: priceHeaderFormatter, csvType: Number, csvFormatter: value => value, - csvText: 'Price', + csvText: "Price", csvExport: true, }, ]; @@ -146,11 +146,11 @@ render( data={products} keyField="id" exportCSV={{ - fileName: 'custom.csv', - separator: '|', + fileName: "custom.csv", + separator: "|", ignoreHeader: true, noAutoBOM: false, - blobType: 'text/plain;charset=utf-8', + blobType: "text/plain;charset=utf-8", exportAll: true, onlyExportSelection: true, onlyExportFiltered: true, @@ -164,7 +164,7 @@ render( )} , - document.getElementById('app'), + document.getElementById("app"), ); /** @@ -183,7 +183,7 @@ render( )} , - document.getElementById('app'), + document.getElementById("app"), ); /** @@ -201,5 +201,5 @@ render( )} , - document.getElementById('app'), + document.getElementById("app"), ); diff --git a/types/react-bootstrap-typeahead/index.d.ts b/types/react-bootstrap-typeahead/index.d.ts index ada91a7ad525e6..a82025b7bf0f70 100644 --- a/types/react-bootstrap-typeahead/index.d.ts +++ b/types/react-bootstrap-typeahead/index.d.ts @@ -10,7 +10,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.9 -import * as React from 'react'; +import * as React from "react"; export type EventHandler = (e: React.SyntheticEvent) => void; export type Option = string | { [key: string]: any }; export type Omit = Pick>; @@ -22,8 +22,8 @@ export type StringPropertyNames = { Constants and Enumerated Types --------------------------------------------------------------------------- */ export type TypeaheadModel = string | object; -export type TypeaheadBsSizes = 'large' | 'lg' | 'small' | 'sm'; -export type TypeaheadAlign = 'justify' | 'left' | 'right'; +export type TypeaheadBsSizes = "large" | "lg" | "small" | "sm"; +export type TypeaheadAlign = "justify" | "left" | "right"; // if options is an object, only let labelKey be a key of that object, whose value is a string // or a custom label function that takes a single option and returns a string for the label export type TypeaheadLabelKey = T extends object @@ -31,10 +31,12 @@ export type TypeaheadLabelKey = T extends object : never; // don't allow onBlur, onChange, onFocus or onKeyDown as members of inputProps // those props should be supplied directly to or -export interface InputProps extends Omit< - React.InputHTMLAttributes, - 'onBlur' | 'onChange' | 'onFocus' | 'onKeyDown' -> { +export interface InputProps extends + Omit< + React.InputHTMLAttributes, + "onBlur" | "onChange" | "onFocus" | "onKeyDown" + > +{ /* Callback function that determines whether the hint should be selected. */ shouldSelectHint?: ShouldSelect | undefined; } @@ -66,11 +68,11 @@ export interface TypeaheadState { } export interface InputContainerPropsSingle extends InputProps { - 'aria-activedescendant': string; - 'aria-autocomplete': 'list' | 'both'; - 'aria-expanded': boolean | 'true' | 'false'; - 'aria-haspopup': 'listbox'; - 'aria-owns': string; + "aria-activedescendant": string; + "aria-autocomplete": "list" | "both"; + "aria-expanded": boolean | "true" | "false"; + "aria-haspopup": "listbox"; + "aria-owns": string; autoComplete: string; disabled: boolean; inputClassName: string; @@ -81,28 +83,29 @@ export interface InputContainerPropsSingle extends Inp onFocus: (e: React.SyntheticEvent) => void; onKeyDown: (e: React.SyntheticEvent) => void; placeholder?: string | undefined; - role: 'combobox'; + role: "combobox"; value: string; } export interface InputContainerPropsMultiple - extends Omit, 'role'> { + extends Omit, "role"> +{ labelKey: TypeaheadLabelKey; onRemove: (e: Event) => void; renderToken: (selectedItem: T, props: TypeaheadMenuProps, index: number) => React.ReactNode; - role: ''; + role: ""; selected: T[]; } -export type HintedInputContextKeys = 'hintText' | 'initialItem' | 'onAdd' | 'selectHintOnEnter'; +export type HintedInputContextKeys = "hintText" | "initialItem" | "onAdd" | "selectHintOnEnter"; export type HintedInputContext = Pick, HintedInputContextKeys>; export type MenuItemContextKeys = - | 'activeIndex' - | 'isOnlyResult' - | 'onActiveItemChange' - | 'onInitialItemChange' - | 'onMenuItemClick'; + | "activeIndex" + | "isOnlyResult" + | "onActiveItemChange" + | "onInitialItemChange" + | "onMenuItemClick"; export type MenuItemContext = Pick, MenuItemContextKeys>; export interface TokenContext { @@ -215,7 +218,7 @@ export interface TypeaheadProps { /* Whether or not multiple selections are allowed. */ multiple?: boolean | undefined; - /* Override default new selection text. */ + /* Override default new selection text. */ newSelectionPrefix?: JSX.Element | string; /* Invoked when the input is blurred. Receives an event. */ @@ -262,18 +265,22 @@ export interface TypeaheadProps { renderInput?: ((inputProps: InputContainerPropsSingle, state: TypeaheadState) => React.ReactNode) | undefined; /* Callback for custom menu rendering. */ - renderMenu?: (( - results: Array>, - menuProps: TypeaheadMenuProps, - state: TypeaheadState, - ) => React.ReactNode) | undefined; + renderMenu?: + | (( + results: Array>, + menuProps: TypeaheadMenuProps, + state: TypeaheadState, + ) => React.ReactNode) + | undefined; /* Provides a hook for customized rendering of menu item contents. */ - renderMenuItemChildren?: (( - option: TypeaheadResult, - props: TypeaheadMenuProps, - index: number, - ) => React.ReactNode) | undefined; + renderMenuItemChildren?: + | (( + option: TypeaheadResult, + props: TypeaheadMenuProps, + index: number, + ) => React.ReactNode) + | undefined; /* Provides a hook for customized rendering of tokens when multiple selections are enabled. */ renderToken?: ((selectedItem: T, props: TokenProps, index: number) => React.ReactNode) | undefined; @@ -334,30 +341,32 @@ export class AsyncTypeahead extends React.Component { - type: 'text'; + type: "text"; } export interface TypeaheadSingleInputWithHocProps - extends Omit>, - InputContainerPropsSingle {} + extends Omit>, InputContainerPropsSingle +{} export interface TypeaheadMulitInputWithHocProps - extends Omit>, + extends + Omit>, HintedInputContext, - InputContainerPropsMultiple {} + InputContainerPropsMultiple +{} export type TypeaheadInputPropKeys = - | 'disabled' - | 'inputProps' - | 'labelKey' - | 'multiple' - | 'onBlur' - | 'onChange' - | 'onFocus' - | 'onKeyDown' - | 'placeholder' - | 'renderToken' - | 'selected'; + | "disabled" + | "inputProps" + | "labelKey" + | "multiple" + | "onBlur" + | "onChange" + | "onFocus" + | "onKeyDown" + | "placeholder" + | "renderToken" + | "selected"; export type TypeaheadInputProps = Pick, TypeaheadInputPropKeys>; @@ -405,10 +414,10 @@ export class Hint extends React.Component {} /* --------------------------------------------------------------------------- ClearButton Props and Component --------------------------------------------------------------------------- */ -export interface ClearButtonProps extends React.HTMLAttributes<'button'> { +export interface ClearButtonProps extends React.HTMLAttributes<"button"> { size?: TypeaheadBsSizes | undefined; label?: string | undefined; - onClick: React.HTMLAttributes<'button'>['onClick']; // make onClick requried + onClick: React.HTMLAttributes<"button">["onClick"]; // make onClick requried } export const ClearButton: React.FunctionComponent; @@ -425,7 +434,7 @@ export const Loader: React.FunctionComponent; /* --------------------------------------------------------------------------- AutosizeInput Props and Component --------------------------------------------------------------------------- */ -export interface AutosizeInputProps extends Pick, 'className' | 'style'> { +export interface AutosizeInputProps extends Pick, "className" | "style"> { inputClassName?: string | undefined; inputRef?: React.LegacyRef | undefined; inputStyle?: React.CSSProperties | undefined; @@ -438,7 +447,7 @@ export class AutosizeInput extends React.Component {} Menu Props and Component --------------------------------------------------------------------------- */ export interface MenuProps { - 'aria-label'?: string | undefined; + "aria-label"?: string | undefined; children?: React.ReactNode | undefined; className?: string | undefined; emptyLabel?: React.ReactNode | undefined; @@ -450,7 +459,7 @@ export interface MenuProps { text?: string | undefined; } -export type MenuHeaderProps = Omit, 'className'>; +export type MenuHeaderProps = Omit, "className">; export class Menu extends React.Component { static Divider: React.FunctionComponent; @@ -461,10 +470,10 @@ export class Menu extends React.Component { TypeaheadMenu Props and Component --------------------------------------------------------------------------- */ // prop names that Typeahead provides to TypeaheadMenu -export type TypeaheadMenuPropsPick = 'labelKey' | 'options' | 'renderMenuItemChildren' | 'paginationText'; +export type TypeaheadMenuPropsPick = "labelKey" | "options" | "renderMenuItemChildren" | "paginationText"; export interface TypeaheadMenuProps - extends MenuProps, - Pick, TypeaheadMenuPropsPick> { + extends MenuProps, Pick, TypeaheadMenuPropsPick> +{ newSelectionPrefix?: React.ReactNode | undefined; } export class TypeaheadMenu extends React.Component> {} @@ -472,7 +481,7 @@ export class TypeaheadMenu extends React.Component { +export interface BaseMenuItemProps extends React.HTMLProps<"li"> { active?: boolean | undefined; disabled?: boolean | undefined; } @@ -489,7 +498,7 @@ export class MenuItem extends React.Component, 'align' | 'dropup' | 'flip' | 'onMenuToggle'>; +export type OverlayTypeaheadProps = Pick, "align" | "dropup" | "flip" | "onMenuToggle">; export interface OverlayProps extends OverlayTypeaheadProps { children?: ((menuProps: MenuProps) => React.ReactNode) | undefined; diff --git a/types/react-bootstrap-typeahead/react-bootstrap-typeahead-tests.tsx b/types/react-bootstrap-typeahead/react-bootstrap-typeahead-tests.tsx index 236bb57b071933..f09d34a95f6d93 100644 --- a/types/react-bootstrap-typeahead/react-bootstrap-typeahead-tests.tsx +++ b/types/react-bootstrap-typeahead/react-bootstrap-typeahead-tests.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import * as React from "react"; import { ClearButton, Highlighter, @@ -6,8 +6,8 @@ import { MenuItem, Token, Typeahead, - TypeaheadInputSingle -} from 'react-bootstrap-typeahead'; + TypeaheadInputSingle, +} from "react-bootstrap-typeahead"; interface State { capital: string; @@ -22,12 +22,12 @@ interface GroupedStates { type StringPropertyNames = { [K in keyof T]: T[K] extends string ? K : never }[keyof T]; type StateKeysValid = StringPropertyNames; const options: State[] = [ - { name: 'Alabama', population: 4780127, capital: 'Montgomery', region: 'South', setValue: () => { } }, - { name: 'Alaska', population: 710249, capital: 'Juneau', region: 'West', setValue: () => { } }, - { name: 'Arizona', population: 6392307, capital: 'Phoenix', region: 'West', setValue: () => { } }, - { name: 'Arkansas', population: 2915958, capital: 'Little Rock', region: 'South', setValue: () => { } }, - { name: 'California', population: 37254503, capital: 'Sacramento', region: 'West', setValue: () => { } }, - { name: 'Colorado', population: 5029324, capital: 'Denver', region: 'West', setValue: () => { } }, + { name: "Alabama", population: 4780127, capital: "Montgomery", region: "South", setValue: () => {} }, + { name: "Alaska", population: 710249, capital: "Juneau", region: "West", setValue: () => {} }, + { name: "Arizona", population: 6392307, capital: "Phoenix", region: "West", setValue: () => {} }, + { name: "Arkansas", population: 2915958, capital: "Little Rock", region: "South", setValue: () => {} }, + { name: "California", population: 37254503, capital: "Sacramento", region: "West", setValue: () => {} }, + { name: "Colorado", population: 5029324, capital: "Denver", region: "West", setValue: () => {} }, ]; const stateNames = options.map(o => o.name); @@ -53,7 +53,7 @@ class BasicExample extends React.Component { , {`States starting with: ${letter.toUpperCase()}`} - { }} /> + {}} /> , , ]; @@ -68,7 +68,7 @@ class BasicExample extends React.Component { }, [] as JSX.Element[]); return menuItems; - } + }; render() { const { multiple } = this.state; @@ -79,7 +79,7 @@ class BasicExample extends React.Component { { }} + onInputChange={(value, e) => {}} placeholder="Choose a state..." /> ( - + {option.name} {index} )} @@ -124,8 +124,8 @@ class BasicExample extends React.Component { {results.map((result, index) => ( - {result.customOption && 'New: '} - {result.name} + {result.customOption && "New: "} + {result.name} ))} @@ -155,7 +155,7 @@ class BasicExample extends React.Component { onRemove={() => console.log(props.value)} > {option.name} - { }} /> + {}} /> ); }} @@ -175,39 +175,51 @@ class BasicExample extends React.Component { placeholder="Choose a state..." ref={typeaheadRef} /> - - - - - - diff --git a/types/react-bootstrap/index.d.ts b/types/react-bootstrap/index.d.ts index 7e14d2dafa6dd0..532e8bae8005a6 100644 --- a/types/react-bootstrap/index.d.ts +++ b/types/react-bootstrap/index.d.ts @@ -16,30 +16,33 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; -export type Omit = Pick; +export type Omit = Pick< + T, + ({ [P in keyof T]: P } & { [P in K]: never } & { [x: string]: never; [x: number]: never })[keyof T] +>; -export type Sizes = 'xs' | 'xsmall' | 'sm' | 'small' | 'medium' | 'lg' | 'large'; +export type Sizes = "xs" | "xsmall" | "sm" | "small" | "medium" | "lg" | "large"; export interface SelectCallback extends React.EventHandler { - (eventKey: any, e: React.SyntheticEvent<{}>): void; - /** - * @deprecated - * This signature is a hack so can still derive from HTMLProps. - * It does not reflect the underlying event and should not be used. - */ - (e: React.MouseEvent<{}>): void; + (eventKey: any, e: React.SyntheticEvent<{}>): void; + /** + * @deprecated + * This signature is a hack so can still derive from HTMLProps. + * It does not reflect the underlying event and should not be used. + */ + (e: React.MouseEvent<{}>): void; } export interface TransitionCallbacks { - onEnter?(node: HTMLElement): any; - onEntered?(node: HTMLElement): any; - onEntering?(node: HTMLElement): any; - onExit?(node: HTMLElement): any; - onExited?(node: HTMLElement): any; - onExiting?(node: HTMLElement): any; + onEnter?(node: HTMLElement): any; + onEntered?(node: HTMLElement): any; + onEntering?(node: HTMLElement): any; + onExit?(node: HTMLElement): any; + onExited?(node: HTMLElement): any; + onExiting?(node: HTMLElement): any; } -export * from './lib'; +export * from "./lib"; export as namespace ReactBootstrap; diff --git a/types/react-bootstrap/lib/Accordion.d.ts b/types/react-bootstrap/lib/Accordion.d.ts index e3763d2ebbbd75..6233b18912f559 100644 --- a/types/react-bootstrap/lib/Accordion.d.ts +++ b/types/react-bootstrap/lib/Accordion.d.ts @@ -1,5 +1,5 @@ -import * as React from 'react'; -import { Sizes } from 'react-bootstrap'; +import * as React from "react"; +import { Sizes } from "react-bootstrap"; declare namespace Accordion { export interface AccordionProps extends React.HTMLProps { @@ -13,7 +13,5 @@ declare namespace Accordion { header?: React.ReactNode | undefined; } } -declare class Accordion extends React.Component { } +declare class Accordion extends React.Component {} export = Accordion; - - diff --git a/types/react-bootstrap/lib/Alert.d.ts b/types/react-bootstrap/lib/Alert.d.ts index f1dc70cd1ef2d4..c83526e8b951bc 100644 --- a/types/react-bootstrap/lib/Alert.d.ts +++ b/types/react-bootstrap/lib/Alert.d.ts @@ -1,5 +1,5 @@ -import * as React from 'react'; -import { Sizes } from 'react-bootstrap'; +import * as React from "react"; +import { Sizes } from "react-bootstrap"; declare namespace Alert { export interface AlertProps extends React.HTMLProps { @@ -7,10 +7,10 @@ declare namespace Alert { bsStyle?: string | undefined; bsClass?: string | undefined; closeLabel?: string | undefined; - /** @deprecated since v0.29.0 */dismissAfter?: number | undefined; + /** @deprecated since v0.29.0 */ dismissAfter?: number | undefined; // TODO: Add more specific type onDismiss?: Function | undefined; } } -declare class Alert extends React.Component { } +declare class Alert extends React.Component {} export = Alert; diff --git a/types/react-bootstrap/lib/Badge.d.ts b/types/react-bootstrap/lib/Badge.d.ts index fc6d33a8b87bc4..ad9d534204490a 100644 --- a/types/react-bootstrap/lib/Badge.d.ts +++ b/types/react-bootstrap/lib/Badge.d.ts @@ -1,4 +1,4 @@ -import * as React from 'react'; +import * as React from "react"; declare namespace Badge { export interface BadgeProps extends React.HTMLProps { @@ -6,5 +6,5 @@ declare namespace Badge { pullRight?: boolean | undefined; } } -declare class Badge extends React.Component { } +declare class Badge extends React.Component {} export = Badge; diff --git a/types/react-bootstrap/lib/Breadcrumb.d.ts b/types/react-bootstrap/lib/Breadcrumb.d.ts index 98b29b8f6b6b50..e89fcd04fe9114 100644 --- a/types/react-bootstrap/lib/Breadcrumb.d.ts +++ b/types/react-bootstrap/lib/Breadcrumb.d.ts @@ -1,5 +1,5 @@ -import * as React from 'react'; -import * as BreadcrumbItem from './BreadcrumbItem'; +import * as React from "react"; +import * as BreadcrumbItem from "./BreadcrumbItem"; declare namespace Breadcrumb { interface BreadcrumbProps extends React.HTMLProps { diff --git a/types/react-bootstrap/lib/BreadcrumbItem.d.ts b/types/react-bootstrap/lib/BreadcrumbItem.d.ts index af5e30f5d32ca2..0750cea7e77caf 100644 --- a/types/react-bootstrap/lib/BreadcrumbItem.d.ts +++ b/types/react-bootstrap/lib/BreadcrumbItem.d.ts @@ -1,4 +1,4 @@ -import * as React from 'react'; +import * as React from "react"; declare namespace BreadcrumbItem { export interface BreadcrumbItemProps { @@ -10,5 +10,5 @@ declare namespace BreadcrumbItem { target?: string | undefined; } } -declare class BreadcrumbItem extends React.Component { } +declare class BreadcrumbItem extends React.Component {} export = BreadcrumbItem; diff --git a/types/react-bootstrap/lib/Button.d.ts b/types/react-bootstrap/lib/Button.d.ts index b9e117eebf89fe..9521bee004c80a 100644 --- a/types/react-bootstrap/lib/Button.d.ts +++ b/types/react-bootstrap/lib/Button.d.ts @@ -1,5 +1,5 @@ -import * as React from 'react'; -import { Sizes } from 'react-bootstrap'; +import * as React from "react"; +import { Sizes } from "react-bootstrap"; declare namespace Button { export interface ButtonProps extends React.HTMLProps
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NumberTable headingTable headingTable headingTable headingTable headingTable heading
    1Table cellTable cellTable cellTable cellTable cellTable cell
    2Table cellTable cellTable cellTable cellTable cellTable cell
    3Table cellTable cellTable cellTable cellTable cellTable cell
    +
    + Look I'm in a large well! + Look I'm in a small well! +
    +
    + +
    +
    + + + + + + + + + + + + + + + + +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NumberFirst NameLast NameUsername
    1MarkOtto@mdo
    2JacobThornton@fat
    3Larry the Bird@twitter
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NumberTable headingTable headingTable headingTable headingTable headingTable heading
    1Table cellTable cellTable cellTable cellTable cellTable cell
    2Table cellTable cellTable cellTable cellTable cellTable cell
    3Table cellTable cellTable cellTable cellTable cellTable cell
    Working example with validation - - + + Validation is based on string length.
    - + Text - + Email address - + Pass - + File - + [Optional] Block level help text @@ -1208,19 +1351,19 @@ export class ReactBootstrapTest extends Component { Select - - + + Textarea - +
    -
    + @ @@ -1262,9 +1405,9 @@ export class ReactBootstrapTest extends Component { Item @@ -1287,11 +1430,11 @@ export class ReactBootstrapTest extends Component { -
    +
    -
    + @@ -1301,11 +1444,11 @@ export class ReactBootstrapTest extends Component { -
    +
    -
    + Input with success @@ -1361,11 +1504,11 @@ export class ReactBootstrapTest extends Component { Input with error - + - + @@ -1384,15 +1527,11 @@ export class ReactBootstrapTest extends Component { - Input with warning - {' '} - + Input with warning - - {' '} + {" "} - Input group with error - {' '} + Input group with error{" "} @ @@ -1415,12 +1554,10 @@ export class ReactBootstrapTest extends Component { Checkbox - - {' '} + {" "} with - - {' '} + {" "} success @@ -1429,94 +1566,100 @@ export class ReactBootstrapTest extends Component {
    - + - Control Label + Control Label - - Help block message. - + + Help block message. + - - 1 - {' '} - 2 - {' '} - 3 - - - 1 - {' '} - 2 - {' '} - 3 - - -
    - -
    - - - Image - - - Top aligned media -

    Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.

    -

    Donec sed odio dui. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

    -
    -
    -
    - -
    - - - - Checkbox 1 (pre-checked) - - - Checkbox 2 - - - Checkbox 3 (pre-checked) - - - - - - - - Radio 1 (pre-checked) - - - Radio 2 - - - Radio 3 - - - -
    - -
    - Collapse -
    + + 1 2 + {" "} + 3 + + + 1 2{" "} + 3 + + +
    + +
    + + + Image + + + Top aligned media +

    + Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum + nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus. +

    +

    + Donec sed odio dui. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis + natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. +

    +
    +
    +
    + +
    + + + + Checkbox 1 (pre-checked) + + + Checkbox 2 + + + Checkbox 3 (pre-checked) + + + + + + + + Radio 1 (pre-checked) + + + Radio 2 + + + Radio 3 + + + +
    + +
    + Collapse +
    ); } diff --git a/types/react-breadcrumbs-dynamic/index.d.ts b/types/react-breadcrumbs-dynamic/index.d.ts index 3f4efd86dd027d..28cfde395e26f9 100644 --- a/types/react-breadcrumbs-dynamic/index.d.ts +++ b/types/react-breadcrumbs-dynamic/index.d.ts @@ -13,22 +13,22 @@ export class Breadcrumbs extends React.Component {} export class BreadcrumbsItem extends React.Component {} export interface BreadcrumbsProviderProps { - children?: React.ReactNode; - shouldBreadcrumbsUpdate?: ((...args: any[]) => any) | undefined; + children?: React.ReactNode; + shouldBreadcrumbsUpdate?: ((...args: any[]) => any) | undefined; } export interface BreadcrumbsProps { - container?: string | Element | {} | undefined; - containerProps?: {} | undefined; - item?: string | Element | {} | undefined; - finalItem?: string | Element | {} | undefined; - finalProps?: {} | undefined; - separator?: string | Element | {} | undefined; - renameProps?: {} | undefined; - duplicateProps?: {} | undefined; + container?: string | Element | {} | undefined; + containerProps?: {} | undefined; + item?: string | Element | {} | undefined; + finalItem?: string | Element | {} | undefined; + finalProps?: {} | undefined; + separator?: string | Element | {} | undefined; + renameProps?: {} | undefined; + duplicateProps?: {} | undefined; } export interface BreadcrumbsItemProps { - children?: React.ReactNode; - to: string; + children?: React.ReactNode; + to: string; } diff --git a/types/react-breadcrumbs-dynamic/react-breadcrumbs-dynamic-tests.tsx b/types/react-breadcrumbs-dynamic/react-breadcrumbs-dynamic-tests.tsx index f5d9023d4923c7..20d8248c9d77c8 100644 --- a/types/react-breadcrumbs-dynamic/react-breadcrumbs-dynamic-tests.tsx +++ b/types/react-breadcrumbs-dynamic/react-breadcrumbs-dynamic-tests.tsx @@ -1,9 +1,5 @@ import * as React from "react"; -import { - BreadcrumbsProvider, - Breadcrumbs, - BreadcrumbsItem, -} from "react-breadcrumbs-dynamic"; +import { Breadcrumbs, BreadcrumbsItem, BreadcrumbsProvider } from "react-breadcrumbs-dynamic"; class Test1 extends React.Component { render() { @@ -19,7 +15,7 @@ class Test1 extends React.Component { } const customProps = { - yay: "yay" + yay: "yay", }; class Test2 extends React.Component { diff --git a/types/react-breadcrumbs/index.d.ts b/types/react-breadcrumbs/index.d.ts index e8ec557be2871e..a1825cc1fb9954 100644 --- a/types/react-breadcrumbs/index.d.ts +++ b/types/react-breadcrumbs/index.d.ts @@ -5,8 +5,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from "react"; import { LocationDescriptor } from "history"; +import * as React from "react"; declare module "react-breadcrumbs" { interface Crumbs {} diff --git a/types/react-breadcrumbs/react-breadcrumbs-tests.tsx b/types/react-breadcrumbs/react-breadcrumbs-tests.tsx index fc246401ffd027..60bbe9b1ea1ce2 100644 --- a/types/react-breadcrumbs/react-breadcrumbs-tests.tsx +++ b/types/react-breadcrumbs/react-breadcrumbs-tests.tsx @@ -1,5 +1,5 @@ import * as React from "react"; -import { Breadcrumbs, Breadcrumb } from "react-breadcrumbs"; +import { Breadcrumb, Breadcrumbs } from "react-breadcrumbs"; class Wrapper extends React.Component<{ children?: React.ReactNode }> { render() { diff --git a/types/react-broadcast/index.d.ts b/types/react-broadcast/index.d.ts index 5ebf99f55fae53..09dece6dbbe3ec 100644 --- a/types/react-broadcast/index.d.ts +++ b/types/react-broadcast/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export namespace Subscriber { interface DefaultProps { @@ -27,5 +27,5 @@ export namespace Broadcast { } } -export class Broadcast extends React.Component, any> { } -export class Subscriber extends React.Component, any> { } +export class Broadcast extends React.Component, any> {} +export class Subscriber extends React.Component, any> {} diff --git a/types/react-broadcast/react-broadcast-tests.tsx b/types/react-broadcast/react-broadcast-tests.tsx index 2e5e0974341ccc..66192a47b17f14 100644 --- a/types/react-broadcast/react-broadcast-tests.tsx +++ b/types/react-broadcast/react-broadcast-tests.tsx @@ -1,17 +1,17 @@ -import * as React from 'react'; -import { Broadcast, Subscriber } from 'react-broadcast'; +import * as React from "react"; +import { Broadcast, Subscriber } from "react-broadcast"; class ExampleOfUsingReactBroadcast extends React.Component { - render() { - const value = 42; - return ( - -
    - - {(state: React.ReactNode) =>
    {state}
    } -
    -
    -
    - ); - } + render() { + const value = 42; + return ( + +
    + + {(state: React.ReactNode) =>
    {state}
    } +
    +
    +
    + ); + } } diff --git a/types/react-burger-menu/index.d.ts b/types/react-burger-menu/index.d.ts index 3647086fa868c9..6827208fb02426 100644 --- a/types/react-burger-menu/index.d.ts +++ b/types/react-burger-menu/index.d.ts @@ -5,7 +5,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export interface HoverState { isMouseIn: boolean; diff --git a/types/react-burger-menu/react-burger-menu-tests.tsx b/types/react-burger-menu/react-burger-menu-tests.tsx index f5b0104b72971e..374c1f6e09f522 100644 --- a/types/react-burger-menu/react-burger-menu-tests.tsx +++ b/types/react-burger-menu/react-burger-menu-tests.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import { slide as Menu, State } from 'react-burger-menu'; +import * as React from "react"; +import { slide as Menu, State } from "react-burger-menu"; class Example extends React.Component { showSettings(event: { preventDefault(): void }) { @@ -25,5 +25,5 @@ class Example extends React.Component { onStateChange = (state: State): void => { console.log(state.isOpen); - } + }; } diff --git a/types/react-bytesize-icons/index.d.ts b/types/react-bytesize-icons/index.d.ts index 5e92add36144dc..bdb3a0d8c5175d 100644 --- a/types/react-bytesize-icons/index.d.ts +++ b/types/react-bytesize-icons/index.d.ts @@ -5,10 +5,10 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; -export type StrokeLinejoin = 'round' | 'bevel' | 'miter' | 'inherit'; -export type StrokeLinecap = 'round' | 'butt' | 'square' | 'inherit'; +export type StrokeLinejoin = "round" | "bevel" | "miter" | "inherit"; +export type StrokeLinecap = "round" | "butt" | "square" | "inherit"; interface BytesizeBaseIconsProps { children?: React.ReactNode; ref?: React.LegacyRef | undefined; diff --git a/types/react-bytesize-icons/react-bytesize-icons-tests.tsx b/types/react-bytesize-icons/react-bytesize-icons-tests.tsx index 342eb25226d3b6..8b59a22870dcb8 100644 --- a/types/react-bytesize-icons/react-bytesize-icons-tests.tsx +++ b/types/react-bytesize-icons/react-bytesize-icons-tests.tsx @@ -1,31 +1,62 @@ -import * as React from 'react'; -import { render } from 'react-dom'; +import * as React from "react"; import { - Activity, Bag, Clipboard, CreditCard, Desktop, External, Export, Feed, Filter, - Fullscreen, FullscreenExit, GitHub, Microphone, Mobile, Move, Moon, SignIn, SignOut, - Telephone, ZoomIn, ZoomOut, ZoomReset -} from 'react-bytesize-icons'; + Activity, + Bag, + Clipboard, + CreditCard, + Desktop, + Export, + External, + Feed, + Filter, + Fullscreen, + FullscreenExit, + GitHub, + Microphone, + Mobile, + Moon, + Move, + SignIn, + SignOut, + Telephone, + ZoomIn, + ZoomOut, + ZoomReset, +} from "react-bytesize-icons"; +import { render } from "react-dom"; -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render( + , + document.getElementById("test"), +); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); -render(, document.getElementById('test')); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); +render(, document.getElementById("test")); diff --git a/types/react-cache/index.d.ts b/types/react-cache/index.d.ts index 441197d4721ff1..fd09a22d0a9666 100644 --- a/types/react-cache/index.d.ts +++ b/types/react-cache/index.d.ts @@ -4,11 +4,11 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped export interface Resource { - read(key: Input): Value; - preload(key: Input): void; + read(key: Input): Value; + preload(key: Input): void; } export function unstable_createResource( - fetch: (input: Input) => PromiseLike, - maybeHashInput?: (input: Input) => string | number + fetch: (input: Input) => PromiseLike, + maybeHashInput?: (input: Input) => string | number, ): Resource; diff --git a/types/react-calendar-heatmap/index.d.ts b/types/react-calendar-heatmap/index.d.ts index 5f0ee434c08aa3..04b99e9b96fec0 100644 --- a/types/react-calendar-heatmap/index.d.ts +++ b/types/react-calendar-heatmap/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export interface Props { classForValue?: ((value: any) => any) | undefined; diff --git a/types/react-calendar-heatmap/react-calendar-heatmap-tests.tsx b/types/react-calendar-heatmap/react-calendar-heatmap-tests.tsx index 4e807ddfcd4d58..c0006c9d4ee08b 100644 --- a/types/react-calendar-heatmap/react-calendar-heatmap-tests.tsx +++ b/types/react-calendar-heatmap/react-calendar-heatmap-tests.tsx @@ -1,15 +1,15 @@ -import * as React from 'react'; -import CalendarHeatmap from 'react-calendar-heatmap'; +import * as React from "react"; +import CalendarHeatmap from "react-calendar-heatmap"; export default function() { return ( ); diff --git a/types/react-calendar-timeline/index.d.ts b/types/react-calendar-timeline/index.d.ts index f88fef0e5b42ec..8202beabc4b255 100644 --- a/types/react-calendar-timeline/index.d.ts +++ b/types/react-calendar-timeline/index.d.ts @@ -6,10 +6,10 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 3.5 -import * as React from 'react'; -import { Moment } from 'moment'; +import { Moment } from "moment"; +import * as React from "react"; -declare module 'react-calendar-timeline' { +declare module "react-calendar-timeline" { type Id = number | string; export interface TimelineGroupBase { @@ -27,7 +27,7 @@ declare module 'react-calendar-timeline' { start_time: DateType; end_time: DateType; canMove?: boolean | undefined; - canResize?: boolean | 'left' | 'right' | 'both' | undefined; + canResize?: boolean | "left" | "right" | "both" | undefined; canChangeGroup?: boolean | undefined; className?: string | undefined; style?: React.CSSProperties | undefined; @@ -77,7 +77,7 @@ declare module 'react-calendar-timeline' { dragTime: number; dragGroupDelta: number; resizing: boolean; - resizeEdge: 'left' | 'right'; + resizeEdge: "left" | "right"; resizeStart: number; resizeTime: number; width: boolean; @@ -112,7 +112,7 @@ declare module 'react-calendar-timeline' { style: React.CSSProperties; } - export type GetItemsProps = Partial>; + export type GetItemsProps = Partial>; export interface ItemRendererGetResizePropsReturnType { left?: { @@ -135,7 +135,7 @@ declare module 'react-calendar-timeline' { }; export interface ReactCalendarItemRendererProps< - CustomItem extends TimelineItemBase = TimelineItemBase + CustomItem extends TimelineItemBase = TimelineItemBase, > { item: CustomItem; itemContext: ItemContext; @@ -162,19 +162,19 @@ declare module 'react-calendar-timeline' { } export interface OnItemDragObjectBase { - eventType: 'move' | 'resize'; + eventType: "move" | "resize"; itemId: Id; time: number; } export interface OnItemDragObjectMove extends OnItemDragObjectBase { - eventType: 'move'; + eventType: "move"; newGroupOrder: number; } export interface OnItemDragObjectResize extends OnItemDragObjectBase { - eventType: 'resize'; - edge?: 'left' | 'right' | undefined; + eventType: "resize"; + edge?: "left" | "right" | undefined; } export interface TimelineKeys { @@ -191,7 +191,7 @@ declare module 'react-calendar-timeline' { export interface ReactCalendarTimelineProps< CustomItem extends TimelineItemBase = TimelineItemBase, - CustomGroup extends TimelineGroupBase = TimelineGroupBase + CustomGroup extends TimelineGroupBase = TimelineGroupBase, > { children?: React.ReactNode; groups: CustomGroup[]; @@ -215,7 +215,7 @@ declare module 'react-calendar-timeline' { clickTolerance?: number | undefined; canMove?: boolean | undefined; canChangeGroup?: boolean | undefined; - canResize?: false | true | 'left' | 'right' | 'both' | undefined; + canResize?: false | true | "left" | "right" | "both" | undefined; useResizeHandle?: boolean | undefined; stackItems?: boolean | undefined; traditionalZoom?: boolean | undefined; @@ -224,7 +224,7 @@ declare module 'react-calendar-timeline' { scrollRef?: React.Ref | undefined; onItemDrag?(itemDragObject: OnItemDragObjectMove | OnItemDragObjectResize): void; onItemMove?(itemId: Id, dragTime: number, newGroupOrder: number): void; - onItemResize?(itemId: Id, endTimeOrStartTime: number, edge: 'left' | 'right'): void; + onItemResize?(itemId: Id, endTimeOrStartTime: number, edge: "left" | "right"): void; onItemSelect?(itemId: Id, e: any, time: number): void; onItemDeselect?(e: React.SyntheticEvent): void; onItemClick?(itemId: Id, e: React.SyntheticEvent, time: number): void; @@ -235,16 +235,16 @@ declare module 'react-calendar-timeline' { onCanvasContextMenu?(groupId: Id, time: number, e: React.SyntheticEvent): void; onZoom?(timelineContext: TimelineContext, unit: Unit): void; moveResizeValidator?( - action: 'move' | 'resize', + action: "move" | "resize", itemId: Id, time: number, - resizeEdge: 'left' | 'right', + resizeEdge: "left" | "right", ): number; onTimeChange?( visibleTimeStart: number, visibleTimeEnd: number, updateScrollCanvas: (start: number, end: number) => void, - unit: Unit + unit: Unit, ): any; onBoundsChange?(canvasTimeStart: number, canvasTimeEnd: number): any; itemRenderer?: ((props: ReactCalendarItemRendererProps) => React.ReactNode) | undefined; @@ -285,7 +285,7 @@ declare module 'react-calendar-timeline' { } export class TodayMarker extends React.Component {} - export type CursorMarkerProps = Omit; + export type CursorMarkerProps = Omit; export class CursorMarker extends React.Component {} export interface TimelineHeadersProps { @@ -306,13 +306,13 @@ declare module 'react-calendar-timeline' { } export interface SidebarHeaderProps { - variant?: 'left' | 'right' | undefined; + variant?: "left" | "right" | undefined; headerData?: Data | undefined; children: (props: SidebarHeaderChildrenFnProps) => React.ReactNode; } export class SidebarHeader extends React.Component> {} - export type Unit = 'second' | 'minute' | 'hour' | 'day' | 'week' | 'isoWeek' | 'month' | 'year'; + export type Unit = "second" | "minute" | "hour" | "day" | "week" | "isoWeek" | "month" | "year"; export interface IntervalContext { interval: { startTime: number; endTime: number; labelWidth: number; left: number }; @@ -331,8 +331,11 @@ declare module 'react-calendar-timeline' { export interface DateHeaderProps { style?: React.CSSProperties | undefined; className?: string | undefined; - unit?: Unit | 'primaryHeader' | undefined; - labelFormat?: string | (([startTime, endTime]: [Moment, Moment], unit: Unit, labelWidth: number) => string) | undefined; + unit?: Unit | "primaryHeader" | undefined; + labelFormat?: + | string + | (([startTime, endTime]: [Moment, Moment], unit: Unit, labelWidth: number) => string) + | undefined; intervalRenderer?: ((props?: IntervalRenderer) => React.ReactNode) | undefined; headerData?: Data | undefined; children?: ((props: SidebarHeaderChildrenFnProps) => React.ReactNode) | undefined; @@ -369,6 +372,6 @@ declare module 'react-calendar-timeline' { export default class ReactCalendarTimeline< CustomItem extends TimelineItemBase = TimelineItemBase, - CustomGroup extends TimelineGroupBase = TimelineGroupBase + CustomGroup extends TimelineGroupBase = TimelineGroupBase, > extends React.Component> {} } diff --git a/types/react-calendar-timeline/react-calendar-timeline-tests.tsx b/types/react-calendar-timeline/react-calendar-timeline-tests.tsx index 49915ce57e9130..f000018f0419fa 100644 --- a/types/react-calendar-timeline/react-calendar-timeline-tests.tsx +++ b/types/react-calendar-timeline/react-calendar-timeline-tests.tsx @@ -1,33 +1,33 @@ -import * as React from 'react'; -import { useState } from 'react'; +import * as moment from "moment"; +import { Moment } from "moment"; +import * as React from "react"; +import { useState } from "react"; import Timeline, { - TimelineGroupBase, - TimelineItemBase, - TimelineItem, + CustomHeader, + DateHeader, + SidebarHeader, TimelineGroup, + TimelineGroupBase, TimelineHeaders, - SidebarHeader, - DateHeader, - CustomHeader, -} from 'react-calendar-timeline'; -import * as moment from 'moment'; -import { Moment } from 'moment'; + TimelineItem, + TimelineItemBase, +} from "react-calendar-timeline"; const groups1: TimelineGroupBase[] = [ - { id: 1, title: 'group 1', height: 80, stackItems: true }, - { id: 'two', title: 'group 2' }, + { id: 1, title: "group 1", height: 80, stackItems: true }, + { id: "two", title: "group 2" }, ]; const items1: TimelineItemBase[] = [ - { id: 1, group: 1, title: 'item 1', start_time: moment(), end_time: moment().add(1, 'hour') }, + { id: 1, group: 1, title: "item 1", start_time: moment(), end_time: moment().add(1, "hour") }, { id: 2, - group: 'two', - title: 'item 2', - start_time: moment().add(-0.5, 'hour'), - end_time: moment().add(0.5, 'hour'), + group: "two", + title: "item 2", + start_time: moment().add(-0.5, "hour"), + end_time: moment().add(0.5, "hour"), }, - { id: 'three', group: 1, title: 'item 3', start_time: moment().add(2, 'hour'), end_time: moment().add(3, 'hour') }, + { id: "three", group: 1, title: "item 3", start_time: moment().add(2, "hour"), end_time: moment().add(3, "hour") }, ]; class ExampleOfUsingReactCalendarTimeline extends React.Component { @@ -38,8 +38,8 @@ class ExampleOfUsingReactCalendarTimeline extends React.Component { > groups={groups1} items={items1} - defaultTimeStart={moment().add(-12, 'hour')} - defaultTimeEnd={moment().add(12, 'hour')} + defaultTimeStart={moment().add(-12, "hour")} + defaultTimeEnd={moment().add(12, "hour")} />
    ); @@ -50,27 +50,27 @@ type TimelineGroupCustom = TimelineGroup<{ data: string }>; type TimelineItemCustom = TimelineItem<{ data: string }, Moment>; const groups2: TimelineGroupCustom[] = [ - { id: '1', title: 'group 1', data: '1' }, - { id: 'two', title: 'group 2', data: '1' }, + { id: "1", title: "group 1", data: "1" }, + { id: "two", title: "group 2", data: "1" }, ]; const items2: TimelineItemCustom[] = [ - { id: '1', group: '1', title: 'item 1', start_time: moment(), end_time: moment().add(1, 'hour'), data: '1' }, + { id: "1", group: "1", title: "item 1", start_time: moment(), end_time: moment().add(1, "hour"), data: "1" }, { - id: '2', - group: 'two', - title: 'item 2', - start_time: moment().add(-0.5, 'hour'), - end_time: moment().add(0.5, 'hour'), - data: '1', + id: "2", + group: "two", + title: "item 2", + start_time: moment().add(-0.5, "hour"), + end_time: moment().add(0.5, "hour"), + data: "1", }, { - id: '3', - group: '1', - title: 'item 3', - start_time: moment().add(2, 'hour'), - end_time: moment().add(3, 'hour'), - data: '1', + id: "3", + group: "1", + title: "item 3", + start_time: moment().add(2, "hour"), + end_time: moment().add(3, "hour"), + data: "1", }, ]; @@ -82,9 +82,9 @@ class ExampleOfUsingReactCalendarTimelineWithCustomGroupAndItemExtension extends groups={groups2} items={items2} - defaultTimeStart={moment().add(-12, 'hour')} - defaultTimeEnd={moment().add(12, 'hour')} - selected={[1, 'two']} + defaultTimeStart={moment().add(-12, "hour")} + defaultTimeEnd={moment().add(12, "hour")} + selected={[1, "two"]} />
    ); @@ -101,18 +101,18 @@ const Example: React.FC = () => ( - + {({ headerContext: { intervals }, getRootProps, getIntervalProps, showPeriod, data }) => { return (
    {intervals.map(interval => { const intervalStyle = { - lineHeight: '30px', - textAlign: 'center', - borderLeft: '1px solid black', - cursor: 'pointer', - backgroundColor: 'Turquoise', - color: 'white', + lineHeight: "30px", + textAlign: "center", + borderLeft: "1px solid black", + cursor: "pointer", + backgroundColor: "Turquoise", + color: "white", } as React.CSSProperties; return (
    ( style: intervalStyle, })} > -
    {interval.startTime.format('YYYY')}
    +
    {interval.startTime.format("YYYY")}
    ); })} @@ -137,18 +137,18 @@ const Example: React.FC = () => ( ); const groups: TimelineGroupBase[] = [ - { id: 1, title: 'group 1' }, - { id: 2, title: 'group 2' }, + { id: 1, title: "group 1" }, + { id: 2, title: "group 2" }, ]; const items: TimelineItemBase[] = [ - { id: 1, group: 1, title: 'item 1', start_time: 1, end_time: 1 }, - { id: 2, group: 2, title: 'item 2', start_time: 1, end_time: 1 }, - { id: 3, group: 1, title: 'item 3', start_time: 1, end_time: 1 }, + { id: 1, group: 1, title: "item 1", start_time: 1, end_time: 1 }, + { id: 2, group: 2, title: "item 2", start_time: 1, end_time: 1 }, + { id: 3, group: 1, title: "item 3", start_time: 1, end_time: 1 }, ]; -const defaultTimeStart = moment().startOf('day').toDate(); -const defaultTimeEnd = moment().startOf('day').add(1, 'day').toDate(); +const defaultTimeStart = moment().startOf("day").toDate(); +const defaultTimeEnd = moment().startOf("day").add(1, "day").toDate(); const Resize = () => { const [itemsState, setItems] = useState(items); @@ -161,7 +161,7 @@ const Resize = () => { stackItems itemHeightRatio={0.75} canMove={true} - canResize={'both'} + canResize={"both"} defaultTimeStart={defaultTimeStart} defaultTimeEnd={defaultTimeEnd} onItemMove={(itemId, dragTime, newGroupOrder) => { @@ -171,35 +171,35 @@ const Resize = () => { itemsState.map(item => item.id === itemId ? { - ...item, - ...{ - start_time: dragTime, - end_time: dragTime + (item.end_time - item.start_time), - group: group.id, - }, - } - : item, + ...item, + ...{ + start_time: dragTime, + end_time: dragTime + (item.end_time - item.start_time), + group: group.id, + }, + } + : item ), ); - console.log('Moved', itemId, dragTime, newGroupOrder); + console.log("Moved", itemId, dragTime, newGroupOrder); }} onItemResize={(itemId, time, edge) => { setItems( itemsState.map(item => item.id === itemId ? { - ...item, - ...{ - start_time: edge === 'left' ? time : item.start_time, - end_time: edge === 'left' ? item.end_time : time, - }, - } - : item, + ...item, + ...{ + start_time: edge === "left" ? time : item.start_time, + end_time: edge === "left" ? item.end_time : time, + }, + } + : item ), ); - console.log('Resized', itemId, time, edge); + console.log("Resized", itemId, time, edge); }} /> ); @@ -220,7 +220,7 @@ const TimelineDragTest = () => { stackItems itemHeightRatio={0.75} canMove={true} - canResize={'both'} + canResize={"both"} defaultTimeStart={defaultTimeStart} defaultTimeEnd={defaultTimeEnd} onItemMove={(itemId, dragTime, newGroupOrder) => { @@ -230,39 +230,39 @@ const TimelineDragTest = () => { itemsState.map(item => item.id === itemId ? { - ...item, - ...{ - start_time: dragTime, - end_time: dragTime + (item.end_time - item.start_time), - group: group.id, - }, - } - : item, + ...item, + ...{ + start_time: dragTime, + end_time: dragTime + (item.end_time - item.start_time), + group: group.id, + }, + } + : item ), ); setDraggedItem(undefined); - console.log('Moved', itemId, dragTime, newGroupOrder); + console.log("Moved", itemId, dragTime, newGroupOrder); }} onItemResize={(itemId, time, edge) => { setItems( itemsState.map(item => item.id === itemId ? { - ...item, - ...{ - start_time: edge === 'left' ? time : item.start_time, - end_time: edge === 'left' ? item.end_time : time, - }, - } - : item, + ...item, + ...{ + start_time: edge === "left" ? time : item.start_time, + end_time: edge === "left" ? item.end_time : time, + }, + } + : item ), ); setDraggedItem(undefined); - console.log('Resized', itemId, time, edge); + console.log("Resized", itemId, time, edge); }} onItemDrag={itemDragObject => { - if (itemDragObject.eventType === 'move') { + if (itemDragObject.eventType === "move") { const { itemId, newGroupOrder, time } = itemDragObject; let item = draggedItem ? draggedItem.item : undefined; if (!item) { @@ -275,11 +275,11 @@ const TimelineDragTest = () => { {draggedItem && (
    { zIndex: 85, }} > - {`${moment(draggedItem.time).format('LLL')}, ${draggedItem.group ? draggedItem.group.title : ''}`} + {`${moment(draggedItem.time).format("LLL")}, ${draggedItem.group ? draggedItem.group.title : ""}`}
    )} @@ -308,7 +308,7 @@ const Basic: React.FC = () => { defaultTimeStart={defaultTimeStart} defaultTimeEnd={defaultTimeEnd} onZoom={(timelineContext, unit) => { - console.log('Zoomed', timelineContext, unit); + console.log("Zoomed", timelineContext, unit); }} className="custom-class" > diff --git a/types/react-canvas-draw/index.d.ts b/types/react-canvas-draw/index.d.ts index 5fdbc8d8268ad2..230a58e76faddd 100644 --- a/types/react-canvas-draw/index.d.ts +++ b/types/react-canvas-draw/index.d.ts @@ -3,7 +3,7 @@ // Definitions by: Kamil Socha // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import * as React from 'react'; +import * as React from "react"; export interface CanvasDrawProps { onChange?: ((canvas: CanvasDraw) => void) | null | undefined; @@ -29,7 +29,7 @@ export interface CanvasDrawProps { hideGridY?: boolean | undefined; enablePanAndZoom?: boolean | undefined; mouseZoomFactor?: number | undefined; - zoomExtents?: { min: number, max: number} | undefined; + zoomExtents?: { min: number; max: number } | undefined; clampLinesToDocument?: boolean | undefined; className?: string | undefined; style?: React.CSSProperties | undefined; diff --git a/types/react-canvas-draw/react-canvas-draw-tests.tsx b/types/react-canvas-draw/react-canvas-draw-tests.tsx index a5ec54e9d12ace..1ddb375af8b200 100644 --- a/types/react-canvas-draw/react-canvas-draw-tests.tsx +++ b/types/react-canvas-draw/react-canvas-draw-tests.tsx @@ -1,5 +1,5 @@ -import CanvasDraw from 'react-canvas-draw'; -import * as React from 'react'; +import * as React from "react"; +import CanvasDraw from "react-canvas-draw"; const AllOptions: JSX.Element = ( ); @@ -41,8 +41,8 @@ function RefTest() { if (ref.current) { ref.current.clear(); ref.current.undo(); - ref.current.loadSaveData('data'); - ref.current.loadSaveData('data', true); + ref.current.loadSaveData("data"); + ref.current.loadSaveData("data", true); const saveData: string = ref.current.getSaveData(); } diff --git a/types/react-cartographer/index.d.ts b/types/react-cartographer/index.d.ts index 646ca5de0e24cb..7940bbbdbf821f 100644 --- a/types/react-cartographer/index.d.ts +++ b/types/react-cartographer/index.d.ts @@ -3,8 +3,6 @@ // Definitions by: Tre`Von McKay // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import Map from './lib/components/Map'; +import Map from "./lib/components/Map"; -export { - Map -}; +export { Map }; diff --git a/types/react-cartographer/lib/components/Map.d.ts b/types/react-cartographer/lib/components/Map.d.ts index 041f345345190f..cf73dae7d60061 100644 --- a/types/react-cartographer/lib/components/Map.d.ts +++ b/types/react-cartographer/lib/components/Map.d.ts @@ -36,7 +36,7 @@ export interface MapProps { providerKey: string; /** Default: yahoo */ - provider: 'yahoo' | 'google' | 'bing'; + provider: "yahoo" | "google" | "bing"; /** Default: map */ mapId: string; diff --git a/types/react-cartographer/react-cartographer-tests.tsx b/types/react-cartographer/react-cartographer-tests.tsx index 693c2945e5bafc..da3dc4a8f3698a 100644 --- a/types/react-cartographer/react-cartographer-tests.tsx +++ b/types/react-cartographer/react-cartographer-tests.tsx @@ -6,12 +6,12 @@ class Test extends React.Component { return ( >(wrappedComponent: C): C; -declare namespace enhanceWithClickOutside { } +declare namespace enhanceWithClickOutside {} export = enhanceWithClickOutside; diff --git a/types/react-click-outside/react-click-outside-tests.tsx b/types/react-click-outside/react-click-outside-tests.tsx index fe8e7af1104bdd..0e8f3a1d412624 100644 --- a/types/react-click-outside/react-click-outside-tests.tsx +++ b/types/react-click-outside/react-click-outside-tests.tsx @@ -1,6 +1,6 @@ -import * as React from 'react'; -import { render } from 'react-dom'; -import enhanceWithClickOutside = require('react-click-outside'); +import * as React from "react"; +import { render } from "react-dom"; +import enhanceWithClickOutside = require("react-click-outside"); interface Props { text: string; @@ -17,7 +17,7 @@ class StatefulComponent extends React.Component { this.setState({ isOpened: false }); } - render() { + render() { return
    {this.props.text}
    ; } } @@ -30,12 +30,12 @@ class ComponentWithDecorator extends React.Component { this.setState({ isOpened: false }); } - render() { - return
    {this.props.text}
    ; + render() { + return
    {this.props.text}
    ; } } const ClickOutsideStatefulComponent = enhanceWithClickOutside(StatefulComponent); -render(, document.getElementById('test')); -render(, document.getElementById('test')); +render(, document.getElementById("test")); +render(, document.getElementById("test")); diff --git a/types/react-close-on-escape/react-close-on-escape-tests.tsx b/types/react-close-on-escape/react-close-on-escape-tests.tsx index 4ee80fc2593392..150c1358e952cc 100644 --- a/types/react-close-on-escape/react-close-on-escape-tests.tsx +++ b/types/react-close-on-escape/react-close-on-escape-tests.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import CloseOnEscape from 'react-close-on-escape'; +import * as React from "react"; +import CloseOnEscape from "react-close-on-escape"; const onEscapeCallback = () => {}; diff --git a/types/react-codemirror/index.d.ts b/types/react-codemirror/index.d.ts index 360df1a8545d52..6046d5901856bd 100644 --- a/types/react-codemirror/index.d.ts +++ b/types/react-codemirror/index.d.ts @@ -36,7 +36,7 @@ declare namespace ReactCodeMirror { /** (DEPRECATED), use `name` */ path?: string | undefined; /** Preserve previous scroll position after updating value */ - preserveScrollPosition?: boolean | undefined + preserveScrollPosition?: boolean | undefined; /** The editor value */ value?: string | undefined; } diff --git a/types/react-codemirror/react-codemirror-tests.tsx b/types/react-codemirror/react-codemirror-tests.tsx index efa77e742b38d7..7408ce8047affa 100644 --- a/types/react-codemirror/react-codemirror-tests.tsx +++ b/types/react-codemirror/react-codemirror-tests.tsx @@ -15,28 +15,32 @@ class CodemirrorTest extends React.Component { const options = { lineNumbers: true, readOnly: false, - mode: "markdown" + mode: "markdown", }; const onChange = (value: string, change: CodeMirror.EditorChange) => console.log(value, change); const onCursorActivity = (codemirror: CodeMirror.Editor) => console.log(codemirror); const onFocusChange = (focused: boolean) => console.log(focused); const onScroll = (scrollInfo: CodeMirror.ScrollInfo) => console.log(scrollInfo.top); - return
    - this.editorRef = r} - value="foo bar" /> -
    ; + return ( +
    + this.editorRef = r} + value="foo bar" + /> +
    + ); } } diff --git a/types/react-codesandboxer/index.d.ts b/types/react-codesandboxer/index.d.ts index 18282bd3060d9a..2cf5fd88e69c51 100644 --- a/types/react-codesandboxer/index.d.ts +++ b/types/react-codesandboxer/index.d.ts @@ -3,13 +3,13 @@ // Definitions by: Nathan Bierema // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import * as React from 'react'; +import * as React from "react"; export interface GitInfo { account: string; repository: string; branch?: string | undefined; - host: 'bitbucket' | 'github'; + host: "bitbucket" | "github"; } export interface Files { @@ -62,9 +62,11 @@ export interface Props { ignoreInternalImports?: boolean | undefined; preload?: boolean | undefined; autoDeploy?: boolean | undefined; - onLoadComplete?: (( - arg: { parameters: string; files: Files } | { error: any } - ) => unknown) | undefined; + onLoadComplete?: + | (( + arg: { parameters: string; files: Files } | { error: any }, + ) => unknown) + | undefined; afterDeploy?: ((sandboxUrl: string, sandboxId: string) => unknown) | undefined; afterDeployError?: ((error: Error) => unknown) | undefined; providedFiles?: Files | undefined; @@ -76,7 +78,7 @@ export interface Props { }) => React.ReactNode; style?: object | undefined; extensions?: string[] | undefined; - template?: 'create-react-app' | 'create-react-app-typescript' | 'vue-cli' | undefined; + template?: "create-react-app" | "create-react-app-typescript" | "vue-cli" | undefined; } export default class CodeSandboxDeployer extends React.Component {} diff --git a/types/react-codesandboxer/react-codesandboxer-tests.tsx b/types/react-codesandboxer/react-codesandboxer-tests.tsx index 326e9a909694f6..23d02c6aaaba68 100644 --- a/types/react-codesandboxer/react-codesandboxer-tests.tsx +++ b/types/react-codesandboxer/react-codesandboxer-tests.tsx @@ -5,15 +5,15 @@ const codeSandboxer = ( {({ isLoading }) => isLoading @@ -22,7 +22,6 @@ const codeSandboxer = ( - ) - } + )} ); diff --git a/types/react-coinhive/index.d.ts b/types/react-coinhive/index.d.ts index e359dcc8591917..fb2c77f838c46b 100644 --- a/types/react-coinhive/index.d.ts +++ b/types/react-coinhive/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export interface CoinHiveProps { autoThreads?: boolean | undefined; diff --git a/types/react-collapse/index.d.ts b/types/react-collapse/index.d.ts index a8e34b0fbf2922..f38d392bfcfa45 100644 --- a/types/react-collapse/index.d.ts +++ b/types/react-collapse/index.d.ts @@ -4,7 +4,7 @@ // Kristofer Giltvedt Selbekk // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export interface CollapseCallbackArgs { /** `true` only when Collapse reached final height */ diff --git a/types/react-collapse/react-collapse-tests.tsx b/types/react-collapse/react-collapse-tests.tsx index a304ebebd9949d..e62ea85202ba01 100644 --- a/types/react-collapse/react-collapse-tests.tsx +++ b/types/react-collapse/react-collapse-tests.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import { Collapse, UnmountClosed } from 'react-collapse'; +import * as React from "react"; +import { Collapse, UnmountClosed } from "react-collapse"; class TestRequired extends React.Component { render() { @@ -19,8 +19,8 @@ class TestRequired extends React.Component { class TestAll extends React.Component { render() { const theme = { - collapse: 'collapse-class', - content: 'content-class', + collapse: "collapse-class", + content: "content-class", }; const onRest = () => {}; @@ -28,7 +28,7 @@ class TestAll extends React.Component { const initialStyle = { height: 200, - overflow: 'auto', + overflow: "auto", }; return ( diff --git a/types/react-color/index.d.ts b/types/react-color/index.d.ts index ca83a3062369ec..f3837d8bac011e 100644 --- a/types/react-color/index.d.ts +++ b/types/react-color/index.d.ts @@ -54,21 +54,18 @@ export interface CustomPickerProps extends ClassAttributes { onChange: ColorChangeHandler; } -export { default as AlphaPicker, AlphaPickerProps } from "./lib/components/alpha/Alpha"; -export { default as BlockPicker, BlockPickerProps } from "./lib/components/block/Block"; -export { default as Checkboard, CheckboardProps } from "./lib/components/common/Checkboard"; -export { default as ChromePicker, ChromePickerProps } from "./lib/components/chrome/Chrome"; -export { default as CirclePicker, CirclePickerProps } from "./lib/components/circle/Circle"; -export { default as CompactPicker, CompactPickerProps } from "./lib/components/compact/Compact"; +export { AlphaPickerProps, default as AlphaPicker } from "./lib/components/alpha/Alpha"; +export { BlockPickerProps, default as BlockPicker } from "./lib/components/block/Block"; +export { ChromePickerProps, default as ChromePicker } from "./lib/components/chrome/Chrome"; +export { CirclePickerProps, default as CirclePicker } from "./lib/components/circle/Circle"; +export { CheckboardProps, default as Checkboard } from "./lib/components/common/Checkboard"; +export { default as CustomPicker, InjectedColorProps } from "./lib/components/common/ColorWrap"; +export { CompactPickerProps, default as CompactPicker } from "./lib/components/compact/Compact"; export { default as GithubPicker, GithubPickerProps } from "./lib/components/github/Github"; export { default as HuePicker, HuePickerProps } from "./lib/components/hue/Hue"; export { default as MaterialPicker, MaterialPickerProps } from "./lib/components/material/Material"; -export { - default as PhotoshopPicker, - PhotoshopPickerProps -} from "./lib/components/photoshop/Photoshop"; +export { default as PhotoshopPicker, PhotoshopPickerProps } from "./lib/components/photoshop/Photoshop"; export { default as SketchPicker, SketchPickerProps } from "./lib/components/sketch/Sketch"; export { default as SliderPicker, SliderPickerProps } from "./lib/components/slider/Slider"; export { default as SwatchesPicker, SwatchesPickerProps } from "./lib/components/swatches/Swatches"; export { default as TwitterPicker, TwitterPickerProps } from "./lib/components/twitter/Twitter"; -export { default as CustomPicker, InjectedColorProps } from "./lib/components/common/ColorWrap"; diff --git a/types/react-color/lib/components/alpha/Alpha.d.ts b/types/react-color/lib/components/alpha/Alpha.d.ts index 37ea493d3ab1c9..ac41f1ca77cc19 100644 --- a/types/react-color/lib/components/alpha/Alpha.d.ts +++ b/types/react-color/lib/components/alpha/Alpha.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { ColorPickerProps } from "../../.."; import { Classes } from "reactcss"; +import { ColorPickerProps } from "../../.."; export interface AlphaPickerStylesProps { picker: CSSProperties; @@ -13,4 +13,4 @@ export interface AlphaPickerProps extends ColorPickerProps { styles?: Partial> | undefined; } -export default class AlphaPicker extends Component { } +export default class AlphaPicker extends Component {} diff --git a/types/react-color/lib/components/block/Block.d.ts b/types/react-color/lib/components/block/Block.d.ts index 3345c083385344..311ed4c5ff368c 100644 --- a/types/react-color/lib/components/block/Block.d.ts +++ b/types/react-color/lib/components/block/Block.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { ColorPickerProps, ColorResult } from "../../.."; import { Classes } from "reactcss"; +import { ColorPickerProps, ColorResult } from "../../.."; export interface BlockPickerStylesProps { card: CSSProperties; @@ -14,9 +14,9 @@ export interface BlockPickerStylesProps { export interface BlockPickerProps extends ColorPickerProps { colors?: string[] | undefined; width?: string | undefined; - triangle?: 'hide' | 'top' | undefined; + triangle?: "hide" | "top" | undefined; styles?: Partial> | undefined; onSwatchHover?(color: ColorResult, event: MouseEvent): void; } -export default class BlockPicker extends Component { } +export default class BlockPicker extends Component {} diff --git a/types/react-color/lib/components/chrome/Chrome.d.ts b/types/react-color/lib/components/chrome/Chrome.d.ts index 0c2ae859f342a2..c43287bad2dcb3 100644 --- a/types/react-color/lib/components/chrome/Chrome.d.ts +++ b/types/react-color/lib/components/chrome/Chrome.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { ColorPickerProps } from "../../.."; import { Classes } from "reactcss"; +import { ColorPickerProps } from "../../.."; export interface ChromePickerStylesProps { picker: CSSProperties; @@ -23,4 +23,4 @@ export interface ChromePickerProps extends ColorPickerProps { styles?: Partial> | undefined; } -export default class ChromePicker extends Component { } +export default class ChromePicker extends Component {} diff --git a/types/react-color/lib/components/circle/Circle.d.ts b/types/react-color/lib/components/circle/Circle.d.ts index 19d00aa7b98373..c1195e6cf10e9d 100644 --- a/types/react-color/lib/components/circle/Circle.d.ts +++ b/types/react-color/lib/components/circle/Circle.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { ColorPickerProps, ColorResult } from "../../.."; import { Classes } from "reactcss"; +import { ColorPickerProps, ColorResult } from "../../.."; export interface CirclePickerStylesProps { card: CSSProperties; @@ -15,4 +15,4 @@ export interface CirclePickerProps extends ColorPickerProps { onSwatchHover?(color: ColorResult, event: MouseEvent): void; } -export default class CirclePicker extends Component { } +export default class CirclePicker extends Component {} diff --git a/types/react-color/lib/components/common/Checkboard.d.ts b/types/react-color/lib/components/common/Checkboard.d.ts index 9495e9e399ab0a..6cbf84b671b9e2 100644 --- a/types/react-color/lib/components/common/Checkboard.d.ts +++ b/types/react-color/lib/components/common/Checkboard.d.ts @@ -1,4 +1,4 @@ -import { Component, ClassAttributes } from "react"; +import { ClassAttributes, Component } from "react"; export interface CheckboardProps extends ClassAttributes { grey?: string | undefined; diff --git a/types/react-color/lib/components/common/ColorWrap.d.ts b/types/react-color/lib/components/common/ColorWrap.d.ts index 0fe326b33c0e6f..7385443eed4301 100644 --- a/types/react-color/lib/components/common/ColorWrap.d.ts +++ b/types/react-color/lib/components/common/ColorWrap.d.ts @@ -1,5 +1,5 @@ import { ComponentClass, FunctionComponent } from "react"; -import { HSLColor, RGBColor, ColorChangeHandler, Color, ColorResult } from "../../.."; +import { Color, ColorChangeHandler, ColorResult, HSLColor, RGBColor } from "../../.."; export type ColorWrapChangeHandler = (color: Color | ColorResult) => void; @@ -16,4 +16,6 @@ export interface ExportedColorProps { onChangeComplete?: ColorChangeHandler | undefined; } -export default function CustomPicker(component: ComponentClass | FunctionComponent): ComponentClass; +export default function CustomPicker( + component: ComponentClass | FunctionComponent, +): ComponentClass; diff --git a/types/react-color/lib/components/common/EditableInput.d.ts b/types/react-color/lib/components/common/EditableInput.d.ts index b6ae31e14c6d55..23dc420a183890 100644 --- a/types/react-color/lib/components/common/EditableInput.d.ts +++ b/types/react-color/lib/components/common/EditableInput.d.ts @@ -1,4 +1,4 @@ -import { Component, ClassAttributes, CSSProperties } from "react"; +import { ClassAttributes, Component, CSSProperties } from "react"; import { Color, ColorChangeHandler } from "../../.."; export interface EditableInputStyles { diff --git a/types/react-color/lib/components/compact/Compact.d.ts b/types/react-color/lib/components/compact/Compact.d.ts index ba588a935671c8..ec76da919ba936 100644 --- a/types/react-color/lib/components/compact/Compact.d.ts +++ b/types/react-color/lib/components/compact/Compact.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { ColorPickerProps, ColorResult } from "../../.."; import { Classes } from "reactcss"; +import { ColorPickerProps, ColorResult } from "../../.."; export interface CompactPickerStylesProps { Compact: CSSProperties; @@ -14,4 +14,4 @@ export interface CompactPickerProps extends ColorPickerProps { onSwatchHover?(color: ColorResult, event: MouseEvent): void; } -export default class CompactPicker extends Component { } +export default class CompactPicker extends Component {} diff --git a/types/react-color/lib/components/github/Github.d.ts b/types/react-color/lib/components/github/Github.d.ts index 36079ad28c21a9..70f4ff92e4216e 100644 --- a/types/react-color/lib/components/github/Github.d.ts +++ b/types/react-color/lib/components/github/Github.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { ColorPickerProps, ColorResult } from "../../.."; import { Classes } from "reactcss"; +import { ColorPickerProps, ColorResult } from "../../.."; export interface GithubPickerStylesProps { card: CSSProperties; @@ -11,9 +11,9 @@ export interface GithubPickerStylesProps { export interface GithubPickerProps extends ColorPickerProps { colors?: string[] | undefined; width?: string | undefined; - triangle?: 'hide' | 'top-left' | 'top-right' | undefined; + triangle?: "hide" | "top-left" | "top-right" | undefined; styles?: Partial> | undefined; onSwatchHover?(color: ColorResult, event: MouseEvent): void; } -export default class GithubPicker extends Component { } +export default class GithubPicker extends Component {} diff --git a/types/react-color/lib/components/hue/Hue.d.ts b/types/react-color/lib/components/hue/Hue.d.ts index 57b5e2e960cad1..48928bef25dd3f 100644 --- a/types/react-color/lib/components/hue/Hue.d.ts +++ b/types/react-color/lib/components/hue/Hue.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { ColorPickerProps } from "../../.."; import { Classes } from "reactcss"; +import { ColorPickerProps } from "../../.."; export interface HuePickerStylesProps { picker: CSSProperties; @@ -13,4 +13,4 @@ export interface HuePickerProps extends ColorPickerProps { styles?: Partial> | undefined; } -export default class HuePicker extends Component { } +export default class HuePicker extends Component {} diff --git a/types/react-color/lib/components/material/Material.d.ts b/types/react-color/lib/components/material/Material.d.ts index ad982182315a1f..413096fb79b666 100644 --- a/types/react-color/lib/components/material/Material.d.ts +++ b/types/react-color/lib/components/material/Material.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { ColorPickerProps } from "../../.."; import { Classes } from "reactcss"; +import { ColorPickerProps } from "../../.."; export interface MaterialPickerStylesProps { material: CSSProperties; @@ -19,4 +19,4 @@ export interface MaterialPickerProps extends ColorPickerProps { styles?: Partial> | undefined; } -export default class MaterialPicker extends Component { } +export default class MaterialPicker extends Component {} diff --git a/types/react-color/lib/components/photoshop/Photoshop.d.ts b/types/react-color/lib/components/photoshop/Photoshop.d.ts index 2c268dfa021dce..508a113f9ef4df 100644 --- a/types/react-color/lib/components/photoshop/Photoshop.d.ts +++ b/types/react-color/lib/components/photoshop/Photoshop.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { ColorChangeHandler, ColorPickerProps } from "../../.."; import { Classes } from "reactcss"; +import { ColorChangeHandler, ColorPickerProps } from "../../.."; export interface PhotoshopPickerStylesProps { picker: CSSProperties; @@ -21,4 +21,4 @@ export interface PhotoshopPickerProps extends ColorPickerProps onCancel?: ColorChangeHandler | undefined; } -export default class PhotoshopPicker extends Component { } +export default class PhotoshopPicker extends Component {} diff --git a/types/react-color/lib/components/sketch/Sketch.d.ts b/types/react-color/lib/components/sketch/Sketch.d.ts index 8fa49981470f13..0913b66de0e25a 100644 --- a/types/react-color/lib/components/sketch/Sketch.d.ts +++ b/types/react-color/lib/components/sketch/Sketch.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { ColorPickerProps, ColorResult } from "../../.."; import { Classes } from "reactcss"; +import { ColorPickerProps, ColorResult } from "../../.."; export interface SketchPickerStylesProps { picker: CSSProperties; @@ -25,4 +25,4 @@ export interface SketchPickerProps extends ColorPickerProps { onSwatchHover?(color: ColorResult, event: MouseEvent): void; } -export default class SketchPicker extends Component { } +export default class SketchPicker extends Component {} diff --git a/types/react-color/lib/components/slider/Slider.d.ts b/types/react-color/lib/components/slider/Slider.d.ts index bd4f27b2c955b5..d30a69cc197f8d 100644 --- a/types/react-color/lib/components/slider/Slider.d.ts +++ b/types/react-color/lib/components/slider/Slider.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { ColorPickerProps } from "../../.."; import { Classes } from "reactcss"; +import { ColorPickerProps } from "../../.."; export interface SliderPickerStylesProps { hue: CSSProperties; @@ -11,4 +11,4 @@ export interface SliderPickerProps extends ColorPickerProps { styles?: Partial> | undefined; } -export default class SliderPicker extends Component { } +export default class SliderPicker extends Component {} diff --git a/types/react-color/lib/components/swatches/Swatches.d.ts b/types/react-color/lib/components/swatches/Swatches.d.ts index 6b2626b589e1a9..812b401a79898b 100644 --- a/types/react-color/lib/components/swatches/Swatches.d.ts +++ b/types/react-color/lib/components/swatches/Swatches.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { ColorPickerProps, ColorResult } from "../../.."; import { Classes } from "reactcss"; +import { ColorPickerProps, ColorResult } from "../../.."; export interface SwatchesPickerStylesProps { picker: CSSProperties; @@ -17,4 +17,4 @@ export interface SwatchesPickerProps extends ColorPickerProps { onSwatchHover?(color: ColorResult, event: MouseEvent): void; } -export default class SwatchesPicker extends Component { } +export default class SwatchesPicker extends Component {} diff --git a/types/react-color/lib/components/twitter/Twitter.d.ts b/types/react-color/lib/components/twitter/Twitter.d.ts index 76d71f58764d7a..fbbc03fffed4e4 100644 --- a/types/react-color/lib/components/twitter/Twitter.d.ts +++ b/types/react-color/lib/components/twitter/Twitter.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { ColorPickerProps, ColorResult } from "../../.."; import { Classes } from "reactcss"; +import { ColorPickerProps, ColorResult } from "../../.."; export interface TwitterPickerStylesProps { card: CSSProperties; @@ -17,9 +17,9 @@ export interface TwitterPickerStylesProps { export interface TwitterPickerProps extends ColorPickerProps { colors?: string[] | undefined; width?: string | undefined; - triangle?: 'hide' | 'top-left' | 'top-right' | undefined; + triangle?: "hide" | "top-left" | "top-right" | undefined; styles?: Partial> | undefined; onSwatchHover?(color: ColorResult, event: MouseEvent): void; } -export default class TwitterPicker extends Component { } +export default class TwitterPicker extends Component {} diff --git a/types/react-color/react-color-tests.tsx b/types/react-color/react-color-tests.tsx index bfb1dfd8ccbefb..cac4edafce8226 100644 --- a/types/react-color/react-color-tests.tsx +++ b/types/react-color/react-color-tests.tsx @@ -1,14 +1,26 @@ import * as React from "react"; import { FunctionComponent } from "react"; -import { render } from "react-dom"; import { - AlphaPicker, BlockPicker, ChromePicker, CirclePicker, - CompactPicker, GithubPicker, HuePicker, MaterialPicker, - PhotoshopPicker, SketchPicker, SliderPicker, SwatchesPicker, - TwitterPicker, CustomPicker, InjectedColorProps, ColorResult, - Color + AlphaPicker, + BlockPicker, + ChromePicker, + CirclePicker, + Color, + ColorResult, + CompactPicker, + CustomPicker, + GithubPicker, + HuePicker, + InjectedColorProps, + MaterialPicker, + PhotoshopPicker, + SketchPicker, + SliderPicker, + SwatchesPicker, + TwitterPicker, } from "react-color"; import { Alpha, Checkboard, EditableInput, Hue, Saturation } from "react-color/lib/components/common"; +import { render } from "react-dom"; interface CustomProps extends InjectedColorProps { color?: Color | undefined; @@ -32,11 +44,14 @@ const CustomComponent: FunctionComponent = (props: CustomProps) => const Custom = CustomPicker(CustomComponent); const colors = ["#000", "#333"]; -const colorsAsObject = [{title: 'foo', color: "#000"}, {title: 'foo', color: "#333"}]; +const colorsAsObject = [{ title: "foo", color: "#000" }, { title: "foo", color: "#333" }]; render(, document.getElementById("main")); render(, document.getElementById("main")); -render(, document.getElementById("main")); +render( + , + document.getElementById("main"), +); render(, document.getElementById("main")); render(, document.getElementById("main")); render(, document.getElementById("main")); @@ -44,8 +59,14 @@ render(, documen render(, document.getElementById("main")); render(, document.getElementById("main")); render(, document.getElementById("main")); -render(, document.getElementById("main")); +render( + , + document.getElementById("main"), +); render(, document.getElementById("main")); -render(, document.getElementById("main")); +render( + , + document.getElementById("main"), +); render(, document.getElementById("main")); render(, document.getElementById("main")); diff --git a/types/react-color/v2/index.d.ts b/types/react-color/v2/index.d.ts index 3419ae94627e0f..50b5b265b797c6 100644 --- a/types/react-color/v2/index.d.ts +++ b/types/react-color/v2/index.d.ts @@ -56,27 +56,24 @@ export interface RenderersProps { } | undefined; } -export type ColorChangeHandler = (color: T) => void; +export type ColorChangeHandler = (color: T) => void; -export { default as AlphaPicker, AlphaPickerProps } from "./lib/components/alpha/Alpha"; -export { default as BlockPicker, BlockPickerProps } from "./lib/components/block/Block"; -export { default as Checkboard, CheckboardProps } from "./lib/components/common/Checkboard"; -export { default as ChromePicker, ChromePickerProps } from "./lib/components/chrome/Chrome"; -export { default as CirclePicker, CirclePickerProps } from "./lib/components/circle/Circle"; -export { default as CompactPicker, CompactPickerProps } from "./lib/components/compact/Compact"; +export { AlphaPickerProps, default as AlphaPicker } from "./lib/components/alpha/Alpha"; +export { BlockPickerProps, default as BlockPicker } from "./lib/components/block/Block"; +export { ChromePickerProps, default as ChromePicker } from "./lib/components/chrome/Chrome"; +export { CirclePickerProps, default as CirclePicker } from "./lib/components/circle/Circle"; +export { CheckboardProps, default as Checkboard } from "./lib/components/common/Checkboard"; +export { + CustomPickerInjectedProps, + CustomPickerProps, + default as CustomPicker, +} from "./lib/components/common/ColorWrap"; +export { CompactPickerProps, default as CompactPicker } from "./lib/components/compact/Compact"; export { default as GithubPicker, GithubPickerProps } from "./lib/components/github/Github"; export { default as HuePicker, HuePickerProps } from "./lib/components/hue/Hue"; export { default as MaterialPicker, MaterialPickerProps } from "./lib/components/material/Material"; -export { - default as PhotoshopPicker, - PhotoshopPickerProps -} from "./lib/components/photoshop/Photoshop"; +export { default as PhotoshopPicker, PhotoshopPickerProps } from "./lib/components/photoshop/Photoshop"; export { default as SketchPicker, SketchPickerProps } from "./lib/components/sketch/Sketch"; export { default as SliderPicker, SliderPickerProps } from "./lib/components/slider/Slider"; export { default as SwatchesPicker, SwatchesPickerProps } from "./lib/components/swatches/Swatches"; export { default as TwitterPicker, TwitterPickerProps } from "./lib/components/twitter/Twitter"; -export { - default as CustomPicker, - CustomPickerInjectedProps, - CustomPickerProps -} from "./lib/components/common/ColorWrap"; diff --git a/types/react-color/v2/lib/components/alpha/Alpha.d.ts b/types/react-color/v2/lib/components/alpha/Alpha.d.ts index a9525dae035c53..93c168ef8b767d 100644 --- a/types/react-color/v2/lib/components/alpha/Alpha.d.ts +++ b/types/react-color/v2/lib/components/alpha/Alpha.d.ts @@ -1,6 +1,6 @@ import { Component, ComponentType, CSSProperties } from "react"; -import { RenderersProps, CustomPickerProps } from "../../.."; import { Classes } from "reactcss"; +import { CustomPickerProps, RenderersProps } from "../../.."; export interface AlphaPickerProps extends RenderersProps, CustomPickerProps { width?: string | undefined; @@ -12,7 +12,7 @@ export interface AlphaPickerProps extends RenderersProps, CustomPickerProps { className?: string | undefined; } -export default class AlphaPicker extends Component { } +export default class AlphaPicker extends Component {} export interface AlphaPickerStylesProps { picker: CSSProperties; diff --git a/types/react-color/v2/lib/components/block/Block.d.ts b/types/react-color/v2/lib/components/block/Block.d.ts index 68e73f40e4c6d0..48d2d5894f5001 100644 --- a/types/react-color/v2/lib/components/block/Block.d.ts +++ b/types/react-color/v2/lib/components/block/Block.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { CustomPickerProps, ColorState } from "../../.."; import { Classes } from "reactcss"; +import { ColorState, CustomPickerProps } from "../../.."; export interface BlockPickerStylesProps { card: CSSProperties; @@ -20,4 +20,4 @@ export interface BlockPickerProps extends CustomPickerProps { className?: string | undefined; } -export default class BlockPicker extends Component { } +export default class BlockPicker extends Component {} diff --git a/types/react-color/v2/lib/components/chrome/Chrome.d.ts b/types/react-color/v2/lib/components/chrome/Chrome.d.ts index 5208d212a62919..ff6457d49efca3 100644 --- a/types/react-color/v2/lib/components/chrome/Chrome.d.ts +++ b/types/react-color/v2/lib/components/chrome/Chrome.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { RenderersProps, CustomPickerProps } from "../../.."; import { Classes } from "reactcss"; +import { CustomPickerProps, RenderersProps } from "../../.."; export interface ChromePickerStylesProps { picker: CSSProperties; @@ -32,4 +32,4 @@ export interface ChromePickerProps extends RenderersProps, CustomPickerProps { className?: string | undefined; } -export default class ChromePicker extends Component { } +export default class ChromePicker extends Component {} diff --git a/types/react-color/v2/lib/components/circle/Circle.d.ts b/types/react-color/v2/lib/components/circle/Circle.d.ts index 73f10dc9f8eee1..a5d143ded1b847 100644 --- a/types/react-color/v2/lib/components/circle/Circle.d.ts +++ b/types/react-color/v2/lib/components/circle/Circle.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { CustomPickerProps, ColorState } from "../../.."; import { Classes } from "reactcss"; +import { ColorState, CustomPickerProps } from "../../.."; export interface CirclePickerStylesProps { card: CSSProperties; @@ -15,4 +15,4 @@ export interface CirclePickerProps extends CustomPickerProps { styles?: Partial> | undefined; } -export default class CirclePicker extends Component { } +export default class CirclePicker extends Component {} diff --git a/types/react-color/v2/lib/components/common/ColorWrap.d.ts b/types/react-color/v2/lib/components/common/ColorWrap.d.ts index 5b2810d2383fcf..e725b80a7fbb10 100644 --- a/types/react-color/v2/lib/components/common/ColorWrap.d.ts +++ b/types/react-color/v2/lib/components/common/ColorWrap.d.ts @@ -1,6 +1,6 @@ import { ComponentType } from "react"; -import { Color, ColorState, ColorChangeHandler, HSLColor, HSVColor, RGBColor } from "../../.."; import { Classes } from "reactcss"; +import { Color, ColorChangeHandler, ColorState, HSLColor, HSVColor, RGBColor } from "../../.."; type SetDifference = A extends B ? never : A; @@ -21,7 +21,7 @@ export interface CustomPickerProps { } export default function CustomPicker( - component: ComponentType + component: ComponentType, ): ComponentType & CustomPickerProps>; -export { }; +export {}; diff --git a/types/react-color/v2/lib/components/common/Saturation.d.ts b/types/react-color/v2/lib/components/common/Saturation.d.ts index 8749fcc48b3f91..36fb1841fe30e6 100644 --- a/types/react-color/v2/lib/components/common/Saturation.d.ts +++ b/types/react-color/v2/lib/components/common/Saturation.d.ts @@ -1,4 +1,4 @@ -import { Component, CSSProperties, ComponentType } from "react"; +import { Component, ComponentType, CSSProperties } from "react"; import { CustomPickerInjectedProps, HSVColor } from "../../.."; export interface SaturationStyle { diff --git a/types/react-color/v2/lib/components/compact/Compact.d.ts b/types/react-color/v2/lib/components/compact/Compact.d.ts index 4f6482f2b9cce9..30cb60735662fc 100644 --- a/types/react-color/v2/lib/components/compact/Compact.d.ts +++ b/types/react-color/v2/lib/components/compact/Compact.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { CustomPickerProps, ColorState } from "../../.."; import { Classes } from "reactcss"; +import { ColorState, CustomPickerProps } from "../../.."; export interface CompactPickerStylesProps { Compact?: CSSProperties | undefined; @@ -14,4 +14,4 @@ export interface CompactPickerProps extends CustomPickerProps { onSwatchHover?(color: ColorState, event: MouseEvent): void; } -export default class CompactPicker extends Component { } +export default class CompactPicker extends Component {} diff --git a/types/react-color/v2/lib/components/github/Github.d.ts b/types/react-color/v2/lib/components/github/Github.d.ts index 7e2262b673f738..74fc35cf0e92a2 100644 --- a/types/react-color/v2/lib/components/github/Github.d.ts +++ b/types/react-color/v2/lib/components/github/Github.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { CustomPickerProps, ColorState } from "../../.."; import { Classes } from "reactcss"; +import { ColorState, CustomPickerProps } from "../../.."; export interface GithubPickerStylesProps { card: CSSProperties; @@ -16,4 +16,4 @@ export interface GithubPickerProps extends CustomPickerProps { styles?: Partial> | undefined; } -export default class GithubPicker extends Component { } +export default class GithubPicker extends Component {} diff --git a/types/react-color/v2/lib/components/hue/Hue.d.ts b/types/react-color/v2/lib/components/hue/Hue.d.ts index 51af51006d4125..2add9999c2e2e2 100644 --- a/types/react-color/v2/lib/components/hue/Hue.d.ts +++ b/types/react-color/v2/lib/components/hue/Hue.d.ts @@ -1,6 +1,6 @@ import { Component, ComponentType, CSSProperties } from "react"; -import { CustomPickerProps } from "../../.."; import { Classes } from "reactcss"; +import { CustomPickerProps } from "../../.."; export interface HuePickerStylesProps { picker: CSSProperties; @@ -15,4 +15,4 @@ export interface HuePickerProps extends CustomPickerProps { styles?: Partial> | undefined; } -export default class HuePicker extends Component { } +export default class HuePicker extends Component {} diff --git a/types/react-color/v2/lib/components/material/Material.d.ts b/types/react-color/v2/lib/components/material/Material.d.ts index dded783c9a7287..195304e046b128 100644 --- a/types/react-color/v2/lib/components/material/Material.d.ts +++ b/types/react-color/v2/lib/components/material/Material.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { CustomPickerProps } from "../../.."; import { Classes } from "reactcss"; +import { CustomPickerProps } from "../../.."; export interface MaterialPickerStylesProps { material: CSSProperties; @@ -19,4 +19,4 @@ export interface MaterialPickerProps extends CustomPickerProps { styles?: Partial> | undefined; } -export default class MaterialPicker extends Component { } +export default class MaterialPicker extends Component {} diff --git a/types/react-color/v2/lib/components/photoshop/Photoshop.d.ts b/types/react-color/v2/lib/components/photoshop/Photoshop.d.ts index 8d0a661b3c5157..39e63a611c9070 100644 --- a/types/react-color/v2/lib/components/photoshop/Photoshop.d.ts +++ b/types/react-color/v2/lib/components/photoshop/Photoshop.d.ts @@ -1,6 +1,6 @@ -import { Component, MouseEvent, CSSProperties } from "react"; -import { CustomPickerProps } from "../../.."; +import { Component, CSSProperties, MouseEvent } from "react"; import { Classes } from "reactcss"; +import { CustomPickerProps } from "../../.."; export interface PhotoshopPickerStylesProps { picker: CSSProperties; @@ -22,4 +22,4 @@ export interface PhotoshopPickerProps extends CustomPickerProps { className?: string | undefined; } -export default class PhotoshopPicker extends Component { } +export default class PhotoshopPicker extends Component {} diff --git a/types/react-color/v2/lib/components/sketch/Sketch.d.ts b/types/react-color/v2/lib/components/sketch/Sketch.d.ts index 46d737d925ded4..69f1c5d0596190 100644 --- a/types/react-color/v2/lib/components/sketch/Sketch.d.ts +++ b/types/react-color/v2/lib/components/sketch/Sketch.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { CustomPickerProps, ColorState, RenderersProps } from "../../.."; import { Classes } from "reactcss"; +import { ColorState, CustomPickerProps, RenderersProps } from "../../.."; export interface SketchPickerStylesProps { picker: CSSProperties; @@ -25,6 +25,6 @@ export interface SketchPickerProps extends RenderersProps, CustomPickerProps { onSwatchHover?: ((color: ColorState, event: MouseEvent) => void) | undefined; } -export default class SketchPicker extends Component { } +export default class SketchPicker extends Component {} -export { }; +export {}; diff --git a/types/react-color/v2/lib/components/slider/Slider.d.ts b/types/react-color/v2/lib/components/slider/Slider.d.ts index 658d2a5c2458cd..1b9f917de1c410 100644 --- a/types/react-color/v2/lib/components/slider/Slider.d.ts +++ b/types/react-color/v2/lib/components/slider/Slider.d.ts @@ -1,6 +1,6 @@ import { Component, ComponentType, CSSProperties } from "react"; -import { CustomPickerProps } from "../../.."; import { Classes } from "reactcss"; +import { CustomPickerProps } from "../../.."; export interface SliderPickerStylesProps { hue: CSSProperties; @@ -12,4 +12,4 @@ export interface SliderPickerProps extends CustomPickerProps { styles?: Partial> | undefined; } -export default class SliderPicker extends Component { } +export default class SliderPicker extends Component {} diff --git a/types/react-color/v2/lib/components/swatches/Swatches.d.ts b/types/react-color/v2/lib/components/swatches/Swatches.d.ts index f4be4708fa9141..6adec5d9d3667e 100644 --- a/types/react-color/v2/lib/components/swatches/Swatches.d.ts +++ b/types/react-color/v2/lib/components/swatches/Swatches.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { CustomPickerProps, ColorState } from "../../.."; import { Classes } from "reactcss"; +import { ColorState, CustomPickerProps } from "../../.."; export interface SwatchesPickerStylesProps { picker?: CSSProperties | undefined; @@ -17,4 +17,4 @@ export interface SwatchesPickerProps extends CustomPickerProps { styles?: Partial> | undefined; } -export default class SwatchesPicker extends Component { } +export default class SwatchesPicker extends Component {} diff --git a/types/react-color/v2/lib/components/twitter/Twitter.d.ts b/types/react-color/v2/lib/components/twitter/Twitter.d.ts index 8a6652df3df42c..89a480ea219061 100644 --- a/types/react-color/v2/lib/components/twitter/Twitter.d.ts +++ b/types/react-color/v2/lib/components/twitter/Twitter.d.ts @@ -1,6 +1,6 @@ import { Component, CSSProperties } from "react"; -import { CustomPickerProps, ColorState } from "../../.."; import { Classes } from "reactcss"; +import { ColorState, CustomPickerProps } from "../../.."; export interface TwitterPickerStylesProps { card?: CSSProperties | undefined; @@ -22,4 +22,4 @@ export interface TwitterPickerProps extends CustomPickerProps { onSwatchHover?(color: ColorState, event: MouseEvent): void; } -export default class TwitterPicker extends Component { } +export default class TwitterPicker extends Component {} diff --git a/types/react-color/v2/react-color-tests.tsx b/types/react-color/v2/react-color-tests.tsx index b5420373d39197..9454b7eb79cf91 100644 --- a/types/react-color/v2/react-color-tests.tsx +++ b/types/react-color/v2/react-color-tests.tsx @@ -1,11 +1,12 @@ import * as React from "react"; -import { render } from "react-dom"; import { AlphaPicker, BlockPicker, ChromePicker, CirclePicker, CompactPicker, + CustomPicker, + CustomPickerInjectedProps, GithubPicker, HuePicker, MaterialPicker, @@ -14,20 +15,13 @@ import { SliderPicker, SwatchesPicker, TwitterPicker, - CustomPicker, - CustomPickerInjectedProps } from "react-color"; -import { - Alpha, - Checkboard, - EditableInput, - Hue, - Saturation -} from "react-color/lib/components/common"; +import { Alpha, Checkboard, EditableInput, Hue, Saturation } from "react-color/lib/components/common"; import { AlphaColorResult } from "react-color/lib/components/common/Alpha"; +import { EditableInputColorResult } from "react-color/lib/components/common/EditableInput"; import { HueColorResult } from "react-color/lib/components/common/Hue"; import { SaturationColorResult } from "react-color/lib/components/common/Saturation"; -import { EditableInputColorResult } from "react-color/lib/components/common/EditableInput"; +import { render } from "react-dom"; interface CustomProps extends CustomPickerInjectedProps { customProp: string; @@ -60,7 +54,7 @@ const CustomComponent: React.ComponentType = (props: CustomProps) = color.v; // $ExpectType number color.source; // $ExpectType "hsv" } - function onChangeInput(color: EditableInputColorResult<'test'>) { + function onChangeInput(color: EditableInputColorResult<"test">) { console.log(color); color.test; // $ExpectType string } @@ -126,7 +120,7 @@ const CustomComponent: React.ComponentType = (props: CustomProps) = }; const Custom = CustomPicker(CustomComponent); -const stringColor = '#000000'; +const stringColor = "#000000"; const color = { hex: "#000000" }; const colors = ["#000", "#333"]; @@ -143,7 +137,7 @@ render( onChangeComplete={() => {}} renderers={{ canvas: {} }} />, - document.getElementById("main") + document.getElementById("main"), ); render( @@ -158,7 +152,7 @@ render( onChangeComplete={() => {}} onSwatchHover={() => {}} />, - document.getElementById("main") + document.getElementById("main"), ); render( @@ -172,7 +166,7 @@ render( onChangeComplete={() => {}} renderers={{ canvas: {} }} />, - document.getElementById("main") + document.getElementById("main"), ); render( @@ -188,7 +182,7 @@ render( onChangeComplete={() => {}} onSwatchHover={() => {}} />, - document.getElementById("main") + document.getElementById("main"), ); render( @@ -201,7 +195,7 @@ render( onChangeComplete={() => {}} onSwatchHover={() => {}} />, - document.getElementById("main") + document.getElementById("main"), ); render( @@ -216,7 +210,7 @@ render( onChangeComplete={() => {}} onSwatchHover={() => {}} />, - document.getElementById("main") + document.getElementById("main"), ); render( @@ -231,7 +225,7 @@ render( onChange={() => {}} onChangeComplete={() => {}} />, - document.getElementById("main") + document.getElementById("main"), ); render( @@ -241,7 +235,7 @@ render( onChange={() => {}} onChangeComplete={() => {}} />, - document.getElementById("main") + document.getElementById("main"), ); render( @@ -255,7 +249,7 @@ render( onAccept={() => {}} onCancel={() => {}} />, - document.getElementById("main") + document.getElementById("main"), ); render( @@ -271,7 +265,7 @@ render( renderers={{ canvas: {} }} onSwatchHover={() => {}} />, - document.getElementById("main") + document.getElementById("main"), ); render( @@ -283,7 +277,7 @@ render( onChange={() => {}} onChangeComplete={() => {}} />, - document.getElementById("main") + document.getElementById("main"), ); render( @@ -298,7 +292,7 @@ render( onChangeComplete={() => {}} onSwatchHover={() => {}} />, - document.getElementById("main") + document.getElementById("main"), ); render( @@ -313,7 +307,7 @@ render( onChangeComplete={() => {}} onSwatchHover={() => {}} />, - document.getElementById("main") + document.getElementById("main"), ); render( @@ -323,7 +317,7 @@ render( onChange={() => {}} onChangeComplete={() => {}} />, - document.getElementById("main") + document.getElementById("main"), ); -render(, document.getElementById('main')); +render(, document.getElementById("main")); diff --git a/types/react-column-resizer/index.d.ts b/types/react-column-resizer/index.d.ts index 16635f3a8a93b6..f75462617e8186 100644 --- a/types/react-column-resizer/index.d.ts +++ b/types/react-column-resizer/index.d.ts @@ -3,7 +3,7 @@ // Definitions by: ibrahim // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { Component } from 'react'; +import { Component } from "react"; export interface ResizerProps { className?: string | undefined; diff --git a/types/react-column-resizer/react-column-resizer-tests.tsx b/types/react-column-resizer/react-column-resizer-tests.tsx index d9f7f8bf6e39ed..6aff7d63d08015 100644 --- a/types/react-column-resizer/react-column-resizer-tests.tsx +++ b/types/react-column-resizer/react-column-resizer-tests.tsx @@ -1,29 +1,29 @@ import * as React from "react"; +import ColumnResizer from "react-column-resizer"; import { render } from "react-dom"; -import ColumnResizer from 'react-column-resizer'; class TableComponent extends React.Component { - render() { - return ( -
    - - - - - - - + render() { + return ( +
    +
    12
    + + + + + + - - - - - -
    12
    3 - 4
    -
    - ); - } + + 3 + + 4 + + + +
    + ); + } } render(, document.getElementById("main")); diff --git a/types/react-combine-reducers/index.d.ts b/types/react-combine-reducers/index.d.ts index b26df62cc493aa..2b32c6d4db4ff1 100644 --- a/types/react-combine-reducers/index.d.ts +++ b/types/react-combine-reducers/index.d.ts @@ -3,7 +3,7 @@ // Definitions by: Raphaël Léger // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // Minimum TypeScript Version: 3.1 -import { Reducer, ReducerState } from 'react'; +import { Reducer, ReducerState } from "react"; declare function combineReducers>( reducers: { diff --git a/types/react-combine-reducers/react-combine-reducers-tests.ts b/types/react-combine-reducers/react-combine-reducers-tests.ts index 89145c281eeca6..81101373250ca0 100644 --- a/types/react-combine-reducers/react-combine-reducers-tests.ts +++ b/types/react-combine-reducers/react-combine-reducers-tests.ts @@ -1,4 +1,4 @@ -import combineReducers from 'react-combine-reducers'; +import combineReducers from "react-combine-reducers"; interface SimpleAction { type: string; @@ -6,23 +6,23 @@ interface SimpleAction { } interface GreeniesState { - fruit: 'apple' | 'pear' | 'kiwi'; - vegetable: 'carrot' | 'eggplant'; + fruit: "apple" | "pear" | "kiwi"; + vegetable: "carrot" | "eggplant"; } interface ProteinsState { - similiCarne: 'tofu' | 'seitan'; - vegetable: 'bean' | 'artichoke'; + similiCarne: "tofu" | "seitan"; + vegetable: "bean" | "artichoke"; } interface DrinkState { - beverage: 'water' | 'juice'; + beverage: "water" | "juice"; numberOfGlasses: number; } interface DessertState { - cake: 'chocolate' | 'cherry'; - drink: 'tea' | 'coffee'; + cake: "chocolate" | "cherry"; + drink: "tea" | "coffee"; } interface FullMealState { @@ -63,7 +63,7 @@ const greeniesReducer = (greeniesState: GreeniesState, action: SimpleAction) => }; // @ts-expect-error -combineReducers(''); +combineReducers(""); // @ts-expect-error combineReducers({}); @@ -73,7 +73,7 @@ combineReducers(); combineReducers({ // @ts-expect-error - books: ['The Book Thief'], + books: ["The Book Thief"], }); combineReducers({ @@ -96,8 +96,8 @@ combineReducers({ proteins: [ proteinsReducer, { - similiCarne: 'tofu', - vegetable: 'artichoke', + similiCarne: "tofu", + vegetable: "artichoke", }, ], }); @@ -106,23 +106,23 @@ combineReducers({ proteins: [ proteinsReducer, { - similiCarne: 'tofu', - vegetable: 'artichoke', + similiCarne: "tofu", + vegetable: "artichoke", }, ], greenies: [ // @ts-expect-error proteinsReducer, { - fruit: 'kiwi', - vegetable: 'eggplant', + fruit: "kiwi", + vegetable: "eggplant", }, ], drink: [ // @ts-expect-error proteinsReducer, { - beverage: 'juice', + beverage: "juice", numberOfGlasses: 2, }, ], @@ -130,8 +130,8 @@ combineReducers({ // @ts-expect-error proteinsReducer, { - cake: 'chocolate', - drink: 'tea', + cake: "chocolate", + drink: "tea", }, ], }); @@ -140,29 +140,29 @@ const [fullMealReducer, initialMeal] = combineReducers({ proteins: [ proteinsReducer, { - similiCarne: 'tofu', - vegetable: 'artichoke', + similiCarne: "tofu", + vegetable: "artichoke", }, ], greenies: [ greeniesReducer, { - fruit: 'kiwi', - vegetable: 'eggplant', + fruit: "kiwi", + vegetable: "eggplant", }, ], drink: [ drinkReducer, { - beverage: 'juice', + beverage: "juice", numberOfGlasses: 2, }, ], dessert: [ dessertReducer, { - cake: 'chocolate', - drink: 'tea', + cake: "chocolate", + drink: "tea", }, ], }); @@ -184,20 +184,20 @@ fullMealReducer({}, {}); fullMealReducer( { proteins: { - similiCarne: 'tofu', - vegetable: 'artichoke', + similiCarne: "tofu", + vegetable: "artichoke", }, greenies: { - fruit: 'kiwi', - vegetable: 'eggplant', + fruit: "kiwi", + vegetable: "eggplant", }, drink: { - beverage: 'juice', + beverage: "juice", numberOfGlasses: 2, }, dessert: { - cake: 'chocolate', - drink: 'tea', + cake: "chocolate", + drink: "tea", }, }, // @ts-expect-error @@ -207,25 +207,25 @@ fullMealReducer( fullMealReducer( { proteins: { - similiCarne: 'tofu', - vegetable: 'artichoke', + similiCarne: "tofu", + vegetable: "artichoke", }, greenies: { - fruit: 'kiwi', - vegetable: 'eggplant', + fruit: "kiwi", + vegetable: "eggplant", }, drink: { - beverage: 'juice', + beverage: "juice", numberOfGlasses: 2, }, dessert: { - cake: 'chocolate', - drink: 'tea', + cake: "chocolate", + drink: "tea", }, }, { - type: 'eat', - payload: 'everything', + type: "eat", + payload: "everything", }, ); diff --git a/types/react-command-palette/command-palette.d.ts b/types/react-command-palette/command-palette.d.ts index a78c2758e921c9..dc9eae7ec1acd7 100644 --- a/types/react-command-palette/command-palette.d.ts +++ b/types/react-command-palette/command-palette.d.ts @@ -1,4 +1,4 @@ -import * as React from 'react'; +import * as React from "react"; export interface Command { id: number; @@ -127,7 +127,7 @@ export interface Props { * * @default 'modal' */ - display?: 'modal' | 'inline'; + display?: "modal" | "inline"; /** * header a string or a React.ComponentType which provides a helpful description for diff --git a/types/react-command-palette/index.d.ts b/types/react-command-palette/index.d.ts index 7f69d126277012..4dc4982b7b5d46 100644 --- a/types/react-command-palette/index.d.ts +++ b/types/react-command-palette/index.d.ts @@ -3,8 +3,8 @@ // Definitions by: Martin Badin // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import CommandPalette from './command-palette'; +import CommandPalette from "./command-palette"; -export * from './command-palette'; +export * from "./command-palette"; export default CommandPalette; diff --git a/types/react-command-palette/react-command-palette-tests.tsx b/types/react-command-palette/react-command-palette-tests.tsx index a470315c5aac63..ea532f5395aa2d 100644 --- a/types/react-command-palette/react-command-palette-tests.tsx +++ b/types/react-command-palette/react-command-palette-tests.tsx @@ -1,19 +1,19 @@ -import * as React from 'react'; -import CommandPalette, { Command } from 'react-command-palette'; +import * as React from "react"; +import CommandPalette, { Command } from "react-command-palette"; const commands: Command[] = [ { id: 1, - color: 'pink', - name: 'Foo', + color: "pink", + name: "Foo", command() { document.location.href = `somepage.html?id=${this.id}&color=${this.color}`; }, }, { id: 1, - color: 'pink', - name: 'Bar', + color: "pink", + name: "Bar", command() { document.location.href = `somepage.html?id=${this.id}&color=${this.color}`; }, @@ -37,7 +37,7 @@ function RenderCommand({ id, color, name }: Command) { commands={commands} placeholder="Try typing '?st', '>st' or 'st'" defaultInputValue=">" - filterSearchQuery={inputValue => inputValue.replace(/^(>|\?)/g, '')} + filterSearchQuery={inputValue => inputValue.replace(/^(>|\?)/g, "")} open onChange={(inputValue, userQuery) => { alert(`The input was changed to:\n @@ -58,19 +58,19 @@ function RenderCommand({ id, color, name }: Command) { `); }} onAfterOpen={() => { - alert('The palette was opened.'); + alert("The palette was opened."); }} onRequestClose={() => { - alert('The palette was closed.'); + alert("The palette was closed."); }} renderCommand={RenderCommand} theme={{ - modal: 'my-modal', - overlay: 'my-overlay', - container: 'my-container', - header: 'my-header', - content: 'my-content', - input: 'my-input', + modal: "my-modal", + overlay: "my-overlay", + container: "my-container", + header: "my-header", + content: "my-content", + input: "my-input", }} trigger={Click Me!} />; diff --git a/types/react-compass/react-compass-tests.tsx b/types/react-compass/react-compass-tests.tsx index a757f0d438417c..4d09fab506463b 100644 --- a/types/react-compass/react-compass-tests.tsx +++ b/types/react-compass/react-compass-tests.tsx @@ -1,10 +1,10 @@ import * as React from "react"; -import ReactCompass from 'react-compass'; +import ReactCompass from "react-compass"; interface CompassProps { direction: number; } const CompassComp: React.FC = (props) => { - return (); + return ; }; diff --git a/types/react-component-benchmark/index.d.ts b/types/react-component-benchmark/index.d.ts index f9a059ab99acbb..b7d4cc843694d0 100644 --- a/types/react-component-benchmark/index.d.ts +++ b/types/react-component-benchmark/index.d.ts @@ -3,12 +3,12 @@ // Definitions by: Yi Fan // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { ComponentType, ForwardRefExoticComponent, RefAttributes } from 'react'; +import { ComponentType, ForwardRefExoticComponent, RefAttributes } from "react"; export const BenchmarkType: { - MOUNT: 'mount'; - UPDATE: 'update'; - UNMOUNT: 'unmount'; + MOUNT: "mount"; + UPDATE: "update"; + UNMOUNT: "unmount"; }; export interface Sample { diff --git a/types/react-component-benchmark/react-component-benchmark-tests.tsx b/types/react-component-benchmark/react-component-benchmark-tests.tsx index 4f8b0e225ba6a3..6d5a3f1ca6498c 100644 --- a/types/react-component-benchmark/react-component-benchmark-tests.tsx +++ b/types/react-component-benchmark/react-component-benchmark-tests.tsx @@ -2,8 +2,8 @@ * This test code is simplified from https://github.com/paularmstrong/react-component-benchmark-example */ -import * as React from 'react'; -import Benchmark, { BenchmarkRef, BenchmarkType, BenchResultsType } from 'react-component-benchmark'; +import * as React from "react"; +import Benchmark, { BenchmarkRef, BenchmarkType, BenchResultsType } from "react-component-benchmark"; // https://github.com/paularmstrong/react-component-benchmark-example/blob/main/src/Result.js @@ -55,9 +55,7 @@ function Results({ results }: ResultsProps) { p99 - {[...results].reverse().map((result, i) => ( - - ))} + {[...results].reverse().map((result, i) => )} ); } @@ -65,19 +63,21 @@ function Results({ results }: ResultsProps) { // https://github.com/paularmstrong/react-component-benchmark-example/blob/main/src/TestCases.js export function Tree({ breadth = 2, depth = 7 }) { - return breadth > 0 && depth > 0 ? ( -
    - {Array.from({ length: breadth }).map((_, index) => ( - - ))} -
    - ) : null; + return breadth > 0 && depth > 0 + ? ( +
    + {Array.from({ length: breadth }).map((_, index) => ( + + ))} +
    + ) + : null; } // https://github.com/paularmstrong/react-component-benchmark-example/blob/main/src/App.js -function resultsReducer(state: ResultInfo[] = [], results: ResultInfo | 'CLEAR') { - if (results === 'CLEAR') { +function resultsReducer(state: ResultInfo[] = [], results: ResultInfo | "CLEAR") { + if (results === "CLEAR") { return []; } state.push(results); diff --git a/types/react-confirm/index.d.ts b/types/react-confirm/index.d.ts index 450858cccaf157..ca1370ff2b6a40 100644 --- a/types/react-confirm/index.d.ts +++ b/types/react-confirm/index.d.ts @@ -8,7 +8,11 @@ import * as React from "react"; export function confirmable

    (component: React.ComponentType): React.ComponentType

    ; -export function createConfirmation(component: React.ComponentType, unmountDelay?: number, mountingNode?: HTMLElement): (props: any) => Promise; +export function createConfirmation( + component: React.ComponentType, + unmountDelay?: number, + mountingNode?: HTMLElement, +): (props: any) => Promise; export interface ReactConfirmProps { confirmation: string | React.ReactElement; diff --git a/types/react-confirm/react-confirm-tests.tsx b/types/react-confirm/react-confirm-tests.tsx index b2454dddf63d79..d7c8375cc9b91b 100644 --- a/types/react-confirm/react-confirm-tests.tsx +++ b/types/react-confirm/react-confirm-tests.tsx @@ -1,13 +1,13 @@ -import * as React from 'react'; -import { confirmable, createConfirmation, ReactConfirmProps } from 'react-confirm'; +import * as React from "react"; +import { confirmable, createConfirmation, ReactConfirmProps } from "react-confirm"; interface CustomModalProps { - title: string; + title: string; } class CustomModal extends React.Component { modalStyle() { - return this.props.show ? { display: 'none' } : undefined; + return this.props.show ? { display: "none" } : undefined; } render() { @@ -36,29 +36,29 @@ const ConfirmModal = confirmable(CustomModal); const confirm = createConfirmation(ConfirmModal); const markup = ( -

    - Are you sure you want to delete this item? -
    +
    + Are you sure you want to delete this item? +
    ); // This is how you can detect what option ("Yes" or "No") the user has chosen. confirm({ confirmation: markup }) - .then((result) => { - // User chose "Yes" - }) - .catch((result) => { - // User chose "No" - }); + .then((result) => { + // User chose "Yes" + }) + .catch((result) => { + // User chose "No" + }); const text = "Are you sure you want to buy this product?"; confirm({ confirmation: text }) - .then((result) => { - // User chose "Yes" - }) - .catch((result) => { - // User chose "No" - }); + .then((result) => { + // User chose "Yes" + }) + .catch((result) => { + // User chose "No" + }); // This is the function you need to call to override your confirmation object mount // Promise object it returns to handle "proceed()" or "cancel()" functions. @@ -67,9 +67,9 @@ document.body.appendChild(mountedNode); const mountedConfirm = createConfirmation(ConfirmModal, 1000, mountedNode); mountedConfirm({ confirmation: markup }) - .then((result) => { - // User chose "Yes" - }) - .catch((result) => { - // User chose "No" - }); + .then((result) => { + // User chose "Yes" + }) + .catch((result) => { + // User chose "No" + }); diff --git a/types/react-cookies/index.d.ts b/types/react-cookies/index.d.ts index d99979b4077c22..6835e430481096 100644 --- a/types/react-cookies/index.d.ts +++ b/types/react-cookies/index.d.ts @@ -3,8 +3,8 @@ // Definitions by: Nikolai Lopin // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { CookieSerializeOptions } from 'cookie'; -import { Request, Response } from 'express'; +import { CookieSerializeOptions } from "cookie"; +import { Request, Response } from "express"; /** * Load the cookie value. diff --git a/types/react-cookies/react-cookies-tests.ts b/types/react-cookies/react-cookies-tests.ts index 652f787f652028..f1d2cc2486ce44 100644 --- a/types/react-cookies/react-cookies-tests.ts +++ b/types/react-cookies/react-cookies-tests.ts @@ -1,10 +1,10 @@ -import reactCookies = require('react-cookies'); -import cookie = require('cookie'); -import express = require('express'); +import reactCookies = require("react-cookies"); +import cookie = require("cookie"); +import express = require("express"); -reactCookies.load('token'); -reactCookies.load('token', true); -reactCookies.load('token', false); +reactCookies.load("token"); +reactCookies.load("token", true); +reactCookies.load("token", false); reactCookies.loadAll(); reactCookies.loadAll(true); @@ -14,20 +14,20 @@ reactCookies.select(/\btest(er|ing|ed|s)?\b/g); reactCookies.select(); const options: cookie.CookieSerializeOptions = { - path: '/', + path: "/", expires: new Date(), maxAge: 200, - domain: 'example.com', + domain: "example.com", secure: false, httpOnly: false, - sameSite: 'strict', + sameSite: "strict", }; -reactCookies.save('cookie', 'value', options); -reactCookies.save('cookie', 1231, options); -reactCookies.save('cookie', { key: 'value' }, options); +reactCookies.save("cookie", "value", options); +reactCookies.save("cookie", 1231, options); +reactCookies.save("cookie", { key: "value" }, options); -reactCookies.remove('userId', { path: '/' }); +reactCookies.remove("userId", { path: "/" }); const app = express(); app.use((err: any, req: express.Request, res: express.Response) => { @@ -35,4 +35,4 @@ app.use((err: any, req: express.Request, res: express.Response) => { unplug(); }); -reactCookies.setRawCookie('Cookie: PHPSESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1;'); +reactCookies.setRawCookie("Cookie: PHPSESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1;"); diff --git a/types/react-copy-to-clipboard/index.d.ts b/types/react-copy-to-clipboard/index.d.ts index 0e1126f4673c4e..84522a67593b60 100644 --- a/types/react-copy-to-clipboard/index.d.ts +++ b/types/react-copy-to-clipboard/index.d.ts @@ -5,7 +5,7 @@ // Ward Delabastita // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import * as React from 'react'; +import * as React from "react"; export as namespace CopyToClipboard; diff --git a/types/react-copy-to-clipboard/react-copy-to-clipboard-tests.tsx b/types/react-copy-to-clipboard/react-copy-to-clipboard-tests.tsx index 45d18d75a59f62..32291ca750d4c1 100644 --- a/types/react-copy-to-clipboard/react-copy-to-clipboard-tests.tsx +++ b/types/react-copy-to-clipboard/react-copy-to-clipboard-tests.tsx @@ -1,9 +1,9 @@ -import * as React from 'react'; -import { CopyToClipboard } from 'react-copy-to-clipboard'; +import * as React from "react"; +import { CopyToClipboard } from "react-copy-to-clipboard"; function OnlyRequiredProps() { return ( - + ); @@ -12,9 +12,9 @@ function OnlyRequiredProps() { function AllProps() { return ( {}} - options={{ debug: true, message: 'message', format: 'text/plain' }} + options={{ debug: true, message: "message", format: "text/plain" }} > Copy to clipboard with span diff --git a/types/react-copy-write/index.d.ts b/types/react-copy-write/index.d.ts index c30b481cc967ed..23eec2ebaa1329 100644 --- a/types/react-copy-write/index.d.ts +++ b/types/react-copy-write/index.d.ts @@ -5,7 +5,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import { Component } from 'react'; +import { Component } from "react"; // It'd be nice if this could somehow be improved! Perhaps we need variadic // kinds plus infer keyword? Alternatively unions may solve our issue if we had @@ -43,10 +43,10 @@ interface ProviderProps { declare class Provider extends Component> {} declare function create(state: T): { - Provider: new() => Provider, - Consumer: new() => Consumer, - createSelector: SelectorFn, - mutate: Mutator, + Provider: new() => Provider; + Consumer: new() => Consumer; + createSelector: SelectorFn; + mutate: Mutator; }; export default create; diff --git a/types/react-copy-write/react-copy-write-tests.tsx b/types/react-copy-write/react-copy-write-tests.tsx index 8effd459869e2b..21378ee300668a 100644 --- a/types/react-copy-write/react-copy-write-tests.tsx +++ b/types/react-copy-write/react-copy-write-tests.tsx @@ -1,28 +1,31 @@ -import * as React from 'react'; -import { render } from 'react-dom'; -import createStore from 'react-copy-write'; +import * as React from "react"; +import createStore from "react-copy-write"; +import { render } from "react-dom"; const { Provider, Consumer, mutate } = createStore({ - letter: 'a', + letter: "a", number: 1, }); -const incrementNumber = () => mutate((draft) => { - draft.number++; -}); +const incrementNumber = () => + mutate((draft) => { + draft.number++; + }); const App = () => (
    - {state => ( -
    Letter: {state.letter}
    - )} + {state =>
    Letter: {state.letter}
    }
    - ( -
    Number (increment): {state.number}
    - )} /> + ( +
    + Number (increment): {state.number} +
    + )} + />
    ); diff --git a/types/react-count-to/react-count-to-tests.tsx b/types/react-count-to/react-count-to-tests.tsx index bda749424f1a6b..14526e20e7b378 100644 --- a/types/react-count-to/react-count-to-tests.tsx +++ b/types/react-count-to/react-count-to-tests.tsx @@ -9,7 +9,7 @@ export class Test extends React.Component {
    - {(value) => {value}} + {(value) => {value}}
    ); diff --git a/types/react-credit-cards/react-credit-cards-tests.tsx b/types/react-credit-cards/react-credit-cards-tests.tsx index 8e1a92f002ef83..e471f28c22e5fc 100644 --- a/types/react-credit-cards/react-credit-cards-tests.tsx +++ b/types/react-credit-cards/react-credit-cards-tests.tsx @@ -8,15 +8,15 @@ const defaultProps: ReactCreditCardProps = { expiry: "04/18", focused: "number", issuer: "visa", - locale: {valid: "valid through"}, + locale: { valid: "valid through" }, name: "Name Surname", number: "4111111111111111", - placeholders: {name: "YOUR NAME"}, - preview: true + placeholders: { name: "YOUR NAME" }, + preview: true, }; class CardTest extends React.Component { render() { - return (); + return ; } } diff --git a/types/react-cropper/index.d.ts b/types/react-cropper/index.d.ts index c26f1feeacc4ad..dec42ccef608b9 100644 --- a/types/react-cropper/index.d.ts +++ b/types/react-cropper/index.d.ts @@ -5,12 +5,12 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // Minimum TypeScript Version: 3.7 -import Cropper from 'cropperjs'; -import * as React from 'react'; +import Cropper from "cropperjs"; +import * as React from "react"; type Omit = Pick>; -interface ReactCropperProps extends Cropper.Options, Omit, 'data' | 'ref'> { +interface ReactCropperProps extends Cropper.Options, Omit, "data" | "ref"> { ref?: React.LegacyRef | undefined; } diff --git a/types/react-cropper/react-cropper-tests.tsx b/types/react-cropper/react-cropper-tests.tsx index df79c4a90253c9..a9e8f54e237c15 100644 --- a/types/react-cropper/react-cropper-tests.tsx +++ b/types/react-cropper/react-cropper-tests.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import Cropper from 'react-cropper'; +import * as React from "react"; +import Cropper from "react-cropper"; // If you choose not to use import, you need to assign Cropper to default // var Cropper = require('react-cropper').default @@ -9,7 +9,7 @@ import Cropper from 'react-cropper'; class Demo extends React.Component { crop() { // image in dataUrl - console.log((this.refs['cropper'] as any).getCroppedCanvas().toDataURL()); + console.log((this.refs["cropper"] as any).getCroppedCanvas().toDataURL()); } render() { @@ -17,7 +17,7 @@ class Demo extends React.Component { = () => { void) | undefined; - transition?: string | null | undefined; - } - class Collapse extends React.Component { - render(): React.ReactElement; - } - export default Collapse; +declare module "react-css-collapse" { + interface Props { + children?: React.ReactNode; + isOpen: boolean; + className?: string | null | undefined; + onRest?: (() => void) | undefined; + transition?: string | null | undefined; + } + class Collapse extends React.Component { + render(): React.ReactElement; + } + export default Collapse; } diff --git a/types/react-css-collapse/react-css-collapse-tests.tsx b/types/react-css-collapse/react-css-collapse-tests.tsx index be11b492e0fc53..e0d42125da0e35 100644 --- a/types/react-css-collapse/react-css-collapse-tests.tsx +++ b/types/react-css-collapse/react-css-collapse-tests.tsx @@ -1,7 +1,7 @@ import * as React from "react"; import { FC } from "react"; -import { render } from "react-dom"; import Collapse from "react-css-collapse"; +import { render } from "react-dom"; const TestOpen: FC = () => ( diff --git a/types/react-css-modules/index.d.ts b/types/react-css-modules/index.d.ts index d6349fc9e4562f..8d6a551b18f010 100644 --- a/types/react-css-modules/index.d.ts +++ b/types/react-css-modules/index.d.ts @@ -6,7 +6,7 @@ interface TypeOptions { allowMultiple?: boolean | undefined; - handleNotFoundStyleName?: 'throw' | 'log' | 'ignore' | undefined; + handleNotFoundStyleName?: "throw" | "log" | "ignore" | undefined; } type StylesObject = any; @@ -29,7 +29,7 @@ declare let CSSModules: CSSModules; export = CSSModules; -declare module 'react' { +declare module "react" { interface Attributes { styleName?: string | undefined; } diff --git a/types/react-css-modules/react-css-modules-tests.tsx b/types/react-css-modules/react-css-modules-tests.tsx index 5b378be0a2e544..e381db3344c317 100644 --- a/types/react-css-modules/react-css-modules-tests.tsx +++ b/types/react-css-modules/react-css-modules-tests.tsx @@ -1,77 +1,73 @@ -import * as React from 'react'; -import CSSModules = require('react-css-modules'); +import * as React from "react"; +import CSSModules = require("react-css-modules"); const styles = {}; interface TableProps extends CSSModules.InjectedCSSModuleProps { - } class Table extends React.Component { - render () { + render() { const { styles } = this.props; - return
    -
    -
    A0
    -
    B0
    + return ( +
    +
    +
    A0
    +
    B0
    +
    -
    ; + ); } } const TableHOC = CSSModules(Table, styles); - - interface TableDecoratedProps extends CSSModules.InjectedCSSModuleProps { - } @CSSModules(styles) class TableDecorated extends React.Component { - render () { + render() { const { styles } = this.props; - return
    -
    -
    A0
    -
    B0
    + return ( +
    +
    +
    A0
    +
    B0
    +
    -
    ; + ); } } - interface TableProps extends CSSModules.InjectedCSSModuleProps { - } class Svg extends React.Component { - render () { + render() { const { styles } = this.props; - return - - - - - ; + return ( + + + + + + + ); } } class ClassComponent extends React.Component { render() { - return ( -
    - ); + return
    ; } } function FunctionComponent() { - return ( -
    - ); + return
    ; } class TestClassComponent { @@ -85,5 +81,4 @@ class TestClassComponent { } } - const SvgHOC = CSSModules(Svg, styles); diff --git a/types/react-css-transition-replace/index.d.ts b/types/react-css-transition-replace/index.d.ts index fd0eb92c755ca5..f30fee5ba7b06c 100644 --- a/types/react-css-transition-replace/index.d.ts +++ b/types/react-css-transition-replace/index.d.ts @@ -9,8 +9,8 @@ import * as CSSTransitionGroup from "react-addons-css-transition-group"; declare namespace CSSTransitionReplace { interface Props extends React.CSSTransitionGroupProps { - changeWidth?: boolean | undefined - overflowHidden?: boolean | undefined + changeWidth?: boolean | undefined; + overflowHidden?: boolean | undefined; } } diff --git a/types/react-css-transition-replace/react-css-transition-replace-tests.tsx b/types/react-css-transition-replace/react-css-transition-replace-tests.tsx index acbd376a1b3bf3..ed3f351954de52 100644 --- a/types/react-css-transition-replace/react-css-transition-replace-tests.tsx +++ b/types/react-css-transition-replace/react-css-transition-replace-tests.tsx @@ -1,10 +1,10 @@ -import * as React from "react" -import { render } from 'react-dom'; +import * as React from "react"; +import { render } from "react-dom"; import CSSTransitionReplace = require("react-css-transition-replace"); render(
    Test
    , - document.getElementById("main") -) + document.getElementById("main"), +); diff --git a/types/react-csv/components/CommonPropTypes.d.ts b/types/react-csv/components/CommonPropTypes.d.ts index f49204e4cd1585..e95fb74fd03f18 100644 --- a/types/react-csv/components/CommonPropTypes.d.ts +++ b/types/react-csv/components/CommonPropTypes.d.ts @@ -2,7 +2,10 @@ import { MouseEventHandler } from "react"; import { Data, Headers } from "../lib/core"; export type SyncClickHandler = (event: MouseEventHandler) => boolean | void; -export type AsyncClickHandler = (event: MouseEventHandler, done: (proceed?: boolean) => void) => void; +export type AsyncClickHandler = ( + event: MouseEventHandler, + done: (proceed?: boolean) => void, +) => void; export interface CommonPropTypes { data: string | Data | (() => string | Data); diff --git a/types/react-csv/components/Link.d.ts b/types/react-csv/components/Link.d.ts index 4fe1cd8d9ded57..2be3e37bf1690a 100644 --- a/types/react-csv/components/Link.d.ts +++ b/types/react-csv/components/Link.d.ts @@ -4,13 +4,14 @@ import { CommonPropTypes } from "./CommonPropTypes"; // eslint-disable-next-line @definitelytyped/strict-export-declare-modifiers type Omit = Pick>; -export interface LinkProps - extends CommonPropTypes, - Omit< - React.DetailedHTMLProps< - React.AnchorHTMLAttributes, - HTMLAnchorElement - >, - "onClick" - > {} +export interface LinkProps extends + CommonPropTypes, + Omit< + React.DetailedHTMLProps< + React.AnchorHTMLAttributes, + HTMLAnchorElement + >, + "onClick" + > +{} export default class Link extends Component {} diff --git a/types/react-csv/index.d.ts b/types/react-csv/index.d.ts index 1390ce1361b8b4..58858e06c921c2 100644 --- a/types/react-csv/index.d.ts +++ b/types/react-csv/index.d.ts @@ -4,5 +4,5 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -export { default as CSVLink } from "./components/Link"; export { default as CSVDownload } from "./components/Download"; +export { default as CSVLink } from "./components/Link"; diff --git a/types/react-csv/react-csv-tests.tsx b/types/react-csv/react-csv-tests.tsx index c5a4b01e2fb596..409e4b58d55d2d 100644 --- a/types/react-csv/react-csv-tests.tsx +++ b/types/react-csv/react-csv-tests.tsx @@ -1,19 +1,19 @@ import * as React from "react"; -import { render } from "react-dom"; -import { CSVLink, CSVDownload } from "react-csv"; +import { CSVDownload, CSVLink } from "react-csv"; import { toCSV } from "react-csv/lib/core"; +import { render } from "react-dom"; const headers = [ { label: "First Name", key: "details.firstName" }, { label: "Last Name", key: "details.lastName" }, - { label: "Job", key: "job" } + { label: "Job", key: "job" }, ]; const headersStrings = ["foo", "bar"]; const data = [ { details: { firstName: "Ahmed", lastName: "Tomi" }, job: "manager" }, - { details: { firstName: "John", lastName: "Jones" }, job: "developer" } + { details: { firstName: "John", lastName: "Jones" }, job: "developer" }, ]; const dataFunction = () => data; @@ -25,23 +25,22 @@ Yezzi,Min l3b `; const syncOnClickReturn = ( - event: React.MouseEventHandler + event: React.MouseEventHandler, ) => { window.console.log(event); return true; }; -const syncOnClickVoid = (event: React.MouseEventHandler) => - window.console.log(event); +const syncOnClickVoid = (event: React.MouseEventHandler) => window.console.log(event); const asyncOnClickReturn = ( event: React.MouseEventHandler, - done: (proceed?: boolean) => void + done: (proceed?: boolean) => void, ) => { window.console.log(event); done(true); }; const asyncOnClickVoid = ( event: React.MouseEventHandler, - done: (proceed?: boolean) => void + done: (proceed?: boolean) => void, ) => { window.console.log(event); done(); @@ -62,7 +61,7 @@ render( separator={","} filename={"bob.csv"} />, - node + node, ); render( , - node + node, ); render( , - node + node, ); render( , - node + node, ); render( , - node + node, ); render( , - node + node, ); render( , - node + node, ); render( , - node + node, ); render(, node); @@ -163,7 +162,7 @@ render( target={"_blank"} separator={","} />, - node + node, ); render( , - node + node, ); render( , - node + node, ); render( , - node + node, ); render( , - node + node, ); render( , - node + node, ); render( , - node + node, ); render( , - node + node, ); render( , - node + node, ); toCSV(data, headers, ",", `"`); diff --git a/types/react-currency-format/index.d.ts b/types/react-currency-format/index.d.ts index 8a1c96f8897a13..c2a3c4c1d025e0 100644 --- a/types/react-currency-format/index.d.ts +++ b/types/react-currency-format/index.d.ts @@ -3,13 +3,13 @@ // Definitions by: Guilherme Samuel // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { Component, ComponentType, HTMLAttributes, InputHTMLAttributes } from 'react'; +import { Component, ComponentType, HTMLAttributes, InputHTMLAttributes } from "react"; declare namespace CurrencyFormat { /** * Available input type attributes which the component supports. */ - type InputType = 'text' | 'tel'; + type InputType = "text" | "tel"; /** * A value object containing the formatted value, the original value and the float value. @@ -23,12 +23,12 @@ declare namespace CurrencyFormat { // The component accepts all the props which can be given to a input or span based on displayType selected. type DisplayTypeInput = InputHTMLAttributes & { - displayType?: 'input'; + displayType?: "input"; customInput?: ComponentType; }; type DisplayTypeText = HTMLAttributes & { - displayType?: 'text'; + displayType?: "text"; customInput?: never; }; @@ -36,26 +36,27 @@ declare namespace CurrencyFormat { * Props accepted by the component. * @see {@link https://github.com/mohitgupta8888/react-currency-format#props} */ - type StrictProps = Partial<{ - thousandSeparator: string | boolean; - thousandSpacing: '2' | '2s' | '3' | '4'; - decimalSeparator: string; - decimalScale: number; - fixedDecimalScale: boolean; - allowNegative: boolean; - prefix: string; - suffix: string; - value: number | string | null; - isNumericString: boolean; - type: InputType; - format: string | ((unformatedInput: string) => string); - removeFormatting: (formattedValue: string) => string; - mask: string | string[]; - onValueChange: (values: Values) => void; - isAllowed: (values: Values) => boolean; - renderText: (formattedValue: string) => JSX.Element; - }> & - (DisplayTypeText | DisplayTypeInput); + type StrictProps = + & Partial<{ + thousandSeparator: string | boolean; + thousandSpacing: "2" | "2s" | "3" | "4"; + decimalSeparator: string; + decimalScale: number; + fixedDecimalScale: boolean; + allowNegative: boolean; + prefix: string; + suffix: string; + value: number | string | null; + isNumericString: boolean; + type: InputType; + format: string | ((unformatedInput: string) => string); + removeFormatting: (formattedValue: string) => string; + mask: string | string[]; + onValueChange: (values: Values) => void; + isAllowed: (values: Values) => boolean; + renderText: (formattedValue: string) => JSX.Element; + }> + & (DisplayTypeText | DisplayTypeInput); /** * Props accepted by the component and any other prop of the customInput. diff --git a/types/react-currency-format/react-currency-format-tests.tsx b/types/react-currency-format/react-currency-format-tests.tsx index fbe168fbeade7f..990501a1beca41 100644 --- a/types/react-currency-format/react-currency-format-tests.tsx +++ b/types/react-currency-format/react-currency-format-tests.tsx @@ -1,5 +1,5 @@ -import React = require('react'); -import CurrencyFormat = require('react-currency-format'); +import React = require("react"); +import CurrencyFormat = require("react-currency-format"); // When displayType is text, the component should have attributes of a span element. ; @@ -39,16 +39,16 @@ import CurrencyFormat = require('react-currency-format'); ; -; +; function limit(val: string, max: string) { if (val.length === 1 && val[0] > max[0]) { - val = '0' + val; + val = "0" + val; } if (val.length === 2) { if (Number(val) === 0) { - val = '01'; + val = "01"; } else if (val > max) { val = max; } @@ -58,10 +58,10 @@ function limit(val: string, max: string) { } function cardExpiry(val: string) { - const month = limit(val.substring(0, 2), '12'); + const month = limit(val.substring(0, 2), "12"); const year = val.substring(2, 4); - return month + (year.length ? '/' + year : ''); + return month + (year.length ? "/" + year : ""); } ; @@ -70,7 +70,7 @@ function cardExpiry(val: string) { const TextField = ({ title }: { title: string }) => ; -TextField.displayName = 'Custom Text Field'; +TextField.displayName = "Custom Text Field"; ; diff --git a/types/react-currency-formatter/index.d.ts b/types/react-currency-formatter/index.d.ts index b056ef917671ba..cc3799caba05ca 100644 --- a/types/react-currency-formatter/index.d.ts +++ b/types/react-currency-formatter/index.d.ts @@ -5,7 +5,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; interface CurrencyFormatterProps { quantity: number; diff --git a/types/react-currency-formatter/react-currency-formatter-tests.tsx b/types/react-currency-formatter/react-currency-formatter-tests.tsx index cfb41cf23581c8..d3ae993faa3418 100644 --- a/types/react-currency-formatter/react-currency-formatter-tests.tsx +++ b/types/react-currency-formatter/react-currency-formatter-tests.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import * as CurrencyFormatter from 'react-currency-formatter'; +import * as React from "react"; +import * as CurrencyFormatter from "react-currency-formatter"; interface Props { price: number; diff --git a/types/react-curved-text/index.d.ts b/types/react-curved-text/index.d.ts index b8e8e191ecbf54..0e510a59a85388 100644 --- a/types/react-curved-text/index.d.ts +++ b/types/react-curved-text/index.d.ts @@ -3,14 +3,14 @@ // Definitions by: Sam Gaus // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import * as React from 'react'; +import * as React from "react"; export default class ReactCurvedText extends React.Component< ReactCurvedTextProps, any - > {} +> {} - export interface ReactCurvedTextProps { +export interface ReactCurvedTextProps { /** * Text to be displayed */ @@ -80,4 +80,4 @@ export default class ReactCurvedText extends React.Component< * Props to be passed to the svg element */ svgProps?: React.SVGProps; - } +} diff --git a/types/react-curved-text/react-curved-text-tests.tsx b/types/react-curved-text/react-curved-text-tests.tsx index 6766c2d81b0174..b9115c168befe7 100644 --- a/types/react-curved-text/react-curved-text-tests.tsx +++ b/types/react-curved-text/react-curved-text-tests.tsx @@ -1,6 +1,6 @@ -import * as React from 'react'; +import * as React from "react"; -import ReactCurvedText from 'react-curved-text'; +import ReactCurvedText from "react-curved-text"; function MyCurvedText() { return ( @@ -14,9 +14,9 @@ function MyCurvedText() { ry={100} startOffset={53} textProps={{ - fill: "#9cc19b", - fontFamily: "Luckybones", - fontSize: "20px", + fill: "#9cc19b", + fontFamily: "Luckybones", + fontSize: "20px", }} /> ); diff --git a/types/react-custom-scroll/index.d.ts b/types/react-custom-scroll/index.d.ts index 80ae3109a3892f..e51a29d354c985 100644 --- a/types/react-custom-scroll/index.d.ts +++ b/types/react-custom-scroll/index.d.ts @@ -5,7 +5,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 3.5 -import { ComponentClass, ReactNode } from 'react'; +import { ComponentClass, ReactNode } from "react"; /** * Props for a CustomScroll component. diff --git a/types/react-custom-scroll/react-custom-scroll-tests.tsx b/types/react-custom-scroll/react-custom-scroll-tests.tsx index 9c682813bdd7f0..f1b9d33d3ad4e8 100644 --- a/types/react-custom-scroll/react-custom-scroll-tests.tsx +++ b/types/react-custom-scroll/react-custom-scroll-tests.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import CustomScroll from 'react-custom-scroll'; +import * as React from "react"; +import CustomScroll from "react-custom-scroll"; const onScrollStub = () => 1; export const _ = () => ( diff --git a/types/react-custom-scrollbars/react-custom-scrollbars-tests.tsx b/types/react-custom-scrollbars/react-custom-scrollbars-tests.tsx index 6fe45eb5a5ea8a..165b3024bd4a4b 100644 --- a/types/react-custom-scrollbars/react-custom-scrollbars-tests.tsx +++ b/types/react-custom-scrollbars/react-custom-scrollbars-tests.tsx @@ -1,10 +1,10 @@ -import * as React from "react" -import { render } from 'react-dom'; -import Scrollbars from "react-custom-scrollbars" +import * as React from "react"; +import Scrollbars from "react-custom-scrollbars"; +import { render } from "react-dom"; render(
    Test
    , - document.getElementById("main") -) + document.getElementById("main"), +); diff --git a/types/react-custom-scrollbars/v3/react-custom-scrollbars-tests.tsx b/types/react-custom-scrollbars/v3/react-custom-scrollbars-tests.tsx index 6fe45eb5a5ea8a..165b3024bd4a4b 100644 --- a/types/react-custom-scrollbars/v3/react-custom-scrollbars-tests.tsx +++ b/types/react-custom-scrollbars/v3/react-custom-scrollbars-tests.tsx @@ -1,10 +1,10 @@ -import * as React from "react" -import { render } from 'react-dom'; -import Scrollbars from "react-custom-scrollbars" +import * as React from "react"; +import Scrollbars from "react-custom-scrollbars"; +import { render } from "react-dom"; render(
    Test
    , - document.getElementById("main") -) + document.getElementById("main"), +); diff --git a/types/react-cytoscapejs/index.d.ts b/types/react-cytoscapejs/index.d.ts index 01d47a5ce355b1..398dc0d5a42939 100644 --- a/types/react-cytoscapejs/index.d.ts +++ b/types/react-cytoscapejs/index.d.ts @@ -4,8 +4,8 @@ // newraina // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import cytoscape = require('cytoscape'); -import { Component, CSSProperties } from 'react'; +import cytoscape = require("cytoscape"); +import { Component, CSSProperties } from "react"; interface CytoscapeComponentProps { id?: string | undefined; @@ -45,9 +45,9 @@ declare class CytoscapeComponent extends Component { static normalizeElements( data: | { - nodes: cytoscape.ElementDefinition[]; - edges: cytoscape.ElementDefinition[]; - } + nodes: cytoscape.ElementDefinition[]; + edges: cytoscape.ElementDefinition[]; + } | cytoscape.ElementDefinition[], ): cytoscape.ElementDefinition[]; } diff --git a/types/react-cytoscapejs/react-cytoscapejs-tests.tsx b/types/react-cytoscapejs/react-cytoscapejs-tests.tsx index e207a84d86ae55..f29c000af4cce8 100644 --- a/types/react-cytoscapejs/react-cytoscapejs-tests.tsx +++ b/types/react-cytoscapejs/react-cytoscapejs-tests.tsx @@ -1,11 +1,11 @@ -import CytoscapeComponent from 'react-cytoscapejs'; -import * as React from 'react'; +import * as React from "react"; +import CytoscapeComponent from "react-cytoscapejs"; const elements = [ - { data: { id: 'one', label: 'Node 1' }, position: { x: 0, y: 0 } }, - { data: { id: 'two', label: 'Node 2' }, position: { x: 100, y: 0 } }, + { data: { id: "one", label: "Node 1" }, position: { x: 0, y: 0 } }, + { data: { id: "two", label: "Node 2" }, position: { x: 100, y: 0 } }, { - data: { source: 'one', target: 'two', label: 'Edge from Node1 to Node2' }, + data: { source: "one", target: "two", label: "Edge from Node1 to Node2" }, }, ]; @@ -15,7 +15,7 @@ export class Example extends React.Component {
    ); diff --git a/types/react-d3-graph/index.d.ts b/types/react-d3-graph/index.d.ts index 50b04bc61fc96b..0010ba4f42225a 100644 --- a/types/react-d3-graph/index.d.ts +++ b/types/react-d3-graph/index.d.ts @@ -5,7 +5,7 @@ // Nate Moore // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { Component, MouseEvent } from 'react'; +import { Component, MouseEvent } from "react"; export type NodeLabelProperty = ((node: N) => string) | keyof N; export type LinkLabelProperty = ((node: L) => string) | keyof L; @@ -15,9 +15,9 @@ export type NodeWithExtraParameters = GraphNode & { [key: string]: string }; export type NodeSize = | number | { - width: number; - height: number; - }; + width: number; + height: number; + }; export interface NodeLevelNodeConfiguration { color: string; @@ -48,12 +48,12 @@ export interface GraphLevelNodeConfiguration { highlightColor: string; highlightFontSize: number; highlightFontWeight: string; - highlightStrokeColor: 'SAME' | string; - highlightStrokeWidth: 'SAME' | number; + highlightStrokeColor: "SAME" | string; + highlightStrokeWidth: "SAME" | number; mouseCursor: string; viewGenerator: (node: N) => any; labelProperty: NodeLabelProperty; - labelPosition: 'left' | 'right' | 'top' | 'bottom' | 'center'; + labelPosition: "left" | "right" | "top" | "bottom" | "center"; } export interface GraphNode extends Partial { diff --git a/types/react-d3-graph/react-d3-graph-tests.tsx b/types/react-d3-graph/react-d3-graph-tests.tsx index 623c49a09b5c43..0dfa4885826e91 100644 --- a/types/react-d3-graph/react-d3-graph-tests.tsx +++ b/types/react-d3-graph/react-d3-graph-tests.tsx @@ -1,11 +1,11 @@ -import * as React from 'react'; -import { Graph, Link, Node } from 'react-d3-graph'; +import * as React from "react"; +import { Graph, Link, Node } from "react-d3-graph"; const nodes = [ - { id: 'node1', labelProperty: 'id' }, - { id: 'node2', name: 'node2Name' }, + { id: "node1", labelProperty: "id" }, + { id: "node2", name: "node2Name" }, { - id: 'node3', + id: "node3", size: { width: 100, height: 200, @@ -15,7 +15,7 @@ const nodes = [ type INode = typeof nodes[number]; -const links = [{ source: 'node1', target: 'node2' }]; +const links = [{ source: "node1", target: "node2" }]; type ILink = typeof links[number]; export class Example extends React.Component { @@ -30,34 +30,34 @@ export class Example extends React.Component { data={{ nodes, links, - focusedNodeId: 'node1', + focusedNodeId: "node1", }} config={{ node: { - color: 'green', - fontColor: 'blue', + color: "green", + fontColor: "blue", opacity: 0.5, renderLabel: true, size: 100, - strokeColor: 'white', + strokeColor: "white", strokeWidth: 100, - svg: '', - symbolType: 'circle', + svg: "", + symbolType: "circle", viewGenerator: node =>
    {node.name}
    , - labelProperty: node => node.name || 'No name', - labelPosition: 'bottom', + labelProperty: node => node.name || "No name", + labelPosition: "bottom", }, link: { fontSize: 10, - fontWeight: 'bold', - highlightColor: '#fff', - highlightFontWeight: '100', - labelProperty: () => 'Label', + fontWeight: "bold", + highlightColor: "#fff", + highlightFontWeight: "100", + labelProperty: () => "Label", renderLabel: true, semanticStrokeWidth: true, markerHeight: 100, - type: 'circle', - mouseCursor: 'pointer', + type: "circle", + mouseCursor: "pointer", }, automaticRearrangeAfterDropNode: true, collapsible: true, diff --git a/types/react-data-grid/index.d.ts b/types/react-data-grid/index.d.ts index 4f981b1ee9c5ba..bcdcbbd33d93dc 100644 --- a/types/react-data-grid/index.d.ts +++ b/types/react-data-grid/index.d.ts @@ -37,118 +37,118 @@ declare namespace AdazzleReactDataGrid { * Gets the data to render in each row. Required. * Can be an array or a function that takes an index and returns an object. */ - rowGetter: Array | ((rowIdx: number) => T) + rowGetter: Array | ((rowIdx: number) => T); /** * The total number of rows to render. Required. */ - rowsCount: number + rowsCount: number; /** * The columns to render. */ - columns?: Array> | undefined + columns?: Array> | undefined; /** * Called when the grid is scrolled */ - onScroll?:((scrollState:ScrollState) => void) | undefined + onScroll?: ((scrollState: ScrollState) => void) | undefined; /** * Invoked when the user changes the value of a single cell. * Should update that cell's value. * @param e Information about the event */ - onRowUpdated?: ((e: RowUpdateEvent) => void) | undefined + onRowUpdated?: ((e: RowUpdateEvent) => void) | undefined; /** * Invoked when the user pulls down the drag handle of an editable cell. * Should update the values of the selected cells. * @param e Information about the event */ - onCellsDragged?: ((e: CellDragEvent) => void) | undefined + onCellsDragged?: ((e: CellDragEvent) => void) | undefined; /** * Invoked when the user clicks on one cell to expand it. * @param e Information about the event */ - onCellExpand?: ((e:CellExpandEvent) => void) | undefined + onCellExpand?: ((e: CellExpandEvent) => void) | undefined; - getSubRowDetails?: ((row: T) => SubRowDetails) | undefined + getSubRowDetails?: ((row: T) => SubRowDetails) | undefined; /** * Invoked when the user double clicks on the drag handle of an editable cell. * Should update the values of the cells beneath the selected cell. * @param e Information about the event */ - onDragHandleDoubleClick?: ((e: DragHandleDoubleClickEvent) => void) | undefined + onDragHandleDoubleClick?: ((e: DragHandleDoubleClickEvent) => void) | undefined; /** * Invoked when the user copies a value from one cell and pastes it into another (in the same column). * Should update the value of the cell in row e.toRow. * @param e Information about the event */ - onCellCopyPaste?: ((e: CellCopyPasteEvent) => void) | undefined + onCellCopyPaste?: ((e: CellCopyPasteEvent) => void) | undefined; /** * Invoked after the user updates the grid rows in any way. * @param e Information about the event */ - onGridRowsUpdated?: ((e: GridRowsUpdatedEvent) => void) | undefined + onGridRowsUpdated?: ((e: GridRowsUpdatedEvent) => void) | undefined; /** * A toolbar to display above the grid. * Consider using the toolbar included in "react-data-grid/addons". */ - toolbar?: React.ReactElement | undefined + toolbar?: React.ReactElement | undefined; /** * A context menu to disiplay when the user right-clicks a cell. * Consider using "react-contextmenu", included in "react-data-grid/addons". */ - contextMenu?: React.ReactElement | undefined + contextMenu?: React.ReactElement | undefined; /** * A react component to customize how rows are rendered. * If you want to define your own, consider extending ReactDataGrid.Row. */ - rowRenderer?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined + rowRenderer?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined; /** * A react component to customize how the grouping header row is rendered */ - rowGroupRenderer?: React.ComponentType | undefined + rowGroupRenderer?: React.ComponentType | undefined; /** * A component to display when there are no rows to render. */ - emptyRowsView?: React.ComponentClass | React.FunctionComponent | undefined + emptyRowsView?: React.ComponentClass | React.FunctionComponent | undefined; /** * The minimum width of the entire grid in pixels. */ - minWidth?: number | undefined + minWidth?: number | undefined; /** * The minimum height of the entire grid in pixels. * @default 350 */ - minHeight?: number | undefined + minHeight?: number | undefined; /** * The height of each individual row in pixels. * @default 35 */ - rowHeight?: number | undefined + rowHeight?: number | undefined; /** * The height of the header row in pixels. * @default rowHeight */ - headerRowHeight?: number | undefined + headerRowHeight?: number | undefined; /** * The height of the header filter row in pixels. * @default 45 */ - headerFiltersHeight?: number | undefined + headerFiltersHeight?: number | undefined; /** * The minimum width of each column in pixels. * @default 80 */ - minColumnWidth?: number | undefined + minColumnWidth?: number | undefined; /** * Invoked when a column has been resized. * @param index The index of the column * @param width The new width of the column */ - onColumnResize?: ((index: number, width: number) => void) | undefined + onColumnResize?: ((index: number, width: number) => void) | undefined; /** * Controls what happens when the user navigates beyond the first or last cells. @@ -157,7 +157,7 @@ declare namespace AdazzleReactDataGrid { * 'none' will do nothing. * @default none */ - cellNavigationMode?: 'none' | 'loopOverRow' | 'changeRow' | undefined + cellNavigationMode?: "none" | "loopOverRow" | "changeRow" | undefined; /** * Called when the user sorts the grid by some column. @@ -165,29 +165,29 @@ declare namespace AdazzleReactDataGrid { * @param sortColumn The name of the column being sorted by * @param sortDirection The direction to sort ('ASC'/'DESC'/'NONE') */ - onGridSort?: ((sortColumn: string, sortDirection: 'ASC' | 'DESC' | 'NONE') => void) | undefined + onGridSort?: ((sortColumn: string, sortDirection: "ASC" | "DESC" | "NONE") => void) | undefined; /** * Initial sorting direction */ - sortDirection?: 'ASC' | 'DESC' | 'NONE' | undefined + sortDirection?: "ASC" | "DESC" | "NONE" | undefined; /** * key of the initial sorted column */ - sortColumn?: string | undefined + sortColumn?: string | undefined; /** * Called when the user filters a column by some value. * Should restrict the rows in rowGetter to only things that match the filter. * @param filter The filter being added */ - onAddFilter?: ((filter: Filter) => void) | undefined + onAddFilter?: ((filter: Filter) => void) | undefined; /** * Called when the user clears all filters. * Should restore the rows in rowGetter to their original state. */ - onClearFilters?: (() => void) | undefined + onClearFilters?: (() => void) | undefined; /** * When set to true or 'multi', enables multiple row select. @@ -195,61 +195,61 @@ declare namespace AdazzleReactDataGrid { * When set to false or not set, disables row select. * @default false */ - enableRowSelect?: boolean | 'single' | 'multi' | undefined + enableRowSelect?: boolean | "single" | "multi" | undefined; /** * Called when a row is selected. * @param rows The (complete) current selection of rows. */ - onRowSelect?: ((rows: Array) => void) | undefined + onRowSelect?: ((rows: Array) => void) | undefined; /** * A property that's unique to every row. * This property is required to enable row selection. * @default 'id' */ - rowKey?: string | undefined + rowKey?: string | undefined; /** * Enables cells to be selected when clicked. * @default false */ - enableCellSelect?: boolean | undefined + enableCellSelect?: boolean | undefined; /** * Enables cells to be dragged and dropped * @default false */ - enableDragAndDrop?: boolean | undefined + enableDragAndDrop?: boolean | undefined; /** * Called when a cell is selected. * @param coordinates The row and column indices of the selected cell. */ - onCellSelected?: ((coordinates: {rowIdx: number, idx: number}) => void) | undefined + onCellSelected?: ((coordinates: { rowIdx: number; idx: number }) => void) | undefined; /** * Called when a cell is deselected. * @param coordinates The row and column indices of the deselected cell. */ - onCellDeSelected?: ((coordinates: {rowIdx: number, idx: number}) => void) | undefined + onCellDeSelected?: ((coordinates: { rowIdx: number; idx: number }) => void) | undefined; /** * How long to wait before rendering a new row while scrolling in milliseconds. * @default 0 */ - rowScrollTimeout?: number | undefined + rowScrollTimeout?: number | undefined; /** * Options object for selecting rows */ rowSelection?: { - showCheckbox?: boolean | undefined - enableShiftSelect?: boolean | undefined - onRowsSelected?: ((rows: Array>) => void) | undefined, - onRowsDeselected?: ((rows: Array>) => void) | undefined, + showCheckbox?: boolean | undefined; + enableShiftSelect?: boolean | undefined; + onRowsSelected?: ((rows: Array>) => void) | undefined; + onRowsDeselected?: ((rows: Array>) => void) | undefined; selectBy?: { indexes?: Array | undefined; - keys?: { rowKey: string, values: Array } | undefined; + keys?: { rowKey: string; values: Array } | undefined; isSelectedKey?: string | undefined; - } | undefined - } | undefined + } | undefined; + } | undefined; /** * A custom formatter for the select all checkbox cell * @default react-data-grid/src/formatters/SelectAll.js @@ -266,13 +266,13 @@ declare namespace AdazzleReactDataGrid { * @param rowIdx zero index number of row clicked * @param row object behind the row */ - onRowClick?: ((rowIdx: number, row: T) => void) | undefined + onRowClick?: ((rowIdx: number, row: T) => void) | undefined; /** * An event function called when a row is expanded with the toggle * @param props OnRowExpandToggle object */ - onRowExpandToggle?: ((props: OnRowExpandToggle ) => void) | undefined + onRowExpandToggle?: ((props: OnRowExpandToggle) => void) | undefined; /** * Responsible for returning an Array of values that can be used for filtering @@ -280,15 +280,15 @@ declare namespace AdazzleReactDataGrid { * displays a list of options. * @param columnKey the column key that we are looking to pull values from */ - getValidFilterValues?: ((columnKey: string) => Array) | undefined + getValidFilterValues?: ((columnKey: string) => Array) | undefined; - getCellActions?: ((column: Column, row: T) => (ActionButton | ActionMenu)[]) | undefined + getCellActions?: ((column: Column, row: T) => (ActionButton | ActionMenu)[]) | undefined; } type ActionButton = { icon: string; callback: () => void; - } + }; type ActionMenu = { icon: string; @@ -297,7 +297,7 @@ declare namespace AdazzleReactDataGrid { text: string; callback: () => void; }[]; - } + }; /** * Information about a specific column to be rendered. @@ -307,36 +307,36 @@ declare namespace AdazzleReactDataGrid { * A unique key for this column. Required. * Each row should have a property with this name, which contains this column's value. */ - key: string + key: string; /** * This column's display name. Required. */ - name: string + name: string; /** * A custom width for this specific column. * @default minColumnWidth from the ReactDataGrid */ - width?: number | undefined + width?: number | undefined; /** * Whether this column can be resized by the user. * @default false */ - resizable?: boolean | undefined + resizable?: boolean | undefined; /** * Whether this column should stay fixed on the left as the user scrolls horizontally. * @default false */ - locked?: boolean | undefined + locked?: boolean | undefined; /** * Whether this column can be edited. * @default false */ - editable?: boolean | undefined + editable?: boolean | undefined; /** * Whether the rows in the grid can be sorted by this column. * @default false */ - sortable?: boolean | undefined + sortable?: boolean | undefined; /** * Whether the rows in the grid can be filtered by this column. * @default false @@ -353,15 +353,16 @@ declare namespace AdazzleReactDataGrid { editor?: | React.ReactElement | React.ComponentClass - | React.FunctionComponent | undefined; + | React.FunctionComponent + | undefined; /** * A custom read-only formatter for this column. An image formatter is available in "react-data-grid/addons". */ - formatter?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined + formatter?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined; /** * A custom formatter for this column's header. */ - headerRenderer?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined + headerRenderer?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined; /** * Events to be bound to the cells in this specific column. * Each event must respect this standard in order to work correctly: @@ -369,7 +370,7 @@ declare namespace AdazzleReactDataGrid { * function onXxx(ev :SyntheticEvent, (rowIdx, idx, name): args) */ events?: { - [name: string]: ColumnEventCallback + [name: string]: ColumnEventCallback; } | undefined; /** * Retrieve meta data about the row, optionally provide column as a second argument @@ -386,11 +387,11 @@ declare namespace AdazzleReactDataGrid { draggable?: boolean | undefined; } enum SCROLL_DIRECTION { - UP = 'upwards', - DOWN = 'downwards', - LEFT = 'left', - RIGHT = 'right', - NONE = 'none' + UP = "upwards", + DOWN = "downwards", + LEFT = "left", + RIGHT = "right", + NONE = "none", } interface ScrollState { @@ -416,7 +417,7 @@ declare namespace AdazzleReactDataGrid { * @param ev The react event * @param args The row and column coordinates of the cell, and the name of the event. */ - (ev: React.SyntheticEvent, args: {rowIdx: number, idx: number, name: string}): void + (ev: React.SyntheticEvent, args: { rowIdx: number; idx: number; name: string }): void; } /** @@ -427,19 +428,19 @@ declare namespace AdazzleReactDataGrid { /** * The index of the updated row. */ - rowIdx: number + rowIdx: number; /** * The columns that were updated and their values. */ - updated: T + updated: T; /** * The name of the column that was updated. */ - cellKey: string + cellKey: string; /** * The name of the key pressed to trigger the event ('Tab', 'Enter', etc.). */ - key: string + key: string; } /** @@ -449,41 +450,41 @@ declare namespace AdazzleReactDataGrid { /** * The name of the column that was dragged. */ - cellKey: string + cellKey: string; /** * The row where the drag began. */ - fromRow: number + fromRow: number; /** * The row where the drag ended. */ - toRow: number + toRow: number; /** * The value of the cell that was dragged. */ - value: any + value: any; } /** - * Information about a cell expanded. - */ + * Information about a cell expanded. + */ interface CellExpandEvent { /** * The row index where the cell is being expanded. */ - rowIdx: number + rowIdx: number; /** * The column index where the cell is being expanded. */ - idx: number + idx: number; /** * The values of the row. */ - rowData: T + rowData: T; /** * Expand data. */ - expandArgs: any + expandArgs: any; } /** @@ -520,19 +521,19 @@ declare namespace AdazzleReactDataGrid { /** * The row where the double click occurred. */ - rowIdx: number + rowIdx: number; /** * The column where the double click occurred. */ - idx: number + idx: number; /** * The values of the row. */ - rowData: T + rowData: T; /** * The double click event. */ - e: React.SyntheticEvent + e: React.SyntheticEvent; } /** @@ -542,23 +543,23 @@ declare namespace AdazzleReactDataGrid { /** * The row that was pasted to. */ - rowIdx: number + rowIdx: number; /** * The value that was pasted. */ - value: any + value: any; /** * The row that was copied from. */ - fromRow: number + fromRow: number; /** * The row that was pasted to. */ - toRow: number + toRow: number; /** * The key of the column where the copy paste occurred. */ - cellKey: string + cellKey: string; } /** @@ -569,24 +570,24 @@ declare namespace AdazzleReactDataGrid { /** * The key of the column where the event occurred. */ - cellKey: string + cellKey: string; /** * The top row affected by the event. */ - fromRow: number + fromRow: number; /** * The bottom row affected by the event. */ - toRow: number + toRow: number; /** * The columns that were updated and their values. */ - updated: T + updated: T; /** * The action that occurred to trigger this event. * One of 'cellUpdate', 'cellDrag', 'columnFill', or 'copyPaste'. */ - action: 'cellUpdate' | 'cellDrag' | 'columnFill' | 'copyPaste' + action: "cellUpdate" | "cellDrag" | "columnFill" | "copyPaste"; } /** @@ -596,15 +597,15 @@ declare namespace AdazzleReactDataGrid { /** * The name of the column group the row is in */ - columnGroupName: string + columnGroupName: string; /** * The name of the expanded row */ - name: string + name: string; /** * If it should expand or not */ - shouldExpand: boolean + shouldExpand: boolean; } /** @@ -614,11 +615,11 @@ declare namespace AdazzleReactDataGrid { /** * The key of the column being filtered. */ - columnKey: string + columnKey: string; /** * The term to filter by. */ - filterTerm: string + filterTerm: string; } /** @@ -662,15 +663,15 @@ declare namespace AdazzleReactDataGrid { /** * A react component that renders a row of the grid */ - export class Row extends React.Component { } + export class Row extends React.Component {} /** * A react coponent that renders a cell of the grid */ - export class Cell extends React.Component { } + export class Cell extends React.Component {} } - } +} - declare namespace AdazzleReactDataGridPlugins { +declare namespace AdazzleReactDataGridPlugins { interface AutoCompleteEditorProps { onCommit?: (() => void) | undefined; options?: Array<{ id: any; title: string }> | undefined; @@ -693,13 +694,14 @@ declare namespace AdazzleReactDataGrid { } interface DropDownEditorProps { - options: - Array; + options: Array< + string | { + id: string; + title: string; + value: string; + text: string; + } + >; } export namespace Editors { @@ -712,53 +714,53 @@ declare namespace AdazzleReactDataGrid { export class CheckboxEditor extends React.Component {} } export namespace Filters { - export class NumericFilter extends React.Component { } - export class AutoCompleteFilter extends React.Component { } - export class MultiSelectFilter extends React.Component { } - export class SingleSelectFilter extends React.Component { } + export class NumericFilter extends React.Component {} + export class AutoCompleteFilter extends React.Component {} + export class MultiSelectFilter extends React.Component {} + export class SingleSelectFilter extends React.Component {} } export namespace Formatters { - export class ImageFormatter extends React.Component { } - export class DropDownFormatter extends React.Component { } + export class ImageFormatter extends React.Component {} + export class DropDownFormatter extends React.Component {} } export class Toolbar extends React.Component {} export namespace DraggableHeader { - export class DraggableContainer extends React.Component{ } + export class DraggableContainer extends React.Component {} } export namespace Data { export const Selectors: { getRows: (state: object) => object[]; getSelectedRowsByKey: (state: object) => object[]; - } + }; } // TODO: re-export the react-contextmenu typings once those exist // https://github.com/vkbansal/react-contextmenu/issues/10 export namespace Menu { - export class ContextMenu extends React.Component { } - export class MenuHeader extends React.Component { } - export class MenuItem extends React.Component { } - export class SubMenu extends React.Component { } + export class ContextMenu extends React.Component {} + export class MenuHeader extends React.Component {} + export class MenuItem extends React.Component {} + export class SubMenu extends React.Component {} export const monitor: { - getItem(): any - getPosition(): any - hideMenu(): void + getItem(): any; + getPosition(): any; + hideMenu(): void; }; export function connect(Menu: any): any; export function ContextMenuLayer( identifier: any, - configure?: (props: any) => any - ): (Component: any) => any + configure?: (props: any) => any, + ): (Component: any) => any; } - } +} - declare module "react-data-grid" { +declare module "react-data-grid" { import ReactDataGrid = AdazzleReactDataGrid.ReactDataGrid; // commonjs export export = ReactDataGrid; - } +} - declare module "react-data-grid-addons" { +declare module "react-data-grid-addons" { import Plugins = AdazzleReactDataGridPlugins; import Editors = Plugins.Editors; import Filters = Plugins.Filters; @@ -769,28 +771,20 @@ declare namespace AdazzleReactDataGrid { import DraggableHeader = Plugins.DraggableHeader; // ES6 named exports - export { - Editors, - Filters, - Formatters, - Toolbar, - Menu, - Data, - DraggableHeader - } + export { Data, DraggableHeader, Editors, Filters, Formatters, Menu, Toolbar }; // attach to window global { interface Window { ReactDataGridPlugins: { - Editors: typeof Editors, - Filters: typeof Filters, - Formatters: typeof Formatters, - Toolbar: typeof Toolbar, - Menu: typeof Menu, - Data: typeof Data, - DraggableHeader: typeof DraggableHeader - } + Editors: typeof Editors; + Filters: typeof Filters; + Formatters: typeof Formatters; + Toolbar: typeof Toolbar; + Menu: typeof Menu; + Data: typeof Data; + DraggableHeader: typeof DraggableHeader; + }; } } - } +} diff --git a/types/react-data-grid/react-data-grid-tests.tsx b/types/react-data-grid/react-data-grid-tests.tsx index dc23d2a996056a..923c8531c8a29e 100644 --- a/types/react-data-grid/react-data-grid-tests.tsx +++ b/types/react-data-grid/react-data-grid-tests.tsx @@ -1,7 +1,7 @@ -import * as React from 'react'; -import ReactDataGrid = require('react-data-grid'); -import * as ReactDataGridPlugins from 'react-data-grid-addons'; -import faker = require('faker'); +import * as React from "react"; +import ReactDataGrid = require("react-data-grid"); +import * as ReactDataGridPlugins from "react-data-grid-addons"; +import faker = require("faker"); var Editors = ReactDataGridPlugins.Editors; var Toolbar = ReactDataGridPlugins.Toolbar; @@ -10,25 +10,25 @@ var DropDownEditor = Editors.DropDownEditor; var { Selectors } = ReactDataGridPlugins.Data; class CustomFilterHeaderCell extends React.Component { - state = { - filterTerm: "" - }; - handleChange(e: any) { - let val = e.target.value; - this.setState({filterTerm: val}); - this.props.onChange({filterTerm: val, column: this.props.column}); - } - render() { - return ( -
    - this.handleChange(e)} /> -
    - ); - } + state = { + filterTerm: "", + }; + handleChange(e: any) { + let val = e.target.value; + this.setState({ filterTerm: val }); + this.props.onChange({ filterTerm: val, column: this.props.column }); + } + render() { + return ( +
    + this.handleChange(e)} /> +
    + ); + } } class CustomRowSelectorCell extends ReactDataGridPlugins.Editors.CheckboxEditor { - render(){ + render() { return super.render(); } } @@ -41,26 +41,26 @@ export interface ICustomSelectAllProps { class CustomSelectAll extends React.Component { render() { return ( -
    +
    - +
    ); } } -faker.locale = 'en_GB'; +faker.locale = "en_GB"; -function createFakeRowObjectData(index:number):Object { +function createFakeRowObjectData(index: number): Object { return { - id: 'id_' + index, + id: "id_" + index, avartar: faker.image.avatar(), county: faker.address.county(), email: faker.internet.email(), @@ -74,12 +74,12 @@ function createFakeRowObjectData(index:number):Object { catchPhrase: faker.company.catchPhrase(), companyName: faker.company.companyName(), words: faker.lorem.words(), - sentence: faker.lorem.sentence() + sentence: faker.lorem.sentence(), }; } -function createRows(numberOfRows:number) { - var rows:Object[] = []; +function createRows(numberOfRows: number) { + var rows: Object[] = []; for (var i = 0; i < numberOfRows; i++) { rows[i] = createFakeRowObjectData(i); } @@ -87,182 +87,182 @@ function createRows(numberOfRows:number) { } var counties = [ - {id: 0, title: 'Bedfordshire'}, - {id: 1, title: 'Berkshire'}, - {id: 2, title: 'Buckinghamshire'}, - {id: 3, title: 'Cambridgeshire'}, - {id: 4, title: 'Cheshire'}, - {id: 5, title: 'Cornwall'}, - {id: 6, title: 'Cumbria, (Cumberland)'}, - {id: 7, title: 'Derbyshire'}, - {id: 8, title: 'Devon'}, - {id: 9, title: 'Dorset'}, - {id: 10, title: 'Durham'}, - {id: 11, title: 'Essex'}, - {id: 12, title: 'Gloucestershire'}, - {id: 13, title: 'Hampshire'}, - {id: 14, title: 'Hertfordshire'}, - {id: 15, title: 'Huntingdonshire'}, - {id: 16, title: 'Kent'}, - {id: 17, title: 'Lancashire'}, - {id: 18, title: 'Leicestershire'}, - {id: 19, title: 'Lincolnshire'}, - {id: 20, title: 'Middlesex'}, - {id: 21, title: 'Norfolk'}, - {id: 22, title: 'Northamptonshire'}, - {id: 23, title: 'Northumberland'}, - {id: 24, title: 'Nottinghamshire'}, - {id: 25, title: 'Northamptonshire'}, - {id: 26, title: 'Oxfordshire'}, - {id: 27, title: 'Northamptonshire'}, - {id: 28, title: 'Rutland'}, - {id: 29, title: 'Shropshire'}, - {id: 30, title: 'Somerset'}, - {id: 31, title: 'Staffordshire'}, - {id: 32, title: 'Suffolk'}, - {id: 33, title: 'Surrey'}, - {id: 34, title: 'Sussex'}, - {id: 35, title: 'Warwickshire'}, - {id: 36, title: 'Westmoreland'}, - {id: 37, title: 'Wiltshire'}, - {id: 38, title: 'Worcestershire'}, - {id: 39, title: 'Yorkshire'} + { id: 0, title: "Bedfordshire" }, + { id: 1, title: "Berkshire" }, + { id: 2, title: "Buckinghamshire" }, + { id: 3, title: "Cambridgeshire" }, + { id: 4, title: "Cheshire" }, + { id: 5, title: "Cornwall" }, + { id: 6, title: "Cumbria, (Cumberland)" }, + { id: 7, title: "Derbyshire" }, + { id: 8, title: "Devon" }, + { id: 9, title: "Dorset" }, + { id: 10, title: "Durham" }, + { id: 11, title: "Essex" }, + { id: 12, title: "Gloucestershire" }, + { id: 13, title: "Hampshire" }, + { id: 14, title: "Hertfordshire" }, + { id: 15, title: "Huntingdonshire" }, + { id: 16, title: "Kent" }, + { id: 17, title: "Lancashire" }, + { id: 18, title: "Leicestershire" }, + { id: 19, title: "Lincolnshire" }, + { id: 20, title: "Middlesex" }, + { id: 21, title: "Norfolk" }, + { id: 22, title: "Northamptonshire" }, + { id: 23, title: "Northumberland" }, + { id: 24, title: "Nottinghamshire" }, + { id: 25, title: "Northamptonshire" }, + { id: 26, title: "Oxfordshire" }, + { id: 27, title: "Northamptonshire" }, + { id: 28, title: "Rutland" }, + { id: 29, title: "Shropshire" }, + { id: 30, title: "Somerset" }, + { id: 31, title: "Staffordshire" }, + { id: 32, title: "Suffolk" }, + { id: 33, title: "Surrey" }, + { id: 34, title: "Sussex" }, + { id: 35, title: "Warwickshire" }, + { id: 36, title: "Westmoreland" }, + { id: 37, title: "Wiltshire" }, + { id: 38, title: "Worcestershire" }, + { id: 39, title: "Yorkshire" }, ]; -var titles = ['Dr.', 'Mr.', 'Mrs.', 'Miss', 'Ms.']; +var titles = ["Dr.", "Mr.", "Mrs.", "Miss", "Ms."]; -var columns:ReactDataGrid.Column[] = [ +var columns: ReactDataGrid.Column[] = [ { - key: 'id', - name: 'ID', + key: "id", + name: "ID", width: 80, - resizable: true + resizable: true, }, { - key: 'avartar', - name: 'Avartar', + key: "avartar", + name: "Avartar", width: 60, formatter: ReactDataGridPlugins.Formatters.ImageFormatter, resizable: true, - headerRenderer: + headerRenderer: , }, { - key: 'county', - name: 'County', - editor: , + key: "county", + name: "County", + editor: , width: 200, resizable: true, getRowMetaData: (rowdata: any, column: ReactDataGrid.Column) => { return {}; - } + }, }, { - key: 'title', - name: 'Title', - editor: , + key: "title", + name: "Title", + editor: , width: 200, resizable: true, events: { - onDoubleClick: function () { + onDoubleClick: function() { console.log("The user double clicked on title column"); - } - } + }, + }, }, { - key: 'firstName', - name: 'First Name', + key: "firstName", + name: "First Name", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'lastName', - name: 'Last Name', + key: "lastName", + name: "Last Name", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'email', - name: 'Email', + key: "email", + name: "Email", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'street', - name: 'Street', + key: "street", + name: "Street", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'zipCode', - name: 'ZipCode', + key: "zipCode", + name: "ZipCode", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'date', - name: 'Date', + key: "date", + name: "Date", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'bs', - name: 'bs', + key: "bs", + name: "bs", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'catchPhrase', - name: 'Catch Phrase', + key: "catchPhrase", + name: "Catch Phrase", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'companyName', - name: 'Company Name', + key: "companyName", + name: "Company Name", editable: true, width: 200, resizable: true, filterable: true, - filterRenderer: CustomFilterHeaderCell + filterRenderer: CustomFilterHeaderCell, }, { - key: 'sentence', - name: 'Sentence', + key: "sentence", + name: "Sentence", editable: true, width: 200, resizable: true, - cellClass: 'sentence-class' - } + cellClass: "sentence-class", + }, ]; class Example extends React.Component { getInitialState() { var fakeRows = createRows(2000); - return {rows: fakeRows}; + return { rows: fakeRows }; } getColumns() { var clonedColumns = columns.slice(); clonedColumns[2].events = { - onClick: (ev:React.SyntheticEvent, args:{idx:number, rowIdx:number}) => { + onClick: (ev: React.SyntheticEvent, args: { idx: number; rowIdx: number }) => { var idx = args.idx; var rowIdx = args.rowIdx; (this.refs.grid as ReactDataGrid<{}>).openCellEditor(rowIdx, idx); - } + }, }; return clonedColumns; } - handleGridRowsUpdated(updatedRowData:ReactDataGrid.GridRowsUpdatedEvent) { + handleGridRowsUpdated(updatedRowData: ReactDataGrid.GridRowsUpdatedEvent) { var rows = this.state.rows; for (var i = updatedRowData.fromRow; i <= updatedRowData.toRow; i++) { @@ -271,17 +271,17 @@ class Example extends React.Component { rows[i] = updatedRow; } - this.setState({rows: rows}); + this.setState({ rows: rows }); } - onRowExpandToggle = ({ columnGroupName, name, shouldExpand }:ReactDataGrid.OnRowExpandToggle ) => { + onRowExpandToggle = ({ columnGroupName, name, shouldExpand }: ReactDataGrid.OnRowExpandToggle) => { let expandedRows = Object.assign({}, this.state.expandedRows); expandedRows[columnGroupName] = Object.assign({}, expandedRows[columnGroupName]); - expandedRows[columnGroupName][name] = {isExpanded: shouldExpand}; - this.setState({expandedRows: expandedRows}); - } + expandedRows[columnGroupName][name] = { isExpanded: shouldExpand }; + this.setState({ expandedRows: expandedRows }); + }; - onRowClick(rowIdx:number, row: Object) { + onRowClick(rowIdx: number, row: Object) { // Do nothing, just test that it accepts an event } @@ -291,19 +291,19 @@ class Example extends React.Component { return rows; } - handleAddRow(e:any) { + handleAddRow(e: any) { var newRow = { value: e.newRowIndex, - userStory: '', - developer: '', - epic: '' + userStory: "", + developer: "", + epic: "", }; var rows = this.state.rows; rows.push(newRow); - this.setState({rows: rows}); + this.setState({ rows: rows }); } - getRowAt(index:number) { + getRowAt(index: number) { this.getRows(); if (index < 0 || index > this.getSize()) { return undefined; @@ -318,19 +318,19 @@ class Example extends React.Component { onRowsSelected(rows: Array>) { var selectedIndexes = this.state.selectedIndexes as Array; - this.setState({selectedIndexes: selectedIndexes.concat(rows.map(r => r.rowIdx))}); + this.setState({ selectedIndexes: selectedIndexes.concat(rows.map(r => r.rowIdx)) }); } onRowsDeselected(rows: Array>) { var rowIndexes = rows.map(r => r.rowIdx); var selectedIndexes = this.state.selectedIndexes as Array; - this.setState({selectedIndexes: selectedIndexes.filter(i => rowIndexes.indexOf(i) === -1 )}); + this.setState({ selectedIndexes: selectedIndexes.filter(i => rowIndexes.indexOf(i) === -1) }); } render() { - let selectedRows = ['id1', 'id2']; + let selectedRows = ["id1", "id2"]; return ( { rowsCount={this.getSize()} onGridRowsUpdated={this.handleGridRowsUpdated} onRowExpandToggle={this.onRowExpandToggle} - toolbar={} + toolbar={} enableRowSelect={true} rowHeight={50} minHeight={600} @@ -349,14 +349,13 @@ class Example extends React.Component { onRowsSelected: this.onRowsSelected, onRowsDeselected: this.onRowsDeselected, selectBy: { - keys: {rowKey: 'id', values: selectedRows} - } + keys: { rowKey: "id", values: selectedRows }, + }, }} rowActionsCell={CustomRowSelectorCell} selectAllRenderer={CustomSelectAll} onRowClick={this.onRowClick} /> - ); } } diff --git a/types/react-data-grid/v1/index.d.ts b/types/react-data-grid/v1/index.d.ts index 52149ec24c7c77..a10e5fb3358a61 100644 --- a/types/react-data-grid/v1/index.d.ts +++ b/types/react-data-grid/v1/index.d.ts @@ -7,10 +7,9 @@ /// declare namespace AdazzleReactDataGrid { - interface SelectionParams { - rowIdx: number, - row: any + rowIdx: number; + row: any; } interface GridProps { @@ -18,96 +17,96 @@ declare namespace AdazzleReactDataGrid { * Gets the data to render in each row. Required. * Can be an array or a function that takes an index and returns an object. */ - rowGetter: Array | ((rowIdx: number) => Object) + rowGetter: Array | ((rowIdx: number) => Object); /** * The total number of rows to render. Required. */ - rowsCount: number + rowsCount: number; /** * The columns to render. */ - columns?: Array | undefined + columns?: Array | undefined; /** * Invoked when the user changes the value of a single cell. * Should update that cell's value. * @param e Information about the event */ - onRowUpdated?: ((e: RowUpdateEvent) => void) | undefined + onRowUpdated?: ((e: RowUpdateEvent) => void) | undefined; /** * Invoked when the user pulls down the drag handle of an editable cell. * Should update the values of the selected cells. * @param e Information about the event */ - onCellsDragged?: ((e: CellDragEvent) => void) | undefined + onCellsDragged?: ((e: CellDragEvent) => void) | undefined; /** * Invoked when the user double clicks on the drag handle of an editable cell. * Should update the values of the cells beneath the selected cell. * @param e Information about the event */ - onDragHandleDoubleClick?: ((e: DragHandleDoubleClickEvent) => void) | undefined + onDragHandleDoubleClick?: ((e: DragHandleDoubleClickEvent) => void) | undefined; /** * Invoked when the user copies a value from one cell and pastes it into another (in the same column). * Should update the value of the cell in row e.toRow. * @param e Information about the event */ - onCellCopyPaste?: ((e: CellCopyPasteEvent) => void) | undefined + onCellCopyPaste?: ((e: CellCopyPasteEvent) => void) | undefined; /** * Invoked after the user updates the grid rows in any way. * @param e Information about the event */ - onGridRowsUpdated?: ((e: GridRowsUpdatedEvent) => void) | undefined + onGridRowsUpdated?: ((e: GridRowsUpdatedEvent) => void) | undefined; /** * A toolbar to display above the grid. * Consider using the toolbar included in "react-data-grid/addons". */ - toolbar?: React.ReactElement | undefined + toolbar?: React.ReactElement | undefined; /** * A context menu to disiplay when the user right-clicks a cell. * Consider using "react-contextmenu", included in "react-data-grid/addons". */ - contextMenu?: React.ReactElement | undefined + contextMenu?: React.ReactElement | undefined; /** * A react component to customize how rows are rendered. * If you want to define your own, consider extending ReactDataGrid.Row. */ - rowRenderer?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined + rowRenderer?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined; /** * A component to display when there are no rows to render. */ - emptyRowsView?: React.ComponentClass | React.FunctionComponent | undefined + emptyRowsView?: React.ComponentClass | React.FunctionComponent | undefined; /** * The minimum width of the entire grid in pixels. */ - minWidth?: number | undefined + minWidth?: number | undefined; /** * The minimum height of the entire grid in pixels. * @default 350 */ - minHeight?: number | undefined + minHeight?: number | undefined; /** * The height of each individual row in pixels. * @default 35 */ - rowHeight?: number | undefined + rowHeight?: number | undefined; /** * The height of the header row in pixels. * @default rowHeight */ - headerRowHeight?: number | undefined + headerRowHeight?: number | undefined; /** * The minimum width of each column in pixels. * @default 80 */ - minColumnWidth?: number | undefined + minColumnWidth?: number | undefined; /** * Invoked when a column has been resized. * @param index The index of the column * @param width The new width of the column */ - onColumnResize?: ((index: number, width: number) => void) | undefined + onColumnResize?: ((index: number, width: number) => void) | undefined; /** * Controls what happens when the user navigates beyond the first or last cells. @@ -116,7 +115,7 @@ declare namespace AdazzleReactDataGrid { * 'none' will do nothing. * @default none */ - cellNavigationMode?: 'none' | 'loopOverRow' | 'changeRow' | undefined + cellNavigationMode?: "none" | "loopOverRow" | "changeRow" | undefined; /** * Called when the user sorts the grid by some column. @@ -124,18 +123,18 @@ declare namespace AdazzleReactDataGrid { * @param sortColumn The name of the column being sorted by * @param sortDirection The direction to sort ('ASC'/'DESC'/'NONE') */ - onGridSort?: ((sortColumn: string, sortDirection: 'ASC' | 'DESC' | 'NONE') => void) | undefined + onGridSort?: ((sortColumn: string, sortDirection: "ASC" | "DESC" | "NONE") => void) | undefined; /** * Called when the user filters a column by some value. * Should restrict the rows in rowGetter to only things that match the filter. * @param filter The filter being added */ - onAddFilter?: ((filter: Filter) => void) | undefined + onAddFilter?: ((filter: Filter) => void) | undefined; /** * Called when the user clears all filters. * Should restore the rows in rowGetter to their original state. */ - onClearFilters?: (() => void) | undefined + onClearFilters?: (() => void) | undefined; /** * When set to true or 'multi', enables multiple row select. @@ -143,54 +142,54 @@ declare namespace AdazzleReactDataGrid { * When set to false or not set, disables row select. * @default false */ - enableRowSelect?: boolean | 'single' | 'multi' | undefined + enableRowSelect?: boolean | "single" | "multi" | undefined; /** * Called when a row is selected. * @param rows The (complete) current selection of rows. */ - onRowSelect?: ((rows: Array) => void) | undefined + onRowSelect?: ((rows: Array) => void) | undefined; /** * A property that's unique to every row. * This property is required to enable row selection. * @default 'id' */ - rowKey?: string | undefined + rowKey?: string | undefined; /** * Enables cells to be selected when clicked. * @default false */ - enableCellSelect?: boolean | undefined + enableCellSelect?: boolean | undefined; /** * Called when a cell is selected. * @param coordinates The row and column indices of the selected cell. */ - onCellSelected?: ((coordinates: {rowIdx: number, idx: number}) => void) | undefined + onCellSelected?: ((coordinates: { rowIdx: number; idx: number }) => void) | undefined; /** * Called when a cell is deselected. * @param coordinates The row and column indices of the deselected cell. */ - onCellDeSelected?: ((coordinates: {rowIdx: number, idx: number}) => void) | undefined + onCellDeSelected?: ((coordinates: { rowIdx: number; idx: number }) => void) | undefined; /** * How long to wait before rendering a new row while scrolling in milliseconds. * @default 0 */ - rowScrollTimeout?: number | undefined + rowScrollTimeout?: number | undefined; /** * Options object for selecting rows */ rowSelection?: { - showCheckbox?: boolean | undefined - enableShiftSelect?: boolean | undefined - onRowsSelected?: ((rows: Array) => void) | undefined, - onRowsDeselected?: ((rows: Array) => void) | undefined, + showCheckbox?: boolean | undefined; + enableShiftSelect?: boolean | undefined; + onRowsSelected?: ((rows: Array) => void) | undefined; + onRowsDeselected?: ((rows: Array) => void) | undefined; selectBy?: { indexes?: Array | undefined; - keys?: { rowKey: string, values: Array } | undefined; + keys?: { rowKey: string; values: Array } | undefined; isSelectedKey?: string | undefined; - } | undefined - } | undefined + } | undefined; + } | undefined; } /** @@ -201,54 +200,54 @@ declare namespace AdazzleReactDataGrid { * A unique key for this column. Required. * Each row should have a property with this name, which contains this column's value. */ - key: string + key: string; /** * This column's display name. Required. */ - name: string + name: string; /** * A custom width for this specific column. * @default minColumnWidth from the ReactDataGrid */ - width?: number | undefined + width?: number | undefined; /** * Whether this column can be resized by the user. * @default false */ - resizable?: boolean | undefined + resizable?: boolean | undefined; /** * Whether this column should stay fixed on the left as the user scrolls horizontally. * @default false */ - locked?: boolean | undefined + locked?: boolean | undefined; /** * Whether this column can be edited. * @default false */ - editable?: boolean | undefined + editable?: boolean | undefined; /** * Whether the rows in the grid can be sorted by this column. * @default false */ - sortable?: boolean | undefined + sortable?: boolean | undefined; /** * Whether the rows in the grid can be filtered by this column. * @default false */ - filterable?: boolean | undefined + filterable?: boolean | undefined; /** * The editor for this column. Several editors are available in "react-data-grid/addons". * @default A simple text editor */ - editor?: React.ReactElement | undefined + editor?: React.ReactElement | undefined; /** * A custom read-only formatter for this column. An image formatter is available in "react-data-grid/addons". */ - formatter?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined + formatter?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined; /** * A custom formatter for this column's header. */ - headerRenderer?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined + headerRenderer?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined; /** * Events to be bound to the cells in this specific column. * Each event must respect this standard in order to work correctly: @@ -256,8 +255,8 @@ declare namespace AdazzleReactDataGrid { * function onXxx(ev :SyntheticEvent, (rowIdx, idx, name): args) */ events?: { - [name: string]: ColumnEventCallback - } | undefined + [name: string]: ColumnEventCallback; + } | undefined; } interface ColumnEventCallback { @@ -266,7 +265,7 @@ declare namespace AdazzleReactDataGrid { * @param ev The react event * @param args The row and column coordinates of the cell, and the name of the event. */ - (ev: React.SyntheticEvent, args: {rowIdx: number, idx: number, name: string}): void + (ev: React.SyntheticEvent, args: { rowIdx: number; idx: number; name: string }): void; } /** @@ -276,19 +275,19 @@ declare namespace AdazzleReactDataGrid { /** * The index of the updated row. */ - rowIdx: number + rowIdx: number; /** * The columns that were updated and their values. */ - updated: Object + updated: Object; /** * The name of the column that was updated. */ - cellKey: string + cellKey: string; /** * The name of the key pressed to trigger the event ('Tab', 'Enter', etc.). */ - key: string + key: string; } /** @@ -298,19 +297,19 @@ declare namespace AdazzleReactDataGrid { /** * The name of the column that was dragged. */ - cellKey: string + cellKey: string; /** * The row where the drag began. */ - fromRow: number + fromRow: number; /** * The row where the drag ended. */ - toRow: number + toRow: number; /** * The value of the cell that was dragged. */ - value: any + value: any; } /** @@ -320,19 +319,19 @@ declare namespace AdazzleReactDataGrid { /** * The row where the double click occurred. */ - rowIdx: number + rowIdx: number; /** * The column where the double click occurred. */ - idx: number + idx: number; /** * The values of the row. */ - rowData: Object + rowData: Object; /** * The double click event. */ - e: React.SyntheticEvent + e: React.SyntheticEvent; } /** @@ -342,23 +341,23 @@ declare namespace AdazzleReactDataGrid { /** * The row that was pasted to. */ - rowIdx: number + rowIdx: number; /** * The value that was pasted. */ - value: any + value: any; /** * The row that was copied from. */ - fromRow: number + fromRow: number; /** * The row that was pasted to. */ - toRow: number + toRow: number; /** * The key of the column where the copy paste occurred. */ - cellKey: string + cellKey: string; } /** @@ -368,24 +367,24 @@ declare namespace AdazzleReactDataGrid { /** * The key of the column where the event occurred. */ - cellKey: string + cellKey: string; /** * The top row affected by the event. */ - fromRow: number + fromRow: number; /** * The bottom row affected by the event. */ - toRow: number + toRow: number; /** * The columns that were updated and their values. */ - updated: Object + updated: Object; /** * The action that occurred to trigger this event. * One of 'cellUpdate', 'cellDrag', 'columnFill', or 'copyPaste'. */ - action: 'cellUpdate' | 'cellDrag' | 'columnFill' | 'copyPaste' + action: "cellUpdate" | "cellDrag" | "columnFill" | "copyPaste"; } /** @@ -395,18 +394,18 @@ declare namespace AdazzleReactDataGrid { /** * The key of the column being filtered. */ - columnKey: string + columnKey: string; /** * The term to filter by. */ - filterTerm: string + filterTerm: string; } /** * Excel-like grid component built with React, with editors, keyboard navigation, copy & paste, and the like * http://adazzle.github.io/react-data-grid/ */ - export class ReactDataGrid extends React.Component { } + export class ReactDataGrid extends React.Component {} export namespace ReactDataGrid { // Useful types export import Column = AdazzleReactDataGrid.Column; @@ -424,44 +423,44 @@ declare namespace AdazzleReactDataGrid { /** * A react component that renders a row of the grid */ - export class Row extends React.Component { } + export class Row extends React.Component {} /** * A react coponent that renders a cell of the grid */ - export class Cell extends React.Component { } + export class Cell extends React.Component {} } } declare namespace AdazzleReactDataGridPlugins { // TODO: refine types for these addons export namespace Editors { - export class AutoComplete extends React.Component { } - export class DropDownEditor extends React.Component { } - export class SimpleTextEditor extends React.Component { } - export class CheckboxEditor extends React.Component { } + export class AutoComplete extends React.Component {} + export class DropDownEditor extends React.Component {} + export class SimpleTextEditor extends React.Component {} + export class CheckboxEditor extends React.Component {} } export namespace Formatters { - export class ImageFormatter extends React.Component { } - export class DropDownFormatter extends React.Component { } + export class ImageFormatter extends React.Component {} + export class DropDownFormatter extends React.Component {} } export class Toolbar extends React.Component {} // TODO: re-export the react-contextmenu typings once those exist // https://github.com/vkbansal/react-contextmenu/issues/10 export namespace Menu { - export class ContextMenu extends React.Component { } - export class MenuHeader extends React.Component { } - export class MenuItem extends React.Component { } - export class SubMenu extends React.Component { } + export class ContextMenu extends React.Component {} + export class MenuHeader extends React.Component {} + export class MenuItem extends React.Component {} + export class SubMenu extends React.Component {} export const monitor: { - getItem(): any - getPosition(): any - hideMenu(): void + getItem(): any; + getPosition(): any; + hideMenu(): void; }; export function connect(Menu: any): any; export function ContextMenuLayer( identifier: any, - configure?: (props: any) => any - ): (Component: any) => any + configure?: (props: any) => any, + ): (Component: any) => any; } } @@ -480,22 +479,17 @@ declare module "react-data-grid/addons" { import Menu = Plugins.Menu; // ES6 named exports - export { - Editors, - Formatters, - Toolbar, - Menu - } + export { Editors, Formatters, Menu, Toolbar }; // attach to window global { interface Window { ReactDataGridPlugins: { - Editors: typeof Editors - Formatters: typeof Formatters - Toolbar: typeof Toolbar - Menu: typeof Menu - } + Editors: typeof Editors; + Formatters: typeof Formatters; + Toolbar: typeof Toolbar; + Menu: typeof Menu; + }; } } } diff --git a/types/react-data-grid/v1/react-data-grid-tests.tsx b/types/react-data-grid/v1/react-data-grid-tests.tsx index 5b23c55898aa27..101e6d3e9ba588 100644 --- a/types/react-data-grid/v1/react-data-grid-tests.tsx +++ b/types/react-data-grid/v1/react-data-grid-tests.tsx @@ -1,18 +1,18 @@ -import * as React from 'react'; -import ReactDataGrid = require('react-data-grid'); -import * as ReactDataGridPlugins from 'react-data-grid/addons'; -import faker = require('faker'); +import * as React from "react"; +import ReactDataGrid = require("react-data-grid"); +import * as ReactDataGridPlugins from "react-data-grid/addons"; +import faker = require("faker"); var Editors = ReactDataGridPlugins.Editors; var Toolbar = ReactDataGridPlugins.Toolbar; var AutoCompleteEditor = Editors.AutoComplete; var DropDownEditor = Editors.DropDownEditor; -faker.locale = 'en_GB'; +faker.locale = "en_GB"; -function createFakeRowObjectData(index:number):Object { +function createFakeRowObjectData(index: number): Object { return { - id: 'id_' + index, + id: "id_" + index, avartar: faker.image.avatar(), county: faker.address.county(), email: faker.internet.email(), @@ -26,12 +26,12 @@ function createFakeRowObjectData(index:number):Object { catchPhrase: faker.company.catchPhrase(), companyName: faker.company.companyName(), words: faker.lorem.words(), - sentence: faker.lorem.sentence() + sentence: faker.lorem.sentence(), }; } -function createRows(numberOfRows:number) { - var rows:Object[] = []; +function createRows(numberOfRows: number) { + var rows: Object[] = []; for (var i = 0; i < numberOfRows; i++) { rows[i] = createFakeRowObjectData(i); } @@ -39,176 +39,176 @@ function createRows(numberOfRows:number) { } var counties = [ - {id: 0, title: 'Bedfordshire'}, - {id: 1, title: 'Berkshire'}, - {id: 2, title: 'Buckinghamshire'}, - {id: 3, title: 'Cambridgeshire'}, - {id: 4, title: 'Cheshire'}, - {id: 5, title: 'Cornwall'}, - {id: 6, title: 'Cumbria, (Cumberland)'}, - {id: 7, title: 'Derbyshire'}, - {id: 8, title: 'Devon'}, - {id: 9, title: 'Dorset'}, - {id: 10, title: 'Durham'}, - {id: 11, title: 'Essex'}, - {id: 12, title: 'Gloucestershire'}, - {id: 13, title: 'Hampshire'}, - {id: 14, title: 'Hertfordshire'}, - {id: 15, title: 'Huntingdonshire'}, - {id: 16, title: 'Kent'}, - {id: 17, title: 'Lancashire'}, - {id: 18, title: 'Leicestershire'}, - {id: 19, title: 'Lincolnshire'}, - {id: 20, title: 'Middlesex'}, - {id: 21, title: 'Norfolk'}, - {id: 22, title: 'Northamptonshire'}, - {id: 23, title: 'Northumberland'}, - {id: 24, title: 'Nottinghamshire'}, - {id: 25, title: 'Northamptonshire'}, - {id: 26, title: 'Oxfordshire'}, - {id: 27, title: 'Northamptonshire'}, - {id: 28, title: 'Rutland'}, - {id: 29, title: 'Shropshire'}, - {id: 30, title: 'Somerset'}, - {id: 31, title: 'Staffordshire'}, - {id: 32, title: 'Suffolk'}, - {id: 33, title: 'Surrey'}, - {id: 34, title: 'Sussex'}, - {id: 35, title: 'Warwickshire'}, - {id: 36, title: 'Westmoreland'}, - {id: 37, title: 'Wiltshire'}, - {id: 38, title: 'Worcestershire'}, - {id: 39, title: 'Yorkshire'} + { id: 0, title: "Bedfordshire" }, + { id: 1, title: "Berkshire" }, + { id: 2, title: "Buckinghamshire" }, + { id: 3, title: "Cambridgeshire" }, + { id: 4, title: "Cheshire" }, + { id: 5, title: "Cornwall" }, + { id: 6, title: "Cumbria, (Cumberland)" }, + { id: 7, title: "Derbyshire" }, + { id: 8, title: "Devon" }, + { id: 9, title: "Dorset" }, + { id: 10, title: "Durham" }, + { id: 11, title: "Essex" }, + { id: 12, title: "Gloucestershire" }, + { id: 13, title: "Hampshire" }, + { id: 14, title: "Hertfordshire" }, + { id: 15, title: "Huntingdonshire" }, + { id: 16, title: "Kent" }, + { id: 17, title: "Lancashire" }, + { id: 18, title: "Leicestershire" }, + { id: 19, title: "Lincolnshire" }, + { id: 20, title: "Middlesex" }, + { id: 21, title: "Norfolk" }, + { id: 22, title: "Northamptonshire" }, + { id: 23, title: "Northumberland" }, + { id: 24, title: "Nottinghamshire" }, + { id: 25, title: "Northamptonshire" }, + { id: 26, title: "Oxfordshire" }, + { id: 27, title: "Northamptonshire" }, + { id: 28, title: "Rutland" }, + { id: 29, title: "Shropshire" }, + { id: 30, title: "Somerset" }, + { id: 31, title: "Staffordshire" }, + { id: 32, title: "Suffolk" }, + { id: 33, title: "Surrey" }, + { id: 34, title: "Sussex" }, + { id: 35, title: "Warwickshire" }, + { id: 36, title: "Westmoreland" }, + { id: 37, title: "Wiltshire" }, + { id: 38, title: "Worcestershire" }, + { id: 39, title: "Yorkshire" }, ]; -var titles = ['Dr.', 'Mr.', 'Mrs.', 'Miss', 'Ms.']; +var titles = ["Dr.", "Mr.", "Mrs.", "Miss", "Ms."]; -var columns:ReactDataGrid.Column[] = [ +var columns: ReactDataGrid.Column[] = [ { - key: 'id', - name: 'ID', + key: "id", + name: "ID", width: 80, - resizable: true + resizable: true, }, { - key: 'avartar', - name: 'Avartar', + key: "avartar", + name: "Avartar", width: 60, formatter: ReactDataGridPlugins.Formatters.ImageFormatter, resizable: true, - headerRenderer: + headerRenderer: , }, { - key: 'county', - name: 'County', - editor: , + key: "county", + name: "County", + editor: , width: 200, - resizable: true + resizable: true, }, { - key: 'title', - name: 'Title', - editor: , + key: "title", + name: "Title", + editor: , width: 200, resizable: true, events: { - onDoubleClick: function () { + onDoubleClick: function() { console.log("The user double clicked on title column"); - } - } + }, + }, }, { - key: 'firstName', - name: 'First Name', + key: "firstName", + name: "First Name", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'lastName', - name: 'Last Name', + key: "lastName", + name: "Last Name", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'email', - name: 'Email', + key: "email", + name: "Email", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'street', - name: 'Street', + key: "street", + name: "Street", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'zipCode', - name: 'ZipCode', + key: "zipCode", + name: "ZipCode", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'date', - name: 'Date', + key: "date", + name: "Date", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'bs', - name: 'bs', + key: "bs", + name: "bs", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'catchPhrase', - name: 'Catch Phrase', + key: "catchPhrase", + name: "Catch Phrase", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'companyName', - name: 'Company Name', + key: "companyName", + name: "Company Name", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'sentence', - name: 'Sentence', + key: "sentence", + name: "Sentence", editable: true, width: 200, - resizable: true - } + resizable: true, + }, ]; class Example extends React.Component { getInitialState() { var fakeRows = createRows(2000); - return {rows: fakeRows}; + return { rows: fakeRows }; } getColumns() { var clonedColumns = columns.slice(); clonedColumns[2].events = { - onClick: (ev:React.SyntheticEvent, args:{idx:number, rowIdx:number}) => { + onClick: (ev: React.SyntheticEvent, args: { idx: number; rowIdx: number }) => { var idx = args.idx; var rowIdx = args.rowIdx; - (this.refs.grid as ReactDataGrid) - } + this.refs.grid as ReactDataGrid; + }, }; return clonedColumns; } - handleGridRowsUpdated(updatedRowData:ReactDataGrid.GridRowsUpdatedEvent) { + handleGridRowsUpdated(updatedRowData: ReactDataGrid.GridRowsUpdatedEvent) { var rows = this.state.rows; for (var i = updatedRowData.fromRow; i <= updatedRowData.toRow; i++) { @@ -217,22 +217,22 @@ class Example extends React.Component { rows[i] = updatedRow; } - this.setState({rows: rows}); + this.setState({ rows: rows }); } - handleAddRow(e:any) { + handleAddRow(e: any) { var newRow = { value: e.newRowIndex, - userStory: '', - developer: '', - epic: '' + userStory: "", + developer: "", + epic: "", }; var rows = this.state.rows; rows.push(newRow); - this.setState({rows: rows}); + this.setState({ rows: rows }); } - getRowAt(index:number) { + getRowAt(index: number) { if (index < 0 || index > this.getSize()) { return undefined; } @@ -246,25 +246,25 @@ class Example extends React.Component { onRowsSelected(rows: Array) { var selectedIndexes = this.state.selectedIndexes as Array; - this.setState({selectedIndexes: selectedIndexes.concat(rows.map(r => r.rowIdx))}); + this.setState({ selectedIndexes: selectedIndexes.concat(rows.map(r => r.rowIdx)) }); } onRowsDeselected(rows: Array) { var rowIndexes = rows.map(r => r.rowIdx); var selectedIndexes = this.state.selectedIndexes as Array; - this.setState({selectedIndexes: selectedIndexes.filter(i => rowIndexes.indexOf(i) === -1 )}); + this.setState({ selectedIndexes: selectedIndexes.filter(i => rowIndexes.indexOf(i) === -1) }); } render() { - let selectedRows = ['id1', 'id2']; + let selectedRows = ["id1", "id2"]; return ( } + toolbar={} enableRowSelect={true} rowHeight={50} minHeight={600} @@ -275,11 +275,10 @@ class Example extends React.Component { onRowsSelected: this.onRowsSelected, onRowsDeselected: this.onRowsDeselected, selectBy: { - keys: {rowKey: 'id', values: selectedRows} - } + keys: { rowKey: "id", values: selectedRows }, + }, }} /> - ); } } diff --git a/types/react-data-grid/v2/index.d.ts b/types/react-data-grid/v2/index.d.ts index b080e4e1db0fc4..f636710e74a549 100644 --- a/types/react-data-grid/v2/index.d.ts +++ b/types/react-data-grid/v2/index.d.ts @@ -10,10 +10,9 @@ /// declare namespace AdazzleReactDataGrid { - interface SelectionParams { - rowIdx: number, - row: any + rowIdx: number; + row: any; } interface GridProps { @@ -21,101 +20,101 @@ declare namespace AdazzleReactDataGrid { * Gets the data to render in each row. Required. * Can be an array or a function that takes an index and returns an object. */ - rowGetter: Array | ((rowIdx: number) => object) + rowGetter: Array | ((rowIdx: number) => object); /** * The total number of rows to render. Required. */ - rowsCount: number + rowsCount: number; /** * The columns to render. */ - columns?: Array | undefined + columns?: Array | undefined; /** * Invoked when the user changes the value of a single cell. * Should update that cell's value. * @param e Information about the event */ - onRowUpdated?: ((e: RowUpdateEvent) => void) | undefined + onRowUpdated?: ((e: RowUpdateEvent) => void) | undefined; /** * Invoked when the user pulls down the drag handle of an editable cell. * Should update the values of the selected cells. * @param e Information about the event */ - onCellsDragged?: ((e: CellDragEvent) => void) | undefined + onCellsDragged?: ((e: CellDragEvent) => void) | undefined; /** * Invoked when the user double clicks on the drag handle of an editable cell. * Should update the values of the cells beneath the selected cell. * @param e Information about the event */ - onDragHandleDoubleClick?: ((e: DragHandleDoubleClickEvent) => void) | undefined + onDragHandleDoubleClick?: ((e: DragHandleDoubleClickEvent) => void) | undefined; /** * Invoked when the user copies a value from one cell and pastes it into another (in the same column). * Should update the value of the cell in row e.toRow. * @param e Information about the event */ - onCellCopyPaste?: ((e: CellCopyPasteEvent) => void) | undefined + onCellCopyPaste?: ((e: CellCopyPasteEvent) => void) | undefined; /** * Invoked after the user updates the grid rows in any way. * @param e Information about the event */ - onGridRowsUpdated?: ((e: GridRowsUpdatedEvent) => void) | undefined + onGridRowsUpdated?: ((e: GridRowsUpdatedEvent) => void) | undefined; /** * A toolbar to display above the grid. * Consider using the toolbar included in "react-data-grid/addons". */ - toolbar?: React.ReactElement | undefined + toolbar?: React.ReactElement | undefined; /** * A context menu to disiplay when the user right-clicks a cell. * Consider using "react-contextmenu", included in "react-data-grid/addons". */ - contextMenu?: React.ReactElement | undefined + contextMenu?: React.ReactElement | undefined; /** * A react component to customize how rows are rendered. * If you want to define your own, consider extending ReactDataGrid.Row. */ - rowRenderer?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined + rowRenderer?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined; /** * A component to display when there are no rows to render. */ - emptyRowsView?: React.ComponentClass | React.FunctionComponent | undefined + emptyRowsView?: React.ComponentClass | React.FunctionComponent | undefined; /** * The minimum width of the entire grid in pixels. */ - minWidth?: number | undefined + minWidth?: number | undefined; /** * The minimum height of the entire grid in pixels. * @default 350 */ - minHeight?: number | undefined + minHeight?: number | undefined; /** * The height of each individual row in pixels. * @default 35 */ - rowHeight?: number | undefined + rowHeight?: number | undefined; /** * The height of the header row in pixels. * @default rowHeight */ - headerRowHeight?: number | undefined + headerRowHeight?: number | undefined; /** * The height of the header filter row in pixels. * @default 45 */ - headerFiltersHeight?: number | undefined + headerFiltersHeight?: number | undefined; /** * The minimum width of each column in pixels. * @default 80 */ - minColumnWidth?: number | undefined + minColumnWidth?: number | undefined; /** * Invoked when a column has been resized. * @param index The index of the column * @param width The new width of the column */ - onColumnResize?: ((index: number, width: number) => void) | undefined + onColumnResize?: ((index: number, width: number) => void) | undefined; /** * Controls what happens when the user navigates beyond the first or last cells. @@ -124,7 +123,7 @@ declare namespace AdazzleReactDataGrid { * 'none' will do nothing. * @default none */ - cellNavigationMode?: 'none' | 'loopOverRow' | 'changeRow' | undefined + cellNavigationMode?: "none" | "loopOverRow" | "changeRow" | undefined; /** * Called when the user sorts the grid by some column. @@ -132,29 +131,29 @@ declare namespace AdazzleReactDataGrid { * @param sortColumn The name of the column being sorted by * @param sortDirection The direction to sort ('ASC'/'DESC'/'NONE') */ - onGridSort?: ((sortColumn: string, sortDirection: 'ASC' | 'DESC' | 'NONE') => void) | undefined + onGridSort?: ((sortColumn: string, sortDirection: "ASC" | "DESC" | "NONE") => void) | undefined; /** * Initial sorting direction */ - sortDirection?: 'ASC' | 'DESC' | 'NONE' | undefined + sortDirection?: "ASC" | "DESC" | "NONE" | undefined; /** * key of the initial sorted column */ - sortColumn?: string | undefined + sortColumn?: string | undefined; /** * Called when the user filters a column by some value. * Should restrict the rows in rowGetter to only things that match the filter. * @param filter The filter being added */ - onAddFilter?: ((filter: Filter) => void) | undefined + onAddFilter?: ((filter: Filter) => void) | undefined; /** * Called when the user clears all filters. * Should restore the rows in rowGetter to their original state. */ - onClearFilters?: (() => void) | undefined + onClearFilters?: (() => void) | undefined; /** * When set to true or 'multi', enables multiple row select. @@ -162,61 +161,61 @@ declare namespace AdazzleReactDataGrid { * When set to false or not set, disables row select. * @default false */ - enableRowSelect?: boolean | 'single' | 'multi' | undefined + enableRowSelect?: boolean | "single" | "multi" | undefined; /** * Called when a row is selected. * @param rows The (complete) current selection of rows. */ - onRowSelect?: ((rows: Array) => void) | undefined + onRowSelect?: ((rows: Array) => void) | undefined; /** * A property that's unique to every row. * This property is required to enable row selection. * @default 'id' */ - rowKey?: string | undefined + rowKey?: string | undefined; /** * Enables cells to be selected when clicked. * @default false */ - enableCellSelect?: boolean | undefined + enableCellSelect?: boolean | undefined; /** * Enables cells to be dragged and dropped * @default false */ - enableDragAndDrop?: boolean | undefined + enableDragAndDrop?: boolean | undefined; /** * Called when a cell is selected. * @param coordinates The row and column indices of the selected cell. */ - onCellSelected?: ((coordinates: {rowIdx: number, idx: number}) => void) | undefined + onCellSelected?: ((coordinates: { rowIdx: number; idx: number }) => void) | undefined; /** * Called when a cell is deselected. * @param coordinates The row and column indices of the deselected cell. */ - onCellDeSelected?: ((coordinates: {rowIdx: number, idx: number}) => void) | undefined + onCellDeSelected?: ((coordinates: { rowIdx: number; idx: number }) => void) | undefined; /** * How long to wait before rendering a new row while scrolling in milliseconds. * @default 0 */ - rowScrollTimeout?: number | undefined + rowScrollTimeout?: number | undefined; /** * Options object for selecting rows */ rowSelection?: { - showCheckbox?: boolean | undefined - enableShiftSelect?: boolean | undefined - onRowsSelected?: ((rows: Array) => void) | undefined, - onRowsDeselected?: ((rows: Array) => void) | undefined, + showCheckbox?: boolean | undefined; + enableShiftSelect?: boolean | undefined; + onRowsSelected?: ((rows: Array) => void) | undefined; + onRowsDeselected?: ((rows: Array) => void) | undefined; selectBy?: { indexes?: Array | undefined; - keys?: { rowKey: string, values: Array } | undefined; + keys?: { rowKey: string; values: Array } | undefined; isSelectedKey?: string | undefined; - } | undefined - } | undefined + } | undefined; + } | undefined; /** * A custom formatter for the select all checkbox cell * @default react-data-grid/src/formatters/SelectAll.js @@ -233,7 +232,7 @@ declare namespace AdazzleReactDataGrid { * @param rowIdx zero index number of row clicked * @param row object behind the row */ - onRowClick?: ((rowIdx: number, row: object) => void) | undefined + onRowClick?: ((rowIdx: number, row: object) => void) | undefined; /** * An event function called when a row is clicked. @@ -241,13 +240,13 @@ declare namespace AdazzleReactDataGrid { * @param rowIdx zero index number of row clicked * @param row object behind the row */ - onRowDoubleClick?: ((rowIdx : number, row : object) => void) | undefined + onRowDoubleClick?: ((rowIdx: number, row: object) => void) | undefined; /** * An event function called when a row is expanded with the toggle * @param props OnRowExpandToggle object */ - onRowExpandToggle?: ((props: OnRowExpandToggle ) => void) | undefined + onRowExpandToggle?: ((props: OnRowExpandToggle) => void) | undefined; /** * Responsible for returning an Array of values that can be used for filtering @@ -255,15 +254,15 @@ declare namespace AdazzleReactDataGrid { * displays a list of options. * @param columnKey the column key that we are looking to pull values from */ - getValidFilterValues?: ((columnKey: string) => Array) | undefined + getValidFilterValues?: ((columnKey: string) => Array) | undefined; - getCellActions?: ((column: Column, row: object) => (ActionButton | ActionMenu)[]) | undefined + getCellActions?: ((column: Column, row: object) => (ActionButton | ActionMenu)[]) | undefined; } type ActionButton = { icon: string; - callback: () => void; - } + callback: () => void; + }; type ActionMenu = { icon: string; @@ -272,7 +271,7 @@ declare namespace AdazzleReactDataGrid { text: string; callback: () => void; }[]; - } + }; /** * Information about a specific column to be rendered. @@ -282,36 +281,36 @@ declare namespace AdazzleReactDataGrid { * A unique key for this column. Required. * Each row should have a property with this name, which contains this column's value. */ - key: string + key: string; /** * This column's display name. Required. */ - name: string + name: string; /** * A custom width for this specific column. * @default minColumnWidth from the ReactDataGrid */ - width?: number | undefined + width?: number | undefined; /** * Whether this column can be resized by the user. * @default false */ - resizable?: boolean | undefined + resizable?: boolean | undefined; /** * Whether this column should stay fixed on the left as the user scrolls horizontally. * @default false */ - locked?: boolean | undefined + locked?: boolean | undefined; /** * Whether this column can be edited. * @default false */ - editable?: boolean | undefined + editable?: boolean | undefined; /** * Whether the rows in the grid can be sorted by this column. * @default false */ - sortable?: boolean | undefined + sortable?: boolean | undefined; /** * Whether the rows in the grid can be filtered by this column. * @default false @@ -325,15 +324,15 @@ declare namespace AdazzleReactDataGrid { * The editor for this column. Several editors are available in "react-data-grid/addons". * @default A simple text editor */ - editor?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined + editor?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined; /** * A custom read-only formatter for this column. An image formatter is available in "react-data-grid/addons". */ - formatter?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined + formatter?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined; /** * A custom formatter for this column's header. */ - headerRenderer?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined + headerRenderer?: React.ReactElement | React.ComponentClass | React.FunctionComponent | undefined; /** * Events to be bound to the cells in this specific column. * Each event must respect this standard in order to work correctly: @@ -341,8 +340,8 @@ declare namespace AdazzleReactDataGrid { * function onXxx(ev :SyntheticEvent, (rowIdx, idx, name): args) */ events?: { - [name: string]: ColumnEventCallback - } | undefined + [name: string]: ColumnEventCallback; + } | undefined; /** * Retrieve meta data about the row, optionally provide column as a second argument */ @@ -364,7 +363,7 @@ declare namespace AdazzleReactDataGrid { * @param ev The react event * @param args The row and column coordinates of the cell, and the name of the event. */ - (ev: React.SyntheticEvent, args: {rowIdx: number, idx: number, name: string}): void + (ev: React.SyntheticEvent, args: { rowIdx: number; idx: number; name: string }): void; } /** @@ -374,19 +373,19 @@ declare namespace AdazzleReactDataGrid { /** * The index of the updated row. */ - rowIdx: number + rowIdx: number; /** * The columns that were updated and their values. */ - updated: object + updated: object; /** * The name of the column that was updated. */ - cellKey: string + cellKey: string; /** * The name of the key pressed to trigger the event ('Tab', 'Enter', etc.). */ - key: string + key: string; } /** @@ -396,19 +395,19 @@ declare namespace AdazzleReactDataGrid { /** * The name of the column that was dragged. */ - cellKey: string + cellKey: string; /** * The row where the drag began. */ - fromRow: number + fromRow: number; /** * The row where the drag ended. */ - toRow: number + toRow: number; /** * The value of the cell that was dragged. */ - value: any + value: any; } /** @@ -418,19 +417,19 @@ declare namespace AdazzleReactDataGrid { /** * The row where the double click occurred. */ - rowIdx: number + rowIdx: number; /** * The column where the double click occurred. */ - idx: number + idx: number; /** * The values of the row. */ - rowData: object + rowData: object; /** * The double click event. */ - e: React.SyntheticEvent + e: React.SyntheticEvent; } /** @@ -440,23 +439,23 @@ declare namespace AdazzleReactDataGrid { /** * The row that was pasted to. */ - rowIdx: number + rowIdx: number; /** * The value that was pasted. */ - value: any + value: any; /** * The row that was copied from. */ - fromRow: number + fromRow: number; /** * The row that was pasted to. */ - toRow: number + toRow: number; /** * The key of the column where the copy paste occurred. */ - cellKey: string + cellKey: string; } /** @@ -466,24 +465,24 @@ declare namespace AdazzleReactDataGrid { /** * The key of the column where the event occurred. */ - cellKey: string + cellKey: string; /** * The top row affected by the event. */ - fromRow: number + fromRow: number; /** * The bottom row affected by the event. */ - toRow: number + toRow: number; /** * The columns that were updated and their values. */ - updated: object + updated: object; /** * The action that occurred to trigger this event. * One of 'cellUpdate', 'cellDrag', 'columnFill', or 'copyPaste'. */ - action: 'cellUpdate' | 'cellDrag' | 'columnFill' | 'copyPaste' + action: "cellUpdate" | "cellDrag" | "columnFill" | "copyPaste"; } /** @@ -493,15 +492,15 @@ declare namespace AdazzleReactDataGrid { /** * The name of the column group the row is in */ - columnGroupName: string + columnGroupName: string; /** * The name of the expanded row */ - name: string + name: string; /** * If it should expand or not */ - shouldExpand: boolean + shouldExpand: boolean; } /** @@ -511,11 +510,11 @@ declare namespace AdazzleReactDataGrid { /** * The key of the column being filtered. */ - columnKey: string + columnKey: string; /** * The term to filter by. */ - filterTerm: string + filterTerm: string; } /** @@ -546,59 +545,59 @@ declare namespace AdazzleReactDataGrid { /** * A react component that renders a row of the grid */ - export class Row extends React.Component { } + export class Row extends React.Component {} /** * A react coponent that renders a cell of the grid */ - export class Cell extends React.Component { } + export class Cell extends React.Component {} } } declare namespace AdazzleReactDataGridPlugins { // TODO: refine types for these addons export namespace Editors { - export class AutoComplete extends React.Component { } - export class DropDownEditor extends React.Component { } - export class SimpleTextEditor extends React.Component { } - export class CheckboxEditor extends React.Component { } + export class AutoComplete extends React.Component {} + export class DropDownEditor extends React.Component {} + export class SimpleTextEditor extends React.Component {} + export class CheckboxEditor extends React.Component {} } export namespace Filters { - export class NumericFilter extends React.Component { } - export class AutoCompleteFilter extends React.Component { } - export class MultiSelectFilter extends React.Component { } - export class SingleSelectFilter extends React.Component { } + export class NumericFilter extends React.Component {} + export class AutoCompleteFilter extends React.Component {} + export class MultiSelectFilter extends React.Component {} + export class SingleSelectFilter extends React.Component {} } export namespace Formatters { - export class ImageFormatter extends React.Component { } - export class DropDownFormatter extends React.Component { } + export class ImageFormatter extends React.Component {} + export class DropDownFormatter extends React.Component {} } export class Toolbar extends React.Component {} export namespace DraggableHeader { - export class DraggableContainer extends React.Component{ } + export class DraggableContainer extends React.Component {} } export namespace Data { export const Selectors: { getRows: (state: object) => object[]; getSelectedRowsByKey: (state: object) => object[]; - } + }; } // TODO: re-export the react-contextmenu typings once those exist // https://github.com/vkbansal/react-contextmenu/issues/10 export namespace Menu { - export class ContextMenu extends React.Component { } - export class MenuHeader extends React.Component { } - export class MenuItem extends React.Component { } - export class SubMenu extends React.Component { } + export class ContextMenu extends React.Component {} + export class MenuHeader extends React.Component {} + export class MenuItem extends React.Component {} + export class SubMenu extends React.Component {} export const monitor: { - getItem(): any - getPosition(): any - hideMenu(): void + getItem(): any; + getPosition(): any; + hideMenu(): void; }; export function connect(Menu: any): any; export function ContextMenuLayer( identifier: any, - configure?: (props: any) => any - ): (Component: any) => any + configure?: (props: any) => any, + ): (Component: any) => any; } } @@ -620,28 +619,20 @@ declare module "react-data-grid-addons" { import DraggableHeader = Plugins.DraggableHeader; // ES6 named exports - export { - Editors, - Filters, - Formatters, - Toolbar, - Menu, - Data, - DraggableHeader - } + export { Data, DraggableHeader, Editors, Filters, Formatters, Menu, Toolbar }; // attach to window global { interface Window { ReactDataGridPlugins: { - Editors: typeof Editors, - Filters: typeof Filters, - Formatters: typeof Formatters, - Toolbar: typeof Toolbar, - Menu: typeof Menu, - Data: typeof Data, - DraggableHeader: typeof DraggableHeader - } + Editors: typeof Editors; + Filters: typeof Filters; + Formatters: typeof Formatters; + Toolbar: typeof Toolbar; + Menu: typeof Menu; + Data: typeof Data; + DraggableHeader: typeof DraggableHeader; + }; } } } diff --git a/types/react-data-grid/v2/react-data-grid-tests.tsx b/types/react-data-grid/v2/react-data-grid-tests.tsx index 1aa2a7fca2e5e7..97ce95b3f8ef03 100644 --- a/types/react-data-grid/v2/react-data-grid-tests.tsx +++ b/types/react-data-grid/v2/react-data-grid-tests.tsx @@ -1,7 +1,7 @@ -import * as React from 'react'; -import ReactDataGrid = require('react-data-grid'); -import * as ReactDataGridPlugins from 'react-data-grid-addons'; -import faker = require('faker'); +import * as React from "react"; +import ReactDataGrid = require("react-data-grid"); +import * as ReactDataGridPlugins from "react-data-grid-addons"; +import faker = require("faker"); var Editors = ReactDataGridPlugins.Editors; var Toolbar = ReactDataGridPlugins.Toolbar; @@ -10,25 +10,25 @@ var DropDownEditor = Editors.DropDownEditor; var { Selectors } = ReactDataGridPlugins.Data; class CustomFilterHeaderCell extends React.Component { - state = { - filterTerm: "" - }; - handleChange(e: any) { - let val = e.target.value; - this.setState({filterTerm: val}); - this.props.onChange({filterTerm: val, column: this.props.column}); - } - render() { - return ( -
    - this.handleChange(e)} /> -
    - ); - } + state = { + filterTerm: "", + }; + handleChange(e: any) { + let val = e.target.value; + this.setState({ filterTerm: val }); + this.props.onChange({ filterTerm: val, column: this.props.column }); + } + render() { + return ( +
    + this.handleChange(e)} /> +
    + ); + } } class CustomRowSelectorCell extends ReactDataGridPlugins.Editors.CheckboxEditor { - render(){ + render() { return super.render(); } } @@ -41,26 +41,26 @@ export interface ICustomSelectAllProps { class CustomSelectAll extends React.Component { render() { return ( -
    +
    - +
    ); } } -faker.locale = 'en_GB'; +faker.locale = "en_GB"; -function createFakeRowObjectData(index:number):Object { +function createFakeRowObjectData(index: number): Object { return { - id: 'id_' + index, + id: "id_" + index, avartar: faker.image.avatar(), county: faker.address.county(), email: faker.internet.email(), @@ -74,12 +74,12 @@ function createFakeRowObjectData(index:number):Object { catchPhrase: faker.company.catchPhrase(), companyName: faker.company.companyName(), words: faker.lorem.words(), - sentence: faker.lorem.sentence() + sentence: faker.lorem.sentence(), }; } -function createRows(numberOfRows:number) { - var rows:Object[] = []; +function createRows(numberOfRows: number) { + var rows: Object[] = []; for (var i = 0; i < numberOfRows; i++) { rows[i] = createFakeRowObjectData(i); } @@ -87,182 +87,182 @@ function createRows(numberOfRows:number) { } var counties = [ - {id: 0, title: 'Bedfordshire'}, - {id: 1, title: 'Berkshire'}, - {id: 2, title: 'Buckinghamshire'}, - {id: 3, title: 'Cambridgeshire'}, - {id: 4, title: 'Cheshire'}, - {id: 5, title: 'Cornwall'}, - {id: 6, title: 'Cumbria, (Cumberland)'}, - {id: 7, title: 'Derbyshire'}, - {id: 8, title: 'Devon'}, - {id: 9, title: 'Dorset'}, - {id: 10, title: 'Durham'}, - {id: 11, title: 'Essex'}, - {id: 12, title: 'Gloucestershire'}, - {id: 13, title: 'Hampshire'}, - {id: 14, title: 'Hertfordshire'}, - {id: 15, title: 'Huntingdonshire'}, - {id: 16, title: 'Kent'}, - {id: 17, title: 'Lancashire'}, - {id: 18, title: 'Leicestershire'}, - {id: 19, title: 'Lincolnshire'}, - {id: 20, title: 'Middlesex'}, - {id: 21, title: 'Norfolk'}, - {id: 22, title: 'Northamptonshire'}, - {id: 23, title: 'Northumberland'}, - {id: 24, title: 'Nottinghamshire'}, - {id: 25, title: 'Northamptonshire'}, - {id: 26, title: 'Oxfordshire'}, - {id: 27, title: 'Northamptonshire'}, - {id: 28, title: 'Rutland'}, - {id: 29, title: 'Shropshire'}, - {id: 30, title: 'Somerset'}, - {id: 31, title: 'Staffordshire'}, - {id: 32, title: 'Suffolk'}, - {id: 33, title: 'Surrey'}, - {id: 34, title: 'Sussex'}, - {id: 35, title: 'Warwickshire'}, - {id: 36, title: 'Westmoreland'}, - {id: 37, title: 'Wiltshire'}, - {id: 38, title: 'Worcestershire'}, - {id: 39, title: 'Yorkshire'} + { id: 0, title: "Bedfordshire" }, + { id: 1, title: "Berkshire" }, + { id: 2, title: "Buckinghamshire" }, + { id: 3, title: "Cambridgeshire" }, + { id: 4, title: "Cheshire" }, + { id: 5, title: "Cornwall" }, + { id: 6, title: "Cumbria, (Cumberland)" }, + { id: 7, title: "Derbyshire" }, + { id: 8, title: "Devon" }, + { id: 9, title: "Dorset" }, + { id: 10, title: "Durham" }, + { id: 11, title: "Essex" }, + { id: 12, title: "Gloucestershire" }, + { id: 13, title: "Hampshire" }, + { id: 14, title: "Hertfordshire" }, + { id: 15, title: "Huntingdonshire" }, + { id: 16, title: "Kent" }, + { id: 17, title: "Lancashire" }, + { id: 18, title: "Leicestershire" }, + { id: 19, title: "Lincolnshire" }, + { id: 20, title: "Middlesex" }, + { id: 21, title: "Norfolk" }, + { id: 22, title: "Northamptonshire" }, + { id: 23, title: "Northumberland" }, + { id: 24, title: "Nottinghamshire" }, + { id: 25, title: "Northamptonshire" }, + { id: 26, title: "Oxfordshire" }, + { id: 27, title: "Northamptonshire" }, + { id: 28, title: "Rutland" }, + { id: 29, title: "Shropshire" }, + { id: 30, title: "Somerset" }, + { id: 31, title: "Staffordshire" }, + { id: 32, title: "Suffolk" }, + { id: 33, title: "Surrey" }, + { id: 34, title: "Sussex" }, + { id: 35, title: "Warwickshire" }, + { id: 36, title: "Westmoreland" }, + { id: 37, title: "Wiltshire" }, + { id: 38, title: "Worcestershire" }, + { id: 39, title: "Yorkshire" }, ]; -var titles = ['Dr.', 'Mr.', 'Mrs.', 'Miss', 'Ms.']; +var titles = ["Dr.", "Mr.", "Mrs.", "Miss", "Ms."]; -var columns:ReactDataGrid.Column[] = [ +var columns: ReactDataGrid.Column[] = [ { - key: 'id', - name: 'ID', + key: "id", + name: "ID", width: 80, - resizable: true + resizable: true, }, { - key: 'avartar', - name: 'Avartar', + key: "avartar", + name: "Avartar", width: 60, formatter: ReactDataGridPlugins.Formatters.ImageFormatter, resizable: true, - headerRenderer: + headerRenderer: , }, { - key: 'county', - name: 'County', - editor: , + key: "county", + name: "County", + editor: , width: 200, resizable: true, getRowMetaData: (rowdata: any, column: ReactDataGrid.Column) => { return {}; - } + }, }, { - key: 'title', - name: 'Title', - editor: , + key: "title", + name: "Title", + editor: , width: 200, resizable: true, events: { - onDoubleClick: function () { + onDoubleClick: function() { console.log("The user double clicked on title column"); - } - } + }, + }, }, { - key: 'firstName', - name: 'First Name', + key: "firstName", + name: "First Name", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'lastName', - name: 'Last Name', + key: "lastName", + name: "Last Name", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'email', - name: 'Email', + key: "email", + name: "Email", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'street', - name: 'Street', + key: "street", + name: "Street", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'zipCode', - name: 'ZipCode', + key: "zipCode", + name: "ZipCode", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'date', - name: 'Date', + key: "date", + name: "Date", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'bs', - name: 'bs', + key: "bs", + name: "bs", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'catchPhrase', - name: 'Catch Phrase', + key: "catchPhrase", + name: "Catch Phrase", editable: true, width: 200, - resizable: true + resizable: true, }, { - key: 'companyName', - name: 'Company Name', + key: "companyName", + name: "Company Name", editable: true, width: 200, resizable: true, filterable: true, - filterRenderer: CustomFilterHeaderCell + filterRenderer: CustomFilterHeaderCell, }, { - key: 'sentence', - name: 'Sentence', + key: "sentence", + name: "Sentence", editable: true, width: 200, resizable: true, - cellClass: 'sentence-class' - } + cellClass: "sentence-class", + }, ]; class Example extends React.Component { getInitialState() { var fakeRows = createRows(2000); - return {rows: fakeRows}; + return { rows: fakeRows }; } getColumns() { var clonedColumns = columns.slice(); clonedColumns[2].events = { - onClick: (ev:React.SyntheticEvent, args:{idx:number, rowIdx:number}) => { + onClick: (ev: React.SyntheticEvent, args: { idx: number; rowIdx: number }) => { var idx = args.idx; var rowIdx = args.rowIdx; (this.refs.grid as ReactDataGrid).openCellEditor(rowIdx, idx); - } + }, }; return clonedColumns; } - handleGridRowsUpdated(updatedRowData:ReactDataGrid.GridRowsUpdatedEvent) { + handleGridRowsUpdated(updatedRowData: ReactDataGrid.GridRowsUpdatedEvent) { var rows = this.state.rows; for (var i = updatedRowData.fromRow; i <= updatedRowData.toRow; i++) { @@ -271,20 +271,20 @@ class Example extends React.Component { rows[i] = updatedRow; } - this.setState({rows: rows}); + this.setState({ rows: rows }); } - onRowExpandToggle = ({ columnGroupName, name, shouldExpand }:ReactDataGrid.OnRowExpandToggle ) => { + onRowExpandToggle = ({ columnGroupName, name, shouldExpand }: ReactDataGrid.OnRowExpandToggle) => { let expandedRows = Object.assign({}, this.state.expandedRows); expandedRows[columnGroupName] = Object.assign({}, expandedRows[columnGroupName]); - expandedRows[columnGroupName][name] = {isExpanded: shouldExpand}; - this.setState({expandedRows: expandedRows}); - } + expandedRows[columnGroupName][name] = { isExpanded: shouldExpand }; + this.setState({ expandedRows: expandedRows }); + }; - onRowClick(rowIdx:number, row: Object) { + onRowClick(rowIdx: number, row: Object) { // Do nothing, just test that it accepts an event } - onRowDoubleClick(rowIdx:number, row: Object) { + onRowDoubleClick(rowIdx: number, row: Object) { // Do nothing, just test that it accepts an event } @@ -294,19 +294,19 @@ class Example extends React.Component { return rows; } - handleAddRow(e:any) { + handleAddRow(e: any) { var newRow = { value: e.newRowIndex, - userStory: '', - developer: '', - epic: '' + userStory: "", + developer: "", + epic: "", }; var rows = this.state.rows; rows.push(newRow); - this.setState({rows: rows}); + this.setState({ rows: rows }); } - getRowAt(index:number) { + getRowAt(index: number) { this.getRows(); if (index < 0 || index > this.getSize()) { return undefined; @@ -321,19 +321,19 @@ class Example extends React.Component { onRowsSelected(rows: Array) { var selectedIndexes = this.state.selectedIndexes as Array; - this.setState({selectedIndexes: selectedIndexes.concat(rows.map(r => r.rowIdx))}); + this.setState({ selectedIndexes: selectedIndexes.concat(rows.map(r => r.rowIdx)) }); } onRowsDeselected(rows: Array) { var rowIndexes = rows.map(r => r.rowIdx); var selectedIndexes = this.state.selectedIndexes as Array; - this.setState({selectedIndexes: selectedIndexes.filter(i => rowIndexes.indexOf(i) === -1 )}); + this.setState({ selectedIndexes: selectedIndexes.filter(i => rowIndexes.indexOf(i) === -1) }); } render() { - let selectedRows = ['id1', 'id2']; + let selectedRows = ["id1", "id2"]; return ( { rowsCount={this.getSize()} onGridRowsUpdated={this.handleGridRowsUpdated} onRowExpandToggle={this.onRowExpandToggle} - toolbar={} + toolbar={} enableRowSelect={true} rowHeight={50} minHeight={600} @@ -352,15 +352,14 @@ class Example extends React.Component { onRowsSelected: this.onRowsSelected, onRowsDeselected: this.onRowsDeselected, selectBy: { - keys: {rowKey: 'id', values: selectedRows} - } + keys: { rowKey: "id", values: selectedRows }, + }, }} rowActionsCell={CustomRowSelectorCell} selectAllRenderer={CustomSelectAll} onRowClick={this.onRowClick} onRowDoubleClick={this.onRowDoubleClick} /> - ); } } diff --git a/types/react-datagrid/index.d.ts b/types/react-datagrid/index.d.ts index 04795d089cd17e..ef11ed457bb1d5 100644 --- a/types/react-datagrid/index.d.ts +++ b/types/react-datagrid/index.d.ts @@ -16,111 +16,112 @@ declare namespace ReactDataGrid { ref?: React.LegacyRef | undefined; /** - * Array/String/Function/Promise - for local data, an array of object - * to render in the grid. For remote data, a string url, or a function - * that returns a promise. - */ - dataSource: any[] | string | ((query: {pageSize: number, skip: number}) => Promise); + * Array/String/Function/Promise - for local data, an array of object + * to render in the grid. For remote data, a string url, or a function + * that returns a promise. + */ + dataSource: any[] | string | ((query: { pageSize: number; skip: number }) => Promise); dataSourceCount?: number | undefined; /** - * String - the name of the property where the id is found for each - * object in the data array. - */ + * String - the name of the property where the id is found for each + * object in the data array. + */ idProperty: string; /** - * Array - an array of columns that are going to be rendered in the - * grid. - */ + * Array - an array of columns that are going to be rendered in the + * grid. + */ columns: Column[]; /** - * Sorting the data array is not done by the grid. You can however - * pass in sort info so the grid renders with sorting icons as needed. - */ + * Sorting the data array is not done by the grid. You can however + * pass in sort info so the grid renders with sorting icons as needed. + */ onSortChange?: ((sortInfo: SortInfo[]) => void) | undefined; /** - * Array - an array with sorting information. - */ + * Array - an array with sorting information. + */ sortInfo?: SortInfo[] | undefined; style?: React.CSSProperties | undefined; /** - * Object/Function - you can specify either a style object to be - * applied to all rows, or a function. The function is called with - * (data, props) (so you have access to props.index for example) and - * is expected to return a style object. - */ + * Object/Function - you can specify either a style object to be + * applied to all rows, or a function. The function is called with + * (data, props) (so you have access to props.index for example) and + * is expected to return a style object. + */ rowStyle?: React.CSSProperties | ((data: any, props: RowProps) => React.CSSProperties) | undefined; /** - * Boolean - show a column menu to show/hide columns. - */ + * Boolean - show a column menu to show/hide columns. + */ withColumnMenu?: boolean | undefined; /** - * If you want to enable column reordering, just specify the - * onColumnOrderChange prop on the grid: - */ + * If you want to enable column reordering, just specify the + * onColumnOrderChange prop on the grid: + */ onColumnOrderChange?: ((index: number, dropIndex: number) => void) | undefined; /** - * If you want to enable column resized, just specify the - * onColumnResize prop on the grid: - */ - onColumnResize?: ((firstCol: Column, firstSize: number, - secondCol: Column, secondSize: number) => void) | undefined; + * If you want to enable column resized, just specify the + * onColumnResize prop on the grid: + */ + onColumnResize?: + | ((firstCol: Column, firstSize: number, secondCol: Column, secondSize: number) => void) + | undefined; /** - * If you want to enable selection, just specify the - * onSelectionChange prop on the grid: - */ + * If you want to enable selection, just specify the + * onSelectionChange prop on the grid: + */ onSelectionChange?: ((newSelected: {}, data: any) => void) | undefined; /** - * When a column is shown/hidden, you can be notified using the - * onColumnVisibilityChange callback prop. - */ + * When a column is shown/hidden, you can be notified using the + * onColumnVisibilityChange callback prop. + */ onColumnVisibilityChange?: ((column: Column, visibility: boolean) => void) | undefined; /** - * The current selection. - */ + * The current selection. + */ selected?: {} | undefined; /** - * Group rows by matching values. - */ + * Group rows by matching values. + */ groupBy?: any[] | undefined; /** - * If you want to enable filter, just specify the - * onFilter prop on the grid: - */ + * If you want to enable filter, just specify the + * onFilter prop on the grid: + */ onFilter?: ((column: Column, value: any, allFilterValues: any[]) => void) | undefined; /** - * To apply the filter while typing. - */ + * To apply the filter while typing. + */ liveFilter?: boolean | undefined; /** - * Empty text for no records. - */ + * Empty text for no records. + */ emptyText?: string | undefined; /** - * Loading grid. - */ + * Loading grid. + */ loading?: boolean | undefined; /** - * If you dont want loadMask over header, specify - */ + * If you dont want loadMask over header, specify + */ loadMaskOverHeader?: boolean | undefined; /** @@ -129,44 +130,44 @@ declare namespace ReactDataGrid { showCellBorders?: boolean | string | undefined; /** - * Custom row height. - */ + * Custom row height. + */ rowHeight?: number | undefined; /** - * When you have remote data, pagination is setup by default. If you - * want to disable pagination, specify the pagination prop with a false - * value. - */ + * When you have remote data, pagination is setup by default. If you + * want to disable pagination, specify the pagination prop with a false + * value. + */ pagination?: boolean | undefined; defaultPageSize?: number | undefined; defaultPage?: number | undefined; /** - * Number - controlled alternative for defaultPageSize. When pageSize - * changes, onPageSizeChange(pageSize) is called. - */ + * Number - controlled alternative for defaultPageSize. When pageSize + * changes, onPageSizeChange(pageSize) is called. + */ pageSize?: number | undefined; /** - * Number - controlled alternative for defaultPage. When page changes, - * onPageChange(page) is called. - */ + * Number - controlled alternative for defaultPage. When page changes, + * onPageChange(page) is called. + */ page?: number | undefined; /** - * Customize the pagination toolbar. - */ + * Customize the pagination toolbar. + */ paginationToolbarProps?: PaginationToolbarProps | undefined; /** - * handle page changes. - */ + * handle page changes. + */ onPageChange?: ((page: number) => void) | undefined; /** - * handle page size changes. - */ + * handle page size changes. + */ onPageSizeChange?: ((pageSize: number, props: DataGridProps) => void) | undefined; } @@ -177,16 +178,16 @@ declare namespace ReactDataGrid { interface Column { /** - * String - each column should have a name property. - */ + * String - each column should have a name property. + */ name: string; /** - * String/ReactElement - a title to show in the header. If not - * specified, a humanized version of name will be used. Can be a string - * or anything that React can render, so you can customize it as you - * please. - */ + * String/ReactElement - a title to show in the header. If not + * specified, a humanized version of name will be used. Can be a string + * or anything that React can render, so you can customize it as you + * please. + */ title?: string | React.ReactElement | undefined; /** @@ -200,19 +201,19 @@ declare namespace ReactDataGrid { render?: ((value: any, data: any, cellProps: CellProps) => any) | undefined; /** - * Object - if you want cells in this column to be have a custom - * style. - */ + * Object - if you want cells in this column to be have a custom + * style. + */ style?: React.CSSProperties | undefined; /** - * String - one of 'left', 'right', 'center'. - */ + * String - one of 'left', 'right', 'center'. + */ textAlign?: string | undefined; /** - * String - a className to be applied to all cells in this column - */ + * String - a className to be applied to all cells in this column + */ className?: string | undefined; width?: number | undefined; @@ -220,90 +221,90 @@ declare namespace ReactDataGrid { minWidth?: number | undefined; /** - * Columns are flexible via flexbox. Specify a flex property for this. - * Unless a column specifies a flex or a width property, it is assumed - * to have flex: 1. - */ + * Columns are flexible via flexbox. Specify a flex property for this. + * Unless a column specifies a flex or a width property, it is assumed + * to have flex: 1. + */ flex?: number | undefined; /** - * Specify a column as visible/hidden. - */ + * Specify a column as visible/hidden. + */ defaultVisible?: boolean | undefined; defaultHidden?: boolean | undefined; /** - * Boolean - controlled (which means you have to manually set column - * visibility when it changes, by using onColumnVisibilityChange). - */ + * Boolean - controlled (which means you have to manually set column + * visibility when it changes, by using onColumnVisibilityChange). + */ visible?: boolean | undefined; } interface CellProps { /** - * the index of the row - */ + * the index of the row + */ rowIndex: number; /** - * the index of the column - */ + * the index of the column + */ index: number; /** - * a style for the cell - */ + * a style for the cell + */ style: React.CSSProperties; /** - * a class name for the cell - */ + * a class name for the cell + */ className: string; } interface RowProps { /** - * the index of the row - */ + * the index of the row + */ index: number; /** - * a class name for the row when the mouse is over it - */ + * a class name for the row when the mouse is over it + */ overClassName: string; /** - * a class name for the row when selected - */ + * a class name for the row when selected + */ selectedClassName: string; /** - * a class name for the row - */ + * a class name for the row + */ className: string; } interface PaginationToolbarProps { /** - * Available page sizes. - */ + * Available page sizes. + */ pageSizes: number[]; /** - * Hide/show page sizes. - */ + * Hide/show page sizes. + */ showPageSize: boolean; /** - * Customize icons. - */ + * Customize icons. + */ showRefreshIcon: boolean; - iconSize: number; - iconProps: { - style: React.SVGAttributes<{}>, - overStyle: React.SVGAttributes<{}>, - disabledStyle: React.SVGAttributes<{}> - } + iconSize: number; + iconProps: { + style: React.SVGAttributes<{}>; + overStyle: React.SVGAttributes<{}>; + disabledStyle: React.SVGAttributes<{}>; + }; } export class DataGrid extends React.Component { diff --git a/types/react-datagrid/react-datagrid-tests.tsx b/types/react-datagrid/react-datagrid-tests.tsx index a69efa9dbee708..645823ccf5c3f1 100644 --- a/types/react-datagrid/react-datagrid-tests.tsx +++ b/types/react-datagrid/react-datagrid-tests.tsx @@ -4,75 +4,80 @@ import ReactDataGrid = require("react-datagrid"); var data: any[] = []; var columns = [ - { name: 'index', title: '#', width: 50 }, - { name: 'firstName', style: { color: 'red' }, visible: true}, - { name: 'lastName', render: (v: any) => {return v + " Phd"}}, - { name: 'city', textAlign: 'right', defaultVisible: true}, - { name: 'email', defaultHidden: true } + { name: "index", title: "#", width: 50 }, + { name: "firstName", style: { color: "red" }, visible: true }, + { + name: "lastName", + render: (v: any) => { + return v + " Phd"; + }, + }, + { name: "city", textAlign: "right", defaultVisible: true }, + { name: "email", defaultHidden: true }, ]; var selected = {}; -var sortInfo = [ { name: 'country', dir: 'asc'}] +var sortInfo = [{ name: "country", dir: "asc" }]; export namespace X { -export class ExampleBasic extends React.Component { - render(): React.ReactElement { - return ( - - ); + export class ExampleBasic extends React.Component { + render(): React.ReactElement { + return ( + + ); + } } } -} class ExampleFull extends React.Component { - render(): React.ReactElement { - return ( + return ( {}} - onPageSizeChange={(pageSize: number, props: any) => {}} - onColumnOrderChange={(index: number, dropIndex: number) => {}} - onColumnResize={(firstCol: any, firstSize: number, secondCol: any, secondSize: number) => {}} - onSelectionChange={(newSelectedId: string, data: any) => {}} - onSortChange={(sortInfo: any) => {}} - onFilter={(column: any, value: any, allFilterValues: any[]) => {} } - /> - ); - } + key={1} + ref="dlgFull" + idProperty="id" + dataSource={data} + columns={columns} + style={{ height: 500 }} + withColumnMenu={false} + selected={selected} + sortInfo={sortInfo} + groupBy={["country", "grade"]} + liveFilter={true} + emptyText={"No records"} + loading={true} + loadMaskOverHeader={false} + rowStyle={{ color: "blue" }} + showCellBorders="vertical" + rowHeight={50} + defaultPageSize={110} + paginationToolbarProps={{ + pageSizes: [100, 1000, 2000], + showPageSize: false, + showRefreshIcon: false, + iconSize: 30, + iconProps: { + style: { fill: "#FF8484" }, + overStyle: { fill: "red" }, + disabledStyle: { fill: "#808080" }, + }, + }} + pagination={true} + page={1} + pageSize={100} + onPageChange={(page: number) => {}} + onPageSizeChange={(pageSize: number, props: any) => {}} + onColumnOrderChange={(index: number, dropIndex: number) => {}} + onColumnResize={(firstCol: any, firstSize: number, secondCol: any, secondSize: number) => {}} + onSelectionChange={(newSelectedId: string, data: any) => {}} + onSortChange={(sortInfo: any) => {}} + onFilter={(column: any, value: any, allFilterValues: any[]) => {}} + /> + ); + } } diff --git a/types/react-date-range/index.d.ts b/types/react-date-range/index.d.ts index 3b2152c1b631ce..3aeb12e58ed693 100644 --- a/types/react-date-range/index.d.ts +++ b/types/react-date-range/index.d.ts @@ -6,8 +6,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; -import { Locale } from 'date-fns'; +import { Locale } from "date-fns"; +import * as React from "react"; // ============================================================================= // Helper Types/Interfaces @@ -34,7 +34,7 @@ export interface RangeKeyDict { [key: string]: Range; } -export type Preview = Pick; +export type Preview = Pick; export interface AriaLabelsShape { dateInput?: RangeKeyDict | undefined; @@ -119,7 +119,7 @@ export interface CalendarProps { */ ariaLabels?: AriaLabelsShape | undefined; /** default: `forwards` */ - calendarFocus?: 'forwards' | 'backwards' | undefined; + calendarFocus?: "forwards" | "backwards" | undefined; /** default: none */ className?: string | undefined; /** @@ -147,7 +147,7 @@ export interface CalendarProps { /** default: `d` */ dayDisplayFormat?: string | undefined; /** default: `vertical` */ - direction?: 'vertical' | 'horizontal' | undefined; + direction?: "vertical" | "horizontal" | undefined; /** default: `[]` */ disabledDates?: Date[] | undefined; /** @@ -157,7 +157,7 @@ export interface CalendarProps { */ disabledDay?: ((date: Date) => boolean) | undefined; /** default: `date` */ - displayMode?: 'dateRange' | 'date' | undefined; + displayMode?: "dateRange" | "date" | undefined; /** default: `true` */ dragSelectionEnabled?: boolean | undefined; /** default: `false` */ @@ -200,13 +200,13 @@ export interface CalendarProps { */ navigatorRenderer?: | (( - currFocusedDate: Date, - changeShownDate: ( - value: Date | number | string, - mode?: 'set' | 'setYear' | 'setMonth' | 'monthOffset', - ) => void, - props: CalendarProps, - ) => JSX.Element) + currFocusedDate: Date, + changeShownDate: ( + value: Date | number | string, + mode?: "set" | "setYear" | "setMonth" | "monthOffset", + ) => void, + props: CalendarProps, + ) => JSX.Element) | undefined; /** default: none */ onChange?: ((date: Date) => void) | undefined; @@ -256,7 +256,7 @@ export class Calendar extends React.Component {} // DateRange Component // ============================================================================= -export interface DateRangeProps extends Omit { +export interface DateRangeProps extends Omit { /** default: none */ onChange?: ((rangesByKey: RangeKeyDict) => void) | undefined; /** default: `false` */ diff --git a/types/react-date-range/react-date-range-tests.tsx b/types/react-date-range/react-date-range-tests.tsx index 4326d3757a697c..919568514c1692 100644 --- a/types/react-date-range/react-date-range-tests.tsx +++ b/types/react-date-range/react-date-range-tests.tsx @@ -1,16 +1,16 @@ -import * as React from 'react'; +import * as React from "react"; import { - Range, - RangeKeyDict, Calendar, DateRange, - StaticRange, - InputRange, - DefinedRange, DateRangePicker, defaultInputRanges, defaultStaticRanges, -} from 'react-date-range'; + DefinedRange, + InputRange, + Range, + RangeKeyDict, + StaticRange, +} from "react-date-range"; // ============================================================================= // Calendar Component @@ -29,17 +29,17 @@ class ReactCalendar extends React.Component { return (
    {date.toISOString()}} dayDisplayFormat="dd" direction="vertical" - disabledDates={[new Date('2021-10-16')]} + disabledDates={[new Date("2021-10-16")]} disabledDay={date => date.getDate() === 10} displayMode="date" dragSelectionEnabled @@ -48,8 +48,8 @@ class ReactCalendar extends React.Component { fixedHeight={false} focusedRange={[0, 0]} initialFocusedRange={[0, 1]} - maxDate={new Date('2021-10-31')} - minDate={new Date('2021-10-01')} + maxDate={new Date("2021-10-31")} + minDate={new Date("2021-10-01")} monthDisplayFormat="MMM" months={2} navigatorRenderer={() => Nav} @@ -58,15 +58,15 @@ class ReactCalendar extends React.Component { onRangeFocusChange={focusedRange => console.log(focusedRange)} onShownDateChange={date => console.log(date)} preventSnapRefocus - preview={{ startDate: new Date('2021-10-01'), endDate: new Date('2021-10-31') }} - rangeColors={['red', 'blue', 'yellow']} + preview={{ startDate: new Date("2021-10-01"), endDate: new Date("2021-10-31") }} + rangeColors={["red", "blue", "yellow"]} ranges={[]} scroll={{ enabled: true }} showDateDisplay showMonthAndYearPickers showMonthArrow showPreview - shownDate={new Date('2021-10-10')} + shownDate={new Date("2021-10-10")} startDatePlaceholder="Start Date" updateRange={range => console.log(range)} weekdayDisplayFormat="E" @@ -82,9 +82,9 @@ class ReactCalendar extends React.Component { // ============================================================================= const range: Range = { - startDate: new Date('2020-11-01'), - endDate: new Date('2020-11-30'), - key: 'selection', + startDate: new Date("2020-11-01"), + endDate: new Date("2020-11-30"), + key: "selection", }; class ReactDatePicker extends React.Component { @@ -100,17 +100,17 @@ class ReactDatePicker extends React.Component { return (
    {date.toISOString()}} dayDisplayFormat="dd" direction="vertical" - disabledDates={[new Date('2021-10-16')]} + disabledDates={[new Date("2021-10-16")]} disabledDay={date => date.getDate() === 10} displayMode="date" dragSelectionEnabled @@ -119,8 +119,8 @@ class ReactDatePicker extends React.Component { fixedHeight={false} focusedRange={[0, 0]} initialFocusedRange={[0, 1]} - maxDate={new Date('2021-10-31')} - minDate={new Date('2021-10-01')} + maxDate={new Date("2021-10-31")} + minDate={new Date("2021-10-01")} monthDisplayFormat="MMM" months={2} navigatorRenderer={() => Nav} @@ -129,15 +129,15 @@ class ReactDatePicker extends React.Component { onRangeFocusChange={focusedRange => console.log(focusedRange)} onShownDateChange={date => console.log(date)} preventSnapRefocus - preview={{ startDate: new Date('2021-10-01'), endDate: new Date('2021-10-31') }} - rangeColors={['red', 'blue', 'yellow']} + preview={{ startDate: new Date("2021-10-01"), endDate: new Date("2021-10-31") }} + rangeColors={["red", "blue", "yellow"]} ranges={[range]} scroll={{ enabled: true }} showDateDisplay showMonthAndYearPickers showMonthArrow showPreview - shownDate={new Date('2021-10-10')} + shownDate={new Date("2021-10-10")} startDatePlaceholder="Start Date" updateRange={range => console.log(range)} weekdayDisplayFormat="E" @@ -155,16 +155,16 @@ class ReactDatePicker extends React.Component { // ============================================================================= const staticRange: StaticRange = { - range: () => ({ startDate: new Date('2021-10-01'), endDate: new Date('2021-10-31') }), - isSelected: range => range?.key === 'selected', - label: 'Example static range', + range: () => ({ startDate: new Date("2021-10-01"), endDate: new Date("2021-10-31") }), + isSelected: range => range?.key === "selected", + label: "Example static range", hasCustomRendering: true, }; const inputRange: InputRange = { - range: () => ({ startDate: new Date('2021-10-01'), endDate: new Date('2021-10-31') }), - getCurrentValue: range => range?.startDate?.getTime() || '', - label: 'Example static range', + range: () => ({ startDate: new Date("2021-10-01"), endDate: new Date("2021-10-31") }), + getCurrentValue: range => range?.startDate?.getTime() || "", + label: "Example static range", }; class ReactDefinedDateRange extends React.Component { @@ -187,7 +187,7 @@ class ReactDefinedDateRange extends React.Component { inputRanges={[inputRange, defaultInputRanges[0]]} onChange={this.handleChange} onPreviewChange={preview => console.log(preview)} - rangeColors={['red', 'blue', 'yellow']} + rangeColors={["red", "blue", "yellow"]} ranges={[range]} renderStaticRangeLabel={staticRange => {staticRange?.label}} staticRanges={[staticRange, defaultStaticRanges[0]]} @@ -202,9 +202,9 @@ class ReactDefinedDateRange extends React.Component { // ============================================================================= const customizedKeyRange: Range = { - startDate: new Date('2020-11-01'), - endDate: new Date('2020-11-30'), - key: 'customizedKey', + startDate: new Date("2020-11-01"), + endDate: new Date("2020-11-30"), + key: "customizedKey", }; class ReactDateRangePicker extends React.Component { @@ -220,17 +220,17 @@ class ReactDateRangePicker extends React.Component { return (
    {date.toISOString()}} dayDisplayFormat="dd" direction="vertical" - disabledDates={[new Date('2021-10-16')]} + disabledDates={[new Date("2021-10-16")]} disabledDay={date => date.getDate() === 10} displayMode="date" dragSelectionEnabled @@ -239,8 +239,8 @@ class ReactDateRangePicker extends React.Component { fixedHeight={false} focusedRange={[0, 0]} initialFocusedRange={[0, 1]} - maxDate={new Date('2021-10-31')} - minDate={new Date('2021-10-01')} + maxDate={new Date("2021-10-31")} + minDate={new Date("2021-10-01")} monthDisplayFormat="MMM" months={2} navigatorRenderer={() => Nav} @@ -249,15 +249,15 @@ class ReactDateRangePicker extends React.Component { onRangeFocusChange={focusedRange => console.log(focusedRange)} onShownDateChange={date => console.log(date)} preventSnapRefocus - preview={{ startDate: new Date('2021-10-01'), endDate: new Date('2021-10-31') }} - rangeColors={['red', 'blue', 'yellow']} + preview={{ startDate: new Date("2021-10-01"), endDate: new Date("2021-10-31") }} + rangeColors={["red", "blue", "yellow"]} ranges={[customizedKeyRange]} scroll={{ enabled: true }} showDateDisplay showMonthAndYearPickers showMonthArrow showPreview - shownDate={new Date('2021-10-10')} + shownDate={new Date("2021-10-10")} startDatePlaceholder="Start Date" updateRange={range => console.log(range)} weekdayDisplayFormat="E" diff --git a/types/react-date-range/v0/index.d.ts b/types/react-date-range/v0/index.d.ts index 34f7bb6169487b..26beecac9235c6 100644 --- a/types/react-date-range/v0/index.d.ts +++ b/types/react-date-range/v0/index.d.ts @@ -4,8 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from "react"; import * as moment from "moment"; +import * as React from "react"; export type AnyDate = string | moment.Moment; export type DateFunc = (now: moment.Moment) => AnyDate; @@ -88,7 +88,7 @@ export interface CalendarProps extends CommonCalendarProps { date: DateInputType; } -export class Calendar extends React.Component { } +export class Calendar extends React.Component {} export interface DateRangeProps extends Range, CommonCalendarProps { /** default: enUs from locale. Complete list here https://github.com/Adphorus/react-date-range/blob/next/src/locale/index.js */ @@ -147,9 +147,9 @@ export interface DateRangeProps extends Range, CommonCalendarProps { editableDateInputs?: boolean; } -export class DateRange extends React.Component { } +export class DateRange extends React.Component {} -export class DateRangePicker extends React.Component { } +export class DateRangePicker extends React.Component {} export type DateRangeIndex = | "Today" diff --git a/types/react-date-range/v0/react-date-range-tests.tsx b/types/react-date-range/v0/react-date-range-tests.tsx index 3d8a6bf81fc5e4..5948bbd223b551 100644 --- a/types/react-date-range/v0/react-date-range-tests.tsx +++ b/types/react-date-range/v0/react-date-range-tests.tsx @@ -1,10 +1,5 @@ import * as React from "react"; -import { - defaultRanges, - DateRange, - DateRangePicker, - Range -} from "react-date-range"; +import { DateRange, DateRangePicker, defaultRanges, Range } from "react-date-range"; class ReactDatePicker extends React.Component { constructor(props: {}) { @@ -25,7 +20,7 @@ class ReactDatePicker extends React.Component { onChange={this.handleChange} theme={{ Calendar: { width: 200 }, - PredefinedRanges: { marginLeft: 10, marginTop: 10 } + PredefinedRanges: { marginLeft: 10, marginTop: 10 }, }} />
    @@ -48,7 +43,7 @@ class ReactDateRangePicker extends React.Component { { weekStartsOn={1} theme={{ Calendar: { width: 200 }, - PredefinedRanges: { marginLeft: 10, marginTop: 10 } + PredefinedRanges: { marginLeft: 10, marginTop: 10 }, }} />
    diff --git a/types/react-datepicker/index.d.ts b/types/react-datepicker/index.d.ts index 15a8dc2189f7a5..43d2559e0c8bed 100644 --- a/types/react-datepicker/index.d.ts +++ b/types/react-datepicker/index.d.ts @@ -16,10 +16,10 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // Minimum TypeScript Version: 3.8 -import * as React from 'react'; -import * as Popper from '@popperjs/core'; -import { Locale } from 'date-fns'; -import { Modifier, StrictModifierNames } from 'react-popper'; +import * as Popper from "@popperjs/core"; +import { Locale } from "date-fns"; +import * as React from "react"; +import { Modifier, StrictModifierNames } from "react-popper"; export interface CalendarContainerProps { className?: string | undefined; @@ -86,7 +86,7 @@ export interface ReactDatePickerProps< disabledDayAriaLabelPrefix?: string | undefined; disabled?: boolean | undefined; disabledKeyboardNavigation?: boolean | undefined; - dropdownMode?: 'scroll' | 'select' | undefined; + dropdownMode?: "scroll" | "select" | undefined; endDate?: Date | null | undefined; excludeDates?: Date[] | undefined; excludeDateIntervals?: Array<{ start: Date; end: Date }> | undefined; diff --git a/types/react-datepicker/react-datepicker-tests.tsx b/types/react-datepicker/react-datepicker-tests.tsx index 877ba031592f94..418135dc08f1fd 100644 --- a/types/react-datepicker/react-datepicker-tests.tsx +++ b/types/react-datepicker/react-datepicker-tests.tsx @@ -1,22 +1,22 @@ -import * as React from 'react'; +import enUS from "date-fns/locale/en-US"; +import * as React from "react"; import DatePicker, { CalendarContainer, - registerLocale, - ReactDatePickerProps, ReactDatePickerCustomHeaderProps, -} from 'react-datepicker'; -import enUS from 'date-fns/locale/en-US'; -import { Modifier } from 'react-popper'; + ReactDatePickerProps, + registerLocale, +} from "react-datepicker"; +import { Modifier } from "react-popper"; -registerLocale('en-GB', { options: { weekStartsOn: 1 } }); +registerLocale("en-GB", { options: { weekStartsOn: 1 } }); -const topLogger: Modifier<'topLogger'> = { - name: 'topLogger', +const topLogger: Modifier<"topLogger"> = { + name: "topLogger", enabled: true, - phase: 'main', + phase: "main", fn({ state }) { - if (state.placement === 'top') { - console.log('Popper is on the top'); + if (state.placement === "top") { + console.log("Popper is on the top"); } }, }; @@ -45,10 +45,10 @@ const topLogger: Modifier<'topLogger'> = { customTimeInput={} dateFormat="" dateFormatCalendar="" - dayClassName={date => ''} - weekDayClassName={date => ''} - monthClassName={date => ''} - timeClassName={date => ''} + dayClassName={date => ""} + weekDayClassName={date => ""} + monthClassName={date => ""} + timeClassName={date => ""} disabledDayAriaLabelPrefix="" disabled disabledKeyboardNavigation @@ -107,15 +107,15 @@ const topLogger: Modifier<'topLogger'> = { popperContainer={props =>
    } popperModifiers={[ { - name: 'offset', + name: "offset", options: { offset: [5, 10], }, }, { - name: 'preventOverflow', + name: "preventOverflow", options: { - rootBoundary: 'viewport', + rootBoundary: "viewport", tether: false, altAxis: true, }, @@ -217,7 +217,7 @@ function handleRef(ref: DatePicker | null) { } } - +
    ; @@ -228,10 +228,10 @@ const props: ReactDatePickerProps = { onChange: () => {}, }; - + onChange={() => {}} - popperModifiers={[{ name: 'arrow', options: { padding: 5 } }, topLogger]} - ref={(instance: DatePicker<'topLogger'> | null) => {}} + popperModifiers={[{ name: "arrow", options: { padding: 5 } }, topLogger]} + ref={(instance: DatePicker<"topLogger"> | null) => {}} />; const DatePickerCustomHeader = ({ diff --git a/types/react-dates/esm/components/CalendarDay.d.ts b/types/react-dates/esm/components/CalendarDay.d.ts index a82f09395bab2d..77a4bbf2d26cf2 100644 --- a/types/react-dates/esm/components/CalendarDay.d.ts +++ b/types/react-dates/esm/components/CalendarDay.d.ts @@ -1,3 +1,3 @@ -import { CalendarDay } from '../../index'; +import { CalendarDay } from "../../index"; export default CalendarDay; diff --git a/types/react-dates/esm/components/CalendarMonth.d.ts b/types/react-dates/esm/components/CalendarMonth.d.ts index 53270559b72cca..4133dc9c60d9c5 100644 --- a/types/react-dates/esm/components/CalendarMonth.d.ts +++ b/types/react-dates/esm/components/CalendarMonth.d.ts @@ -1,3 +1,3 @@ -import { CalendarMonth } from '../../index'; +import { CalendarMonth } from "../../index"; export default CalendarMonth; diff --git a/types/react-dates/esm/components/CalendarMonthGrid.d.ts b/types/react-dates/esm/components/CalendarMonthGrid.d.ts index 37b0f971f5779f..a17a097e1a538f 100644 --- a/types/react-dates/esm/components/CalendarMonthGrid.d.ts +++ b/types/react-dates/esm/components/CalendarMonthGrid.d.ts @@ -1,3 +1,3 @@ -import { CalendarMonthGrid } from '../../index'; +import { CalendarMonthGrid } from "../../index"; export default CalendarMonthGrid; diff --git a/types/react-dates/esm/components/DateRangePicker.d.ts b/types/react-dates/esm/components/DateRangePicker.d.ts index 35408a35d2b7f8..3df8b6a66bc541 100644 --- a/types/react-dates/esm/components/DateRangePicker.d.ts +++ b/types/react-dates/esm/components/DateRangePicker.d.ts @@ -1,3 +1,3 @@ -import { DateRangePicker } from '../../index'; +import { DateRangePicker } from "../../index"; export default DateRangePicker; diff --git a/types/react-dates/esm/components/DateRangePickerInput.d.ts b/types/react-dates/esm/components/DateRangePickerInput.d.ts index 2a22a90dec379d..5cc18a3882d791 100644 --- a/types/react-dates/esm/components/DateRangePickerInput.d.ts +++ b/types/react-dates/esm/components/DateRangePickerInput.d.ts @@ -1,3 +1,3 @@ -import { DateRangePickerInput } from '../../index'; +import { DateRangePickerInput } from "../../index"; export default DateRangePickerInput; diff --git a/types/react-dates/esm/components/DateRangePickerInputController.d.ts b/types/react-dates/esm/components/DateRangePickerInputController.d.ts index 52d499c401cc8e..91780321b5b571 100644 --- a/types/react-dates/esm/components/DateRangePickerInputController.d.ts +++ b/types/react-dates/esm/components/DateRangePickerInputController.d.ts @@ -1,3 +1,3 @@ -import { DateRangePickerInputController } from '../../index'; +import { DateRangePickerInputController } from "../../index"; export default DateRangePickerInputController; diff --git a/types/react-dates/esm/components/DayPicker.d.ts b/types/react-dates/esm/components/DayPicker.d.ts index 31813842c509fc..af987e0671d5f0 100644 --- a/types/react-dates/esm/components/DayPicker.d.ts +++ b/types/react-dates/esm/components/DayPicker.d.ts @@ -1,3 +1,3 @@ -import { DayPicker } from '../../index'; +import { DayPicker } from "../../index"; export default DayPicker; diff --git a/types/react-dates/esm/components/DayPickerRangeController.d.ts b/types/react-dates/esm/components/DayPickerRangeController.d.ts index d841f998079130..ced760d1646627 100644 --- a/types/react-dates/esm/components/DayPickerRangeController.d.ts +++ b/types/react-dates/esm/components/DayPickerRangeController.d.ts @@ -1,3 +1,3 @@ -import { DayPickerRangeController } from '../../index'; +import { DayPickerRangeController } from "../../index"; export default DayPickerRangeController; diff --git a/types/react-dates/esm/components/DayPickerSingleDateController.d.ts b/types/react-dates/esm/components/DayPickerSingleDateController.d.ts index e7d73f60673cdd..f8efb18b583f25 100644 --- a/types/react-dates/esm/components/DayPickerSingleDateController.d.ts +++ b/types/react-dates/esm/components/DayPickerSingleDateController.d.ts @@ -1,3 +1,3 @@ -import { DayPickerSingleDateController } from '../../index'; +import { DayPickerSingleDateController } from "../../index"; export default DayPickerSingleDateController; diff --git a/types/react-dates/esm/components/SingleDatePicker.d.ts b/types/react-dates/esm/components/SingleDatePicker.d.ts index 805b498451ec1e..3af89346d28af2 100644 --- a/types/react-dates/esm/components/SingleDatePicker.d.ts +++ b/types/react-dates/esm/components/SingleDatePicker.d.ts @@ -1,3 +1,3 @@ -import { SingleDatePicker } from '../../index'; +import { SingleDatePicker } from "../../index"; export default SingleDatePicker; diff --git a/types/react-dates/esm/components/SingleDatePickerInput.d.ts b/types/react-dates/esm/components/SingleDatePickerInput.d.ts index 79886953800799..fbd541b49dbe51 100644 --- a/types/react-dates/esm/components/SingleDatePickerInput.d.ts +++ b/types/react-dates/esm/components/SingleDatePickerInput.d.ts @@ -1,3 +1,3 @@ -import { SingleDatePickerInput } from '../../index'; +import { SingleDatePickerInput } from "../../index"; export default SingleDatePickerInput; diff --git a/types/react-dates/esm/components/SingleDatePickerInputController.d.ts b/types/react-dates/esm/components/SingleDatePickerInputController.d.ts index 79886953800799..fbd541b49dbe51 100644 --- a/types/react-dates/esm/components/SingleDatePickerInputController.d.ts +++ b/types/react-dates/esm/components/SingleDatePickerInputController.d.ts @@ -1,3 +1,3 @@ -import { SingleDatePickerInput } from '../../index'; +import { SingleDatePickerInput } from "../../index"; export default SingleDatePickerInput; diff --git a/types/react-dates/esm/utils/isInclusivelyAfterDay.d.ts b/types/react-dates/esm/utils/isInclusivelyAfterDay.d.ts index b511afdb01d483..cabda08f174a74 100644 --- a/types/react-dates/esm/utils/isInclusivelyAfterDay.d.ts +++ b/types/react-dates/esm/utils/isInclusivelyAfterDay.d.ts @@ -1,3 +1,3 @@ -import { isInclusivelyAfterDay } from '../../index'; +import { isInclusivelyAfterDay } from "../../index"; export default isInclusivelyAfterDay; diff --git a/types/react-dates/esm/utils/isInclusivelyBeforeDay.d.ts b/types/react-dates/esm/utils/isInclusivelyBeforeDay.d.ts index 524b1bf09fb899..f8491734f9f744 100644 --- a/types/react-dates/esm/utils/isInclusivelyBeforeDay.d.ts +++ b/types/react-dates/esm/utils/isInclusivelyBeforeDay.d.ts @@ -1,3 +1,3 @@ -import { isInclusivelyBeforeDay } from '../../index'; +import { isInclusivelyBeforeDay } from "../../index"; export default isInclusivelyBeforeDay; diff --git a/types/react-dates/esm/utils/isNextDay.d.ts b/types/react-dates/esm/utils/isNextDay.d.ts index 4839a8e9c1b04a..273a790d8bcdd4 100644 --- a/types/react-dates/esm/utils/isNextDay.d.ts +++ b/types/react-dates/esm/utils/isNextDay.d.ts @@ -1,3 +1,3 @@ -import { isNextDay } from '../../index'; +import { isNextDay } from "../../index"; export default isNextDay; diff --git a/types/react-dates/esm/utils/isSameDay.d.ts b/types/react-dates/esm/utils/isSameDay.d.ts index 4f684f98f951fe..1d0efed3389561 100644 --- a/types/react-dates/esm/utils/isSameDay.d.ts +++ b/types/react-dates/esm/utils/isSameDay.d.ts @@ -1,3 +1,3 @@ -import { isSameDay } from '../../index'; +import { isSameDay } from "../../index"; export default isSameDay; diff --git a/types/react-dates/esm/utils/toISODateString.d.ts b/types/react-dates/esm/utils/toISODateString.d.ts index 19e3dbff38c4af..acdb59c4996bda 100644 --- a/types/react-dates/esm/utils/toISODateString.d.ts +++ b/types/react-dates/esm/utils/toISODateString.d.ts @@ -1,3 +1,3 @@ -import { toISODateString } from '../../index'; +import { toISODateString } from "../../index"; export default toISODateString; diff --git a/types/react-dates/esm/utils/toLocalizedDateString.d.ts b/types/react-dates/esm/utils/toLocalizedDateString.d.ts index 3bd6c3c0d1aa24..ebe42d02009c45 100644 --- a/types/react-dates/esm/utils/toLocalizedDateString.d.ts +++ b/types/react-dates/esm/utils/toLocalizedDateString.d.ts @@ -1,3 +1,3 @@ -import { toLocalizedDateString } from '../../index'; +import { toLocalizedDateString } from "../../index"; export default toLocalizedDateString; diff --git a/types/react-dates/esm/utils/toMomentObject.d.ts b/types/react-dates/esm/utils/toMomentObject.d.ts index 8280f889ca2402..d0df643be4dda7 100644 --- a/types/react-dates/esm/utils/toMomentObject.d.ts +++ b/types/react-dates/esm/utils/toMomentObject.d.ts @@ -1,3 +1,3 @@ -import { toMomentObject } from '../../index'; +import { toMomentObject } from "../../index"; export default toMomentObject; diff --git a/types/react-dates/index.d.ts b/types/react-dates/index.d.ts index 16b9f6bc1ef53d..41b4b916dbd1a7 100644 --- a/types/react-dates/index.d.ts +++ b/types/react-dates/index.d.ts @@ -8,38 +8,39 @@ // TypeScript Version: 2.8 // Required fields are made according to 'minimum REQUIRED setup' in https://github.com/airbnb/react-dates/blob/master/README.md -import * as React from 'react'; -import * as moment from 'moment'; -import { Props as ReactOutsideClickHandlerProps } from 'react-outside-click-handler'; +import * as moment from "moment"; +import * as React from "react"; +import { Props as ReactOutsideClickHandlerProps } from "react-outside-click-handler"; // UTILITY TYPES export type RenderMonthProps = | { - renderMonthText?: ((month: moment.Moment) => React.ReactNode) | null | undefined; - renderMonthElement?: never | undefined; - } + renderMonthText?: ((month: moment.Moment) => React.ReactNode) | null | undefined; + renderMonthElement?: never | undefined; + } | { - renderMonthText?: never | undefined; - renderMonthElement?: - | ((props: { - month: moment.Moment; - onMonthSelect: (currentMonth: moment.Moment, newMonthVal: string) => void; - onYearSelect: (currentMonth: moment.Moment, newMonthVal: string) => void; - isVisible: boolean; - }) => React.ReactNode) - | null | undefined; - }; + renderMonthText?: never | undefined; + renderMonthElement?: + | ((props: { + month: moment.Moment; + onMonthSelect: (currentMonth: moment.Moment, newMonthVal: string) => void; + onYearSelect: (currentMonth: moment.Moment, newMonthVal: string) => void; + isVisible: boolean; + }) => React.ReactNode) + | null + | undefined; + }; // SHAPES // // shapes/AnchorDirectionShape.js -export type AnchorDirectionShape = 'left' | 'right'; +export type AnchorDirectionShape = "left" | "right"; // shapes/CalendarInfoPositionShape.js -export type CalendarInfoPositionShape = 'top' | 'bottom' | 'before' | 'after'; +export type CalendarInfoPositionShape = "top" | "bottom" | "before" | "after"; // shapes/NavPositionShape.js -export type NavPositionShape = 'navPositionTop' | 'navPositionBottom'; +export type NavPositionShape = "navPositionTop" | "navPositionBottom"; // shapes/DateRangePickerShape.js export type DateRangePickerShape = RenderMonthProps & { @@ -110,22 +111,24 @@ export type DateRangePickerShape = RenderMonthProps & { navNext?: React.ReactNode | undefined; renderNavPrevButton?: | ((props: { - ariaLabel: string; - disabled: boolean; - onClick?: React.MouseEventHandler | undefined; - onKeyUp?: React.KeyboardEventHandler | undefined; - onMouseUp?: React.MouseEventHandler | undefined; - }) => React.ReactNode) - | null | undefined; + ariaLabel: string; + disabled: boolean; + onClick?: React.MouseEventHandler | undefined; + onKeyUp?: React.KeyboardEventHandler | undefined; + onMouseUp?: React.MouseEventHandler | undefined; + }) => React.ReactNode) + | null + | undefined; renderNavNextButton?: | ((props: { - ariaLabel: string; - disabled: boolean; - onClick?: React.MouseEventHandler | undefined; - onKeyUp?: React.KeyboardEventHandler | undefined; - onMouseUp?: React.MouseEventHandler | undefined; - }) => React.ReactNode) - | null | undefined; + ariaLabel: string; + disabled: boolean; + onClick?: React.MouseEventHandler | undefined; + onKeyUp?: React.KeyboardEventHandler | undefined; + onMouseUp?: React.MouseEventHandler | undefined; + }) => React.ReactNode) + | null + | undefined; onPrevMonthClick?: ((newCurrentMonth: moment.Moment) => void) | undefined; onNextMonthClick?: ((newCurrentMonth: moment.Moment) => void) | undefined; @@ -153,25 +156,25 @@ export const DateRangePickerShape: DateRangePickerShape; export type DayOfWeekShape = 0 | 1 | 2 | 3 | 4 | 5 | 6; // shapes/DisabledShape.js -export type DisabledShape = boolean | 'startDate' | 'endDate'; +export type DisabledShape = boolean | "startDate" | "endDate"; // shapes/FocusedInputShape.js -export type FocusedInputShape = 'startDate' | 'endDate'; +export type FocusedInputShape = "startDate" | "endDate"; // shapes/IconPositionShape.js -export type IconPositionShape = 'before' | 'after'; +export type IconPositionShape = "before" | "after"; // shapes/ModifiersShape.js export type ModifiersShape = Set; // shapes/OpenDirectionShape.js -export type OpenDirectionShape = 'down' | 'up'; +export type OpenDirectionShape = "down" | "up"; // shapes/OrientationShape.js -export type OrientationShape = 'horizontal' | 'vertical'; +export type OrientationShape = "horizontal" | "vertical"; // shapes/ScrollableOrientationShape.js -export type ScrollableOrientationShape = 'horizontal' | 'vertical' | 'verticalScrollable'; +export type ScrollableOrientationShape = "horizontal" | "vertical" | "verticalScrollable"; // shapes/SingleDatePickerShape.js export type SingleDatePickerShape = RenderMonthProps & { @@ -234,22 +237,24 @@ export type SingleDatePickerShape = RenderMonthProps & { navNext?: React.ReactNode | undefined; renderNavPrevButton?: | ((props: { - ariaLabel: string; - disabled: boolean; - onClick?: React.MouseEventHandler | undefined; - onKeyUp?: React.KeyboardEventHandler | undefined; - onMouseUp?: React.MouseEventHandler | undefined; - }) => React.ReactNode) - | null | undefined; + ariaLabel: string; + disabled: boolean; + onClick?: React.MouseEventHandler | undefined; + onKeyUp?: React.KeyboardEventHandler | undefined; + onMouseUp?: React.MouseEventHandler | undefined; + }) => React.ReactNode) + | null + | undefined; renderNavNextButton?: | ((props: { - ariaLabel: string; - disabled: boolean; - onClick?: React.MouseEventHandler | undefined; - onKeyUp?: React.KeyboardEventHandler | undefined; - onMouseUp?: React.MouseEventHandler | undefined; - }) => React.ReactNode) - | null | undefined; + ariaLabel: string; + disabled: boolean; + onClick?: React.MouseEventHandler | undefined; + onKeyUp?: React.KeyboardEventHandler | undefined; + onMouseUp?: React.MouseEventHandler | undefined; + }) => React.ReactNode) + | null + | undefined; onPrevMonthClick?: ((newCurrentMonth: moment.Moment) => void) | undefined; onNextMonthClick?: ((newCurrentMonth: moment.Moment) => void) | undefined; onClose?: ((arg: { date: moment.Moment | null }) => void) | undefined; @@ -451,11 +456,13 @@ export type CalendarDay = React.ComponentClass; export const CalendarDay: React.ComponentClass; // components/CalendarMonth.jsx -export type CalendarMonthShape = RenderMonthProps & - Pick< +export type CalendarMonthShape = + & RenderMonthProps + & Pick< CalendarDayShape, - 'daySize' | 'onDayClick' | 'onDayMouseEnter' | 'onDayMouseLeave' | 'renderDayContents' | 'isFocused' | 'phrases' - > & { + "daySize" | "onDayClick" | "onDayMouseEnter" | "onDayMouseLeave" | "renderDayContents" | "isFocused" | "phrases" + > + & { month?: moment.Moment | undefined; horizontalMonthPadding?: number | undefined; isVisible?: boolean | undefined; @@ -480,26 +487,28 @@ export type CalendarMonth = React.ComponentClass; export const CalendarMonth: React.ComponentClass; // components/CalendarMonthGrid.jsx -export type CalendarMonthGridShape = RenderMonthProps & - Pick< +export type CalendarMonthGridShape = + & RenderMonthProps + & Pick< CalendarMonthShape, - | 'enableOutsideDays' - | 'horizontalMonthPadding' - | 'onDayClick' - | 'onDayMouseEnter' - | 'onDayMouseLeave' - | 'renderCalendarDay' - | 'renderDayContents' - | 'daySize' - | 'focusedDate' - | 'isFocused' - | 'firstDayOfWeek' - | 'setMonthTitleHeight' - | 'verticalBorderSpacing' - | 'monthFormat' - | 'phrases' - | 'dayAriaLabelFormat' - > & { + | "enableOutsideDays" + | "horizontalMonthPadding" + | "onDayClick" + | "onDayMouseEnter" + | "onDayMouseLeave" + | "renderCalendarDay" + | "renderDayContents" + | "daySize" + | "focusedDate" + | "isFocused" + | "firstDayOfWeek" + | "setMonthTitleHeight" + | "verticalBorderSpacing" + | "monthFormat" + | "phrases" + | "dayAriaLabelFormat" + > + & { firstVisibleMonthIndex?: number | undefined; initialMonth?: moment.Moment | undefined; isAnimating?: boolean | undefined; @@ -577,40 +586,41 @@ export type DateRangePickerInput = React.ComponentClass; // components/DateRangePickerInputController.jsx -export interface DateRangePickerInputControllerShape - extends Pick< +export interface DateRangePickerInputControllerShape extends + Pick< DateRangePickerInputShape, - | 'startDateId' - | 'startDatePlaceholderText' - | 'isStartDateFocused' - | 'startDateAriaLabel' - | 'endDateId' - | 'endDatePlaceholderText' - | 'isEndDateFocused' - | 'endDateAriaLabel' - | 'screenReaderMessage' - | 'showClearDates' - | 'showCaret' - | 'showDefaultInputIcon' - | 'inputIconPosition' - | 'disabled' - | 'required' - | 'readOnly' - | 'openDirection' - | 'noBorder' - | 'block' - | 'small' - | 'regular' - | 'verticalSpacing' - | 'onKeyDownArrowDown' - | 'onKeyDownQuestionMark' - | 'customInputIcon' - | 'customArrowIcon' - | 'customCloseIcon' - | 'isFocused' - | 'phrases' - | 'isRTL' - > { + | "startDateId" + | "startDatePlaceholderText" + | "isStartDateFocused" + | "startDateAriaLabel" + | "endDateId" + | "endDatePlaceholderText" + | "isEndDateFocused" + | "endDateAriaLabel" + | "screenReaderMessage" + | "showClearDates" + | "showCaret" + | "showDefaultInputIcon" + | "inputIconPosition" + | "disabled" + | "required" + | "readOnly" + | "openDirection" + | "noBorder" + | "block" + | "small" + | "regular" + | "verticalSpacing" + | "onKeyDownArrowDown" + | "onKeyDownQuestionMark" + | "customInputIcon" + | "customArrowIcon" + | "customCloseIcon" + | "isFocused" + | "phrases" + | "isRTL" + > +{ startDate?: moment.Moment | null | undefined; endDate?: moment.Moment | null | undefined; @@ -631,41 +641,51 @@ export type DateRangePickerInputController = React.ComponentClass; // components/DayPicker.jsx -export type DayPickerShape = RenderMonthProps & - Pick< +export type DayPickerShape = + & RenderMonthProps + & Pick< CalendarMonthGridShape, - | 'enableOutsideDays' - | 'firstDayOfWeek' - | 'daySize' - | 'isRTL' - | 'transitionDuration' - | 'verticalBorderSpacing' - | 'horizontalMonthPadding' - | 'modifiers' - | 'renderCalendarDay' - | 'renderDayContents' - | 'onDayClick' - | 'onDayMouseEnter' - | 'onDayMouseLeave' - | 'monthFormat' - | 'dayAriaLabelFormat' - > & - ( - | { orientation?: OrientationShape | undefined; onGetNextScrollableMonths?: never | undefined; onGetPrevScrollableMonths?: never | undefined } + | "enableOutsideDays" + | "firstDayOfWeek" + | "daySize" + | "isRTL" + | "transitionDuration" + | "verticalBorderSpacing" + | "horizontalMonthPadding" + | "modifiers" + | "renderCalendarDay" + | "renderDayContents" + | "onDayClick" + | "onDayMouseEnter" + | "onDayMouseLeave" + | "monthFormat" + | "dayAriaLabelFormat" + > + & ( | { - orientation: 'verticalScrollable'; - onGetNextScrollableMonths?: (( - event?: React.MouseEvent | React.KeyboardEvent, - ) => void) | undefined; // VERTICAL_SCROLLABLE daypickers only - onGetPrevScrollableMonths?: (( - event?: React.MouseEvent | React.KeyboardEvent, - ) => void) | undefined; // VERTICAL_SCROLLABLE daypickers only - } - ) & { + orientation?: OrientationShape | undefined; + onGetNextScrollableMonths?: never | undefined; + onGetPrevScrollableMonths?: never | undefined; + } + | { + orientation: "verticalScrollable"; + onGetNextScrollableMonths?: + | (( + event?: React.MouseEvent | React.KeyboardEvent, + ) => void) + | undefined; // VERTICAL_SCROLLABLE daypickers only + onGetPrevScrollableMonths?: + | (( + event?: React.MouseEvent | React.KeyboardEvent, + ) => void) + | undefined; // VERTICAL_SCROLLABLE daypickers only + } + ) + & { // calendar presentation props numberOfMonths?: number | undefined; withPortal?: boolean | undefined; - onOutsideClick?: ReactOutsideClickHandlerProps['onOutsideClick'] | undefined; + onOutsideClick?: ReactOutsideClickHandlerProps["onOutsideClick"] | undefined; hidden?: boolean | undefined; initialVisibleMonth?: (() => moment.Moment) | undefined; renderCalendarInfo?: (() => React.ReactNode) | null | undefined; @@ -673,18 +693,22 @@ export type DayPickerShape = RenderMonthProps & hideKeyboardShortcutsPanel?: boolean | undefined; verticalHeight?: number | null | undefined; noBorder?: boolean | undefined; - renderKeyboardShortcutsButton?: ((props: { - ref: React.Ref; - onClick: React.MouseEventHandler; - ariaLabel: string; - }) => React.ReactNode) | undefined; - renderKeyboardShortcutsPanel?: ((props: { - closeButtonAriaLabel: string; - keyboardShortcuts: Array>; - onCloseButtonClick: React.MouseEventHandler; - onKeyDown: React.KeyboardEventHandler; - title: string; - }) => React.ReactNode) | undefined; + renderKeyboardShortcutsButton?: + | ((props: { + ref: React.Ref; + onClick: React.MouseEventHandler; + ariaLabel: string; + }) => React.ReactNode) + | undefined; + renderKeyboardShortcutsPanel?: + | ((props: { + closeButtonAriaLabel: string; + keyboardShortcuts: Array>; + onCloseButtonClick: React.MouseEventHandler; + onKeyDown: React.KeyboardEventHandler; + title: string; + }) => React.ReactNode) + | undefined; // navigation props dayPickerNavigationInlineStyles?: Record | null | undefined; @@ -695,22 +719,24 @@ export type DayPickerShape = RenderMonthProps & navNext?: React.ReactNode | undefined; renderNavPrevButton?: | ((props: { - ariaLabel: string; - disabled: boolean; - onClick?: React.MouseEventHandler | undefined; - onKeyUp?: React.KeyboardEventHandler | undefined; - onMouseUp?: React.MouseEventHandler | undefined; - }) => React.ReactNode) - | null | undefined; + ariaLabel: string; + disabled: boolean; + onClick?: React.MouseEventHandler | undefined; + onKeyUp?: React.KeyboardEventHandler | undefined; + onMouseUp?: React.MouseEventHandler | undefined; + }) => React.ReactNode) + | null + | undefined; renderNavNextButton?: | ((props: { - ariaLabel: string; - disabled: boolean; - onClick?: React.MouseEventHandler | undefined; - onKeyUp?: React.KeyboardEventHandler | undefined; - onMouseUp?: React.MouseEventHandler | undefined; - }) => React.ReactNode) - | null | undefined; + ariaLabel: string; + disabled: boolean; + onClick?: React.MouseEventHandler | undefined; + onKeyUp?: React.KeyboardEventHandler | undefined; + onMouseUp?: React.MouseEventHandler | undefined; + }) => React.ReactNode) + | null + | undefined; noNavButtons?: boolean | undefined; noNavNextButton?: boolean | undefined; noNavPrevButton?: boolean | undefined; @@ -739,48 +765,50 @@ export type DayPicker = React.ComponentClass; export const DayPicker: React.ComponentClass; // components/DayPickerRangeController.jsx -export type DayPickerRangeControllerShape = RenderMonthProps & - Pick< +export type DayPickerRangeControllerShape = + & RenderMonthProps + & Pick< DayPickerShape, - | 'renderWeekHeaderElement' - | 'enableOutsideDays' - | 'numberOfMonths' - | 'withPortal' - | 'hideKeyboardShortcutsPanel' - | 'daySize' - | 'noBorder' - | 'verticalBorderSpacing' - | 'horizontalMonthPadding' - | 'dayPickerNavigationInlineStyles' - | 'navPosition' - | 'navPrev' - | 'navNext' - | 'renderNavPrevButton' - | 'renderNavNextButton' - | 'noNavButtons' - | 'noNavNextButton' - | 'noNavPrevButton' - | 'onOutsideClick' - | 'renderCalendarDay' - | 'renderDayContents' - | 'renderCalendarInfo' - | 'renderKeyboardShortcutsButton' - | 'renderKeyboardShortcutsPanel' - | 'calendarInfoPosition' - | 'firstDayOfWeek' - | 'verticalHeight' - | 'transitionDuration' - | 'onBlur' - | 'isFocused' - | 'showKeyboardShortcuts' - | 'onTab' - | 'onShiftTab' - | 'monthFormat' - | 'weekDayFormat' - | 'phrases' - | 'dayAriaLabelFormat' - | 'isRTL' - > & { + | "renderWeekHeaderElement" + | "enableOutsideDays" + | "numberOfMonths" + | "withPortal" + | "hideKeyboardShortcutsPanel" + | "daySize" + | "noBorder" + | "verticalBorderSpacing" + | "horizontalMonthPadding" + | "dayPickerNavigationInlineStyles" + | "navPosition" + | "navPrev" + | "navNext" + | "renderNavPrevButton" + | "renderNavNextButton" + | "noNavButtons" + | "noNavNextButton" + | "noNavPrevButton" + | "onOutsideClick" + | "renderCalendarDay" + | "renderDayContents" + | "renderCalendarInfo" + | "renderKeyboardShortcutsButton" + | "renderKeyboardShortcutsPanel" + | "calendarInfoPosition" + | "firstDayOfWeek" + | "verticalHeight" + | "transitionDuration" + | "onBlur" + | "isFocused" + | "showKeyboardShortcuts" + | "onTab" + | "onShiftTab" + | "monthFormat" + | "weekDayFormat" + | "phrases" + | "dayAriaLabelFormat" + | "isRTL" + > + & { startDate: moment.Moment | null; endDate: moment.Moment | null; onDatesChange: (arg: { startDate: moment.Moment | null; endDate: moment.Moment | null }) => void; @@ -814,46 +842,48 @@ export type DayPickerRangeController = React.ComponentClass; // components/DayPickerSingleDateController.jsx -export type DayPickerSingleDateControllerShape = RenderMonthProps & - Pick< +export type DayPickerSingleDateControllerShape = + & RenderMonthProps + & Pick< DayPickerShape, - | 'renderWeekHeaderElement' - | 'enableOutsideDays' - | 'numberOfMonths' - | 'withPortal' - | 'hideKeyboardShortcutsPanel' - | 'daySize' - | 'noBorder' - | 'verticalBorderSpacing' - | 'horizontalMonthPadding' - | 'dayPickerNavigationInlineStyles' - | 'navPosition' - | 'navPrev' - | 'navNext' - | 'renderNavPrevButton' - | 'renderNavNextButton' - | 'noNavButtons' - | 'noNavNextButton' - | 'noNavPrevButton' - | 'onOutsideClick' - | 'renderCalendarDay' - | 'renderDayContents' - | 'renderCalendarInfo' - | 'calendarInfoPosition' - | 'firstDayOfWeek' - | 'verticalHeight' - | 'transitionDuration' - | 'onBlur' - | 'isFocused' - | 'showKeyboardShortcuts' - | 'onTab' - | 'onShiftTab' - | 'monthFormat' - | 'weekDayFormat' - | 'phrases' - | 'dayAriaLabelFormat' - | 'isRTL' - > & { + | "renderWeekHeaderElement" + | "enableOutsideDays" + | "numberOfMonths" + | "withPortal" + | "hideKeyboardShortcutsPanel" + | "daySize" + | "noBorder" + | "verticalBorderSpacing" + | "horizontalMonthPadding" + | "dayPickerNavigationInlineStyles" + | "navPosition" + | "navPrev" + | "navNext" + | "renderNavPrevButton" + | "renderNavNextButton" + | "noNavButtons" + | "noNavNextButton" + | "noNavPrevButton" + | "onOutsideClick" + | "renderCalendarDay" + | "renderDayContents" + | "renderCalendarInfo" + | "calendarInfoPosition" + | "firstDayOfWeek" + | "verticalHeight" + | "transitionDuration" + | "onBlur" + | "isFocused" + | "showKeyboardShortcuts" + | "onTab" + | "onShiftTab" + | "monthFormat" + | "weekDayFormat" + | "phrases" + | "dayAriaLabelFormat" + | "isRTL" + > + & { date: moment.Moment | null; minDate?: moment.Moment | null | undefined; maxDate?: moment.Moment | null | undefined; diff --git a/types/react-dates/lib/components/CalendarDay.d.ts b/types/react-dates/lib/components/CalendarDay.d.ts index a82f09395bab2d..77a4bbf2d26cf2 100644 --- a/types/react-dates/lib/components/CalendarDay.d.ts +++ b/types/react-dates/lib/components/CalendarDay.d.ts @@ -1,3 +1,3 @@ -import { CalendarDay } from '../../index'; +import { CalendarDay } from "../../index"; export default CalendarDay; diff --git a/types/react-dates/lib/components/CalendarMonth.d.ts b/types/react-dates/lib/components/CalendarMonth.d.ts index 53270559b72cca..4133dc9c60d9c5 100644 --- a/types/react-dates/lib/components/CalendarMonth.d.ts +++ b/types/react-dates/lib/components/CalendarMonth.d.ts @@ -1,3 +1,3 @@ -import { CalendarMonth } from '../../index'; +import { CalendarMonth } from "../../index"; export default CalendarMonth; diff --git a/types/react-dates/lib/components/CalendarMonthGrid.d.ts b/types/react-dates/lib/components/CalendarMonthGrid.d.ts index 37b0f971f5779f..a17a097e1a538f 100644 --- a/types/react-dates/lib/components/CalendarMonthGrid.d.ts +++ b/types/react-dates/lib/components/CalendarMonthGrid.d.ts @@ -1,3 +1,3 @@ -import { CalendarMonthGrid } from '../../index'; +import { CalendarMonthGrid } from "../../index"; export default CalendarMonthGrid; diff --git a/types/react-dates/lib/components/DateRangePicker.d.ts b/types/react-dates/lib/components/DateRangePicker.d.ts index 35408a35d2b7f8..3df8b6a66bc541 100644 --- a/types/react-dates/lib/components/DateRangePicker.d.ts +++ b/types/react-dates/lib/components/DateRangePicker.d.ts @@ -1,3 +1,3 @@ -import { DateRangePicker } from '../../index'; +import { DateRangePicker } from "../../index"; export default DateRangePicker; diff --git a/types/react-dates/lib/components/DateRangePickerInput.d.ts b/types/react-dates/lib/components/DateRangePickerInput.d.ts index 2a22a90dec379d..5cc18a3882d791 100644 --- a/types/react-dates/lib/components/DateRangePickerInput.d.ts +++ b/types/react-dates/lib/components/DateRangePickerInput.d.ts @@ -1,3 +1,3 @@ -import { DateRangePickerInput } from '../../index'; +import { DateRangePickerInput } from "../../index"; export default DateRangePickerInput; diff --git a/types/react-dates/lib/components/DateRangePickerInputController.d.ts b/types/react-dates/lib/components/DateRangePickerInputController.d.ts index 52d499c401cc8e..91780321b5b571 100644 --- a/types/react-dates/lib/components/DateRangePickerInputController.d.ts +++ b/types/react-dates/lib/components/DateRangePickerInputController.d.ts @@ -1,3 +1,3 @@ -import { DateRangePickerInputController } from '../../index'; +import { DateRangePickerInputController } from "../../index"; export default DateRangePickerInputController; diff --git a/types/react-dates/lib/components/DayPicker.d.ts b/types/react-dates/lib/components/DayPicker.d.ts index 31813842c509fc..af987e0671d5f0 100644 --- a/types/react-dates/lib/components/DayPicker.d.ts +++ b/types/react-dates/lib/components/DayPicker.d.ts @@ -1,3 +1,3 @@ -import { DayPicker } from '../../index'; +import { DayPicker } from "../../index"; export default DayPicker; diff --git a/types/react-dates/lib/components/DayPickerRangeController.d.ts b/types/react-dates/lib/components/DayPickerRangeController.d.ts index d841f998079130..ced760d1646627 100644 --- a/types/react-dates/lib/components/DayPickerRangeController.d.ts +++ b/types/react-dates/lib/components/DayPickerRangeController.d.ts @@ -1,3 +1,3 @@ -import { DayPickerRangeController } from '../../index'; +import { DayPickerRangeController } from "../../index"; export default DayPickerRangeController; diff --git a/types/react-dates/lib/components/DayPickerSingleDateController.d.ts b/types/react-dates/lib/components/DayPickerSingleDateController.d.ts index e7d73f60673cdd..f8efb18b583f25 100644 --- a/types/react-dates/lib/components/DayPickerSingleDateController.d.ts +++ b/types/react-dates/lib/components/DayPickerSingleDateController.d.ts @@ -1,3 +1,3 @@ -import { DayPickerSingleDateController } from '../../index'; +import { DayPickerSingleDateController } from "../../index"; export default DayPickerSingleDateController; diff --git a/types/react-dates/lib/components/SingleDatePicker.d.ts b/types/react-dates/lib/components/SingleDatePicker.d.ts index 805b498451ec1e..3af89346d28af2 100644 --- a/types/react-dates/lib/components/SingleDatePicker.d.ts +++ b/types/react-dates/lib/components/SingleDatePicker.d.ts @@ -1,3 +1,3 @@ -import { SingleDatePicker } from '../../index'; +import { SingleDatePicker } from "../../index"; export default SingleDatePicker; diff --git a/types/react-dates/lib/components/SingleDatePickerInput.d.ts b/types/react-dates/lib/components/SingleDatePickerInput.d.ts index 79886953800799..fbd541b49dbe51 100644 --- a/types/react-dates/lib/components/SingleDatePickerInput.d.ts +++ b/types/react-dates/lib/components/SingleDatePickerInput.d.ts @@ -1,3 +1,3 @@ -import { SingleDatePickerInput } from '../../index'; +import { SingleDatePickerInput } from "../../index"; export default SingleDatePickerInput; diff --git a/types/react-dates/lib/components/SingleDatePickerInputController.d.ts b/types/react-dates/lib/components/SingleDatePickerInputController.d.ts index 79886953800799..fbd541b49dbe51 100644 --- a/types/react-dates/lib/components/SingleDatePickerInputController.d.ts +++ b/types/react-dates/lib/components/SingleDatePickerInputController.d.ts @@ -1,3 +1,3 @@ -import { SingleDatePickerInput } from '../../index'; +import { SingleDatePickerInput } from "../../index"; export default SingleDatePickerInput; diff --git a/types/react-dates/lib/utils/isInclusivelyAfterDay.d.ts b/types/react-dates/lib/utils/isInclusivelyAfterDay.d.ts index b511afdb01d483..cabda08f174a74 100644 --- a/types/react-dates/lib/utils/isInclusivelyAfterDay.d.ts +++ b/types/react-dates/lib/utils/isInclusivelyAfterDay.d.ts @@ -1,3 +1,3 @@ -import { isInclusivelyAfterDay } from '../../index'; +import { isInclusivelyAfterDay } from "../../index"; export default isInclusivelyAfterDay; diff --git a/types/react-dates/lib/utils/isInclusivelyBeforeDay.d.ts b/types/react-dates/lib/utils/isInclusivelyBeforeDay.d.ts index 524b1bf09fb899..f8491734f9f744 100644 --- a/types/react-dates/lib/utils/isInclusivelyBeforeDay.d.ts +++ b/types/react-dates/lib/utils/isInclusivelyBeforeDay.d.ts @@ -1,3 +1,3 @@ -import { isInclusivelyBeforeDay } from '../../index'; +import { isInclusivelyBeforeDay } from "../../index"; export default isInclusivelyBeforeDay; diff --git a/types/react-dates/lib/utils/isNextDay.d.ts b/types/react-dates/lib/utils/isNextDay.d.ts index 4839a8e9c1b04a..273a790d8bcdd4 100644 --- a/types/react-dates/lib/utils/isNextDay.d.ts +++ b/types/react-dates/lib/utils/isNextDay.d.ts @@ -1,3 +1,3 @@ -import { isNextDay } from '../../index'; +import { isNextDay } from "../../index"; export default isNextDay; diff --git a/types/react-dates/lib/utils/isSameDay.d.ts b/types/react-dates/lib/utils/isSameDay.d.ts index 4f684f98f951fe..1d0efed3389561 100644 --- a/types/react-dates/lib/utils/isSameDay.d.ts +++ b/types/react-dates/lib/utils/isSameDay.d.ts @@ -1,3 +1,3 @@ -import { isSameDay } from '../../index'; +import { isSameDay } from "../../index"; export default isSameDay; diff --git a/types/react-dates/lib/utils/toISODateString.d.ts b/types/react-dates/lib/utils/toISODateString.d.ts index 19e3dbff38c4af..acdb59c4996bda 100644 --- a/types/react-dates/lib/utils/toISODateString.d.ts +++ b/types/react-dates/lib/utils/toISODateString.d.ts @@ -1,3 +1,3 @@ -import { toISODateString } from '../../index'; +import { toISODateString } from "../../index"; export default toISODateString; diff --git a/types/react-dates/lib/utils/toLocalizedDateString.d.ts b/types/react-dates/lib/utils/toLocalizedDateString.d.ts index 3bd6c3c0d1aa24..ebe42d02009c45 100644 --- a/types/react-dates/lib/utils/toLocalizedDateString.d.ts +++ b/types/react-dates/lib/utils/toLocalizedDateString.d.ts @@ -1,3 +1,3 @@ -import { toLocalizedDateString } from '../../index'; +import { toLocalizedDateString } from "../../index"; export default toLocalizedDateString; diff --git a/types/react-dates/lib/utils/toMomentObject.d.ts b/types/react-dates/lib/utils/toMomentObject.d.ts index 8280f889ca2402..d0df643be4dda7 100644 --- a/types/react-dates/lib/utils/toMomentObject.d.ts +++ b/types/react-dates/lib/utils/toMomentObject.d.ts @@ -1,3 +1,3 @@ -import { toMomentObject } from '../../index'; +import { toMomentObject } from "../../index"; export default toMomentObject; diff --git a/types/react-dates/react-dates-tests.tsx b/types/react-dates/react-dates-tests.tsx index 69d91175bfa36d..f4bde19a900fca 100644 --- a/types/react-dates/react-dates-tests.tsx +++ b/types/react-dates/react-dates-tests.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import * as moment from 'moment'; +import * as moment from "moment"; +import * as React from "react"; import { CalendarDay, @@ -11,28 +11,28 @@ import { DayPicker, DayPickerRangeController, DayPickerSingleDateController, - RenderMonthProps, - SingleDatePicker, - SingleDatePickerInput, isInclusivelyAfterDay, isInclusivelyBeforeDay, isNextDay, isSameDay, + RenderMonthProps, + SingleDatePicker, + SingleDatePickerInput, toISODateString, toLocalizedDateString, toMomentObject, -} from 'react-dates'; +} from "react-dates"; const onlyRenderText: RenderMonthProps = { - renderMonthText: month => month.format('MMMM'), + renderMonthText: month => month.format("MMMM"), }; const onlyRenderElement: RenderMonthProps = { - renderMonthElement: ({ isVisible, month, onMonthSelect, onYearSelect }) => month.format('MMMM'), + renderMonthElement: ({ isVisible, month, onMonthSelect, onYearSelect }) => month.format("MMMM"), }; // @ts-expect-error const bothRenderMethods: RenderMonthProps = { - renderMonthText: month => month.format('MMMM'), - renderMonthElement: ({ isVisible, month, onMonthSelect, onYearSelect }) => month.format('MMMM'), + renderMonthText: month => month.format("MMMM"), + renderMonthElement: ({ isVisible, month, onMonthSelect, onYearSelect }) => month.format("MMMM"), }; const CalendarDayMinimumTest: React.FC = () => ; @@ -44,7 +44,7 @@ const CalendarDayFullTest: React.FC = () => ( daySize={50} isFocused={false} isOutsideDay={false} - modifiers={new Set(['selected-span'])} + modifiers={new Set(["selected-span"])} onDayClick={(day, event) => {}} onDayMouseEnter={(day, event) => {}} onDayMouseLeave={(day, event) => {}} @@ -53,7 +53,7 @@ const CalendarDayFullTest: React.FC = () => ( return date; }, }} - renderDayContents={(day, modifiers) => day.format('d')} + renderDayContents={(day, modifiers) => day.format("d")} tabIndex={0} /> ); @@ -70,7 +70,7 @@ const CalendarMonthFullTest: React.FC = () => ( horizontalMonthPadding={5} isFocused={false} isVisible={true} - modifiers={{ date: new Set(['selected-span']) }} + modifiers={{ date: new Set(["selected-span"]) }} month={moment()} monthFormat="MM" onDayClick={(day, event) => {}} @@ -86,7 +86,7 @@ const CalendarMonthFullTest: React.FC = () => ( }} renderCalendarDay={props => } renderDayContents={(day, modifiers) => modifiers.size} - renderMonthText={month => month.format('MMMM')} + renderMonthText={month => month.format("MMMM")} setMonthTitleHeight={height => {}} verticalBorderSpacing={5} /> @@ -107,7 +107,7 @@ const CalendarMonthGridFullTest: React.FC = () => ( isAnimating={true} isFocused={false} isRTL={false} - modifiers={{ month: { date: new Set(['selected-span']) } }} + modifiers={{ month: { date: new Set(["selected-span"]) } }} monthFormat="MM" numberOfMonths={3} onDayClick={(day, event) => {}} @@ -124,7 +124,7 @@ const CalendarMonthGridFullTest: React.FC = () => ( }} renderCalendarDay={props => } renderDayContents={(day, modifiers) => modifiers.size} - renderMonthElement={({ isVisible, month, onMonthSelect, onYearSelect }) => month.format('MMMM')} + renderMonthElement={({ isVisible, month, onMonthSelect, onYearSelect }) => month.format("MMMM")} setMonthTitleHeight={height => {}} transitionDuration={75} translationValue={46} @@ -164,23 +164,23 @@ class DateRangePickerFullTest extends React.Component { } dayAriaLabelFormat="dd" - dayPickerNavigationInlineStyles={{ width: '10' }} + dayPickerNavigationInlineStyles={{ width: "10" }} daySize={50} disabled={false} disableScroll={true} displayFormat="dd.mm.yyyy" enableOutsideDays={true} - endDate={moment().add(5, 'days')} + endDate={moment().add(5, "days")} endDateAriaLabel="dd" endDateId="id2" - endDateOffset={day => day.add(5, 'days')} + endDateOffset={day => day.add(5, "days")} endDatePlaceholderText="placeholder" firstDayOfWeek={0} focusedInput="startDate" hideKeyboardShortcutsPanel={false} horizontalMargin={20} horizontalMonthPadding={20} - initialVisibleMonth={() => moment().set('year', 2020)} + initialVisibleMonth={() => moment().set("year", 2020)} inputIconPosition="before" isDayBlocked={day => false} isDayHighlighted={day => true} @@ -205,14 +205,14 @@ class DateRangePickerFullTest extends React.Component { openDirection="up" orientation="horizontal" phrases={{ - closeDatePicker: 'Close', + closeDatePicker: "Close", }} readOnly={false} regular={true} renderCalendarDay={props => } renderCalendarInfo={() =>
    Hello
    } renderDayContents={day => day.toString()} - renderMonthText={month => month.format('MMM')} + renderMonthText={month => month.format("MMM")} renderNavNextButton={({ ariaLabel, disabled, onClick, onKeyUp, onMouseUp }) =>
    Next
    } renderNavPrevButton={({ ariaLabel, disabled, onClick, onKeyUp, onMouseUp }) =>
    Next
    } renderWeekHeaderElement={day => {day}} @@ -222,10 +222,10 @@ class DateRangePickerFullTest extends React.Component { showClearDates={true} showDefaultInputIcon={true} small={false} - startDate={moment().add(3, 'days')} + startDate={moment().add(3, "days")} startDateAriaLabel="dd" startDateId="id1" - startDateOffset={day => day.subtract(3, 'days')} + startDateOffset={day => day.subtract(3, "days")} startDatePlaceholderText="placeholder" transitionDuration={5} verticalHeight={20} @@ -272,7 +272,7 @@ const DateRangePickerInputFullTest: React.FC = () => ( onStartDateShiftTab={event => {}} openDirection="down" phrases={{ - keyboardForwardNavigationInstructions: 'Forward', + keyboardForwardNavigationInstructions: "Forward", }} readOnly={false} regular={true} @@ -324,7 +324,7 @@ const DateRangePickerInputControllerFullTest: React.FC = () => ( onKeyDownQuestionMark={event => {}} openDirection="down" phrases={{ - keyboardForwardNavigationInstructions: 'Forward', + keyboardForwardNavigationInstructions: "Forward", }} readOnly={false} regular={true} @@ -350,20 +350,20 @@ const DayPickerFullTest: React.FC = () => ( month.startOf('month')} + getFirstFocusableDay={month => month.startOf("month")} hidden={false} hideKeyboardShortcutsPanel={true} horizontalMonthPadding={20} - initialVisibleMonth={() => moment('2020')} + initialVisibleMonth={() => moment("2020")} isFocused={true} isRTL={false} - modifiers={{ month: { day: new Set(['span-selected']) } }} + modifiers={{ month: { day: new Set(["span-selected"]) } }} monthFormat="MMM" navNext={
    Next
    } navPosition="navPositionTop" @@ -388,11 +388,11 @@ const DayPickerFullTest: React.FC = () => ( onYearChange={newMonth => {}} orientation="verticalScrollable" phrases={{ - enterKey: 'Enter', + enterKey: "Enter", }} renderCalendarDay={props => } renderCalendarInfo={() => Info} - renderDayContents={day => day.format('dd')} + renderDayContents={day => day.format("dd")} renderKeyboardShortcutsButton={({ ariaLabel, onClick, ref }) => } renderKeyboardShortcutsPanel={({ closeButtonAriaLabel, @@ -401,7 +401,7 @@ const DayPickerFullTest: React.FC = () => ( onKeyDown, title, }) =>
    panel
    } - renderMonthText={month => month.format('MMM')} + renderMonthText={month => month.format("MMM")} renderNavNextButton={({ ariaLabel, disabled, onClick, onKeyUp, onMouseUp }) =>
    Next
    } renderNavPrevButton={({ ariaLabel, disabled, onClick, onKeyUp, onMouseUp }) =>
    Next
    } renderWeekHeaderElement={day => {day}} @@ -430,7 +430,7 @@ class DayPickerRangeControllerMinimumTest extends React.Component { onDatesChange={({ endDate, startDate }) => {}} focusedInput="startDate" onFocusChange={arg => {}} - initialVisibleMonth={() => moment().add(2, 'months')} + initialVisibleMonth={() => moment().add(2, "months")} /> ); } @@ -440,19 +440,19 @@ const DayPickerRangeControllerFullTest: React.FC = () => ( day.add(5, 'days')} + endDateOffset={day => day.add(5, "days")} firstDayOfWeek={1} focusedInput="startDate" getMinNightsForHoverDate={day => 5} hideKeyboardShortcutsPanel={false} horizontalMonthPadding={20} - initialVisibleMonth={() => moment().add(2, 'months')} + initialVisibleMonth={() => moment().add(2, "months")} isDayBlocked={day => false} isDayHighlighted={day => true} isFocused={true} @@ -480,11 +480,11 @@ const DayPickerRangeControllerFullTest: React.FC = () => ( onTab={event => {}} orientation="verticalScrollable" phrases={{ - calendarLabel: 'Calendar', + calendarLabel: "Calendar", }} renderCalendarDay={props => } renderCalendarInfo={() =>
    Info
    } - renderDayContents={day => day.format('d')} + renderDayContents={day => day.format("d")} renderKeyboardShortcutsButton={({ ariaLabel, onClick, ref }) => } renderKeyboardShortcutsPanel={({ closeButtonAriaLabel, @@ -493,15 +493,15 @@ const DayPickerRangeControllerFullTest: React.FC = () => ( onKeyDown, title, }) =>
    panel
    } - renderMonthText={month => month.format('MMM')} + renderMonthText={month => month.format("MMM")} renderNavNextButton={({ ariaLabel, disabled, onClick, onKeyUp, onMouseUp }) =>
    Next
    } renderNavPrevButton={({ ariaLabel, disabled, onClick, onKeyUp, onMouseUp }) =>
    Next
    } renderWeekHeaderElement={day => {day}} showKeyboardShortcuts={false} startDate={moment()} minDate={moment()} - maxDate={moment().add(30, 'days')} - startDateOffset={day => day.subtract(3, 'days')} + maxDate={moment().add(30, "days")} + startDateOffset={day => day.subtract(3, "days")} transitionDuration={5} verticalBorderSpacing={5} verticalHeight={20} @@ -516,7 +516,7 @@ class DayPickerSingleDateControllerMinimumTest extends React.Component { moment().subtract(1, 'day')} + initialVisibleMonth={() => moment().subtract(1, "day")} onDateChange={arg => {}} onFocusChange={({ focused }) => {}} /> @@ -529,16 +529,16 @@ const DayPickerSingleDateControllerFullTest: React.FC = () => ( calendarInfoPosition="top" date={moment()} minDate={moment()} - maxDate={moment().add(30, 'days')} + maxDate={moment().add(30, "days")} dayAriaLabelFormat="dd" - dayPickerNavigationInlineStyles={{ width: '10' }} + dayPickerNavigationInlineStyles={{ width: "10" }} daySize={50} enableOutsideDays={true} firstDayOfWeek={1} focused={true} hideKeyboardShortcutsPanel={false} horizontalMonthPadding={20} - initialVisibleMonth={() => moment().subtract(1, 'day')} + initialVisibleMonth={() => moment().subtract(1, "day")} isDayBlocked={day => false} isDayHighlighted={day => true} isFocused={true} @@ -565,12 +565,12 @@ const DayPickerSingleDateControllerFullTest: React.FC = () => ( onTab={event => {}} orientation="verticalScrollable" phrases={{ - calendarLabel: 'Calendar', + calendarLabel: "Calendar", }} renderCalendarDay={props => } renderCalendarInfo={() =>
    Info
    } - renderDayContents={day => day.format('d')} - renderMonthText={month => month.format('MMM')} + renderDayContents={day => day.format("d")} + renderMonthText={month => month.format("MMM")} renderNavNextButton={({ ariaLabel, disabled, onClick, onKeyUp, onMouseUp }) =>
    Next
    } renderNavPrevButton={({ ariaLabel, disabled, onClick, onKeyUp, onMouseUp }) =>
    Next
    } renderWeekHeaderElement={day => {day}} @@ -614,7 +614,7 @@ class SingleDatePickerFullTest extends React.Component { } date={moment()} dayAriaLabelFormat="dd" - dayPickerNavigationInlineStyles={{ width: '10' }} + dayPickerNavigationInlineStyles={{ width: "10" }} daySize={50} disabled={false} disableScroll={true} @@ -626,7 +626,7 @@ class SingleDatePickerFullTest extends React.Component { horizontalMargin={20} horizontalMonthPadding={20} id="SingleDatePicker" - initialVisibleMonth={() => moment().set('year', 2020)} + initialVisibleMonth={() => moment().set("year", 2020)} inputIconPosition="before" isDayBlocked={day => false} isDayHighlighted={day => true} @@ -648,7 +648,7 @@ class SingleDatePickerFullTest extends React.Component { openDirection="up" orientation="horizontal" phrases={{ - closeDatePicker: 'Close', + closeDatePicker: "Close", }} placeholder="test" readOnly={false} @@ -656,7 +656,7 @@ class SingleDatePickerFullTest extends React.Component { renderCalendarDay={props => } renderCalendarInfo={() =>
    Hello
    } renderDayContents={day => day.toString()} - renderMonthText={month => month.format('MMM')} + renderMonthText={month => month.format("MMM")} renderNavNextButton={({ ariaLabel, disabled, onClick, onKeyUp, onMouseUp }) =>
    Next
    } renderNavPrevButton={({ ariaLabel, disabled, onClick, onKeyUp, onMouseUp }) =>
    Next
    } renderWeekHeaderElement={day => {day}} @@ -706,7 +706,7 @@ const SingleDatePickerInputFullTest: React.FC = () => ( onKeyDownTab={event => {}} openDirection="down" phrases={{ - keyboardForwardNavigationInstructions: 'Forward', + keyboardForwardNavigationInstructions: "Forward", }} placeholder="test" readOnly={false} @@ -732,13 +732,13 @@ const isNextDayDayResult: boolean = isNextDay(moment(), moment()); const isNextDayDayResultError: boolean = isNextDay(moment()); const isSameDayResult: boolean = isSameDay(moment(), moment()); // @ts-expect-error -const isSameDayResultError: boolean = isSameDay('January 1, 2020', moment()); -const toISODateStringResult: string | null = toISODateString(moment(), 'dd.mm.yyyy'); -const toISODateStringResultFromString: string | null = toISODateString('January 1, 2020'); -const toISODateStringResultFromDate: string | null = toISODateString(new Date(), 'dd.mm.yyyy'); -const toLocalizedDateStringResult: string | null = toLocalizedDateString(moment(), 'dd.mm.yyyy'); -const toLocalizedDateStringResultFromString: string | null = toLocalizedDateString('January 1, 2020', 'dd.mm.yyyy'); +const isSameDayResultError: boolean = isSameDay("January 1, 2020", moment()); +const toISODateStringResult: string | null = toISODateString(moment(), "dd.mm.yyyy"); +const toISODateStringResultFromString: string | null = toISODateString("January 1, 2020"); +const toISODateStringResultFromDate: string | null = toISODateString(new Date(), "dd.mm.yyyy"); +const toLocalizedDateStringResult: string | null = toLocalizedDateString(moment(), "dd.mm.yyyy"); +const toLocalizedDateStringResultFromString: string | null = toLocalizedDateString("January 1, 2020", "dd.mm.yyyy"); const toLocalizedDateStringResultFromDate: string | null = toLocalizedDateString(new Date()); const toMomentObjectResult: moment.Moment | null = toMomentObject(moment()); -const toMomentObjectResultFromString: moment.Moment | null = toMomentObject('January 1, 2020', 'dd.mm.yyyy'); -const toMomentObjectResultFromDate: moment.Moment | null = toMomentObject(new Date(), 'dd.mm.yyyy'); +const toMomentObjectResultFromString: moment.Moment | null = toMomentObject("January 1, 2020", "dd.mm.yyyy"); +const toMomentObjectResultFromDate: moment.Moment | null = toMomentObject(new Date(), "dd.mm.yyyy"); diff --git a/types/react-detect-offline/react-detect-offline-tests.tsx b/types/react-detect-offline/react-detect-offline-tests.tsx index 33e0267759a3a8..8671285dc4b01c 100644 --- a/types/react-detect-offline/react-detect-offline-tests.tsx +++ b/types/react-detect-offline/react-detect-offline-tests.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import { Offline, Online } from 'react-detect-offline'; +import * as React from "react"; +import { Offline, Online } from "react-detect-offline"; function ReactDetectOfflineTests() { return ( diff --git a/types/react-dev-utils/FileSizeReporter.d.ts b/types/react-dev-utils/FileSizeReporter.d.ts index 8b95d43db5eb51..e424e7ea74a13c 100644 --- a/types/react-dev-utils/FileSizeReporter.d.ts +++ b/types/react-dev-utils/FileSizeReporter.d.ts @@ -1,4 +1,4 @@ -import webpack = require('webpack'); +import webpack = require("webpack"); export interface OpaqueFileSizes { root: string; diff --git a/types/react-dev-utils/InlineChunkHtmlPlugin.d.ts b/types/react-dev-utils/InlineChunkHtmlPlugin.d.ts index 0831386bbeb0e3..32a063608d5f4f 100644 --- a/types/react-dev-utils/InlineChunkHtmlPlugin.d.ts +++ b/types/react-dev-utils/InlineChunkHtmlPlugin.d.ts @@ -1,5 +1,5 @@ -import webpack = require('webpack'); -import HtmlWebpackPlugin = require('html-webpack-plugin'); +import webpack = require("webpack"); +import HtmlWebpackPlugin = require("html-webpack-plugin"); /** * This Webpack plugin inlines script chunks into `index.html`. diff --git a/types/react-dev-utils/InterpolateHtmlPlugin.d.ts b/types/react-dev-utils/InterpolateHtmlPlugin.d.ts index 63b359472db755..637e22186449f4 100644 --- a/types/react-dev-utils/InterpolateHtmlPlugin.d.ts +++ b/types/react-dev-utils/InterpolateHtmlPlugin.d.ts @@ -1,5 +1,5 @@ -import webpack = require('webpack'); -import HtmlWebpackPlugin = require('html-webpack-plugin'); +import webpack = require("webpack"); +import HtmlWebpackPlugin = require("html-webpack-plugin"); /** * This Webpack plugin lets us interpolate custom variables into `index.html`. diff --git a/types/react-dev-utils/ModuleScopePlugin.d.ts b/types/react-dev-utils/ModuleScopePlugin.d.ts index 61d234d712044c..011228f411ab31 100644 --- a/types/react-dev-utils/ModuleScopePlugin.d.ts +++ b/types/react-dev-utils/ModuleScopePlugin.d.ts @@ -1,4 +1,4 @@ -import webpack = require('webpack'); +import webpack = require("webpack"); /** * This Webpack plugin ensures that relative imports from app's source diff --git a/types/react-dev-utils/WatchMissingNodeModulesPlugin.d.ts b/types/react-dev-utils/WatchMissingNodeModulesPlugin.d.ts index 1ab7cc30be3117..a768e93cbce998 100644 --- a/types/react-dev-utils/WatchMissingNodeModulesPlugin.d.ts +++ b/types/react-dev-utils/WatchMissingNodeModulesPlugin.d.ts @@ -1,4 +1,4 @@ -import webpack = require('webpack'); +import webpack = require("webpack"); /** * This Webpack plugin ensures `npm install ` forces a project rebuild. diff --git a/types/react-dev-utils/WebpackDevServerUtils.d.ts b/types/react-dev-utils/WebpackDevServerUtils.d.ts index 33b374a23b8a5c..f1377823777dde 100644 --- a/types/react-dev-utils/WebpackDevServerUtils.d.ts +++ b/types/react-dev-utils/WebpackDevServerUtils.d.ts @@ -1,5 +1,5 @@ -import webpack = require('webpack'); -import WebpackDevServer = require('webpack-dev-server'); +import webpack = require("webpack"); +import WebpackDevServer = require("webpack-dev-server"); export interface Urls { lanUrlForConfig?: string | undefined; diff --git a/types/react-dev-utils/errorOverlayMiddleware.d.ts b/types/react-dev-utils/errorOverlayMiddleware.d.ts index 0f66bc7ed408f8..8734538b321be1 100644 --- a/types/react-dev-utils/errorOverlayMiddleware.d.ts +++ b/types/react-dev-utils/errorOverlayMiddleware.d.ts @@ -1,4 +1,4 @@ -import { RequestHandler } from 'express'; +import { RequestHandler } from "express"; declare function errorOverlayMiddleware(): RequestHandler; export = errorOverlayMiddleware; diff --git a/types/react-dev-utils/eslintFormatter.d.ts b/types/react-dev-utils/eslintFormatter.d.ts index 3ba874e2d0991f..d6cf702a5efb72 100644 --- a/types/react-dev-utils/eslintFormatter.d.ts +++ b/types/react-dev-utils/eslintFormatter.d.ts @@ -1,4 +1,4 @@ -import { ESLint } from 'eslint'; +import { ESLint } from "eslint"; /** * This is our custom ESLint formatter that integrates well with diff --git a/types/react-dev-utils/evalSourceMapMiddleware.d.ts b/types/react-dev-utils/evalSourceMapMiddleware.d.ts index e006870f81a4cd..c918f780fee2c5 100644 --- a/types/react-dev-utils/evalSourceMapMiddleware.d.ts +++ b/types/react-dev-utils/evalSourceMapMiddleware.d.ts @@ -1,5 +1,5 @@ -import express = require('express'); -import WebpackDevServer = require('webpack-dev-server'); +import express = require("express"); +import WebpackDevServer = require("webpack-dev-server"); /* * Middleware responsible for retrieving a generated source diff --git a/types/react-dev-utils/formatWebpackMessages.d.ts b/types/react-dev-utils/formatWebpackMessages.d.ts index 6885d2c88bba94..a3575ed63fa4b9 100644 --- a/types/react-dev-utils/formatWebpackMessages.d.ts +++ b/types/react-dev-utils/formatWebpackMessages.d.ts @@ -1,4 +1,4 @@ -import { Stats } from 'webpack'; +import { Stats } from "webpack"; /** * Extracts and prettifies warning and error messages from webpack diff --git a/types/react-dev-utils/getCSSModuleLocalIdent.d.ts b/types/react-dev-utils/getCSSModuleLocalIdent.d.ts index a443355f8ba7cd..5337202adcf654 100644 --- a/types/react-dev-utils/getCSSModuleLocalIdent.d.ts +++ b/types/react-dev-utils/getCSSModuleLocalIdent.d.ts @@ -1,4 +1,4 @@ -import webpack = require('webpack'); +import webpack = require("webpack"); /** * Creates a class name for CSS Modules that uses either the filename or folder diff --git a/types/react-dev-utils/noopServiceWorkerMiddleware.d.ts b/types/react-dev-utils/noopServiceWorkerMiddleware.d.ts index 20e76c0f367e43..d389eacc706696 100644 --- a/types/react-dev-utils/noopServiceWorkerMiddleware.d.ts +++ b/types/react-dev-utils/noopServiceWorkerMiddleware.d.ts @@ -1,4 +1,4 @@ -import express = require('express'); +import express = require("express"); /** * Returns Express middleware that serves a `/service-worker.js` at `servedPath` diff --git a/types/react-dev-utils/redirectServedPathMiddleware.d.ts b/types/react-dev-utils/redirectServedPathMiddleware.d.ts index 0f9e3ba0eb3227..f2f5ff8cd91f4a 100644 --- a/types/react-dev-utils/redirectServedPathMiddleware.d.ts +++ b/types/react-dev-utils/redirectServedPathMiddleware.d.ts @@ -1,4 +1,4 @@ -import express = require('express'); +import express = require("express"); /** * Returns Express middleware that redirects to `${servedPath}/${req.url}` diff --git a/types/react-dev-utils/test/eslintFormatter.ts b/types/react-dev-utils/test/eslintFormatter.ts index 3406059a1c3faf..d2ed534b1fd986 100644 --- a/types/react-dev-utils/test/eslintFormatter.ts +++ b/types/react-dev-utils/test/eslintFormatter.ts @@ -1,11 +1,11 @@ -import { ESLint } from 'eslint'; -import eslintFormatter = require('react-dev-utils/eslintFormatter'); +import { ESLint } from "eslint"; +import eslintFormatter = require("react-dev-utils/eslintFormatter"); async function main() { - const results = await (new ESLint({}).lintText('')); + const results = await (new ESLint({}).lintText("")); // @ts-expect-error - eslintFormatter(['error']); + eslintFormatter(["error"]); // @ts-expect-error eslintFormatter([results]); diff --git a/types/react-dev-utils/test/evalSourceMapMiddleware.ts b/types/react-dev-utils/test/evalSourceMapMiddleware.ts index 67943fed695c6d..63d97f050fecaa 100644 --- a/types/react-dev-utils/test/evalSourceMapMiddleware.ts +++ b/types/react-dev-utils/test/evalSourceMapMiddleware.ts @@ -1,7 +1,7 @@ -import express = require('express'); -import webpack = require('webpack'); -import WebpackDevServer = require('webpack-dev-server'); -import evalSourceMapMiddleware = require('react-dev-utils/evalSourceMapMiddleware'); +import express = require("express"); +import webpack = require("webpack"); +import WebpackDevServer = require("webpack-dev-server"); +import evalSourceMapMiddleware = require("react-dev-utils/evalSourceMapMiddleware"); const compiler = webpack({}); const server = new WebpackDevServer(compiler); diff --git a/types/react-dev-utils/test/getPublicUrlOrPath.ts b/types/react-dev-utils/test/getPublicUrlOrPath.ts index 1c2a48c15328d5..7dd0f5c9fe5bb2 100644 --- a/types/react-dev-utils/test/getPublicUrlOrPath.ts +++ b/types/react-dev-utils/test/getPublicUrlOrPath.ts @@ -1,13 +1,13 @@ -import getPublicUrlOrPath = require('react-dev-utils/getPublicUrlOrPath'); +import getPublicUrlOrPath = require("react-dev-utils/getPublicUrlOrPath"); getPublicUrlOrPath(true, undefined, undefined); -getPublicUrlOrPath(true, '/', undefined); -getPublicUrlOrPath(true, undefined, '/'); -getPublicUrlOrPath(true, '/', '/'); -getPublicUrlOrPath(true, '/', '/'); // $ExpectType string +getPublicUrlOrPath(true, "/", undefined); +getPublicUrlOrPath(true, undefined, "/"); +getPublicUrlOrPath(true, "/", "/"); +getPublicUrlOrPath(true, "/", "/"); // $ExpectType string // @ts-expect-error getPublicUrlOrPath(true); // @ts-expect-error getPublicUrlOrPath(true, undefined); // @ts-expect-error -getPublicUrlOrPath(true, '/'); +getPublicUrlOrPath(true, "/"); diff --git a/types/react-dev-utils/test/noopServiceWorkerMiddleware.ts b/types/react-dev-utils/test/noopServiceWorkerMiddleware.ts index 8186f1291084e1..8d5363cbc37aee 100644 --- a/types/react-dev-utils/test/noopServiceWorkerMiddleware.ts +++ b/types/react-dev-utils/test/noopServiceWorkerMiddleware.ts @@ -1,6 +1,6 @@ -import express = require('express'); -import noopServiceWorkerMiddleware = require('react-dev-utils/noopServiceWorkerMiddleware'); +import express = require("express"); +import noopServiceWorkerMiddleware = require("react-dev-utils/noopServiceWorkerMiddleware"); const app = express(); -app.use(noopServiceWorkerMiddleware('/test/')); +app.use(noopServiceWorkerMiddleware("/test/")); app.listen(8080); diff --git a/types/react-dev-utils/test/redirectServedPathMiddleware.ts b/types/react-dev-utils/test/redirectServedPathMiddleware.ts index beb609853882cc..7efba9b5eb3bec 100644 --- a/types/react-dev-utils/test/redirectServedPathMiddleware.ts +++ b/types/react-dev-utils/test/redirectServedPathMiddleware.ts @@ -1,6 +1,6 @@ -import express = require('express'); -import redirectServedPathMiddleware = require('react-dev-utils/redirectServedPathMiddleware'); +import express = require("express"); +import redirectServedPathMiddleware = require("react-dev-utils/redirectServedPathMiddleware"); const app = express(); -app.use(redirectServedPathMiddleware('/test/')); +app.use(redirectServedPathMiddleware("/test/")); app.listen(8080); diff --git a/types/react-dev-utils/test/utils.ts b/types/react-dev-utils/test/utils.ts index 6bb535ba2a4bb6..f7264f3cc236f7 100644 --- a/types/react-dev-utils/test/utils.ts +++ b/types/react-dev-utils/test/utils.ts @@ -1,14 +1,14 @@ -import webpack = require('webpack'); -import checkRequiredFiles = require('react-dev-utils/checkRequiredFiles'); -import clearConsole = require('react-dev-utils/clearConsole'); -import getProcessForPort = require('react-dev-utils/getProcessForPort'); -import launchEditor = require('react-dev-utils/launchEditor'); -import openBrowser = require('react-dev-utils/openBrowser'); -import printHostingInstructions = require('react-dev-utils/printHostingInstructions'); -import getCacheIdentifier = require('react-dev-utils/getCacheIdentifier'); +import webpack = require("webpack"); +import checkRequiredFiles = require("react-dev-utils/checkRequiredFiles"); +import clearConsole = require("react-dev-utils/clearConsole"); +import getProcessForPort = require("react-dev-utils/getProcessForPort"); +import launchEditor = require("react-dev-utils/launchEditor"); +import openBrowser = require("react-dev-utils/openBrowser"); +import printHostingInstructions = require("react-dev-utils/printHostingInstructions"); +import getCacheIdentifier = require("react-dev-utils/getCacheIdentifier"); // $ExpectType boolean -checkRequiredFiles(['public/index.html', 'src/index.js']); +checkRequiredFiles(["public/index.html", "src/index.js"]); // $ExpectType void clearConsole(); @@ -22,10 +22,10 @@ launchEditor(__filename, 2); launchEditor(__filename, 2, 10); // $ExpectType boolean -openBrowser('http://localhost:3000'); +openBrowser("http://localhost:3000"); // $ExpectType void -printHostingInstructions({}, '', '', 'build', true); +printHostingInstructions({}, "", "", "build", true); // $ExpectType string -getCacheIdentifier('prod', ['react-dev-utils', 'chalk']); +getCacheIdentifier("prod", ["react-dev-utils", "chalk"]); diff --git a/types/react-dev-utils/test/webpack-plugins.ts b/types/react-dev-utils/test/webpack-plugins.ts index aadcdfb92a0f0b..88b252cba7dca0 100644 --- a/types/react-dev-utils/test/webpack-plugins.ts +++ b/types/react-dev-utils/test/webpack-plugins.ts @@ -1,22 +1,22 @@ -import webpack = require('webpack'); -import HtmlWebpackPlugin = require('html-webpack-plugin'); -import InterpolateHtmlPlugin = require('react-dev-utils/InterpolateHtmlPlugin'); -import InlineChunkHtmlPlugin = require('react-dev-utils/InlineChunkHtmlPlugin'); -import ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin'); -import WatchMissingNodeModulesPlugin = require('react-dev-utils/WatchMissingNodeModulesPlugin'); +import webpack = require("webpack"); +import HtmlWebpackPlugin = require("html-webpack-plugin"); +import InterpolateHtmlPlugin = require("react-dev-utils/InterpolateHtmlPlugin"); +import InlineChunkHtmlPlugin = require("react-dev-utils/InlineChunkHtmlPlugin"); +import ModuleScopePlugin = require("react-dev-utils/ModuleScopePlugin"); +import WatchMissingNodeModulesPlugin = require("react-dev-utils/WatchMissingNodeModulesPlugin"); // @ts-expect-error new InterpolateHtmlPlugin(HtmlWebpackPlugin, { PUBLIC_URL: 0 }); -const plugin1 = new InterpolateHtmlPlugin(HtmlWebpackPlugin, { PUBLIC_URL: '' }); +const plugin1 = new InterpolateHtmlPlugin(HtmlWebpackPlugin, { PUBLIC_URL: "" }); // @ts-expect-error new InlineChunkHtmlPlugin({}, [/runtime/]); const plugin2 = new InlineChunkHtmlPlugin(HtmlWebpackPlugin, [/runtime/]); -const plugin3 = new ModuleScopePlugin('src', ['package.json']); +const plugin3 = new ModuleScopePlugin("src", ["package.json"]); -const plugin4 = new WatchMissingNodeModulesPlugin('node_modules'); +const plugin4 = new WatchMissingNodeModulesPlugin("node_modules"); const configWithPlugins: webpack.Configuration = { - plugins: [plugin1, plugin2, plugin3, plugin4] + plugins: [plugin1, plugin2, plugin3, plugin4], }; diff --git a/types/react-dev-utils/test/webpack-utils.ts b/types/react-dev-utils/test/webpack-utils.ts index 0d93b074df87ed..40f42b01304b03 100644 --- a/types/react-dev-utils/test/webpack-utils.ts +++ b/types/react-dev-utils/test/webpack-utils.ts @@ -1,13 +1,13 @@ -import webpack = require('webpack'); -import FileSizeReporter = require('react-dev-utils/FileSizeReporter'); -import formatWebpackMessages = require('react-dev-utils/formatWebpackMessages'); -import printBuildError = require('react-dev-utils/printBuildError'); -import WebpackDevServerUtils = require('react-dev-utils/WebpackDevServerUtils'); -import getCSSModuleLocalIdent = require('react-dev-utils/getCSSModuleLocalIdent'); - -FileSizeReporter.measureFileSizesBeforeBuild('src').then(previousFileSizes => { +import webpack = require("webpack"); +import FileSizeReporter = require("react-dev-utils/FileSizeReporter"); +import formatWebpackMessages = require("react-dev-utils/formatWebpackMessages"); +import printBuildError = require("react-dev-utils/printBuildError"); +import WebpackDevServerUtils = require("react-dev-utils/WebpackDevServerUtils"); +import getCSSModuleLocalIdent = require("react-dev-utils/getCSSModuleLocalIdent"); + +FileSizeReporter.measureFileSizesBeforeBuild("src").then(previousFileSizes => { webpack().run((err, webpackStats) => { - FileSizeReporter.printFileSizesAfterBuild(webpackStats, previousFileSizes, 'src'); + FileSizeReporter.printFileSizesAfterBuild(webpackStats, previousFileSizes, "src"); }); }); @@ -15,15 +15,15 @@ webpack().run((err, stats) => { const rawMessages = stats.toJson(); const messages = formatWebpackMessages(rawMessages); if (!messages.errors.length && !messages.warnings.length) { - console.log('Compiled successfully!'); + console.log("Compiled successfully!"); } if (messages.errors.length) { - console.log('Failed to compile.'); + console.log("Failed to compile."); messages.errors.forEach(e => console.log(e)); return; } if (messages.warnings.length) { - console.log('Compiled with warnings.'); + console.log("Compiled with warnings."); messages.warnings.forEach(w => console.log(w)); } }); @@ -33,20 +33,20 @@ webpack().run((err) => { }); // $ExpectType Promise -WebpackDevServerUtils.choosePort('localhost', 3000); +WebpackDevServerUtils.choosePort("localhost", 3000); // $ExpectType Urls -const urls = WebpackDevServerUtils.prepareUrls('http', 'localhost', 3000); +const urls = WebpackDevServerUtils.prepareUrls("http", "localhost", 3000); // $ExpectType Compiler -WebpackDevServerUtils.createCompiler({ webpack, config: {}, appName: 'app', urls, useYarn: true }); +WebpackDevServerUtils.createCompiler({ webpack, config: {}, appName: "app", urls, useYarn: true }); // $ExpectType ProxyConfigArrayItem[] || ProxyConfigArray -WebpackDevServerUtils.prepareProxy(undefined, 'build', '/test'); +WebpackDevServerUtils.prepareProxy(undefined, "build", "/test"); const loaderContext: webpack.loader.LoaderContext = null!; // $ExpectType string -getCSSModuleLocalIdent(loaderContext, '', '', {}); +getCSSModuleLocalIdent(loaderContext, "", "", {}); // @ts-expect-error -getCSSModuleLocalIdent({}, '', '', {}); +getCSSModuleLocalIdent({}, "", "", {}); diff --git a/types/react-devtools-inline/backend.d.ts b/types/react-devtools-inline/backend.d.ts index dbad90256363ed..825f0f6e46e30a 100644 --- a/types/react-devtools-inline/backend.d.ts +++ b/types/react-devtools-inline/backend.d.ts @@ -1,6 +1,6 @@ -import type { BackendBridge, Wall } from './commons'; +import type { BackendBridge, Wall } from "./commons"; -export * from './commons'; +export * from "./commons"; export function activate(contentWindow: Window, options?: { bridge?: BackendBridge | undefined }): void; export function createBridge(contentWindow: Window, wall?: Wall): BackendBridge; diff --git a/types/react-devtools-inline/commons.d.ts b/types/react-devtools-inline/commons.d.ts index 49ebf6fce4b8ec..6194c875300c89 100644 --- a/types/react-devtools-inline/commons.d.ts +++ b/types/react-devtools-inline/commons.d.ts @@ -1,5 +1,5 @@ -import { Lanes, Fiber } from 'react-reconciler'; -import { Config } from './frontend'; +import { Fiber, Lanes } from "react-reconciler"; +import { Config } from "./frontend"; export type AnyFn = (...args: any[]) => any; export interface Wall { @@ -28,11 +28,11 @@ export interface Plugins { stylex: StyleXPlugin | null; } -export type BrowserTheme = 'dark' | 'light'; +export type BrowserTheme = "dark" | "light"; export type CanViewElementSource = (inspectedElement: InspectedElement) => boolean; -export type TabID = 'components' | 'profiler'; +export type TabID = "components" | "profiler"; export type ViewAttributeSource = (id: number, path: Array) => void; @@ -358,7 +358,7 @@ export class ProfilingCache { export type BatchUID = number; export type Milliseconds = number; -export type ReactMeasureType = 'commit' | 'render-idle' | 'render' | 'layout-effects' | 'passive-effects'; +export type ReactMeasureType = "commit" | "render-idle" | "render" | "layout-effects" | "passive-effects"; export type ReactLane = number; export interface ReactMeasure { @@ -371,11 +371,11 @@ export interface ReactMeasure { } export type ReactComponentMeasureType = - | 'render' - | 'layout-effect-mount' - | 'layout-effect-unmount' - | 'passive-effect-mount' - | 'passive-effect-unmount'; + | "render" + | "layout-effect-mount" + | "layout-effect-unmount" + | "passive-effect-mount" + | "passive-effect-unmount"; export interface ReactComponentMeasure { readonly type: ReactComponentMeasureType; readonly componentName: string; @@ -438,13 +438,13 @@ export interface BaseReactScheduleEvent extends BaseReactEvent { } export interface ReactScheduleRenderEvent extends BaseReactScheduleEvent { - readonly type: 'schedule-render'; + readonly type: "schedule-render"; } export interface ReactScheduleStateUpdateEvent extends BaseReactScheduleEvent { - readonly type: 'schedule-state-update'; + readonly type: "schedule-state-update"; } export interface ReactScheduleForceUpdateEvent extends BaseReactScheduleEvent { - readonly type: 'schedule-force-update'; + readonly type: "schedule-force-update"; } export type SchedulingEvent = ReactScheduleRenderEvent | ReactScheduleStateUpdateEvent | ReactScheduleForceUpdateEvent; @@ -455,20 +455,20 @@ export interface Snapshot { readonly timestamp: Milliseconds; width: number; } -export type Phase = 'mount' | 'update'; +export type Phase = "mount" | "update"; export interface SuspenseEvent extends BaseReactEvent { - readonly type: 'suspense'; + readonly type: "suspense"; depth: number; duration: number | null; readonly id: string; readonly phase: Phase | null; promiseName: string | null; - resolution: 'rejected' | 'resolved' | 'unresolved'; + resolution: "rejected" | "resolved" | "unresolved"; } export interface ThrownError { - readonly type: 'thrown-error'; + readonly type: "thrown-error"; readonly componentName?: string | undefined; readonly message: string; readonly phase: Phase; @@ -761,7 +761,7 @@ export interface ElementAndRendererID { rendererID: RendererID; } -export type PathType = 'props' | 'hooks' | 'state' | 'context'; +export type PathType = "props" | "hooks" | "state" | "context"; export interface OverrideValueAtPath extends ElementAndRendererID { type: PathType; @@ -790,34 +790,34 @@ export class Bridge< overrideValueAtPath: (overrideValueAtPath: OverrideValueAtPath) => void; } export interface InspectElementError { - type: 'error'; + type: "error"; id: number; responseID: number; - errorType: 'user' | 'unknown-hook' | 'uncaught'; + errorType: "user" | "unknown-hook" | "uncaught"; message: string; stack?: string | undefined; } export interface InspectElementFullData { - type: 'full-data'; + type: "full-data"; id: number; responseID: number; value: InspectedElement; } export interface InspectElementHydratedPath { - type: 'hydrated-path'; + type: "hydrated-path"; id: number; responseID: number; path: Array; value: any; } export interface InspectElementNoChange { - type: 'no-change'; + type: "no-change"; id: number; responseID: number; } export interface InspectElementNotFound { - type: 'not-found'; + type: "not-found"; id: number; responseID: number; } @@ -1023,7 +1023,7 @@ export interface PathMatch { isFullMatch: boolean; } export type FindNativeNodesForFiberID = (id: number) => any[] | null | undefined; -export type Type = 'props' | 'hooks' | 'state' | 'context'; +export type Type = "props" | "hooks" | "state" | "context"; export type NativeType = unknown; export type GetFiberIDForNative = (component: NativeType, findNearestUnfilteredAncestor?: boolean) => number | null; @@ -1096,11 +1096,11 @@ export interface ReactRenderer { /** 17+ */ overrideHookStateRenamePath?: | (( - fiber: Record, - id: number, - oldPath: Array, - newPath: Array, - ) => void) + fiber: Record, + id: number, + oldPath: Array, + newPath: Array, + ) => void) | null | undefined; /** 16.7+ */ @@ -1220,8 +1220,8 @@ export interface HookEventPayload { operations: number[]; /** value: nodes */ traceUpdates: Set; - 'react-devtools': unknown; - 'renderer-attached': { + "react-devtools": unknown; + "renderer-attached": { id: number; renderer: ReactRenderer; rendererInterface: RendererInterface; @@ -1229,7 +1229,7 @@ export interface HookEventPayload { shutdown: undefined; fastRefreshScheduled: undefined; /** Value: id */ - 'unsupported-renderer-version': number; + "unsupported-renderer-version": number; } export type HookEventListener = ( diff --git a/types/react-devtools-inline/frontend.d.ts b/types/react-devtools-inline/frontend.d.ts index 1499f5e8bad393..6085340212d1a8 100644 --- a/types/react-devtools-inline/frontend.d.ts +++ b/types/react-devtools-inline/frontend.d.ts @@ -1,7 +1,7 @@ -import type { ComponentType } from 'react'; -import type { DevtoolsProps, Store, Wall, FrontendBridge } from './commons'; +import type { ComponentType } from "react"; +import type { DevtoolsProps, FrontendBridge, Store, Wall } from "./commons"; -export * from './commons'; +export * from "./commons"; export interface Config { checkBridgeProtocolCompatibility?: boolean | undefined; diff --git a/types/react-devtools-inline/index.d.ts b/types/react-devtools-inline/index.d.ts index 25a02ec27d5b51..8f4a1575c5bb8e 100644 --- a/types/react-devtools-inline/index.d.ts +++ b/types/react-devtools-inline/index.d.ts @@ -4,4 +4,4 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // Minimum TypeScript Version: 3.9 -export * from './backend'; +export * from "./backend"; diff --git a/types/react-devtools-inline/react-devtools-inline-tests.ts b/types/react-devtools-inline/react-devtools-inline-tests.ts index 2998ded3578ba7..69eec05bed8c97 100644 --- a/types/react-devtools-inline/react-devtools-inline-tests.ts +++ b/types/react-devtools-inline/react-devtools-inline-tests.ts @@ -1,35 +1,35 @@ -import { - initialize as initializeFE, - createBridge as createBridgeFE, - createStore, -} from 'react-devtools-inline/frontend'; import { activate, - createBridge as createBridgeBE, - initialize as initializeBE, - ElementType, - Plugins, - StyleXPlugin, + Bridge, BrowserTheme, CanViewElementSource, + Context, + createBridge as createBridgeBE, DevtoolsProps, - TabID, - ViewAttributeSource, - ViewElementSource, - InspectedElement, - SerializedElement, - Source, + ElementType, FetchFileWithCaching, - Context, - ParseHookNames, + FrontendBridge, HooksNode, + HookSource, HookSourceAndMetadata, + initialize as initializeBE, + InspectedElement, + ParseHookNames, ParseSourceAndMetadata, + Plugins, + SerializedElement, + Source, + StyleXPlugin, + TabID, + ViewAttributeSource, + ViewElementSource, Wall, - HookSource, - Bridge, - FrontendBridge, -} from 'react-devtools-inline/backend'; +} from "react-devtools-inline/backend"; +import { + createBridge as createBridgeFE, + createStore, + initialize as initializeFE, +} from "react-devtools-inline/frontend"; const sendWall = (some: string, payload = { a: 1 }) => {}; @@ -88,9 +88,9 @@ activate(window, { bridge: backendBridgeWithoutWall }); const elementType: ElementType = 1; const styleXpPlugin: StyleXPlugin = { - sources: ['str'], + sources: ["str"], resolvedStyles: { - str: 'str', + str: "str", number: 5, array: [], }, @@ -103,26 +103,26 @@ const pluginsNull: Plugins = { stylex: null, }; -const browserThemeDark: BrowserTheme = 'dark'; -const browserThemeLight: BrowserTheme = 'light'; +const browserThemeDark: BrowserTheme = "dark"; +const browserThemeLight: BrowserTheme = "light"; -const tabIdComponents: TabID = 'components'; -const tabIdProfiler: TabID = 'profiler'; +const tabIdComponents: TabID = "components"; +const tabIdProfiler: TabID = "profiler"; -const viewAttributeSourceString: ViewAttributeSource = (id = 5, path = ['s', 't', 'r']) => {}; +const viewAttributeSourceString: ViewAttributeSource = (id = 5, path = ["s", "t", "r"]) => {}; const viewAttributeSourceFunction: ViewAttributeSource = (id = 5, path = [1, 2, 3]) => {}; const serializedElement: SerializedElement = { - displayName: 'str', + displayName: "str", id: 5, - key: 'str', - hocDisplayNames: ['str'], + key: "str", + hocDisplayNames: ["str"], type: elementType, }; const sourceObj: Source = { - fileName: 'fileName', + fileName: "fileName", lineNumber: 5, }; @@ -140,44 +140,44 @@ const inspectedElementObj: InspectedElement = { canToggleSuspense: true, canViewSource: true, hasLegacyContext: true, - context: { str: 'anything' }, - hooks: { str: 'anything' }, - props: { str: 'anything' }, - state: { str: 'anything' }, + context: { str: "anything" }, + hooks: { str: "anything" }, + props: { str: "anything" }, + state: { str: "anything" }, key: 2, - errors: [['str', 5]], - warnings: [['str', 5]], + errors: [["str", 5]], + warnings: [["str", 5]], owners: [serializedElement], source: sourceObj, type: 5, - rootType: 'str', - rendererPackageName: 'str', - rendererVersion: 'str', + rootType: "str", + rendererPackageName: "str", + rendererVersion: "str", plugins: pluginsObj, }; const canViewElementSource: CanViewElementSource = (inspectedElement = inspectedElementObj) => true; const viewElementSource: ViewElementSource = (id = 5, inspectedElement = inspectedElementObj) => {}; -const fetchFileWithCachingFunc: FetchFileWithCaching = (url = 'str') => Promise.resolve(url); +const fetchFileWithCachingFunc: FetchFileWithCaching = (url = "str") => Promise.resolve(url); const context: Context = fetchFileWithCachingFunc; -const hookNode: HooksNode = { id: 1, isStateEditable: true, name: 'some-name', value: 4, subHooks: [] }; +const hookNode: HooksNode = { id: 1, isStateEditable: true, name: "some-name", value: 4, subHooks: [] }; const parseHookNames: ParseHookNames = async ([hookNode], fetchFileWithCachingFunc) => null; const hookSourceObj: HookSource = { lineNumber: 1, columnNumber: 2, - fileName: 'str', - functionName: 'str', + fileName: "str", + functionName: "str", }; -const locationKeyToHookSourceAndMetadata: Map = new Map().set('str', { +const locationKeyToHookSourceAndMetadata: Map = new Map().set("str", { hookSource: hookSourceObj, - runtimeSourceCode: 'str', - runtimeSourceURL: 'str', + runtimeSourceCode: "str", + runtimeSourceURL: "str", sourceMapJSON: null, - sourceMapURL: 'str', + sourceMapURL: "str", }); const parseSourceAndMetadata: ParseSourceAndMetadata = async ([hookNode], locationKeyToHookSourceAndMetadata) => null; @@ -204,10 +204,10 @@ const props: DevtoolsProps = { hideLogAction: true, hideViewSourceAction: true, overrideTab: tabIdComponents, - componentsPortalContainer: document.createElement('div'), - profilerPortalContainer: document.createElement('div'), + componentsPortalContainer: document.createElement("div"), + profilerPortalContainer: document.createElement("div"), fetchFileWithCaching: fetchFileWithCachingFunc, hookNamesModuleLoaderFunction: () => - Promise.resolve({ parseHookNames, parseSourceAndMetadata, purgeCachedMetadata: () => { } }), + Promise.resolve({ parseHookNames, parseSourceAndMetadata, purgeCachedMetadata: () => {} }), viewUrlSourceFunction: () => {}, }; diff --git a/types/react-devtools/react-devtools-tests.ts b/types/react-devtools/react-devtools-tests.ts index 885508b5ca583b..c9eda4e3c210b3 100644 --- a/types/react-devtools/react-devtools-tests.ts +++ b/types/react-devtools/react-devtools-tests.ts @@ -1,5 +1,5 @@ async function init() { - await import('react-devtools'); + await import("react-devtools"); } init(); diff --git a/types/react-dnd-multi-backend/dist/HTML5toTouch.d.ts b/types/react-dnd-multi-backend/dist/HTML5toTouch.d.ts index 40c4ad627d0773..e6697edbea2103 100644 --- a/types/react-dnd-multi-backend/dist/HTML5toTouch.d.ts +++ b/types/react-dnd-multi-backend/dist/HTML5toTouch.d.ts @@ -1,4 +1,4 @@ -import { Backends } from '../'; +import { Backends } from "../"; /** * Most commonly used set of Backends. diff --git a/types/react-dnd-multi-backend/dist/cjs/HTML5toTouch.d.ts b/types/react-dnd-multi-backend/dist/cjs/HTML5toTouch.d.ts index 5d02dc142a8b1b..f2a238d3918890 100644 --- a/types/react-dnd-multi-backend/dist/cjs/HTML5toTouch.d.ts +++ b/types/react-dnd-multi-backend/dist/cjs/HTML5toTouch.d.ts @@ -1 +1 @@ -export { default } from '../HTML5toTouch'; +export { default } from "../HTML5toTouch"; diff --git a/types/react-dnd-multi-backend/dist/esm/HTML5toTouch.d.ts b/types/react-dnd-multi-backend/dist/esm/HTML5toTouch.d.ts index 5d02dc142a8b1b..f2a238d3918890 100644 --- a/types/react-dnd-multi-backend/dist/esm/HTML5toTouch.d.ts +++ b/types/react-dnd-multi-backend/dist/esm/HTML5toTouch.d.ts @@ -1 +1 @@ -export { default } from '../HTML5toTouch'; +export { default } from "../HTML5toTouch"; diff --git a/types/react-dnd-multi-backend/index.d.ts b/types/react-dnd-multi-backend/index.d.ts index 236d7e7665b59e..0a42d69470d446 100644 --- a/types/react-dnd-multi-backend/index.d.ts +++ b/types/react-dnd-multi-backend/index.d.ts @@ -6,8 +6,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import { CSSProperties, FC, PureComponent, ReactNode } from "react"; import { BackendFactory } from "dnd-core"; +import { CSSProperties, FC, PureComponent, ReactNode } from "react"; /** * Callback function type definition for checking whether an event represents a transition between @@ -125,7 +125,7 @@ export class Preview extends PureComponent {} /** * Pre-existing/default react-dnd-multi-backend transition available to use. */ - export const MouseTransition: Transition; +export const MouseTransition: Transition; /** * Pre-existing/default react-dnd-touch-backend transition available to use. * This transition has the setting for "enableMouseEvents" turned on. diff --git a/types/react-dnd-multi-backend/react-dnd-multi-backend-tests.tsx b/types/react-dnd-multi-backend/react-dnd-multi-backend-tests.tsx index c602deaaae1c69..3140ff059cc7a1 100644 --- a/types/react-dnd-multi-backend/react-dnd-multi-backend-tests.tsx +++ b/types/react-dnd-multi-backend/react-dnd-multi-backend-tests.tsx @@ -1,9 +1,15 @@ -import * as React from 'react'; -import { DndProviderProps } from 'react-dnd'; -import MultiBackend, { createTransition, TouchTransition, Backends, Preview, PreviewGenerator } from 'react-dnd-multi-backend'; -import HTML5ToTouchEsm from 'react-dnd-multi-backend/dist/esm/HTML5toTouch'; -import HTML5ToTouchCjs from 'react-dnd-multi-backend/dist/cjs/HTML5toTouch'; -import TouchBackend from 'react-dnd-touch-backend'; +import * as React from "react"; +import { DndProviderProps } from "react-dnd"; +import MultiBackend, { + Backends, + createTransition, + Preview, + PreviewGenerator, + TouchTransition, +} from "react-dnd-multi-backend"; +import HTML5ToTouchCjs from "react-dnd-multi-backend/dist/cjs/HTML5toTouch"; +import HTML5ToTouchEsm from "react-dnd-multi-backend/dist/esm/HTML5toTouch"; +import TouchBackend from "react-dnd-touch-backend"; // Legacy versions of `react-dnd` rely on implicit children of `React.FC` which was removed in `@types/react@18` declare const DndProvider: React.FC>>; @@ -29,18 +35,19 @@ const multiDndComponentCjs = ( */ const CustomBackends: Backends = { backends: [ - { - backend: TouchBackend, - options: { enableMouseEvents: false }, - preview: true, - transition: createTransition('touchstart', (event: TouchEvent) => { - return event.touches != null; - }) - }, - { - backend: TouchBackend, - transition: TouchTransition - }] + { + backend: TouchBackend, + options: { enableMouseEvents: false }, + preview: true, + transition: createTransition("touchstart", (event: TouchEvent) => { + return event.touches != null; + }), + }, + { + backend: TouchBackend, + transition: TouchTransition, + }, + ], }; const multiCustomBackendsComponent = ( @@ -52,10 +59,10 @@ const multiCustomBackendsComponent = ( * Testing the Preview component. */ class App extends React.Component { - generator: PreviewGenerator = ({item, itemType, style}) => - (itemType === 'card') + generator: PreviewGenerator = ({ item, itemType, style }) => + (itemType === "card") ?
    {item.label}
    - :
    + :
    ; render() { return ( diff --git a/types/react-document-meta/index.d.ts b/types/react-document-meta/index.d.ts index b96b2f9c4f4b18..eb90e85785bdb2 100644 --- a/types/react-document-meta/index.d.ts +++ b/types/react-document-meta/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export interface DocumentMetaProps { children?: React.ReactNode; @@ -13,6 +13,6 @@ export interface DocumentMetaProps { readonly canonical?: string | undefined; } -declare class DocumentMeta extends React.Component { } +declare class DocumentMeta extends React.Component {} export default DocumentMeta; diff --git a/types/react-document-meta/react-document-meta-tests.tsx b/types/react-document-meta/react-document-meta-tests.tsx index 79ba01a2b2aa35..ba9e6d60665712 100644 --- a/types/react-document-meta/react-document-meta-tests.tsx +++ b/types/react-document-meta/react-document-meta-tests.tsx @@ -1,10 +1,10 @@ -import * as React from 'react'; -import DocumentMeta from 'react-document-meta'; +import * as React from "react"; +import DocumentMeta from "react-document-meta"; class Test extends React.Component { render() { return ( - +
    some child
    ); diff --git a/types/react-document-title/index.d.ts b/types/react-document-title/index.d.ts index 98fc6a9e1769e9..de8b357199891c 100644 --- a/types/react-document-title/index.d.ts +++ b/types/react-document-title/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; interface DocumentTitleProps { title: string; diff --git a/types/react-document-title/react-document-title-tests.tsx b/types/react-document-title/react-document-title-tests.tsx index d674ffa5bc9098..b0198bf60b4061 100644 --- a/types/react-document-title/react-document-title-tests.tsx +++ b/types/react-document-title/react-document-title-tests.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import DocumentTitle from 'react-document-title'; +import * as React from "react"; +import DocumentTitle from "react-document-title"; class TitleTest extends React.Component { render() { @@ -15,6 +15,10 @@ class TitleTestOneChild extends React.Component { class TitleTestOneReactChild extends React.Component { render() { - return
    A Child
    ; + return ( + +
    A Child
    +
    + ); } } diff --git a/types/react-dom-factories/react-dom-factories-tests.ts b/types/react-dom-factories/react-dom-factories-tests.ts index de3b03819ccb94..9ed7bb71c026c6 100644 --- a/types/react-dom-factories/react-dom-factories-tests.ts +++ b/types/react-dom-factories/react-dom-factories-tests.ts @@ -2,7 +2,4 @@ import * as DOM from "react-dom-factories"; // tiny sampling of factories DOM.a({}, "a"); -DOM.div({}, - DOM.span({}, DOM.b()), - DOM.ul({}, DOM.li({}, "test")) -); +DOM.div({}, DOM.span({}, DOM.b()), DOM.ul({}, DOM.li({}, "test"))); diff --git a/types/react-dom/canary.d.ts b/types/react-dom/canary.d.ts index 4e5a12988b0a7e..964d0df7ad2505 100644 --- a/types/react-dom/canary.d.ts +++ b/types/react-dom/canary.d.ts @@ -26,13 +26,13 @@ // See https://github.com/facebook/react/blob/main/packages/react-dom/index.js to see how the exports are declared, // but confirm with published source code (e.g. https://unpkg.com/react-dom@canary) that these exports end up in the published code -import React = require('react'); -import ReactDOM = require('.'); +import React = require("react"); +import ReactDOM = require("."); export {}; -declare module '.' { - type PreloadAs = 'font' | 'script' | 'style'; +declare module "." { + type PreloadAs = "font" | "script" | "style"; interface PreloadOptions { as: PreloadAs; crossOrigin?: string | undefined; @@ -40,7 +40,7 @@ declare module '.' { } function preload(href: string, options?: PreloadOptions): void; - type PreinitAs = 'script' | 'style'; + type PreinitAs = "script" | "style"; interface PreinitOptions { as: PreinitAs; crossOrigin?: string | undefined; diff --git a/types/react-dom/client.d.ts b/types/react-dom/client.d.ts index b1919198ab13c5..7a4e73a5ed94d0 100644 --- a/types/react-dom/client.d.ts +++ b/types/react-dom/client.d.ts @@ -4,7 +4,7 @@ // See https://github.com/facebook/react/blob/main/packages/react-dom/client.js to see how the exports are declared, -import React = require('react'); +import React = require("react"); export interface HydrationOptions { /** * Prefix for `useId`. diff --git a/types/react-dom/experimental.d.ts b/types/react-dom/experimental.d.ts index 92e1c4ac49fc2a..38e980d9e21e86 100644 --- a/types/react-dom/experimental.d.ts +++ b/types/react-dom/experimental.d.ts @@ -27,12 +27,12 @@ // See https://github.com/facebook/react/blob/main/packages/react-dom/index.experimental.js to see how the exports are declared, // but confirm with published source code (e.g. https://unpkg.com/react-dom@experimental) that these exports end up in the published code -import React = require('react'); -import ReactDOM = require('./canary'); +import React = require("react"); +import ReactDOM = require("./canary"); export {}; -declare module '.' { +declare module "." { interface FormStatusNotPending { pending: false; data: null; diff --git a/types/react-dom/index.d.ts b/types/react-dom/index.d.ts index 9b828f4793bf5f..0be39d43317fb1 100644 --- a/types/react-dom/index.d.ts +++ b/types/react-dom/index.d.ts @@ -17,15 +17,26 @@ export as namespace ReactDOM; import { - ReactInstance, Component, ComponentState, - ReactElement, FunctionComponentElement, CElement, - DOMAttributes, DOMElement, ReactNode, ReactPortal -} from 'react'; + CElement, + Component, + ComponentState, + DOMAttributes, + DOMElement, + FunctionComponentElement, + ReactElement, + ReactInstance, + ReactNode, + ReactPortal, +} from "react"; export function findDOMNode(instance: ReactInstance | null | undefined): Element | null | Text; export function unmountComponentAtNode(container: Element | DocumentFragment): boolean; -export function createPortal(children: ReactNode, container: Element | DocumentFragment, key?: null | string): ReactPortal; +export function createPortal( + children: ReactNode, + container: Element | DocumentFragment, + key?: null | string, +): ReactPortal; export const version: string; export const render: Renderer; @@ -41,17 +52,20 @@ export function unstable_renderSubtreeIntoContainer( parentComponent: Component, element: DOMElement, T>, container: Element, - callback?: (element: T) => any): T; + callback?: (element: T) => any, +): T; export function unstable_renderSubtreeIntoContainer>( parentComponent: Component, element: CElement, container: Element, - callback?: (component: T) => any): T; + callback?: (component: T) => any, +): T; export function unstable_renderSubtreeIntoContainer

    ( parentComponent: Component, element: ReactElement

    , container: Element, - callback?: (component?: Component | Element) => any): Component | Element | void; + callback?: (component?: Component | Element) => any, +): Component | Element | void; export type Container = Element | Document | DocumentFragment; @@ -61,43 +75,43 @@ export interface Renderer { ( element: DOMElement, T>, - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): T; ( element: Array, any>>, - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): Element; ( element: FunctionComponentElement | Array>, - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): void; >( element: CElement, - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): T; ( element: Array>>, - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): Component;

    ( element: ReactElement

    , - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): Component | Element | void; ( element: ReactElement[], - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): Component | Element | void; } diff --git a/types/react-dom/server.d.ts b/types/react-dom/server.d.ts index 917268a3ab7159..acdd51c1011c81 100644 --- a/types/react-dom/server.d.ts +++ b/types/react-dom/server.d.ts @@ -21,8 +21,8 @@ declare global { interface ReadableStream {} } -import { ReactElement, ReactNode } from 'react'; -import { ErrorInfo } from './client'; +import { ReactElement, ReactNode } from "react"; +import { ErrorInfo } from "./client"; export interface RenderToPipeableStreamOptions { identifierPrefix?: string; diff --git a/types/react-dom/test-utils/index.d.ts b/types/react-dom/test-utils/index.d.ts index 1aac44659f7e2a..bc7cd7079354ac 100644 --- a/types/react-dom/test-utils/index.d.ts +++ b/types/react-dom/test-utils/index.d.ts @@ -1,9 +1,17 @@ import { - AbstractView, Component, ComponentClass, - ReactElement, ReactInstance, ClassType, - DOMElement, FunctionComponentElement, CElement, - ReactHTMLElement, DOMAttributes, FC -} from 'react'; + AbstractView, + CElement, + ClassType, + Component, + ComponentClass, + DOMAttributes, + DOMElement, + FC, + FunctionComponentElement, + ReactElement, + ReactHTMLElement, + ReactInstance, +} from "react"; import * as ReactTestUtils from "."; @@ -24,7 +32,21 @@ export interface OptionalEventProperties { type?: string | undefined; } -export type ModifierKey = "Alt" | "AltGraph" | "CapsLock" | "Control" | "Fn" | "FnLock" | "Hyper" | "Meta" | "NumLock" | "ScrollLock" | "Shift" | "Super" | "Symbol" | "SymbolLock"; +export type ModifierKey = + | "Alt" + | "AltGraph" + | "CapsLock" + | "Control" + | "Fn" + | "FnLock" + | "Hyper" + | "Meta" + | "NumLock" + | "ScrollLock" + | "Shift" + | "Super" + | "Symbol" + | "SymbolLock"; export interface SyntheticEventData extends OptionalEventProperties { altKey?: boolean | undefined; @@ -63,7 +85,7 @@ export interface SyntheticEventData extends OptionalEventProperties { export type EventSimulator = (element: Element | Component, eventData?: SyntheticEventData) => void; export interface MockedComponentClass { - new (props: any): any; + new(props: any): any; } export interface ShallowRenderer { @@ -82,7 +104,7 @@ export interface ShallowRenderer { * Simulate an event dispatch on a DOM node with optional `eventData` event data. * `Simulate` has a method for every event that React understands. */ - export namespace Simulate { +export namespace Simulate { const abort: EventSimulator; const animationEnd: EventSimulator; const animationIteration: EventSimulator; @@ -174,17 +196,21 @@ export interface ShallowRenderer { * Render a React element into a detached DOM node in the document. __This function requires a DOM__. */ export function renderIntoDocument( - element: DOMElement): T; + element: DOMElement, +): T; export function renderIntoDocument( - element: FunctionComponentElement): void; + element: FunctionComponentElement, +): void; // If we replace `P` with `any` in this overload, then some tests fail because // calls to `renderIntoDocument` choose the last overload on the // subtype-relation pass and get an undesirably broad return type. Using `P` // allows this overload to match on the subtype-relation pass. export function renderIntoDocument>( - element: CElement): T; + element: CElement, +): T; export function renderIntoDocument

    ( - element: ReactElement

    ): Component

    | Element | void; + element: ReactElement

    , +): Component

    | Element | void; /** * Pass a mocked component module to this method to augment it with useful methods that allow it to @@ -192,7 +218,9 @@ export function renderIntoDocument

    ( * a simple `

    ` (or other tag if `mockTagName` is provided) containing any provided children. */ export function mockComponent( - mocked: MockedComponentClass, mockTagName?: string): typeof ReactTestUtils; + mocked: MockedComponentClass, + mockTagName?: string, +): typeof ReactTestUtils; /** * Returns `true` if `element` is any React element. @@ -203,22 +231,30 @@ export function isElement(element: any): boolean; * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType( - element: ReactElement, type: string): element is ReactHTMLElement; + element: ReactElement, + type: string, +): element is ReactHTMLElement; /** * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType

    , T extends Element>( - element: ReactElement, type: string): element is DOMElement; + element: ReactElement, + type: string, +): element is DOMElement; /** * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType

    ( - element: ReactElement, type: FC

    ): element is FunctionComponentElement

    ; + element: ReactElement, + type: FC

    , +): element is FunctionComponentElement

    ; /** * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType, C extends ComponentClass

    >( - element: ReactElement, type: ClassType): element is CElement; + element: ReactElement, + type: ClassType, +): element is CElement; /** * Returns `true` if `instance` is a DOM component (such as a `

    ` or ``). @@ -232,7 +268,9 @@ export function isCompositeComponent(instance: ReactInstance): instance is Compo * Returns `true` if `instance` is a component whose type is of a React `componentClass`. */ export function isCompositeComponentWithType, C extends ComponentClass>( - instance: ReactInstance, type: ClassType): boolean; + instance: ReactInstance, + type: ClassType, +): boolean; /** * Traverse all components in `tree` and accumulate all components where @@ -241,7 +279,8 @@ export function isCompositeComponentWithType, C extends */ export function findAllInRenderedTree( root: Component, - fn: (i: ReactInstance) => boolean): ReactInstance[]; + fn: (i: ReactInstance) => boolean, +): ReactInstance[]; /** * Finds all DOM elements of components in the rendered tree that are @@ -249,7 +288,8 @@ export function findAllInRenderedTree( */ export function scryRenderedDOMComponentsWithClass( root: Component, - className: string): Element[]; + className: string, +): Element[]; /** * Like `scryRenderedDOMComponentsWithClass()` but expects there to be one result, * and returns that one result, or throws exception if there is any other @@ -257,7 +297,8 @@ export function scryRenderedDOMComponentsWithClass( */ export function findRenderedDOMComponentWithClass( root: Component, - className: string): Element; + className: string, +): Element; /** * Finds all DOM elements of components in the rendered tree that are @@ -265,7 +306,8 @@ export function findRenderedDOMComponentWithClass( */ export function scryRenderedDOMComponentsWithTag( root: Component, - tagName: string): Element[]; + tagName: string, +): Element[]; /** * Like `scryRenderedDOMComponentsWithTag()` but expects there to be one result, * and returns that one result, or throws exception if there is any other @@ -273,14 +315,16 @@ export function scryRenderedDOMComponentsWithTag( */ export function findRenderedDOMComponentWithTag( root: Component, - tagName: string): Element; + tagName: string, +): Element; /** * Finds all instances of components with type equal to `componentClass`. */ export function scryRenderedComponentsWithType, C extends ComponentClass>( root: Component, - type: ClassType): T[]; + type: ClassType, +): T[]; /** * Same as `scryRenderedComponentsWithType()` but expects there to be one result @@ -289,7 +333,8 @@ export function scryRenderedComponentsWithType, C exten */ export function findRenderedComponentWithType, C extends ComponentClass>( root: Component, - type: ClassType): T; + type: ClassType, +): T; /** * Call this in your tests to create a shallow renderer. diff --git a/types/react-dom/test/canary-tests.tsx b/types/react-dom/test/canary-tests.tsx index beb73c3672614b..c67964be40190a 100644 --- a/types/react-dom/test/canary-tests.tsx +++ b/types/react-dom/test/canary-tests.tsx @@ -2,39 +2,39 @@ function preloadTest() { function Component() { - ReactDOM.preload('foo', { as: 'style', integrity: 'sad' }); - ReactDOM.preload('bar', { as: 'font' }); - ReactDOM.preload('baz', { as: 'script', crossOrigin: 'use-credentials' }); - ReactDOM.preload('baz', { + ReactDOM.preload("foo", { as: "style", integrity: "sad" }); + ReactDOM.preload("bar", { as: "font" }); + ReactDOM.preload("baz", { as: "script", crossOrigin: "use-credentials" }); + ReactDOM.preload("baz", { // @ts-expect-error - as: 'title', + as: "title", }); - ReactDOM.preload('bar', { - as: 'font', + ReactDOM.preload("bar", { + as: "font", // @ts-expect-error -- Only allowed in preinit - nonce: '0xeac1', + nonce: "0xeac1", }); - ReactDOM.preinit('foo', { - as: 'style', - crossOrigin: 'anonymous', - precedence: 'high', - integrity: 'sad', + ReactDOM.preinit("foo", { + as: "style", + crossOrigin: "anonymous", + precedence: "high", + integrity: "sad", }); - ReactDOM.preinit('bar', { + ReactDOM.preinit("bar", { // @ts-expect-error Only available in preload - as: 'font', + as: "font", }); - ReactDOM.preinit('baz', { - as: 'script', + ReactDOM.preinit("baz", { + as: "script", }); - ReactDOM.preinit('baz', { + ReactDOM.preinit("baz", { // @ts-expect-error - as: 'title', + as: "title", }); - ReactDOM.preinit('baz', { - as: 'script', - nonce: '0xeac1', + ReactDOM.preinit("baz", { + as: "script", + nonce: "0xeac1", }); } } diff --git a/types/react-dom/test/experimental-tests.tsx b/types/react-dom/test/experimental-tests.tsx index da2525f9b205cb..2ce565f855f8e5 100644 --- a/types/react-dom/test/experimental-tests.tsx +++ b/types/react-dom/test/experimental-tests.tsx @@ -1,6 +1,6 @@ -import ReactDOM = require('react-dom'); -import 'react/experimental'; -import 'react-dom/experimental'; +import ReactDOM = require("react-dom"); +import "react/experimental"; +import "react-dom/experimental"; const useFormStatus = ReactDOM.experimental_useFormStatus; @@ -10,11 +10,13 @@ function Status() { return
    No pending action
    ; } else { const { action, data, method } = status; - const foo = data.get('foo'); + const foo = data.get("foo"); return ( -
    {`Pending action ${ - typeof action === 'string' ? action : action.name - }: foo is ${foo}, method is ${method}`}
    +
    + {`Pending action ${ + typeof action === "string" ? action : action.name + }: foo is ${foo}, method is ${method}`} +
    ); } } diff --git a/types/react-dom/test/react-dom-tests.tsx b/types/react-dom/test/react-dom-tests.tsx index dfe092bdc0cc82..cb111aa862731a 100644 --- a/types/react-dom/test/react-dom-tests.tsx +++ b/types/react-dom/test/react-dom-tests.tsx @@ -1,52 +1,52 @@ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import * as ReactDOMClient from 'react-dom/client'; -import * as ReactDOMServer from 'react-dom/server'; -import * as ReactTestUtils from 'react-dom/test-utils'; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import * as ReactDOMClient from "react-dom/client"; +import * as ReactDOMServer from "react-dom/server"; +import * as ReactTestUtils from "react-dom/test-utils"; declare function describe(desc: string, f: () => void): void; declare function it(desc: string, f: () => void): void; class TestComponent extends React.Component<{ x: string }> {} -describe('ReactDOM', () => { - it('render', () => { - const rootElement = document.createElement('div'); - ReactDOM.render(React.createElement('div'), rootElement); - ReactDOM.render(React.createElement('div'), document.createDocumentFragment()); - ReactDOM.render(React.createElement('div'), document); +describe("ReactDOM", () => { + it("render", () => { + const rootElement = document.createElement("div"); + ReactDOM.render(React.createElement("div"), rootElement); + ReactDOM.render(React.createElement("div"), document.createDocumentFragment()); + ReactDOM.render(React.createElement("div"), document); }); - it('hydrate', () => { - const rootElement = document.createElement('div'); - ReactDOM.hydrate(React.createElement('div'), rootElement); - ReactDOM.hydrate(React.createElement('div'), document.createDocumentFragment()); - ReactDOM.hydrate(React.createElement('div'), document); + it("hydrate", () => { + const rootElement = document.createElement("div"); + ReactDOM.hydrate(React.createElement("div"), rootElement); + ReactDOM.hydrate(React.createElement("div"), document.createDocumentFragment()); + ReactDOM.hydrate(React.createElement("div"), document); }); - it('unmounts', () => { - const rootElement = document.createElement('div'); - ReactDOM.render(React.createElement('div'), rootElement); + it("unmounts", () => { + const rootElement = document.createElement("div"); + ReactDOM.render(React.createElement("div"), rootElement); ReactDOM.unmountComponentAtNode(rootElement); }); - it('works with document fragments', () => { + it("works with document fragments", () => { const fragment = document.createDocumentFragment(); - ReactDOM.render(React.createElement('div'), fragment); + ReactDOM.render(React.createElement("div"), fragment); ReactDOM.unmountComponentAtNode(fragment); }); - it('find dom node', () => { - const rootElement = document.createElement('div'); - ReactDOM.render(React.createElement('div'), rootElement); + it("find dom node", () => { + const rootElement = document.createElement("div"); + ReactDOM.render(React.createElement("div"), rootElement); ReactDOM.findDOMNode(rootElement); ReactDOM.findDOMNode(null); ReactDOM.findDOMNode(undefined); }); - it('createPortal', () => { - const rootElement = document.createElement('div'); - const portalTarget = document.createElement('div'); + it("createPortal", () => { + const rootElement = document.createElement("div"); + const portalTarget = document.createElement("div"); class ClassComponent extends React.Component { render() { @@ -54,27 +54,27 @@ describe('ReactDOM', () => { } } - ReactDOM.createPortal(
    , document.createElement('div')); - ReactDOM.createPortal(
    , document.createElement('div'), null); - ReactDOM.createPortal(
    , document.createElement('div'), 'key'); + ReactDOM.createPortal(
    , document.createElement("div")); + ReactDOM.createPortal(
    , document.createElement("div"), null); + ReactDOM.createPortal(
    , document.createElement("div"), "key"); - ReactDOM.createPortal(React.createElement('div'), document.createElement('div')); - ReactDOM.createPortal(React.createElement('div'), document.createElement('div'), null); - ReactDOM.createPortal(React.createElement('div'), document.createElement('div'), 'key'); - ReactDOM.createPortal(React.createElement('div'), document.createDocumentFragment()); + ReactDOM.createPortal(React.createElement("div"), document.createElement("div")); + ReactDOM.createPortal(React.createElement("div"), document.createElement("div"), null); + ReactDOM.createPortal(React.createElement("div"), document.createElement("div"), "key"); + ReactDOM.createPortal(React.createElement("div"), document.createDocumentFragment()); ReactDOM.render(, rootElement); }); - it('flushSync', () => { + it("flushSync", () => { // $ExpectType void ReactDOM.flushSync(() => {}); // $ExpectType number ReactDOM.flushSync(() => 42); // $ExpectType number - ReactDOM.flushSync(() => 42, 'not used'); + ReactDOM.flushSync(() => 42, "not used"); // $ExpectType number - ReactDOM.flushSync((a: string) => 42, 'not used'); + ReactDOM.flushSync((a: string) => 42, "not used"); // @ts-expect-error ReactDOM.flushSync((a: string) => 42); // @ts-expect-error @@ -82,246 +82,246 @@ describe('ReactDOM', () => { }); }); -describe('ReactDOMServer', () => { - it('renderToString', () => { - const content: string = ReactDOMServer.renderToString(React.createElement('div')); +describe("ReactDOMServer", () => { + it("renderToString", () => { + const content: string = ReactDOMServer.renderToString(React.createElement("div")); }); - it('renderToStaticMarkup', () => { - const content: string = ReactDOMServer.renderToStaticMarkup(React.createElement('div')); + it("renderToStaticMarkup", () => { + const content: string = ReactDOMServer.renderToStaticMarkup(React.createElement("div")); }); }); -describe('React dom test utils', () => { - it('Simulate', () => { - const element = document.createElement('div'); - const dom = ReactDOM.render(React.createElement('input', { type: 'text' }), element) as Element; +describe("React dom test utils", () => { + it("Simulate", () => { + const element = document.createElement("div"); + const dom = ReactDOM.render(React.createElement("input", { type: "text" }), element) as Element; const node = ReactDOM.findDOMNode(dom) as HTMLInputElement; - node.value = 'giraffe'; + node.value = "giraffe"; ReactTestUtils.Simulate.change(node); - ReactTestUtils.Simulate.keyDown(node, { key: 'Enter', keyCode: 13, which: 13 }); + ReactTestUtils.Simulate.keyDown(node, { key: "Enter", keyCode: 13, which: 13 }); }); - it('Simulate all event types', () => { - const element = document.createElement('div'); + it("Simulate all event types", () => { + const element = document.createElement("div"); const dom = ReactDOM.render( - React.createElement('input', { type: 'text' }), - element + React.createElement("input", { type: "text" }), + element, ) as Element; const node = ReactDOM.findDOMNode(dom) as HTMLInputElement; // @see: https://github.com/facebook/react/blob/v18.2.0/packages/react-dom/src/test-utils/ReactTestUtils.js#L620 const simulatedEventTypes = [ - 'blur', - 'cancel', - 'click', - 'close', - 'contextMenu', - 'copy', - 'cut', - 'auxClick', - 'doubleClick', - 'dragEnd', - 'dragStart', - 'drop', - 'focus', - 'input', - 'invalid', - 'keyDown', - 'keyPress', - 'keyUp', - 'mouseDown', - 'mouseUp', - 'paste', - 'pause', - 'play', - 'pointerCancel', - 'pointerDown', - 'pointerUp', - 'rateChange', - 'reset', - 'resize', - 'seeked', - 'submit', - 'touchCancel', - 'touchEnd', - 'touchStart', - 'volumeChange', - 'drag', - 'dragEnter', - 'dragExit', - 'dragLeave', - 'dragOver', - 'mouseMove', - 'mouseOut', - 'mouseOver', - 'pointerMove', - 'pointerOut', - 'pointerOver', - 'scroll', - 'toggle', - 'touchMove', - 'wheel', - 'abort', - 'animationEnd', - 'animationIteration', - 'animationStart', - 'canPlay', - 'canPlayThrough', - 'durationChange', - 'emptied', - 'encrypted', - 'ended', - 'error', - 'gotPointerCapture', - 'load', - 'loadedData', - 'loadedMetadata', - 'loadStart', - 'lostPointerCapture', - 'playing', - 'progress', - 'seeking', - 'stalled', - 'suspend', - 'timeUpdate', - 'transitionEnd', - 'waiting', - 'mouseEnter', - 'mouseLeave', - 'pointerEnter', - 'pointerLeave', - 'change', - 'select', - 'beforeInput', - 'compositionEnd', - 'compositionStart', - 'compositionUpdate', - ] as const; - - simulatedEventTypes.forEach((eventType) => { + "blur", + "cancel", + "click", + "close", + "contextMenu", + "copy", + "cut", + "auxClick", + "doubleClick", + "dragEnd", + "dragStart", + "drop", + "focus", + "input", + "invalid", + "keyDown", + "keyPress", + "keyUp", + "mouseDown", + "mouseUp", + "paste", + "pause", + "play", + "pointerCancel", + "pointerDown", + "pointerUp", + "rateChange", + "reset", + "resize", + "seeked", + "submit", + "touchCancel", + "touchEnd", + "touchStart", + "volumeChange", + "drag", + "dragEnter", + "dragExit", + "dragLeave", + "dragOver", + "mouseMove", + "mouseOut", + "mouseOver", + "pointerMove", + "pointerOut", + "pointerOver", + "scroll", + "toggle", + "touchMove", + "wheel", + "abort", + "animationEnd", + "animationIteration", + "animationStart", + "canPlay", + "canPlayThrough", + "durationChange", + "emptied", + "encrypted", + "ended", + "error", + "gotPointerCapture", + "load", + "loadedData", + "loadedMetadata", + "loadStart", + "lostPointerCapture", + "playing", + "progress", + "seeking", + "stalled", + "suspend", + "timeUpdate", + "transitionEnd", + "waiting", + "mouseEnter", + "mouseLeave", + "pointerEnter", + "pointerLeave", + "change", + "select", + "beforeInput", + "compositionEnd", + "compositionStart", + "compositionUpdate", + ] as const; + + simulatedEventTypes.forEach((eventType) => { ReactTestUtils.Simulate[eventType](node); - }); + }); }); - it('renderIntoDocument', () => { - const element = React.createElement('input', { type: 'text' }); + it("renderIntoDocument", () => { + const element = React.createElement("input", { type: "text" }); ReactTestUtils.renderIntoDocument(element); }); - it('mockComponent', () => { - ReactTestUtils.mockComponent(TestComponent, 'div'); + it("mockComponent", () => { + ReactTestUtils.mockComponent(TestComponent, "div"); }); - it('isElement', () => { + it("isElement", () => { const element = React.createElement(TestComponent); const isReactElement: boolean = ReactTestUtils.isElement(element); }); - it('isElementOfType', () => { + it("isElementOfType", () => { const element = React.createElement(TestComponent); const isReactElement: boolean = ReactTestUtils.isElementOfType(element, TestComponent); }); - it('isDOMComponent', () => { - const element = React.createElement('div'); + it("isDOMComponent", () => { + const element = React.createElement("div"); const instance = ReactTestUtils.renderIntoDocument(element) as HTMLDivElement; const isDOMElement: boolean = ReactTestUtils.isDOMComponent(instance); }); - it('isCompositeComponent', () => { + it("isCompositeComponent", () => { const element = React.createElement(TestComponent); const instance: TestComponent = ReactTestUtils.renderIntoDocument(element); const isCompositeComponent: boolean = ReactTestUtils.isCompositeComponent(instance); }); - it('isCompositeComponentWithType', () => { + it("isCompositeComponentWithType", () => { const element = React.createElement(TestComponent); const instance: TestComponent = ReactTestUtils.renderIntoDocument(element); const isCompositeComponent: boolean = ReactTestUtils.isCompositeComponentWithType(instance, TestComponent); }); - it('findAllInRenderedTree', () => { + it("findAllInRenderedTree", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); ReactTestUtils.findAllInRenderedTree(component, (i: React.ReactInstance) => true); }); - it('scryRenderedDOMComponentsWithClass', () => { + it("scryRenderedDOMComponentsWithClass", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.scryRenderedDOMComponentsWithClass(component, 'class'); + ReactTestUtils.scryRenderedDOMComponentsWithClass(component, "class"); }); - it('findRenderedDOMComponentWithClass', () => { + it("findRenderedDOMComponentWithClass", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.findRenderedDOMComponentWithClass(component, 'class'); + ReactTestUtils.findRenderedDOMComponentWithClass(component, "class"); }); - it('scryRenderedDOMComponentsWithTag', () => { + it("scryRenderedDOMComponentsWithTag", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.scryRenderedDOMComponentsWithTag(component, 'div'); + ReactTestUtils.scryRenderedDOMComponentsWithTag(component, "div"); }); - it('findRenderedDOMComponentWithTag', () => { + it("findRenderedDOMComponentWithTag", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.findRenderedDOMComponentWithTag(component, 'tag'); + ReactTestUtils.findRenderedDOMComponentWithTag(component, "tag"); }); - it('scryRenderedComponentsWithType', () => { + it("scryRenderedComponentsWithType", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); ReactTestUtils.scryRenderedComponentsWithType(component, TestComponent); }); - it('findRenderedComponentWithType', () => { + it("findRenderedComponentWithType", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); ReactTestUtils.findRenderedComponentWithType(component, TestComponent); }); - describe('Shallow Rendering', () => { - it('createRenderer', () => { + describe("Shallow Rendering", () => { + it("createRenderer", () => { const component = React.createElement(TestComponent); const shallowRenderer = ReactTestUtils.createRenderer(); }); - it('shallowRenderer.render', () => { + it("shallowRenderer.render", () => { const component = React.createElement(TestComponent); const shallowRenderer = ReactTestUtils.createRenderer(); shallowRenderer.render(component); }); - it('shallowRenderer.getRenderOutput', () => { + it("shallowRenderer.getRenderOutput", () => { const component = React.createElement(TestComponent); const shallowRenderer = ReactTestUtils.createRenderer(); shallowRenderer.getRenderOutput(); }); }); - describe('act', () => { - describe('with sync callback', () => { - it('accepts a callback that is void', () => { + describe("act", () => { + describe("with sync callback", () => { + it("accepts a callback that is void", () => { ReactTestUtils.act(() => {}); }); - it('accepts a callback that returns a value', () => { + it("accepts a callback that returns a value", () => { const result = ReactTestUtils.act(() => "value"); result.then(x => {}); }); - it('returns void', () => { + it("returns void", () => { // tslint:disable-next-line no-void-expression const result = ReactTestUtils.act(() => {}); // @ts-expect-error result.then; }); }); - describe('with async callback', () => { - it('accepts a callback that is void', async () => { + describe("with async callback", () => { + it("accepts a callback that is void", async () => { await ReactTestUtils.act(async () => {}); }); - it('a callback that returns null', async () => { + it("a callback that returns null", async () => { await ReactTestUtils.act(async () => null); }); - it('a callback that returns a value', async () => { - await ReactTestUtils.act(async () => 'value'); + it("a callback that returns a value", async () => { + await ReactTestUtils.act(async () => "value"); }); - it('returns a Promise-like', () => { + it("returns a Promise-like", () => { const result = ReactTestUtils.act(async () => {}); result.then(x => {}); }); @@ -334,7 +334,7 @@ async function batchTests() { const output1 = ReactDOM.unstable_batchedUpdates(input => { // $ExpectType number input; - return 'hi'; + return "hi"; }, 1); } @@ -351,7 +351,7 @@ function createRoot() { function hydrateRoot() { const hydrateable = ReactDOMClient.hydrateRoot(document,
    initial render
    , { - identifierPrefix: 'react-18-app', + identifierPrefix: "react-18-app", onRecoverableError: (error, errorInfo) => { console.error(error); console.info(errorInfo.componentStack); @@ -361,10 +361,10 @@ function hydrateRoot() { ReactDOMClient.hydrateRoot(document, { // Forgot `initialChildren` // @ts-expect-error - identifierPrefix: 'react-18-app', + identifierPrefix: "react-18-app", }); - ReactDOMClient.hydrateRoot(document.getElementById('root')!, false); + ReactDOMClient.hydrateRoot(document.getElementById("root")!, false); } /** @@ -384,16 +384,16 @@ function pipeableStreamDocumentedExample() { let didError = false; const response: Response = {} as any; const { pipe, abort } = ReactDOMServer.renderToPipeableStream(, { - bootstrapScripts: ['/main.js'], + bootstrapScripts: ["/main.js"], onShellReady() { response.statusCode = didError ? 500 : 200; - response.setHeader('content-type', 'text/html'); + response.setHeader("content-type", "text/html"); pipe(response); }, onShellError(error) { response.statusCode = 500; - response.setHeader('content-type', 'text/html'); - response.send('

    Something went wrong

    '); + response.setHeader("content-type", "text/html"); + response.send("

    Something went wrong

    "); }, onAllReady() {}, onError(err) { @@ -437,12 +437,12 @@ async function readableStreamDocumentedExample() { return new Response(stream, { status: didError ? 500 : 200, - headers: { 'Content-Type': 'text/html' }, + headers: { "Content-Type": "text/html" }, }); } catch (error) { - return new Response('

    Loading...

    ', { + return new Response("

    Loading...

    ", { status: 500, - headers: { 'Content-Type': 'text/html' }, + headers: { "Content-Type": "text/html" }, }); } } diff --git a/types/react-dom/v15/index.d.ts b/types/react-dom/v15/index.d.ts index be3014573d6cbb..c16a8bdf783629 100644 --- a/types/react-dom/v15/index.d.ts +++ b/types/react-dom/v15/index.d.ts @@ -10,10 +10,15 @@ export as namespace ReactDOM; import { - ReactInstance, Component, ComponentState, - ReactElement, SFCElement, CElement, - DOMAttributes, DOMElement -} from 'react'; + CElement, + Component, + ComponentState, + DOMAttributes, + DOMElement, + ReactElement, + ReactInstance, + SFCElement, +} from "react"; export function findDOMNode(instance: ReactInstance | null | undefined): E; export function findDOMNode(instance: ReactInstance): Element; @@ -21,28 +26,28 @@ export function findDOMNode(instance: ReactInstance): Element; export function render

    , T extends Element>( element: DOMElement, container: Element | null, - callback?: (element: T) => any + callback?: (element: T) => any, ): T; export function render

    ( element: SFCElement

    , container: Element | null, - callback?: () => any + callback?: () => any, ): void; export function render>( element: CElement, container: Element | null, - callback?: (component: T) => any + callback?: (component: T) => any, ): T; export function render

    ( element: ReactElement

    , container: Element | null, - callback?: (component?: Component | Element) => any + callback?: (component?: Component | Element) => any, ): Component | Element | void; export function render

    ( parentComponent: Component, element: SFCElement

    , container: Element, - callback?: () => any + callback?: () => any, ): void; export function unmountComponentAtNode(container: Element): boolean; @@ -56,14 +61,17 @@ export function unstable_renderSubtreeIntoContainer

    , parentComponent: Component, element: DOMElement, container: Element, - callback?: (element: T) => any): T; + callback?: (element: T) => any, +): T; export function unstable_renderSubtreeIntoContainer>( parentComponent: Component, element: CElement, container: Element, - callback?: (component: T) => any): T; + callback?: (component: T) => any, +): T; export function unstable_renderSubtreeIntoContainer

    ( parentComponent: Component, element: ReactElement

    , container: Element, - callback?: (component?: Component | Element) => any): Component | Element | void; + callback?: (component?: Component | Element) => any, +): Component | Element | void; diff --git a/types/react-dom/v15/react-dom-tests.ts b/types/react-dom/v15/react-dom-tests.ts index ae2576cb2aa6ef..5120446cc0dfc1 100644 --- a/types/react-dom/v15/react-dom-tests.ts +++ b/types/react-dom/v15/react-dom-tests.ts @@ -1,243 +1,243 @@ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import * as ReactDOMServer from 'react-dom/server'; -import * as ReactTestUtils from 'react-dom/test-utils'; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import * as ReactDOMServer from "react-dom/server"; +import * as ReactTestUtils from "react-dom/test-utils"; declare function describe(desc: string, f: () => void): void; declare function it(desc: string, f: () => void): void; -class TestComponent extends React.Component { } +class TestComponent extends React.Component {} -describe('ReactDOM', () => { - it('render', () => { - const rootElement = document.createElement('div'); - ReactDOM.render(React.createElement('div'), rootElement); +describe("ReactDOM", () => { + it("render", () => { + const rootElement = document.createElement("div"); + ReactDOM.render(React.createElement("div"), rootElement); }); - it('unmounts', () => { - const rootElement = document.createElement('div'); - ReactDOM.render(React.createElement('div'), rootElement); + it("unmounts", () => { + const rootElement = document.createElement("div"); + ReactDOM.render(React.createElement("div"), rootElement); ReactDOM.unmountComponentAtNode(rootElement); }); - it('find dom node', () => { - const rootElement = document.createElement('div'); - ReactDOM.render(React.createElement('div'), rootElement); + it("find dom node", () => { + const rootElement = document.createElement("div"); + ReactDOM.render(React.createElement("div"), rootElement); ReactDOM.findDOMNode(rootElement); ReactDOM.findDOMNode(null); ReactDOM.findDOMNode(undefined); }); }); -describe('ReactDOMServer', () => { - it('renderToString', () => { - const content: string = ReactDOMServer.renderToString(React.createElement('div')); +describe("ReactDOMServer", () => { + it("renderToString", () => { + const content: string = ReactDOMServer.renderToString(React.createElement("div")); }); - it('renderToStaticMarkup', () => { - const content: string = ReactDOMServer.renderToStaticMarkup(React.createElement('div')); + it("renderToStaticMarkup", () => { + const content: string = ReactDOMServer.renderToStaticMarkup(React.createElement("div")); }); }); -describe('React dom test utils', () => { - it('Simulate', () => { - const element = document.createElement('div'); +describe("React dom test utils", () => { + it("Simulate", () => { + const element = document.createElement("div"); const dom = ReactDOM.render( - React.createElement('input', { type: 'text' }), - element + React.createElement("input", { type: "text" }), + element, ) as Element; const node = ReactDOM.findDOMNode(dom) as HTMLInputElement; - node.value = 'giraffe'; + node.value = "giraffe"; ReactTestUtils.Simulate.change(node); ReactTestUtils.Simulate.keyDown(node, { key: "Enter", charCode: 13, keyCode: 13, which: 13 }); }); - it('Simulate all event types', () => { - const element = document.createElement('div'); + it("Simulate all event types", () => { + const element = document.createElement("div"); const dom = ReactDOM.render( - React.createElement('input', { type: 'text' }), - element + React.createElement("input", { type: "text" }), + element, ) as Element; const node = ReactDOM.findDOMNode(dom) as HTMLInputElement; // @see: https://github.com/facebook/react/blob/v15.7.0/packages/react-dom/src/test-utils/ReactTestUtils.js#L616-L702 const simulatedEventTypes = [ - 'blur', - 'cancel', - 'click', - 'close', - 'contextMenu', - 'copy', - 'cut', - 'auxClick', - 'doubleClick', - 'dragEnd', - 'dragStart', - 'drop', - 'focus', - 'input', - 'invalid', - 'keyDown', - 'keyPress', - 'keyUp', - 'mouseDown', - 'mouseUp', - 'paste', - 'pause', - 'play', - 'pointerCancel', - 'pointerDown', - 'pointerUp', - 'rateChange', - 'reset', - 'seeked', - 'submit', - 'touchCancel', - 'touchEnd', - 'touchStart', - 'volumeChange', - 'drag', - 'dragEnter', - 'dragExit', - 'dragLeave', - 'dragOver', - 'mouseMove', - 'mouseOut', - 'mouseOver', - 'pointerMove', - 'pointerOut', - 'pointerOver', - 'scroll', - 'toggle', - 'touchMove', - 'wheel', - 'abort', - 'animationEnd', - 'animationIteration', - 'animationStart', - 'canPlay', - 'canPlayThrough', - 'durationChange', - 'emptied', - 'encrypted', - 'ended', - 'error', - 'gotPointerCapture', - 'load', - 'loadedData', - 'loadedMetadata', - 'loadStart', - 'lostPointerCapture', - 'playing', - 'progress', - 'seeking', - 'stalled', - 'suspend', - 'timeUpdate', - 'transitionEnd', - 'waiting', - 'mouseEnter', - 'mouseLeave', - 'pointerEnter', - 'pointerLeave', - 'change', - 'select', - 'beforeInput', - 'compositionEnd', - 'compositionStart', - 'compositionUpdate', - ] as const; - - simulatedEventTypes.forEach((eventType) => { + "blur", + "cancel", + "click", + "close", + "contextMenu", + "copy", + "cut", + "auxClick", + "doubleClick", + "dragEnd", + "dragStart", + "drop", + "focus", + "input", + "invalid", + "keyDown", + "keyPress", + "keyUp", + "mouseDown", + "mouseUp", + "paste", + "pause", + "play", + "pointerCancel", + "pointerDown", + "pointerUp", + "rateChange", + "reset", + "seeked", + "submit", + "touchCancel", + "touchEnd", + "touchStart", + "volumeChange", + "drag", + "dragEnter", + "dragExit", + "dragLeave", + "dragOver", + "mouseMove", + "mouseOut", + "mouseOver", + "pointerMove", + "pointerOut", + "pointerOver", + "scroll", + "toggle", + "touchMove", + "wheel", + "abort", + "animationEnd", + "animationIteration", + "animationStart", + "canPlay", + "canPlayThrough", + "durationChange", + "emptied", + "encrypted", + "ended", + "error", + "gotPointerCapture", + "load", + "loadedData", + "loadedMetadata", + "loadStart", + "lostPointerCapture", + "playing", + "progress", + "seeking", + "stalled", + "suspend", + "timeUpdate", + "transitionEnd", + "waiting", + "mouseEnter", + "mouseLeave", + "pointerEnter", + "pointerLeave", + "change", + "select", + "beforeInput", + "compositionEnd", + "compositionStart", + "compositionUpdate", + ] as const; + + simulatedEventTypes.forEach((eventType) => { ReactTestUtils.Simulate[eventType](node); - }); + }); }); - it('renderIntoDocument', () => { - const element = React.createElement('input', { type: 'text' }); + it("renderIntoDocument", () => { + const element = React.createElement("input", { type: "text" }); ReactTestUtils.renderIntoDocument(element); }); - it('mockComponent', () => { - ReactTestUtils.mockComponent(TestComponent, 'div'); + it("mockComponent", () => { + ReactTestUtils.mockComponent(TestComponent, "div"); }); - it('isElement', () => { + it("isElement", () => { const element = React.createElement(TestComponent); const isReactElement: boolean = ReactTestUtils.isElement(element); }); - it('isElementOfType', () => { + it("isElementOfType", () => { const element = React.createElement(TestComponent); const isReactElement: boolean = ReactTestUtils.isElementOfType(element, TestComponent); }); - it('isDOMComponent', () => { - const element = React.createElement('div'); + it("isDOMComponent", () => { + const element = React.createElement("div"); const instance = ReactTestUtils.renderIntoDocument(element) as HTMLDivElement; const isDOMElement: boolean = ReactTestUtils.isDOMComponent(instance); }); - it('isCompositeComponent', () => { + it("isCompositeComponent", () => { const element = React.createElement(TestComponent); const instance: TestComponent = ReactTestUtils.renderIntoDocument(element); const isCompositeComponent: boolean = ReactTestUtils.isCompositeComponent(instance); }); - it('isCompositeComponentWithType', () => { + it("isCompositeComponentWithType", () => { const element = React.createElement(TestComponent); const instance: TestComponent = ReactTestUtils.renderIntoDocument(element); const isCompositeComponent: boolean = ReactTestUtils.isCompositeComponentWithType(instance, TestComponent); }); - it('findAllInRenderedTree', () => { + it("findAllInRenderedTree", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); ReactTestUtils.findAllInRenderedTree(component, (i: React.ReactInstance) => true); }); - it('scryRenderedDOMComponentsWithClass', () => { + it("scryRenderedDOMComponentsWithClass", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.scryRenderedDOMComponentsWithClass(component, 'class'); + ReactTestUtils.scryRenderedDOMComponentsWithClass(component, "class"); }); - it('findRenderedDOMComponentWithClass', () => { + it("findRenderedDOMComponentWithClass", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.findRenderedDOMComponentWithClass(component, 'class'); + ReactTestUtils.findRenderedDOMComponentWithClass(component, "class"); }); - it('scryRenderedDOMComponentsWithTag', () => { + it("scryRenderedDOMComponentsWithTag", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.scryRenderedDOMComponentsWithTag(component, 'div'); + ReactTestUtils.scryRenderedDOMComponentsWithTag(component, "div"); }); - it('findRenderedDOMComponentWithTag', () => { + it("findRenderedDOMComponentWithTag", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.findRenderedDOMComponentWithTag(component, 'tag'); + ReactTestUtils.findRenderedDOMComponentWithTag(component, "tag"); }); - it('scryRenderedComponentsWithType', () => { + it("scryRenderedComponentsWithType", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); ReactTestUtils.scryRenderedComponentsWithType(component, TestComponent); }); - it('findRenderedComponentWithType', () => { + it("findRenderedComponentWithType", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); ReactTestUtils.findRenderedComponentWithType(component, TestComponent); }); - describe('Shallow Rendering', () => { - it('createRenderer', () => { + describe("Shallow Rendering", () => { + it("createRenderer", () => { const component = React.createElement(TestComponent); const shallowRenderer = ReactTestUtils.createRenderer(); }); - it('shallowRenderer.render', () => { + it("shallowRenderer.render", () => { const component = React.createElement(TestComponent); const shallowRenderer = ReactTestUtils.createRenderer(); shallowRenderer.render(component); }); - it('shallowRenderer.getRenderOutput', () => { + it("shallowRenderer.getRenderOutput", () => { const component = React.createElement(TestComponent); const shallowRenderer = ReactTestUtils.createRenderer(); shallowRenderer.getRenderOutput(); diff --git a/types/react-dom/v15/server/index.d.ts b/types/react-dom/v15/server/index.d.ts index 59186f9174657e..1671c43b0afcc3 100644 --- a/types/react-dom/v15/server/index.d.ts +++ b/types/react-dom/v15/server/index.d.ts @@ -1,4 +1,4 @@ -import { ReactElement } from 'react'; +import { ReactElement } from "react"; /** * Render a React element to its initial HTML. This should only be used on the server. diff --git a/types/react-dom/v15/test-utils/index.d.ts b/types/react-dom/v15/test-utils/index.d.ts index 53848d9649e91f..97309cafeb57dc 100644 --- a/types/react-dom/v15/test-utils/index.d.ts +++ b/types/react-dom/v15/test-utils/index.d.ts @@ -1,9 +1,17 @@ import { - AbstractView, Component, ComponentClass, - ReactElement, ReactInstance, ClassType, - DOMElement, SFCElement, CElement, - ReactHTMLElement, DOMAttributes, SFC -} from 'react'; + AbstractView, + CElement, + ClassType, + Component, + ComponentClass, + DOMAttributes, + DOMElement, + ReactElement, + ReactHTMLElement, + ReactInstance, + SFC, + SFCElement, +} from "react"; import * as ReactTestUtils from "."; @@ -22,7 +30,21 @@ export interface OptionalEventProperties { type?: string | undefined; } -export type ModifierKey = "Alt" | "AltGraph" | "CapsLock" | "Control" | "Fn" | "FnLock" | "Hyper" | "Meta" | "NumLock" | "ScrollLock" | "Shift" | "Super" | "Symbol" | "SymbolLock"; +export type ModifierKey = + | "Alt" + | "AltGraph" + | "CapsLock" + | "Control" + | "Fn" + | "FnLock" + | "Hyper" + | "Meta" + | "NumLock" + | "ScrollLock" + | "Shift" + | "Super" + | "Symbol" + | "SymbolLock"; export interface SyntheticEventData extends OptionalEventProperties { altKey?: boolean | undefined; @@ -61,7 +83,7 @@ export interface SyntheticEventData extends OptionalEventProperties { export type EventSimulator = (element: Element | Component, eventData?: SyntheticEventData) => void; export interface MockedComponentClass { - new (): any; + new(): any; } export interface ShallowRenderer { @@ -171,17 +193,21 @@ export namespace Simulate { * Render a React element into a detached DOM node in the document. __This function requires a DOM__. */ export function renderIntoDocument( - element: DOMElement): T; + element: DOMElement, +): T; export function renderIntoDocument( - element: SFCElement): void; + element: SFCElement, +): void; // If we replace `P` with `any` in this overload, then some tests fail because // calls to `renderIntoDocument` choose the last overload on the // subtype-relation pass and get an undesirably broad return type. Using `P` // allows this overload to match on the subtype-relation pass. export function renderIntoDocument>( - element: CElement): T; + element: CElement, +): T; export function renderIntoDocument

    ( - element: ReactElement

    ): Component

    | Element | void; + element: ReactElement

    , +): Component

    | Element | void; /** * Pass a mocked component module to this method to augment it with useful methods that allow it to @@ -189,7 +215,9 @@ export function renderIntoDocument

    ( * a simple `

    ` (or other tag if `mockTagName` is provided) containing any provided children. */ export function mockComponent( - mocked: MockedComponentClass, mockTagName?: string): typeof ReactTestUtils; + mocked: MockedComponentClass, + mockTagName?: string, +): typeof ReactTestUtils; /** * Returns `true` if `element` is any React element. @@ -200,22 +228,30 @@ export function isElement(element: any): boolean; * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType( - element: ReactElement, type: string): element is ReactHTMLElement; + element: ReactElement, + type: string, +): element is ReactHTMLElement; /** * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType

    , T extends Element>( - element: ReactElement, type: string): element is DOMElement; + element: ReactElement, + type: string, +): element is DOMElement; /** * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType

    ( - element: ReactElement, type: SFC

    ): element is SFCElement

    ; + element: ReactElement, + type: SFC

    , +): element is SFCElement

    ; /** * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType, C extends ComponentClass

    >( - element: ReactElement, type: ClassType): element is CElement; + element: ReactElement, + type: ClassType, +): element is CElement; /** * Returns `true` if `instance` is a DOM component (such as a `

    ` or ``). @@ -229,7 +265,9 @@ export function isCompositeComponent(instance: ReactInstance): instance is Compo * Returns `true` if `instance` is a component whose type is of a React `componentClass`. */ export function isCompositeComponentWithType, C extends ComponentClass>( - instance: ReactInstance, type: ClassType): boolean; + instance: ReactInstance, + type: ClassType, +): boolean; /** * Traverse all components in `tree` and accumulate all components where @@ -238,7 +276,8 @@ export function isCompositeComponentWithType, C extends */ export function findAllInRenderedTree( root: Component, - fn: (i: ReactInstance) => boolean): ReactInstance[]; + fn: (i: ReactInstance) => boolean, +): ReactInstance[]; /** * Finds all DOM elements of components in the rendered tree that are @@ -246,7 +285,8 @@ export function findAllInRenderedTree( */ export function scryRenderedDOMComponentsWithClass( root: Component, - className: string): Element[]; + className: string, +): Element[]; /** * Like `scryRenderedDOMComponentsWithClass()` but expects there to be one result, * and returns that one result, or throws exception if there is any other @@ -254,7 +294,8 @@ export function scryRenderedDOMComponentsWithClass( */ export function findRenderedDOMComponentWithClass( root: Component, - className: string): Element; + className: string, +): Element; /** * Finds all DOM elements of components in the rendered tree that are @@ -262,7 +303,8 @@ export function findRenderedDOMComponentWithClass( */ export function scryRenderedDOMComponentsWithTag( root: Component, - tagName: string): Element[]; + tagName: string, +): Element[]; /** * Like `scryRenderedDOMComponentsWithTag()` but expects there to be one result, * and returns that one result, or throws exception if there is any other @@ -270,14 +312,16 @@ export function scryRenderedDOMComponentsWithTag( */ export function findRenderedDOMComponentWithTag( root: Component, - tagName: string): Element; + tagName: string, +): Element; /** * Finds all instances of components with type equal to `componentClass`. */ export function scryRenderedComponentsWithType( root: Component, - type: ClassType): T[]; + type: ClassType, +): T[]; /** * Same as `scryRenderedComponentsWithType()` but expects there to be one result @@ -286,7 +330,8 @@ export function scryRenderedComponentsWithType( root: Component, - type: ClassType): T; + type: ClassType, +): T; /** * Call this in your tests to create a shallow renderer. diff --git a/types/react-dom/v16/index.d.ts b/types/react-dom/v16/index.d.ts index 0241238190bde1..44235b2c6e101a 100644 --- a/types/react-dom/v16/index.d.ts +++ b/types/react-dom/v16/index.d.ts @@ -17,15 +17,26 @@ export as namespace ReactDOM; import { - ReactInstance, Component, ComponentState, - ReactElement, SFCElement, CElement, - DOMAttributes, DOMElement, ReactNode, ReactPortal -} from 'react'; + CElement, + Component, + ComponentState, + DOMAttributes, + DOMElement, + ReactElement, + ReactInstance, + ReactNode, + ReactPortal, + SFCElement, +} from "react"; export function findDOMNode(instance: ReactInstance | null | undefined): Element | null | Text; export function unmountComponentAtNode(container: Element | DocumentFragment): boolean; -export function createPortal(children: ReactNode, container: Element | DocumentFragment, key?: null | string): ReactPortal; +export function createPortal( + children: ReactNode, + container: Element | DocumentFragment, + key?: null | string, +): ReactPortal; export const version: string; export const render: Renderer; @@ -41,17 +52,20 @@ export function unstable_renderSubtreeIntoContainer( parentComponent: Component, element: DOMElement, T>, container: Element, - callback?: (element: T) => any): T; + callback?: (element: T) => any, +): T; export function unstable_renderSubtreeIntoContainer>( parentComponent: Component, element: CElement, container: Element, - callback?: (component: T) => any): T; + callback?: (component: T) => any, +): T; export function unstable_renderSubtreeIntoContainer

    ( parentComponent: Component, element: ReactElement

    , container: Element, - callback?: (component?: Component | Element) => any): Component | Element | void; + callback?: (component?: Component | Element) => any, +): Component | Element | void; export type Container = Element | Document | DocumentFragment; @@ -62,42 +76,42 @@ export interface Renderer { ( element: DOMElement, T>, container: Container | null, - callback?: () => void + callback?: () => void, ): T; ( element: Array, any>>, - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): Element; ( element: SFCElement | Array>, - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): void; >( element: CElement, - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): T; ( element: Array>>, - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): Component;

    ( element: ReactElement

    , - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): Component | Element | void; ( element: ReactElement[], - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): Component | Element | void; } diff --git a/types/react-dom/v16/server/index.d.ts b/types/react-dom/v16/server/index.d.ts index 97747165a8f381..8afd31269e3071 100644 --- a/types/react-dom/v16/server/index.d.ts +++ b/types/react-dom/v16/server/index.d.ts @@ -6,7 +6,7 @@ declare global { } } -import { ReactElement } from 'react'; +import { ReactElement } from "react"; /** * Render a React element to its initial HTML. This should only be used on the server. diff --git a/types/react-dom/v16/test-utils/index.d.ts b/types/react-dom/v16/test-utils/index.d.ts index f1d52467b306b4..696e64c2b9e9bb 100644 --- a/types/react-dom/v16/test-utils/index.d.ts +++ b/types/react-dom/v16/test-utils/index.d.ts @@ -1,9 +1,17 @@ import { - AbstractView, Component, ComponentClass, - ReactElement, ReactInstance, ClassType, - DOMElement, SFCElement, CElement, - ReactHTMLElement, DOMAttributes, SFC -} from 'react'; + AbstractView, + CElement, + ClassType, + Component, + ComponentClass, + DOMAttributes, + DOMElement, + ReactElement, + ReactHTMLElement, + ReactInstance, + SFC, + SFCElement, +} from "react"; import * as ReactTestUtils from "."; @@ -23,7 +31,21 @@ export interface OptionalEventProperties { type?: string | undefined; } -export type ModifierKey = "Alt" | "AltGraph" | "CapsLock" | "Control" | "Fn" | "FnLock" | "Hyper" | "Meta" | "NumLock" | "ScrollLock" | "Shift" | "Super" | "Symbol" | "SymbolLock"; +export type ModifierKey = + | "Alt" + | "AltGraph" + | "CapsLock" + | "Control" + | "Fn" + | "FnLock" + | "Hyper" + | "Meta" + | "NumLock" + | "ScrollLock" + | "Shift" + | "Super" + | "Symbol" + | "SymbolLock"; export interface SyntheticEventData extends OptionalEventProperties { altKey?: boolean | undefined; @@ -62,7 +84,7 @@ export interface SyntheticEventData extends OptionalEventProperties { export type EventSimulator = (element: Element | Component, eventData?: SyntheticEventData) => void; export interface MockedComponentClass { - new (props: any): any; + new(props: any): any; } export interface ShallowRenderer { @@ -81,7 +103,7 @@ export interface ShallowRenderer { * Simulate an event dispatch on a DOM node with optional `eventData` event data. * `Simulate` has a method for every event that React understands. */ - export namespace Simulate { +export namespace Simulate { const abort: EventSimulator; const animationEnd: EventSimulator; const animationIteration: EventSimulator; @@ -172,17 +194,21 @@ export interface ShallowRenderer { * Render a React element into a detached DOM node in the document. __This function requires a DOM__. */ export function renderIntoDocument( - element: DOMElement): T; + element: DOMElement, +): T; export function renderIntoDocument( - element: SFCElement): void; + element: SFCElement, +): void; // If we replace `P` with `any` in this overload, then some tests fail because // calls to `renderIntoDocument` choose the last overload on the // subtype-relation pass and get an undesirably broad return type. Using `P` // allows this overload to match on the subtype-relation pass. export function renderIntoDocument>( - element: CElement): T; + element: CElement, +): T; export function renderIntoDocument

    ( - element: ReactElement

    ): Component

    | Element | void; + element: ReactElement

    , +): Component

    | Element | void; /** * Pass a mocked component module to this method to augment it with useful methods that allow it to @@ -190,7 +216,9 @@ export function renderIntoDocument

    ( * a simple `

    ` (or other tag if `mockTagName` is provided) containing any provided children. */ export function mockComponent( - mocked: MockedComponentClass, mockTagName?: string): typeof ReactTestUtils; + mocked: MockedComponentClass, + mockTagName?: string, +): typeof ReactTestUtils; /** * Returns `true` if `element` is any React element. @@ -201,22 +229,30 @@ export function isElement(element: any): boolean; * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType( - element: ReactElement, type: string): element is ReactHTMLElement; + element: ReactElement, + type: string, +): element is ReactHTMLElement; /** * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType

    , T extends Element>( - element: ReactElement, type: string): element is DOMElement; + element: ReactElement, + type: string, +): element is DOMElement; /** * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType

    ( - element: ReactElement, type: SFC

    ): element is SFCElement

    ; + element: ReactElement, + type: SFC

    , +): element is SFCElement

    ; /** * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType, C extends ComponentClass

    >( - element: ReactElement, type: ClassType): element is CElement; + element: ReactElement, + type: ClassType, +): element is CElement; /** * Returns `true` if `instance` is a DOM component (such as a `

    ` or ``). @@ -230,7 +266,9 @@ export function isCompositeComponent(instance: ReactInstance): instance is Compo * Returns `true` if `instance` is a component whose type is of a React `componentClass`. */ export function isCompositeComponentWithType, C extends ComponentClass>( - instance: ReactInstance, type: ClassType): boolean; + instance: ReactInstance, + type: ClassType, +): boolean; /** * Traverse all components in `tree` and accumulate all components where @@ -239,7 +277,8 @@ export function isCompositeComponentWithType, C extends */ export function findAllInRenderedTree( root: Component, - fn: (i: ReactInstance) => boolean): ReactInstance[]; + fn: (i: ReactInstance) => boolean, +): ReactInstance[]; /** * Finds all DOM elements of components in the rendered tree that are @@ -247,7 +286,8 @@ export function findAllInRenderedTree( */ export function scryRenderedDOMComponentsWithClass( root: Component, - className: string): Element[]; + className: string, +): Element[]; /** * Like `scryRenderedDOMComponentsWithClass()` but expects there to be one result, * and returns that one result, or throws exception if there is any other @@ -255,7 +295,8 @@ export function scryRenderedDOMComponentsWithClass( */ export function findRenderedDOMComponentWithClass( root: Component, - className: string): Element; + className: string, +): Element; /** * Finds all DOM elements of components in the rendered tree that are @@ -263,7 +304,8 @@ export function findRenderedDOMComponentWithClass( */ export function scryRenderedDOMComponentsWithTag( root: Component, - tagName: string): Element[]; + tagName: string, +): Element[]; /** * Like `scryRenderedDOMComponentsWithTag()` but expects there to be one result, * and returns that one result, or throws exception if there is any other @@ -271,14 +313,16 @@ export function scryRenderedDOMComponentsWithTag( */ export function findRenderedDOMComponentWithTag( root: Component, - tagName: string): Element; + tagName: string, +): Element; /** * Finds all instances of components with type equal to `componentClass`. */ export function scryRenderedComponentsWithType, C extends ComponentClass>( root: Component, - type: ClassType): T[]; + type: ClassType, +): T[]; /** * Same as `scryRenderedComponentsWithType()` but expects there to be one result @@ -287,7 +331,8 @@ export function scryRenderedComponentsWithType, C exten */ export function findRenderedComponentWithType, C extends ComponentClass>( root: Component, - type: ClassType): T; + type: ClassType, +): T; /** * Call this in your tests to create a shallow renderer. diff --git a/types/react-dom/v16/test/react-dom-tests.tsx b/types/react-dom/v16/test/react-dom-tests.tsx index b160b903ee499f..f680fc573a7741 100644 --- a/types/react-dom/v16/test/react-dom-tests.tsx +++ b/types/react-dom/v16/test/react-dom-tests.tsx @@ -1,51 +1,51 @@ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import * as ReactDOMServer from 'react-dom/server'; -import * as ReactTestUtils from 'react-dom/test-utils'; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import * as ReactDOMServer from "react-dom/server"; +import * as ReactTestUtils from "react-dom/test-utils"; declare function describe(desc: string, f: () => void): void; declare function it(desc: string, f: () => void): void; -class TestComponent extends React.Component<{x: string}> { } +class TestComponent extends React.Component<{ x: string }> {} -describe('ReactDOM', () => { - it('render', () => { - const rootElement = document.createElement('div'); - ReactDOM.render(React.createElement('div'), rootElement); - ReactDOM.render(React.createElement('div'), document.createDocumentFragment()); - ReactDOM.render(React.createElement('div'), document); +describe("ReactDOM", () => { + it("render", () => { + const rootElement = document.createElement("div"); + ReactDOM.render(React.createElement("div"), rootElement); + ReactDOM.render(React.createElement("div"), document.createDocumentFragment()); + ReactDOM.render(React.createElement("div"), document); }); - it('hydrate', () => { - const rootElement = document.createElement('div'); - ReactDOM.hydrate(React.createElement('div'), rootElement); - ReactDOM.hydrate(React.createElement('div'), document.createDocumentFragment()); - ReactDOM.hydrate(React.createElement('div'), document); + it("hydrate", () => { + const rootElement = document.createElement("div"); + ReactDOM.hydrate(React.createElement("div"), rootElement); + ReactDOM.hydrate(React.createElement("div"), document.createDocumentFragment()); + ReactDOM.hydrate(React.createElement("div"), document); }); - it('unmounts', () => { - const rootElement = document.createElement('div'); - ReactDOM.render(React.createElement('div'), rootElement); + it("unmounts", () => { + const rootElement = document.createElement("div"); + ReactDOM.render(React.createElement("div"), rootElement); ReactDOM.unmountComponentAtNode(rootElement); }); - it('works with document fragments', () => { + it("works with document fragments", () => { const fragment = document.createDocumentFragment(); - ReactDOM.render(React.createElement('div'), fragment); + ReactDOM.render(React.createElement("div"), fragment); ReactDOM.unmountComponentAtNode(fragment); }); - it('find dom node', () => { - const rootElement = document.createElement('div'); - ReactDOM.render(React.createElement('div'), rootElement); + it("find dom node", () => { + const rootElement = document.createElement("div"); + ReactDOM.render(React.createElement("div"), rootElement); ReactDOM.findDOMNode(rootElement); ReactDOM.findDOMNode(null); ReactDOM.findDOMNode(undefined); }); - it('createPortal', () => { - const rootElement = document.createElement('div'); - const portalTarget = document.createElement('div'); + it("createPortal", () => { + const rootElement = document.createElement("div"); + const portalTarget = document.createElement("div"); class ClassComponent extends React.Component { render() { @@ -53,266 +53,266 @@ describe('ReactDOM', () => { } } - ReactDOM.createPortal(
    , document.createElement('div')); - ReactDOM.createPortal(
    , document.createElement('div'), null); - ReactDOM.createPortal(
    , document.createElement('div'), 'key'); + ReactDOM.createPortal(
    , document.createElement("div")); + ReactDOM.createPortal(
    , document.createElement("div"), null); + ReactDOM.createPortal(
    , document.createElement("div"), "key"); - ReactDOM.createPortal(React.createElement('div'), document.createElement('div')); - ReactDOM.createPortal(React.createElement('div'), document.createElement('div'), null); - ReactDOM.createPortal(React.createElement('div'), document.createElement('div'), 'key'); - ReactDOM.createPortal(React.createElement('div'), document.createDocumentFragment()); + ReactDOM.createPortal(React.createElement("div"), document.createElement("div")); + ReactDOM.createPortal(React.createElement("div"), document.createElement("div"), null); + ReactDOM.createPortal(React.createElement("div"), document.createElement("div"), "key"); + ReactDOM.createPortal(React.createElement("div"), document.createDocumentFragment()); ReactDOM.render(, rootElement); }); }); -describe('ReactDOMServer', () => { - it('renderToString', () => { - const content: string = ReactDOMServer.renderToString(React.createElement('div')); +describe("ReactDOMServer", () => { + it("renderToString", () => { + const content: string = ReactDOMServer.renderToString(React.createElement("div")); }); - it('renderToStaticMarkup', () => { - const content: string = ReactDOMServer.renderToStaticMarkup(React.createElement('div')); + it("renderToStaticMarkup", () => { + const content: string = ReactDOMServer.renderToStaticMarkup(React.createElement("div")); }); - it('renderToStream', () => { - const content: any = ReactDOMServer.renderToNodeStream(React.createElement('div')); + it("renderToStream", () => { + const content: any = ReactDOMServer.renderToNodeStream(React.createElement("div")); }); - it('renderToStaticStream', () => { - const content: any = ReactDOMServer.renderToStaticNodeStream(React.createElement('div')); + it("renderToStaticStream", () => { + const content: any = ReactDOMServer.renderToStaticNodeStream(React.createElement("div")); }); }); -describe('React dom test utils', () => { - it('Simulate', () => { - const element = document.createElement('div'); +describe("React dom test utils", () => { + it("Simulate", () => { + const element = document.createElement("div"); const dom = ReactDOM.render( - React.createElement('input', { type: 'text' }), - element + React.createElement("input", { type: "text" }), + element, ) as Element; const node = ReactDOM.findDOMNode(dom) as HTMLInputElement; - node.value = 'giraffe'; + node.value = "giraffe"; ReactTestUtils.Simulate.change(node); ReactTestUtils.Simulate.keyDown(node, { key: "Enter", keyCode: 13, which: 13 }); }); - it('Simulate all event types', () => { - const element = document.createElement('div'); + it("Simulate all event types", () => { + const element = document.createElement("div"); const dom = ReactDOM.render( - React.createElement('input', { type: 'text' }), - element + React.createElement("input", { type: "text" }), + element, ) as Element; const node = ReactDOM.findDOMNode(dom) as HTMLInputElement; // @see: https://github.com/facebook/react/blob/v16.14.0/packages/react-dom/src/test-utils/ReactTestUtils.js#L616-L702 const simulatedEventTypes = [ - 'blur', - 'cancel', - 'click', - 'close', - 'contextMenu', - 'copy', - 'cut', - 'auxClick', - 'doubleClick', - 'dragEnd', - 'dragStart', - 'drop', - 'focus', - 'input', - 'invalid', - 'keyDown', - 'keyPress', - 'keyUp', - 'mouseDown', - 'mouseUp', - 'paste', - 'pause', - 'play', - 'pointerCancel', - 'pointerDown', - 'pointerUp', - 'rateChange', - 'reset', - 'seeked', - 'submit', - 'touchCancel', - 'touchEnd', - 'touchStart', - 'volumeChange', - 'drag', - 'dragEnter', - 'dragExit', - 'dragLeave', - 'dragOver', - 'mouseMove', - 'mouseOut', - 'mouseOver', - 'pointerMove', - 'pointerOut', - 'pointerOver', - 'scroll', - 'toggle', - 'touchMove', - 'wheel', - 'abort', - 'animationEnd', - 'animationIteration', - 'animationStart', - 'canPlay', - 'canPlayThrough', - 'durationChange', - 'emptied', - 'encrypted', - 'ended', - 'error', - 'gotPointerCapture', - 'load', - 'loadedData', - 'loadedMetadata', - 'loadStart', - 'lostPointerCapture', - 'playing', - 'progress', - 'seeking', - 'stalled', - 'suspend', - 'timeUpdate', - 'transitionEnd', - 'waiting', - 'mouseEnter', - 'mouseLeave', - 'pointerEnter', - 'pointerLeave', - 'change', - 'select', - 'beforeInput', - 'compositionEnd', - 'compositionStart', - 'compositionUpdate', - ] as const; - - simulatedEventTypes.forEach((eventType) => { + "blur", + "cancel", + "click", + "close", + "contextMenu", + "copy", + "cut", + "auxClick", + "doubleClick", + "dragEnd", + "dragStart", + "drop", + "focus", + "input", + "invalid", + "keyDown", + "keyPress", + "keyUp", + "mouseDown", + "mouseUp", + "paste", + "pause", + "play", + "pointerCancel", + "pointerDown", + "pointerUp", + "rateChange", + "reset", + "seeked", + "submit", + "touchCancel", + "touchEnd", + "touchStart", + "volumeChange", + "drag", + "dragEnter", + "dragExit", + "dragLeave", + "dragOver", + "mouseMove", + "mouseOut", + "mouseOver", + "pointerMove", + "pointerOut", + "pointerOver", + "scroll", + "toggle", + "touchMove", + "wheel", + "abort", + "animationEnd", + "animationIteration", + "animationStart", + "canPlay", + "canPlayThrough", + "durationChange", + "emptied", + "encrypted", + "ended", + "error", + "gotPointerCapture", + "load", + "loadedData", + "loadedMetadata", + "loadStart", + "lostPointerCapture", + "playing", + "progress", + "seeking", + "stalled", + "suspend", + "timeUpdate", + "transitionEnd", + "waiting", + "mouseEnter", + "mouseLeave", + "pointerEnter", + "pointerLeave", + "change", + "select", + "beforeInput", + "compositionEnd", + "compositionStart", + "compositionUpdate", + ] as const; + + simulatedEventTypes.forEach((eventType) => { ReactTestUtils.Simulate[eventType](node); - }); + }); }); - it('renderIntoDocument', () => { - const element = React.createElement('input', { type: 'text' }); + it("renderIntoDocument", () => { + const element = React.createElement("input", { type: "text" }); ReactTestUtils.renderIntoDocument(element); }); - it('mockComponent', () => { - ReactTestUtils.mockComponent(TestComponent, 'div'); + it("mockComponent", () => { + ReactTestUtils.mockComponent(TestComponent, "div"); }); - it('isElement', () => { + it("isElement", () => { const element = React.createElement(TestComponent); const isReactElement: boolean = ReactTestUtils.isElement(element); }); - it('isElementOfType', () => { + it("isElementOfType", () => { const element = React.createElement(TestComponent); const isReactElement: boolean = ReactTestUtils.isElementOfType(element, TestComponent); }); - it('isDOMComponent', () => { - const element = React.createElement('div'); + it("isDOMComponent", () => { + const element = React.createElement("div"); const instance = ReactTestUtils.renderIntoDocument(element) as HTMLDivElement; const isDOMElement: boolean = ReactTestUtils.isDOMComponent(instance); }); - it('isCompositeComponent', () => { + it("isCompositeComponent", () => { const element = React.createElement(TestComponent); const instance: TestComponent = ReactTestUtils.renderIntoDocument(element); const isCompositeComponent: boolean = ReactTestUtils.isCompositeComponent(instance); }); - it('isCompositeComponentWithType', () => { + it("isCompositeComponentWithType", () => { const element = React.createElement(TestComponent); const instance: TestComponent = ReactTestUtils.renderIntoDocument(element); const isCompositeComponent: boolean = ReactTestUtils.isCompositeComponentWithType(instance, TestComponent); }); - it('findAllInRenderedTree', () => { + it("findAllInRenderedTree", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); ReactTestUtils.findAllInRenderedTree(component, (i: React.ReactInstance) => true); }); - it('scryRenderedDOMComponentsWithClass', () => { + it("scryRenderedDOMComponentsWithClass", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.scryRenderedDOMComponentsWithClass(component, 'class'); + ReactTestUtils.scryRenderedDOMComponentsWithClass(component, "class"); }); - it('findRenderedDOMComponentWithClass', () => { + it("findRenderedDOMComponentWithClass", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.findRenderedDOMComponentWithClass(component, 'class'); + ReactTestUtils.findRenderedDOMComponentWithClass(component, "class"); }); - it('scryRenderedDOMComponentsWithTag', () => { + it("scryRenderedDOMComponentsWithTag", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.scryRenderedDOMComponentsWithTag(component, 'div'); + ReactTestUtils.scryRenderedDOMComponentsWithTag(component, "div"); }); - it('findRenderedDOMComponentWithTag', () => { + it("findRenderedDOMComponentWithTag", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.findRenderedDOMComponentWithTag(component, 'tag'); + ReactTestUtils.findRenderedDOMComponentWithTag(component, "tag"); }); - it('scryRenderedComponentsWithType', () => { + it("scryRenderedComponentsWithType", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); ReactTestUtils.scryRenderedComponentsWithType(component, TestComponent); }); - it('findRenderedComponentWithType', () => { + it("findRenderedComponentWithType", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); ReactTestUtils.findRenderedComponentWithType(component, TestComponent); }); - describe('Shallow Rendering', () => { - it('createRenderer', () => { + describe("Shallow Rendering", () => { + it("createRenderer", () => { const component = React.createElement(TestComponent); const shallowRenderer = ReactTestUtils.createRenderer(); }); - it('shallowRenderer.render', () => { + it("shallowRenderer.render", () => { const component = React.createElement(TestComponent); const shallowRenderer = ReactTestUtils.createRenderer(); shallowRenderer.render(component); }); - it('shallowRenderer.getRenderOutput', () => { + it("shallowRenderer.getRenderOutput", () => { const component = React.createElement(TestComponent); const shallowRenderer = ReactTestUtils.createRenderer(); shallowRenderer.getRenderOutput(); }); }); - describe('act', () => { - describe('with sync callback', () => { - it('accepts a callback that is void', () => { + describe("act", () => { + describe("with sync callback", () => { + it("accepts a callback that is void", () => { ReactTestUtils.act(() => {}); }); - it('rejects a callback that returns null', () => { + it("rejects a callback that returns null", () => { // @ts-expect-error ReactTestUtils.act(() => null); }); - it('returns a type that is not Promise-like', () => { + it("returns a type that is not Promise-like", () => { // tslint:disable-next-line no-void-expression const result = ReactTestUtils.act(() => {}); // @ts-expect-error result.then((x) => {}); }); }); - describe('with async callback', () => { - it('accepts a callback that is void', async () => { + describe("with async callback", () => { + it("accepts a callback that is void", async () => { await ReactTestUtils.act(async () => {}); }); - it('rejects a callback that returns a value', async () => { + it("rejects a callback that returns a value", async () => { // @ts-expect-error await ReactTestUtils.act(async () => null); }); - it('returns a Promise-like', () => { + it("returns a Promise-like", () => { const result = ReactTestUtils.act(async () => {}); result.then((x) => {}); }); diff --git a/types/react-dom/v17/index.d.ts b/types/react-dom/v17/index.d.ts index c57de573866c76..bf53d07600ec3d 100644 --- a/types/react-dom/v17/index.d.ts +++ b/types/react-dom/v17/index.d.ts @@ -13,15 +13,26 @@ export as namespace ReactDOM; import { - ReactInstance, Component, ComponentState, - ReactElement, FunctionComponentElement, CElement, - DOMAttributes, DOMElement, ReactNode, ReactPortal -} from 'react'; + CElement, + Component, + ComponentState, + DOMAttributes, + DOMElement, + FunctionComponentElement, + ReactElement, + ReactInstance, + ReactNode, + ReactPortal, +} from "react"; export function findDOMNode(instance: ReactInstance | null | undefined): Element | null | Text; export function unmountComponentAtNode(container: Element | DocumentFragment): boolean; -export function createPortal(children: ReactNode, container: Element | DocumentFragment, key?: null | string): ReactPortal; +export function createPortal( + children: ReactNode, + container: Element | DocumentFragment, + key?: null | string, +): ReactPortal; export const version: string; export const render: Renderer; @@ -37,17 +48,20 @@ export function unstable_renderSubtreeIntoContainer( parentComponent: Component, element: DOMElement, T>, container: Element, - callback?: (element: T) => any): T; + callback?: (element: T) => any, +): T; export function unstable_renderSubtreeIntoContainer>( parentComponent: Component, element: CElement, container: Element, - callback?: (component: T) => any): T; + callback?: (component: T) => any, +): T; export function unstable_renderSubtreeIntoContainer

    ( parentComponent: Component, element: ReactElement

    , container: Element, - callback?: (component?: Component | Element) => any): Component | Element | void; + callback?: (component?: Component | Element) => any, +): Component | Element | void; export type Container = Element | Document | DocumentFragment; @@ -57,43 +71,43 @@ export interface Renderer { ( element: DOMElement, T>, - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): T; ( element: Array, any>>, - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): Element; ( element: FunctionComponentElement | Array>, - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): void; >( element: CElement, - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): T; ( element: Array>>, - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): Component;

    ( element: ReactElement

    , - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): Component | Element | void; ( element: ReactElement[], - container: Container| null, - callback?: () => void + container: Container | null, + callback?: () => void, ): Component | Element | void; } diff --git a/types/react-dom/v17/server.d.ts b/types/react-dom/v17/server.d.ts index 97747165a8f381..8afd31269e3071 100644 --- a/types/react-dom/v17/server.d.ts +++ b/types/react-dom/v17/server.d.ts @@ -6,7 +6,7 @@ declare global { } } -import { ReactElement } from 'react'; +import { ReactElement } from "react"; /** * Render a React element to its initial HTML. This should only be used on the server. diff --git a/types/react-dom/v17/test-utils/index.d.ts b/types/react-dom/v17/test-utils/index.d.ts index 06805893047b56..86f507464fd3c8 100644 --- a/types/react-dom/v17/test-utils/index.d.ts +++ b/types/react-dom/v17/test-utils/index.d.ts @@ -1,9 +1,17 @@ import { - AbstractView, Component, ComponentClass, - ReactElement, ReactInstance, ClassType, - DOMElement, FunctionComponentElement, CElement, - ReactHTMLElement, DOMAttributes, FC -} from 'react'; + AbstractView, + CElement, + ClassType, + Component, + ComponentClass, + DOMAttributes, + DOMElement, + FC, + FunctionComponentElement, + ReactElement, + ReactHTMLElement, + ReactInstance, +} from "react"; import * as ReactTestUtils from "."; @@ -24,7 +32,21 @@ export interface OptionalEventProperties { type?: string | undefined; } -export type ModifierKey = "Alt" | "AltGraph" | "CapsLock" | "Control" | "Fn" | "FnLock" | "Hyper" | "Meta" | "NumLock" | "ScrollLock" | "Shift" | "Super" | "Symbol" | "SymbolLock"; +export type ModifierKey = + | "Alt" + | "AltGraph" + | "CapsLock" + | "Control" + | "Fn" + | "FnLock" + | "Hyper" + | "Meta" + | "NumLock" + | "ScrollLock" + | "Shift" + | "Super" + | "Symbol" + | "SymbolLock"; export interface SyntheticEventData extends OptionalEventProperties { altKey?: boolean | undefined; @@ -63,7 +85,7 @@ export interface SyntheticEventData extends OptionalEventProperties { export type EventSimulator = (element: Element | Component, eventData?: SyntheticEventData) => void; export interface MockedComponentClass { - new (props: any): any; + new(props: any): any; } export interface ShallowRenderer { @@ -82,7 +104,7 @@ export interface ShallowRenderer { * Simulate an event dispatch on a DOM node with optional `eventData` event data. * `Simulate` has a method for every event that React understands. */ - export namespace Simulate { +export namespace Simulate { const abort: EventSimulator; const animationEnd: EventSimulator; const animationIteration: EventSimulator; @@ -173,17 +195,21 @@ export interface ShallowRenderer { * Render a React element into a detached DOM node in the document. __This function requires a DOM__. */ export function renderIntoDocument( - element: DOMElement): T; + element: DOMElement, +): T; export function renderIntoDocument( - element: FunctionComponentElement): void; + element: FunctionComponentElement, +): void; // If we replace `P` with `any` in this overload, then some tests fail because // calls to `renderIntoDocument` choose the last overload on the // subtype-relation pass and get an undesirably broad return type. Using `P` // allows this overload to match on the subtype-relation pass. export function renderIntoDocument>( - element: CElement): T; + element: CElement, +): T; export function renderIntoDocument

    ( - element: ReactElement

    ): Component

    | Element | void; + element: ReactElement

    , +): Component

    | Element | void; /** * Pass a mocked component module to this method to augment it with useful methods that allow it to @@ -191,7 +217,9 @@ export function renderIntoDocument

    ( * a simple `

    ` (or other tag if `mockTagName` is provided) containing any provided children. */ export function mockComponent( - mocked: MockedComponentClass, mockTagName?: string): typeof ReactTestUtils; + mocked: MockedComponentClass, + mockTagName?: string, +): typeof ReactTestUtils; /** * Returns `true` if `element` is any React element. @@ -202,22 +230,30 @@ export function isElement(element: any): boolean; * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType( - element: ReactElement, type: string): element is ReactHTMLElement; + element: ReactElement, + type: string, +): element is ReactHTMLElement; /** * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType

    , T extends Element>( - element: ReactElement, type: string): element is DOMElement; + element: ReactElement, + type: string, +): element is DOMElement; /** * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType

    ( - element: ReactElement, type: FC

    ): element is FunctionComponentElement

    ; + element: ReactElement, + type: FC

    , +): element is FunctionComponentElement

    ; /** * Returns `true` if `element` is a React element whose type is of a React `componentClass`. */ export function isElementOfType, C extends ComponentClass

    >( - element: ReactElement, type: ClassType): element is CElement; + element: ReactElement, + type: ClassType, +): element is CElement; /** * Returns `true` if `instance` is a DOM component (such as a `

    ` or ``). @@ -231,7 +267,9 @@ export function isCompositeComponent(instance: ReactInstance): instance is Compo * Returns `true` if `instance` is a component whose type is of a React `componentClass`. */ export function isCompositeComponentWithType, C extends ComponentClass>( - instance: ReactInstance, type: ClassType): boolean; + instance: ReactInstance, + type: ClassType, +): boolean; /** * Traverse all components in `tree` and accumulate all components where @@ -240,7 +278,8 @@ export function isCompositeComponentWithType, C extends */ export function findAllInRenderedTree( root: Component, - fn: (i: ReactInstance) => boolean): ReactInstance[]; + fn: (i: ReactInstance) => boolean, +): ReactInstance[]; /** * Finds all DOM elements of components in the rendered tree that are @@ -248,7 +287,8 @@ export function findAllInRenderedTree( */ export function scryRenderedDOMComponentsWithClass( root: Component, - className: string): Element[]; + className: string, +): Element[]; /** * Like `scryRenderedDOMComponentsWithClass()` but expects there to be one result, * and returns that one result, or throws exception if there is any other @@ -256,7 +296,8 @@ export function scryRenderedDOMComponentsWithClass( */ export function findRenderedDOMComponentWithClass( root: Component, - className: string): Element; + className: string, +): Element; /** * Finds all DOM elements of components in the rendered tree that are @@ -264,7 +305,8 @@ export function findRenderedDOMComponentWithClass( */ export function scryRenderedDOMComponentsWithTag( root: Component, - tagName: string): Element[]; + tagName: string, +): Element[]; /** * Like `scryRenderedDOMComponentsWithTag()` but expects there to be one result, * and returns that one result, or throws exception if there is any other @@ -272,14 +314,16 @@ export function scryRenderedDOMComponentsWithTag( */ export function findRenderedDOMComponentWithTag( root: Component, - tagName: string): Element; + tagName: string, +): Element; /** * Finds all instances of components with type equal to `componentClass`. */ export function scryRenderedComponentsWithType, C extends ComponentClass>( root: Component, - type: ClassType): T[]; + type: ClassType, +): T[]; /** * Same as `scryRenderedComponentsWithType()` but expects there to be one result @@ -288,7 +332,8 @@ export function scryRenderedComponentsWithType, C exten */ export function findRenderedComponentWithType, C extends ComponentClass>( root: Component, - type: ClassType): T; + type: ClassType, +): T; /** * Call this in your tests to create a shallow renderer. diff --git a/types/react-dom/v17/test/react-dom-tests.tsx b/types/react-dom/v17/test/react-dom-tests.tsx index 10bff76e69ae10..e1f104d93bb7dc 100644 --- a/types/react-dom/v17/test/react-dom-tests.tsx +++ b/types/react-dom/v17/test/react-dom-tests.tsx @@ -1,51 +1,51 @@ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import * as ReactDOMServer from 'react-dom/server'; -import * as ReactTestUtils from 'react-dom/test-utils'; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import * as ReactDOMServer from "react-dom/server"; +import * as ReactTestUtils from "react-dom/test-utils"; declare function describe(desc: string, f: () => void): void; declare function it(desc: string, f: () => void): void; -class TestComponent extends React.Component<{x: string}> { } +class TestComponent extends React.Component<{ x: string }> {} -describe('ReactDOM', () => { - it('render', () => { - const rootElement = document.createElement('div'); - ReactDOM.render(React.createElement('div'), rootElement); - ReactDOM.render(React.createElement('div'), document.createDocumentFragment()); - ReactDOM.render(React.createElement('div'), document); +describe("ReactDOM", () => { + it("render", () => { + const rootElement = document.createElement("div"); + ReactDOM.render(React.createElement("div"), rootElement); + ReactDOM.render(React.createElement("div"), document.createDocumentFragment()); + ReactDOM.render(React.createElement("div"), document); }); - it('hydrate', () => { - const rootElement = document.createElement('div'); - ReactDOM.hydrate(React.createElement('div'), rootElement); - ReactDOM.hydrate(React.createElement('div'), document.createDocumentFragment()); - ReactDOM.hydrate(React.createElement('div'), document); + it("hydrate", () => { + const rootElement = document.createElement("div"); + ReactDOM.hydrate(React.createElement("div"), rootElement); + ReactDOM.hydrate(React.createElement("div"), document.createDocumentFragment()); + ReactDOM.hydrate(React.createElement("div"), document); }); - it('unmounts', () => { - const rootElement = document.createElement('div'); - ReactDOM.render(React.createElement('div'), rootElement); + it("unmounts", () => { + const rootElement = document.createElement("div"); + ReactDOM.render(React.createElement("div"), rootElement); ReactDOM.unmountComponentAtNode(rootElement); }); - it('works with document fragments', () => { + it("works with document fragments", () => { const fragment = document.createDocumentFragment(); - ReactDOM.render(React.createElement('div'), fragment); + ReactDOM.render(React.createElement("div"), fragment); ReactDOM.unmountComponentAtNode(fragment); }); - it('find dom node', () => { - const rootElement = document.createElement('div'); - ReactDOM.render(React.createElement('div'), rootElement); + it("find dom node", () => { + const rootElement = document.createElement("div"); + ReactDOM.render(React.createElement("div"), rootElement); ReactDOM.findDOMNode(rootElement); ReactDOM.findDOMNode(null); ReactDOM.findDOMNode(undefined); }); - it('createPortal', () => { - const rootElement = document.createElement('div'); - const portalTarget = document.createElement('div'); + it("createPortal", () => { + const rootElement = document.createElement("div"); + const portalTarget = document.createElement("div"); class ClassComponent extends React.Component { render() { @@ -53,27 +53,27 @@ describe('ReactDOM', () => { } } - ReactDOM.createPortal(
    , document.createElement('div')); - ReactDOM.createPortal(
    , document.createElement('div'), null); - ReactDOM.createPortal(
    , document.createElement('div'), 'key'); + ReactDOM.createPortal(
    , document.createElement("div")); + ReactDOM.createPortal(
    , document.createElement("div"), null); + ReactDOM.createPortal(
    , document.createElement("div"), "key"); - ReactDOM.createPortal(React.createElement('div'), document.createElement('div')); - ReactDOM.createPortal(React.createElement('div'), document.createElement('div'), null); - ReactDOM.createPortal(React.createElement('div'), document.createElement('div'), 'key'); - ReactDOM.createPortal(React.createElement('div'), document.createDocumentFragment()); + ReactDOM.createPortal(React.createElement("div"), document.createElement("div")); + ReactDOM.createPortal(React.createElement("div"), document.createElement("div"), null); + ReactDOM.createPortal(React.createElement("div"), document.createElement("div"), "key"); + ReactDOM.createPortal(React.createElement("div"), document.createDocumentFragment()); ReactDOM.render(, rootElement); }); - it('flushSync', () => { + it("flushSync", () => { // $ExpectType void ReactDOM.flushSync(() => {}); // $ExpectType number ReactDOM.flushSync(() => 42); // $ExpectType number - ReactDOM.flushSync(() => 42, 'not used'); + ReactDOM.flushSync(() => 42, "not used"); // $ExpectType number - ReactDOM.flushSync((a: string) => 42, 'not used'); + ReactDOM.flushSync((a: string) => 42, "not used"); // @ts-expect-error ReactDOM.flushSync((a: string) => 42); // @ts-expect-error @@ -81,254 +81,254 @@ describe('ReactDOM', () => { }); }); -describe('ReactDOMServer', () => { - it('renderToString', () => { - const content: string = ReactDOMServer.renderToString(React.createElement('div')); +describe("ReactDOMServer", () => { + it("renderToString", () => { + const content: string = ReactDOMServer.renderToString(React.createElement("div")); }); - it('renderToStaticMarkup', () => { - const content: string = ReactDOMServer.renderToStaticMarkup(React.createElement('div')); + it("renderToStaticMarkup", () => { + const content: string = ReactDOMServer.renderToStaticMarkup(React.createElement("div")); }); - it('renderToStream', () => { - const content: any = ReactDOMServer.renderToNodeStream(React.createElement('div')); + it("renderToStream", () => { + const content: any = ReactDOMServer.renderToNodeStream(React.createElement("div")); }); - it('renderToStaticStream', () => { - const content: any = ReactDOMServer.renderToStaticNodeStream(React.createElement('div')); + it("renderToStaticStream", () => { + const content: any = ReactDOMServer.renderToStaticNodeStream(React.createElement("div")); }); }); -describe('React dom test utils', () => { - it('Simulate', () => { - const element = document.createElement('div'); +describe("React dom test utils", () => { + it("Simulate", () => { + const element = document.createElement("div"); const dom = ReactDOM.render( - React.createElement('input', { type: 'text' }), - element + React.createElement("input", { type: "text" }), + element, ) as Element; const node = ReactDOM.findDOMNode(dom) as HTMLInputElement; - node.value = 'giraffe'; + node.value = "giraffe"; ReactTestUtils.Simulate.change(node); ReactTestUtils.Simulate.keyDown(node, { key: "Enter", keyCode: 13, which: 13 }); }); - it('Simulate all event types', () => { - const element = document.createElement('div'); + it("Simulate all event types", () => { + const element = document.createElement("div"); const dom = ReactDOM.render( - React.createElement('input', { type: 'text' }), - element + React.createElement("input", { type: "text" }), + element, ) as Element; const node = ReactDOM.findDOMNode(dom) as HTMLInputElement; // @see: https://github.com/facebook/react/blob/v17.0.2/packages/react-dom/src/test-utils/ReactTestUtils.js#L616-L702 const simulatedEventTypes = [ - 'blur', - 'cancel', - 'click', - 'close', - 'contextMenu', - 'copy', - 'cut', - 'auxClick', - 'doubleClick', - 'dragEnd', - 'dragStart', - 'drop', - 'focus', - 'input', - 'invalid', - 'keyDown', - 'keyPress', - 'keyUp', - 'mouseDown', - 'mouseUp', - 'paste', - 'pause', - 'play', - 'pointerCancel', - 'pointerDown', - 'pointerUp', - 'rateChange', - 'reset', - 'seeked', - 'submit', - 'touchCancel', - 'touchEnd', - 'touchStart', - 'volumeChange', - 'drag', - 'dragEnter', - 'dragExit', - 'dragLeave', - 'dragOver', - 'mouseMove', - 'mouseOut', - 'mouseOver', - 'pointerMove', - 'pointerOut', - 'pointerOver', - 'scroll', - 'toggle', - 'touchMove', - 'wheel', - 'abort', - 'animationEnd', - 'animationIteration', - 'animationStart', - 'canPlay', - 'canPlayThrough', - 'durationChange', - 'emptied', - 'encrypted', - 'ended', - 'error', - 'gotPointerCapture', - 'load', - 'loadedData', - 'loadedMetadata', - 'loadStart', - 'lostPointerCapture', - 'playing', - 'progress', - 'seeking', - 'stalled', - 'suspend', - 'timeUpdate', - 'transitionEnd', - 'waiting', - 'mouseEnter', - 'mouseLeave', - 'pointerEnter', - 'pointerLeave', - 'change', - 'select', - 'beforeInput', - 'compositionEnd', - 'compositionStart', - 'compositionUpdate', - ] as const; - - simulatedEventTypes.forEach((eventType) => { + "blur", + "cancel", + "click", + "close", + "contextMenu", + "copy", + "cut", + "auxClick", + "doubleClick", + "dragEnd", + "dragStart", + "drop", + "focus", + "input", + "invalid", + "keyDown", + "keyPress", + "keyUp", + "mouseDown", + "mouseUp", + "paste", + "pause", + "play", + "pointerCancel", + "pointerDown", + "pointerUp", + "rateChange", + "reset", + "seeked", + "submit", + "touchCancel", + "touchEnd", + "touchStart", + "volumeChange", + "drag", + "dragEnter", + "dragExit", + "dragLeave", + "dragOver", + "mouseMove", + "mouseOut", + "mouseOver", + "pointerMove", + "pointerOut", + "pointerOver", + "scroll", + "toggle", + "touchMove", + "wheel", + "abort", + "animationEnd", + "animationIteration", + "animationStart", + "canPlay", + "canPlayThrough", + "durationChange", + "emptied", + "encrypted", + "ended", + "error", + "gotPointerCapture", + "load", + "loadedData", + "loadedMetadata", + "loadStart", + "lostPointerCapture", + "playing", + "progress", + "seeking", + "stalled", + "suspend", + "timeUpdate", + "transitionEnd", + "waiting", + "mouseEnter", + "mouseLeave", + "pointerEnter", + "pointerLeave", + "change", + "select", + "beforeInput", + "compositionEnd", + "compositionStart", + "compositionUpdate", + ] as const; + + simulatedEventTypes.forEach((eventType) => { ReactTestUtils.Simulate[eventType](node); - }); + }); }); - it('renderIntoDocument', () => { - const element = React.createElement('input', { type: 'text' }); + it("renderIntoDocument", () => { + const element = React.createElement("input", { type: "text" }); ReactTestUtils.renderIntoDocument(element); }); - it('mockComponent', () => { - ReactTestUtils.mockComponent(TestComponent, 'div'); + it("mockComponent", () => { + ReactTestUtils.mockComponent(TestComponent, "div"); }); - it('isElement', () => { + it("isElement", () => { const element = React.createElement(TestComponent); const isReactElement: boolean = ReactTestUtils.isElement(element); }); - it('isElementOfType', () => { + it("isElementOfType", () => { const element = React.createElement(TestComponent); const isReactElement: boolean = ReactTestUtils.isElementOfType(element, TestComponent); }); - it('isDOMComponent', () => { - const element = React.createElement('div'); + it("isDOMComponent", () => { + const element = React.createElement("div"); const instance = ReactTestUtils.renderIntoDocument(element) as HTMLDivElement; const isDOMElement: boolean = ReactTestUtils.isDOMComponent(instance); }); - it('isCompositeComponent', () => { + it("isCompositeComponent", () => { const element = React.createElement(TestComponent); const instance: TestComponent = ReactTestUtils.renderIntoDocument(element); const isCompositeComponent: boolean = ReactTestUtils.isCompositeComponent(instance); }); - it('isCompositeComponentWithType', () => { + it("isCompositeComponentWithType", () => { const element = React.createElement(TestComponent); const instance: TestComponent = ReactTestUtils.renderIntoDocument(element); const isCompositeComponent: boolean = ReactTestUtils.isCompositeComponentWithType(instance, TestComponent); }); - it('findAllInRenderedTree', () => { + it("findAllInRenderedTree", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); ReactTestUtils.findAllInRenderedTree(component, (i: React.ReactInstance) => true); }); - it('scryRenderedDOMComponentsWithClass', () => { + it("scryRenderedDOMComponentsWithClass", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.scryRenderedDOMComponentsWithClass(component, 'class'); + ReactTestUtils.scryRenderedDOMComponentsWithClass(component, "class"); }); - it('findRenderedDOMComponentWithClass', () => { + it("findRenderedDOMComponentWithClass", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.findRenderedDOMComponentWithClass(component, 'class'); + ReactTestUtils.findRenderedDOMComponentWithClass(component, "class"); }); - it('scryRenderedDOMComponentsWithTag', () => { + it("scryRenderedDOMComponentsWithTag", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.scryRenderedDOMComponentsWithTag(component, 'div'); + ReactTestUtils.scryRenderedDOMComponentsWithTag(component, "div"); }); - it('findRenderedDOMComponentWithTag', () => { + it("findRenderedDOMComponentWithTag", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); - ReactTestUtils.findRenderedDOMComponentWithTag(component, 'tag'); + ReactTestUtils.findRenderedDOMComponentWithTag(component, "tag"); }); - it('scryRenderedComponentsWithType', () => { + it("scryRenderedComponentsWithType", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); ReactTestUtils.scryRenderedComponentsWithType(component, TestComponent); }); - it('findRenderedComponentWithType', () => { + it("findRenderedComponentWithType", () => { const component = ReactTestUtils.renderIntoDocument(React.createElement(TestComponent)); ReactTestUtils.findRenderedComponentWithType(component, TestComponent); }); - describe('Shallow Rendering', () => { - it('createRenderer', () => { + describe("Shallow Rendering", () => { + it("createRenderer", () => { const component = React.createElement(TestComponent); const shallowRenderer = ReactTestUtils.createRenderer(); }); - it('shallowRenderer.render', () => { + it("shallowRenderer.render", () => { const component = React.createElement(TestComponent); const shallowRenderer = ReactTestUtils.createRenderer(); shallowRenderer.render(component); }); - it('shallowRenderer.getRenderOutput', () => { + it("shallowRenderer.getRenderOutput", () => { const component = React.createElement(TestComponent); const shallowRenderer = ReactTestUtils.createRenderer(); shallowRenderer.getRenderOutput(); }); }); - describe('act', () => { - describe('with sync callback', () => { - it('accepts a callback that is void', () => { + describe("act", () => { + describe("with sync callback", () => { + it("accepts a callback that is void", () => { ReactTestUtils.act(() => {}); }); - it('rejects a callback that returns null', () => { + it("rejects a callback that returns null", () => { // @ts-expect-error ReactTestUtils.act(() => null); }); - it('returns a type that is not Promise-like', () => { + it("returns a type that is not Promise-like", () => { // tslint:disable-next-line no-void-expression const result = ReactTestUtils.act(() => {}); // @ts-expect-error result.then((x) => {}); }); }); - describe('with async callback', () => { - it('accepts a callback that is void', async () => { + describe("with async callback", () => { + it("accepts a callback that is void", async () => { await ReactTestUtils.act(async () => {}); }); - it('rejects a callback that returns a value', async () => { + it("rejects a callback that returns a value", async () => { // @ts-expect-error await ReactTestUtils.act(async () => null); }); - it('returns a Promise-like', () => { + it("returns a Promise-like", () => { const result = ReactTestUtils.act(async () => {}); result.then((x) => {}); }); diff --git a/types/react-draft-wysiwyg/index.d.ts b/types/react-draft-wysiwyg/index.d.ts index 8e16e3b22d293c..4b75ffb5a8e061 100644 --- a/types/react-draft-wysiwyg/index.d.ts +++ b/types/react-draft-wysiwyg/index.d.ts @@ -8,8 +8,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.9 -import * as React from "react"; import * as Draft from "draft-js"; +import * as React from "react"; export type SyntheticKeyboardEvent = React.KeyboardEvent<{}>; export type SyntheticEvent = React.SyntheticEvent<{}>; @@ -78,7 +78,7 @@ export interface EditorProps { ): boolean; handleReturn?( e: SyntheticKeyboardEvent, - editorState: EditorState + editorState: EditorState, ): boolean; customStyleMap?: object | undefined; } diff --git a/types/react-draft-wysiwyg/test/basic-content-state-tests.tsx b/types/react-draft-wysiwyg/test/basic-content-state-tests.tsx index 5693ff258476e0..26b048bd30e0a9 100644 --- a/types/react-draft-wysiwyg/test/basic-content-state-tests.tsx +++ b/types/react-draft-wysiwyg/test/basic-content-state-tests.tsx @@ -1,10 +1,10 @@ // From https://github.com/jpuri/react-draft-wysiwyg/blob/master/stories/ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import { Editor, RawDraftContentState } from 'react-draft-wysiwyg'; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { Editor, RawDraftContentState } from "react-draft-wysiwyg"; -class BasicContentState extends React.Component<{}, {contentState: RawDraftContentState}> { +class BasicContentState extends React.Component<{}, { contentState: RawDraftContentState }> { constructor(props: any) { super(props); this.state = { @@ -20,23 +20,26 @@ class BasicContentState extends React.Component<{}, {contentState: RawDraftConte "entityRanges":[], "data":{} }] - }`) + }`), }; } render() { - const {contentState} = this.state; - return (
    - Content state is JSON -
    +        const { contentState } = this.state;
    +        return (
    +            
    + + Content state is JSON +
                     {'{"entityMap":{},"blocks":[{"key":"1ljs","text":"Initializing from content state","type":"unstyled","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}]}'}
    -                
    -
    - -
    ); +
    +
    + +
    + ); } } -ReactDOM.render(, document.getElementById('target')); +ReactDOM.render(, document.getElementById("target")); diff --git a/types/react-draft-wysiwyg/test/basic-controlled-tests.tsx b/types/react-draft-wysiwyg/test/basic-controlled-tests.tsx index 1b5987d331e848..aa8a5c29bbaf8f 100644 --- a/types/react-draft-wysiwyg/test/basic-controlled-tests.tsx +++ b/types/react-draft-wysiwyg/test/basic-controlled-tests.tsx @@ -1,30 +1,32 @@ // From https://github.com/jpuri/react-draft-wysiwyg/blob/master/stories/ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import { Editor, EditorState } from 'react-draft-wysiwyg'; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { Editor, EditorState } from "react-draft-wysiwyg"; -class BasicControlled extends React.Component<{}, {editorState: EditorState}> { +class BasicControlled extends React.Component<{}, { editorState: EditorState }> { constructor(props: any) { super(props); this.state = { - editorState: EditorState.createEmpty() + editorState: EditorState.createEmpty(), }; } render() { - const {editorState} = this.state; - return (
    - -
    ); + const { editorState } = this.state; + return ( +
    + +
    + ); } onEditorStateChange(editorState: EditorState): void { - this.setState({editorState}); + this.setState({ editorState }); } } -ReactDOM.render(, document.getElementById('target')); +ReactDOM.render(, document.getElementById("target")); diff --git a/types/react-draft-wysiwyg/test/basic-tests.tsx b/types/react-draft-wysiwyg/test/basic-tests.tsx index d42db3129f85e1..5fddce2aa42405 100644 --- a/types/react-draft-wysiwyg/test/basic-tests.tsx +++ b/types/react-draft-wysiwyg/test/basic-tests.tsx @@ -1,15 +1,17 @@ // From https://github.com/jpuri/react-draft-wysiwyg/blob/master/stories/ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import { Editor } from 'react-draft-wysiwyg'; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { Editor } from "react-draft-wysiwyg"; -const Basic = () => (
    - { - console.log('hey ref', ref?.focusEditor.toString()); - }} - /> -
    ); +const Basic = () => ( +
    + { + console.log("hey ref", ref?.focusEditor.toString()); + }} + /> +
    +); -ReactDOM.render(, document.getElementById('target')); +ReactDOM.render(, document.getElementById("target")); diff --git a/types/react-draft-wysiwyg/test/custom-style-map-tests.tsx b/types/react-draft-wysiwyg/test/custom-style-map-tests.tsx index 5db9e1a42f5bf0..2089c5d3b0fd47 100644 --- a/types/react-draft-wysiwyg/test/custom-style-map-tests.tsx +++ b/types/react-draft-wysiwyg/test/custom-style-map-tests.tsx @@ -1,16 +1,18 @@ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import { Editor } from 'react-draft-wysiwyg'; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { Editor } from "react-draft-wysiwyg"; -const CustomStyleMapEditor = () => (
    - -
    ); +const CustomStyleMapEditor = () => ( +
    + +
    +); -ReactDOM.render(, document.getElementById('target')); +ReactDOM.render(, document.getElementById("target")); diff --git a/types/react-draft-wysiwyg/test/custom-toolbar-tests.tsx b/types/react-draft-wysiwyg/test/custom-toolbar-tests.tsx index 8dd5662bda2acd..0f72277c8a4040 100644 --- a/types/react-draft-wysiwyg/test/custom-toolbar-tests.tsx +++ b/types/react-draft-wysiwyg/test/custom-toolbar-tests.tsx @@ -1,16 +1,16 @@ // From https://github.com/jpuri/react-draft-wysiwyg/blob/master/stories/ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import { Editor } from 'react-draft-wysiwyg'; -import { RichUtils } from 'draft-js'; +import { RichUtils } from "draft-js"; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { Editor } from "react-draft-wysiwyg"; class CustomOption extends React.Component { toggleBold(): void { - const {editorState, onChange} = this.props; + const { editorState, onChange } = this.props; const newState = RichUtils.toggleInlineStyle( editorState, - 'BOLD', + "BOLD", ); if (newState) { onChange(newState); @@ -18,18 +18,17 @@ class CustomOption extends React.Component { } render() { - return ( -
    B
    - ); + return
    B
    ; } } -const CustomToolbar = () => - (
    +const CustomToolbar = () => ( +

    Last option marked as B is custom option for making test BOLD.

    ]} /> -
    ); +
    +); -ReactDOM.render(, document.getElementById('target')); +ReactDOM.render(, document.getElementById("target")); diff --git a/types/react-draft-wysiwyg/test/focus-blur-callbacks-tests.tsx b/types/react-draft-wysiwyg/test/focus-blur-callbacks-tests.tsx index d29f7ab073b675..08dcc26316b3f6 100644 --- a/types/react-draft-wysiwyg/test/focus-blur-callbacks-tests.tsx +++ b/types/react-draft-wysiwyg/test/focus-blur-callbacks-tests.tsx @@ -1,27 +1,27 @@ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import { Editor } from 'react-draft-wysiwyg'; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { Editor } from "react-draft-wysiwyg"; class FocusBlurCallbacks extends React.Component { constructor(props: any) { super(props); this.state = { - state: 'blurred' + state: "blurred", }; } onFocus(): void { - console.log('into onFocus'); + console.log("into onFocus"); this.setState({ - state: 'focused', + state: "focused", }); } onBlur(): void { - console.log('into onBlur'); + console.log("into onBlur"); this.setState({ - state: 'blurred', + state: "blurred", }); } @@ -29,7 +29,9 @@ class FocusBlurCallbacks extends React.Component { const { state } = this.state; return (
    -

    State right now {state}

    +

    + State right now {state} +

    { } } -ReactDOM.render(, document.getElementById('target')); +ReactDOM.render(, document.getElementById("target")); diff --git a/types/react-draft-wysiwyg/test/render-with-test-id.tsx b/types/react-draft-wysiwyg/test/render-with-test-id.tsx index d3c364ba23687f..3b7576e2559d21 100644 --- a/types/react-draft-wysiwyg/test/render-with-test-id.tsx +++ b/types/react-draft-wysiwyg/test/render-with-test-id.tsx @@ -1,6 +1,6 @@ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import { Editor } from 'react-draft-wysiwyg'; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { Editor } from "react-draft-wysiwyg"; const RenderWithTestId = () => (
    @@ -8,4 +8,4 @@ const RenderWithTestId = () => (
    ); -ReactDOM.render(, document.getElementById('target')); +ReactDOM.render(, document.getElementById("target")); diff --git a/types/react-draft-wysiwyg/test/uncontrolled-raw-draft-content-state.tsx b/types/react-draft-wysiwyg/test/uncontrolled-raw-draft-content-state.tsx index 4118ce2d090a3e..48986fb183999e 100644 --- a/types/react-draft-wysiwyg/test/uncontrolled-raw-draft-content-state.tsx +++ b/types/react-draft-wysiwyg/test/uncontrolled-raw-draft-content-state.tsx @@ -22,15 +22,15 @@ class UncontrolledEditor extends React.Component< "entityRanges":[], "data":{} }] - }`) + }`), }; } onContentStateChange = (contentState: RawDraftContentState) => { this.setState({ - contentState + contentState, }); - } + }; render() { const { contentState } = this.state; diff --git a/types/react-dragtastic/index.d.ts b/types/react-dragtastic/index.d.ts index bbb14465df1d8c..10efa1a5a8f126 100644 --- a/types/react-dragtastic/index.d.ts +++ b/types/react-dragtastic/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import { ReactNode, Component, MouseEventHandler, TouchEventHandler } from 'react'; +import { Component, MouseEventHandler, ReactNode, TouchEventHandler } from "react"; export type Id = string | number; export type Type = string | number; @@ -58,20 +58,22 @@ export interface DraggableProps { /** An optional int representing the distance in pixels the user's pointer must travel to activate the draggable. Defaults to 8 */ delay?: number | undefined; - children: (arg: State & { - /** A boolean representing if the draggable is currently active. */ - isActive: boolean; - events: { - onMouseDown: MouseEventHandler, - onTouchStart: TouchEventHandler - } - }) => ReactNode; + children: ( + arg: State & { + /** A boolean representing if the draggable is currently active. */ + isActive: boolean; + events: { + onMouseDown: MouseEventHandler; + onTouchStart: TouchEventHandler; + }; + }, + ) => ReactNode; } /** * This defines a draggable zone. At a minimum, spread the events over the element that should be draggable (usually the root element). */ -export class Draggable extends Component { } +export class Draggable extends Component {} // ────────────────────────────────────────────────────────────────────────────────────────────────────────────────── // DROPPABLE @@ -100,23 +102,25 @@ export interface DroppableProps { */ subscribeTo?: ReadonlyArray | null | undefined; - children: (arg: State & { - /** A boolean representing if the user is currently hovering the . */ - isOver: boolean, - /** A boolean representing if this droppable will accept the currently dragging . */ - willAccept: boolean, - events: { - onMouseEnter: () => void, - onMouseLeave: () => void, - onMouseUp: () => void, - } - }) => ReactNode; + children: ( + arg: State & { + /** A boolean representing if the user is currently hovering the . */ + isOver: boolean; + /** A boolean representing if this droppable will accept the currently dragging . */ + willAccept: boolean; + events: { + onMouseEnter: () => void; + onMouseLeave: () => void; + onMouseUp: () => void; + }; + }, + ) => ReactNode; } /** * This defines a droppable zone. At a minimum, spread the events over the element that should be droppable (usually the root element). */ -export class Droppable extends Component { } +export class Droppable extends Component {} // ────────────────────────────────────────────────────────────────────────────────────────────────────────────────── // DRAG @@ -135,16 +139,18 @@ export interface DragComponentProps { */ subscribeTo?: ReadonlyArray | null | undefined; - children: (arg: State & { - /** A boolean representing whether the user is currently hovering a that accepts the type of the currently active */ - isOverAccepted: boolean - }) => ReactNode; + children: ( + arg: State & { + /** A boolean representing whether the user is currently hovering a that accepts the type of the currently active */ + isOverAccepted: boolean; + }, + ) => ReactNode; } /** * By default, children passed to this component will only render if the user is currently dragging, but this can be overridden. */ -export class DragComponent extends Component { } +export class DragComponent extends Component {} // ────────────────────────────────────────────────────────────────────────────────────────────────────────────────── // DRAG STATE @@ -164,4 +170,4 @@ export interface DragStateProps { * This component is used just like a draggable or droppable, but does not accept or trigger any drag events. * Use it if you need to notify a component about changes in the dragState without making that component a draggable or droppable zone. */ -export class DragState extends Component { } +export class DragState extends Component {} diff --git a/types/react-dragtastic/react-dragtastic-tests.tsx b/types/react-dragtastic/react-dragtastic-tests.tsx index 87a8e828e1a802..99fc85797bbef6 100644 --- a/types/react-dragtastic/react-dragtastic-tests.tsx +++ b/types/react-dragtastic/react-dragtastic-tests.tsx @@ -1,57 +1,57 @@ -import * as React from 'react'; -import { Draggable, Droppable, DragComponent, DragState } from 'react-dragtastic'; +import * as React from "react"; +import { DragComponent, Draggable, DragState, Droppable } from "react-dragtastic"; class DraggableZone extends React.Component { - render() { - return ( - - {dragState =>
    I'm a draggable zone
    } -
    - ); - } + render() { + return ( + + {dragState =>
    I'm a draggable zone
    } +
    + ); + } } class DroppableZone extends React.Component { - render() { - return ( - - {dragState =>
    I'm a droppable zone
    } -
    - ); - } + render() { + return ( + + {dragState =>
    I'm a droppable zone
    } +
    + ); + } } class DragComponentWrapper extends React.Component { - render() { - return ( - - {dragState => ( -
    - I will render when my Draggable zone is activated -
    - )} -
    - ); - } + render() { + return ( + + {dragState => ( +
    + I will render when my Draggable zone is activated +
    + )} +
    + ); + } } class CompWithDragState extends React.Component { - render() { - return ( - - {dragState => ( -
    - I always render, and have access to the global dragState. -
    - )} -
    - ); - } + render() { + return ( + + {dragState => ( +
    + I always render, and have access to the global dragState. +
    + )} +
    + ); + } } diff --git a/types/react-dragula/index.d.ts b/types/react-dragula/index.d.ts index c6ffe44132731e..e09c5ea87d28e5 100644 --- a/types/react-dragula/index.d.ts +++ b/types/react-dragula/index.d.ts @@ -3,7 +3,7 @@ // Definitions by: Adriaan Marain // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { DragulaOptions, Drake } from 'dragula'; +import { DragulaOptions, Drake } from "dragula"; export = reactDragula; diff --git a/types/react-dragula/react-dragula-tests.tsx b/types/react-dragula/react-dragula-tests.tsx index ab289cc06b3451..68509abd4f6e6b 100644 --- a/types/react-dragula/react-dragula-tests.tsx +++ b/types/react-dragula/react-dragula-tests.tsx @@ -1,6 +1,6 @@ -import React = require('react'); -import reactDragula = require('react-dragula'); -import { Drake } from 'dragula'; +import React = require("react"); +import reactDragula = require("react-dragula"); +import { Drake } from "dragula"; function DraggableItemss() { const draggableContainer = React.useRef(null); @@ -15,7 +15,7 @@ function DraggableItemss() { return false; } - return Boolean(handle.closest('.draggable')); + return Boolean(handle.closest(".draggable")); }, }), ); @@ -24,8 +24,8 @@ function DraggableItemss() { React.useEffect(() => { if (drake) { - drake.on('dragend', e => { - console.log('dragend'); + drake.on("dragend", e => { + console.log("dragend"); }); } }, [drake]); diff --git a/types/react-dual-listbox/index.d.ts b/types/react-dual-listbox/index.d.ts index 256425b5883583..f0d1fe56b54a1b 100644 --- a/types/react-dual-listbox/index.d.ts +++ b/types/react-dual-listbox/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // Minimum TypeScript Version: 3.9 -import * as React from 'react'; +import * as React from "react"; /** * A value-based option. @@ -94,7 +94,7 @@ export interface CommonProperties { * * @default "middle" */ - alignActions?: 'top' | 'middle'; + alignActions?: "top" | "middle"; /** * If true, duplicate options will be allowed in the selected list box. * @@ -128,15 +128,17 @@ export interface CommonProperties { * A key-value pairing of action icons and their React nodes. */ icons?: { - [k in - | 'moveLeft' - | 'moveAllLeft' - | 'moveRight' - | 'moveAllRight' - | 'moveDown' - | 'moveUp' - | 'moveTop' - | 'moveBottom']?: React.ReactNode; + [ + k in + | "moveLeft" + | "moveAllLeft" + | "moveRight" + | "moveAllRight" + | "moveDown" + | "moveUp" + | "moveTop" + | "moveBottom" + ]?: React.ReactNode; }; /** * An HTML ID prefix for the various sub elements. @@ -148,21 +150,23 @@ export interface CommonProperties { * A key-value pairing of localized text. */ lang?: { - [k in - | 'availableFilterHeader' - | 'availableHeader' - | 'moveAllLeft' - | 'moveAllRight' - | 'moveLeft' - | 'moveRight' - | 'moveBottom' - | 'moveDown' - | 'moveUp' - | 'moveTop' - | 'noAvailableOptions' - | 'noSelectedOptions' - | 'selectedFilterHeader' - | 'selectedHeader']?: string; + [ + k in + | "availableFilterHeader" + | "availableHeader" + | "moveAllLeft" + | "moveAllRight" + | "moveLeft" + | "moveRight" + | "moveBottom" + | "moveDown" + | "moveUp" + | "moveTop" + | "noAvailableOptions" + | "noSelectedOptions" + | "selectedFilterHeader" + | "selectedHeader" + ]?: string; }; /** * A list of key codes that will trigger a toggle of the selected options. @@ -258,9 +262,8 @@ export interface ValueProperties { */ // export type DualListBoxProperties

    = CommonProperties

    & FilterProperties

    & ValueProperties

    ; export interface DualListBoxProperties - extends CommonProperties

    , - FilterProperties, - ValueProperties {} + extends CommonProperties

    , FilterProperties, ValueProperties +{} /** * A feature-rich dual list box for React. diff --git a/types/react-dual-listbox/react-dual-listbox-tests.tsx b/types/react-dual-listbox/react-dual-listbox-tests.tsx index 4c08aa9d2bb0cf..a6f6b61d7f174f 100644 --- a/types/react-dual-listbox/react-dual-listbox-tests.tsx +++ b/types/react-dual-listbox/react-dual-listbox-tests.tsx @@ -1,25 +1,25 @@ -import * as React from 'react'; -import DualListBox, { Option, ValueOption } from 'react-dual-listbox'; +import * as React from "react"; +import DualListBox, { Option, ValueOption } from "react-dual-listbox"; /** Example options */ // Flat options const flatOptions: Array> = [ - { label: 'One', value: 'one' }, // ValueOption - { label: 'Two', value: 'two' }, // ValueOption + { label: "One", value: "one" }, // ValueOption + { label: "Two", value: "two" }, // ValueOption ]; const readonlyFlatOptions = flatOptions as ReadonlyArray>; // Nested options const nestedOptions: Array> = [ - { label: 'Option 1', value: '1' }, // ValueOption + { label: "Option 1", value: "1" }, // ValueOption { - label: 'Category', + label: "Category", options: [ - { label: 'Option 2', value: '2' }, // ValueOption + { label: "Option 2", value: "2" }, // ValueOption { - label: 'Nested Category', + label: "Nested Category", options: [ - { label: 'Option 3', value: '4' }, // ValueOption + { label: "Option 3", value: "4" }, // ValueOption ], }, // CategoryOption ], @@ -77,7 +77,7 @@ const optionsChange = (selectedValues: Array>) => {}; selected: [], }} onFilterChange={() => {}} - filterPlaceholder={''} + filterPlaceholder={""} filterCallback={(option: Option) => true} />; >) => {}; selected: [], }} onFilterChange={() => {}} - filterPlaceholder={''} + filterPlaceholder={""} filterCallback={(option: Option) => true} />; @@ -101,7 +101,7 @@ const optionsChange = (selectedValues: Array>) => {}; selected: [], }} onFilterChange={() => {}} - filterPlaceholder={''} + filterPlaceholder={""} filterCallback={(option: Option) => true} />; // @ts-expect-error You can not use filter properties when `canFilter` is not `true`. @@ -113,7 +113,7 @@ const optionsChange = (selectedValues: Array>) => {}; selected: [], }} onFilterChange={() => {}} - filterPlaceholder={''} + filterPlaceholder={""} filterCallback={(option: Option) => true} />; @@ -121,11 +121,11 @@ const optionsChange = (selectedValues: Array>) => {}; o.value)} - lang={{ availableHeader: 'Available', selectedHeader: 'Selected' }} + lang={{ availableHeader: "Available", selectedHeader: "Selected" }} />; /** Action alignment. */ -; +; /** Disabled. */ ; @@ -161,7 +161,7 @@ const optionsChange = (selectedValues: Array>) => {}; className="my-special-class" options={flatOptions} selected={[]} - alignActions={'top'} + alignActions={"top"} allowDuplicates available={flatOptions.map(o => o.value)} icons={{ @@ -177,7 +177,7 @@ const optionsChange = (selectedValues: Array>) => {}; moveTop: , moveBottom: , }} - lang={{ availableHeader: 'Available', selectedHeader: 'Selected' }} + lang={{ availableHeader: "Available", selectedHeader: "Selected" }} moveKeyCodes={[13, 32]} simpleValue={false} onChange={optionsChange} @@ -187,7 +187,7 @@ const optionsChange = (selectedValues: Array>) => {}; selected: [], }} onFilterChange={() => {}} - filterPlaceholder={''} + filterPlaceholder={""} filterCallback={(option: Option) => true} disabled preserveSelectOrder diff --git a/types/react-dynamic-number/index.d.ts b/types/react-dynamic-number/index.d.ts index 09f16a220dca72..f2ebb0c56592b1 100644 --- a/types/react-dynamic-number/index.d.ts +++ b/types/react-dynamic-number/index.d.ts @@ -4,27 +4,32 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; -export type Omit = Pick; +export type Omit = Pick< + T, + ({ [P in keyof T]: P } & { [P in K]: never } & { [x: string]: never; [x: number]: never })[keyof T] +>; export type BaseInputProps = Partial< - Omit< - React.DetailedHTMLProps, HTMLInputElement>, - 'ref' | 'value' | 'onChange' | 'placeholder' - > + Omit< + React.DetailedHTMLProps, HTMLInputElement>, + "ref" | "value" | "onChange" | "placeholder" + > >; export interface DynamicNumberProps extends BaseInputProps { - value?: number | '' | undefined; - separator?: '.' | ',' | undefined; - thousand?: boolean | ' ' | undefined; - integer?: number | undefined; - fraction?: number | undefined; - positive?: boolean | undefined; - negative?: boolean | undefined; - placeholder?: string | undefined; - onChange?: ((event: React.ChangeEvent, modelValue: number, viewValue: string) => void) | undefined; + value?: number | "" | undefined; + separator?: "." | "," | undefined; + thousand?: boolean | " " | undefined; + integer?: number | undefined; + fraction?: number | undefined; + positive?: boolean | undefined; + negative?: boolean | undefined; + placeholder?: string | undefined; + onChange?: + | ((event: React.ChangeEvent, modelValue: number, viewValue: string) => void) + | undefined; } export default class DynamicNumber extends React.Component {} diff --git a/types/react-dynamic-number/react-dynamic-number-tests.tsx b/types/react-dynamic-number/react-dynamic-number-tests.tsx index 0dd947b6c7900e..6f124e464ef048 100644 --- a/types/react-dynamic-number/react-dynamic-number-tests.tsx +++ b/types/react-dynamic-number/react-dynamic-number-tests.tsx @@ -1,16 +1,16 @@ -import * as React from 'react'; -import DynamicNumber from 'react-dynamic-number'; +import * as React from "react"; +import DynamicNumber from "react-dynamic-number"; export class Test extends React.Component { - render() { - return ( - - ); - } + render() { + return ( + + ); + } } diff --git a/types/react-easy-chart/index.d.ts b/types/react-easy-chart/index.d.ts index 0dc23dc7c6ded6..71b5350db446d6 100644 --- a/types/react-easy-chart/index.d.ts +++ b/types/react-easy-chart/index.d.ts @@ -7,18 +7,17 @@ /// declare module "react-easy-chart" { - interface BarData { x: number | Date | string; y: number; - color?: string | undefined + color?: string | undefined; } interface BarChartProps { /** Whether to show axis labels */ axes?: boolean | undefined; /** Labels for each of the axis */ - axisLabels?: { x?: string | undefined, y?: string | undefined, y2?: string | undefined } | undefined; + axisLabels?: { x?: string | undefined; y?: string | undefined; y2?: string | undefined } | undefined; /** The width of an individual bar in pixels */ barWidth?: number | undefined; @@ -45,7 +44,12 @@ declare module "react-easy-chart" { lineData?: Array | undefined; /** css margins */ - margin?: { top?: number | undefined, right?: number | undefined, bottom?: number | undefined, left?: number | undefined } | undefined; + margin?: { + top?: number | undefined; + right?: number | undefined; + bottom?: number | undefined; + left?: number | undefined; + } | undefined; mouseMoveHandler?: ((data: BarData, mouseEvent: MouseEvent) => any) | undefined; @@ -66,10 +70,10 @@ declare module "react-easy-chart" { xTickNumber?: number | undefined; /** What data type the x axis is */ - xType?: 'time' | 'text' | 'linear' | undefined; + xType?: "time" | "text" | "linear" | undefined; /** What data type the second y axis is */ - y2Type?: 'time' | 'text' | 'linear' | undefined; + y2Type?: "time" | "text" | "linear" | undefined; /** Whether to show the axis on the right (default false: left) */ yAxisOrientRight?: boolean | undefined; @@ -91,7 +95,7 @@ declare module "react-easy-chart" { interface PieChartProps { clickHandler?: ((data: PieData, mouseEvent: MouseEvent) => any) | undefined; - data: Array<{ key: string, value: number, color?: string | undefined }>; + data: Array<{ key: string; value: number; color?: string | undefined }>; /** Size in pixels of the inner hole (diameter) */ innerHoleSize?: number | undefined; @@ -125,7 +129,7 @@ declare module "react-easy-chart" { axes?: boolean | undefined; /** Labels for each of the axis */ - axisLabels?: { x?: string | undefined, y?: string | undefined } | undefined; + axisLabels?: { x?: string | undefined; y?: string | undefined } | undefined; clickHandler?: ((data: LineData, mouseEvent: MouseEvent) => any) | undefined; @@ -141,17 +145,31 @@ declare module "react-easy-chart" { height?: number | undefined; /** Smoothing option for the lines */ - interpolate?: 'linear' | 'linear-closed' - | 'step' | 'step-before' | 'step-after' - | 'basis' | 'basis-open' | 'basis-closed' - | 'bundle' - | 'cardinal' | 'cardinal-open' | 'cardinal-closed' - | 'monotone' | undefined; + interpolate?: + | "linear" + | "linear-closed" + | "step" + | "step-before" + | "step-after" + | "basis" + | "basis-open" + | "basis-closed" + | "bundle" + | "cardinal" + | "cardinal-open" + | "cardinal-closed" + | "monotone" + | undefined; lineColors?: Array | undefined; /** css margins */ - margin?: { top?: number | undefined, right?: number | undefined, bottom?: number | undefined, left?: number | undefined } | undefined; + margin?: { + top?: number | undefined; + right?: number | undefined; + bottom?: number | undefined; + left?: number | undefined; + } | undefined; mouseMoveHandler?: ((data: LineData, mouseEvent: MouseEvent) => any) | undefined; @@ -175,7 +193,7 @@ declare module "react-easy-chart" { xTicks?: number | undefined; /** What data type the x axis is */ - xType?: 'time' | 'text' | 'linear' | undefined; + xType?: "time" | "text" | "linear" | undefined; /** Whether to show the axis on the right (default false: left) */ yAxisOrientRight?: boolean | undefined; @@ -187,7 +205,7 @@ declare module "react-easy-chart" { yTicks?: number | undefined; /** What data type the x axis is */ - yType?: 'time' | 'text' | 'linear' | undefined; + yType?: "time" | "text" | "linear" | undefined; } class LineChart extends React.Component { } @@ -210,12 +228,12 @@ declare module "react-easy-chart" { axes?: boolean | undefined; /** Labels for each of the axis */ - axisLabels?: { x?: string | undefined, y?: string | undefined } | undefined; + axisLabels?: { x?: string | undefined; y?: string | undefined } | undefined; clickHandler?: ((data: ScatterplotData, mouseEvent: MouseEvent) => any) | undefined; /** Allows styling of individual types of points */ - config?: Array<{ type: string, color: string, stroke: string }> | undefined; + config?: Array<{ type: string; color: string; stroke: string }> | undefined; data: Array; @@ -229,7 +247,12 @@ declare module "react-easy-chart" { height?: number | undefined; /** css margins */ - margin?: { top?: number | undefined, right?: number | undefined, bottom?: number | undefined, left?: number | undefined } | undefined; + margin?: { + top?: number | undefined; + right?: number | undefined; + bottom?: number | undefined; + left?: number | undefined; + } | undefined; mouseMoveHandler?: ((data: ScatterplotData, mouseEvent: MouseEvent) => any) | undefined; @@ -247,7 +270,7 @@ declare module "react-easy-chart" { xDomainRange?: Array | Array | Array | undefined; /** What data type the x axis is */ - xType?: 'time' | 'text' | 'linear' | undefined; + xType?: "time" | "text" | "linear" | undefined; /** Whether to show the axis on the right (default false: left) */ yAxisOrientRight?: boolean | undefined; @@ -256,7 +279,7 @@ declare module "react-easy-chart" { yDomainRange?: Array | Array | Array | undefined; /** What data type the x axis is */ - yType?: 'time' | 'text' | 'linear' | undefined; + yType?: "time" | "text" | "linear" | undefined; } class ScatterplotChart extends React.Component { } @@ -276,8 +299,5 @@ declare module "react-easy-chart" { styles?: { [cssSelector: string]: React.CSSProperties } | undefined; } class Legend extends React.Component { - } - } - diff --git a/types/react-easy-chart/react-easy-chart-tests.tsx b/types/react-easy-chart/react-easy-chart-tests.tsx index 6715069e8a8d15..5bbfe9d57b779a 100644 --- a/types/react-easy-chart/react-easy-chart-tests.tsx +++ b/types/react-easy-chart/react-easy-chart-tests.tsx @@ -1,20 +1,20 @@ -import * as React from 'react'; -import { AreaChart, BarChart, Legend, LineChart, PieChart, ScatterplotChart } from 'react-easy-chart'; +import * as React from "react"; +import { AreaChart, BarChart, Legend, LineChart, PieChart, ScatterplotChart } from "react-easy-chart"; class BarChartData extends React.Component { render(): any { return ( + /> ); } } @@ -27,15 +27,15 @@ class BarChartHeightAndWidth extends React.Component { width={350} data={[ { - x: 'A', - y: 46 + x: "A", + y: 46, }, { - x: 'B', - y: 26 - } + x: "B", + y: 26, + }, ]} - /> + /> ); } } @@ -49,15 +49,15 @@ class BarChartColorBars extends React.Component { width={650} data={[ { - x: 'A', - y: 46 + x: "A", + y: 46, }, { - x: 'B', - y: 26 - } + x: "B", + y: 26, + }, ]} - /> + /> ); } } @@ -71,7 +71,7 @@ class BarChartMargin extends React.Component { width={650} data={[]} margin={{ top: 0, right: 0, bottom: 30, left: 100 }} - /> + /> ); } } @@ -81,15 +81,15 @@ class BarChartOverridingBarColors extends React.Component { return ( + /> ); } } @@ -103,15 +103,15 @@ class BarChartAxes extends React.Component { width={650} data={[ { - x: 'A', - y: 46 + x: "A", + y: 46, }, { - x: 'B', - y: 26 - } + x: "B", + y: 26, + }, ]} - /> + /> ); } } @@ -120,19 +120,19 @@ class BarChartAxesLabels extends React.Component { render(): any { return ( + /> ); } } @@ -142,21 +142,21 @@ class BarChartYAxisOrientation extends React.Component { return ( + /> ); } } @@ -165,18 +165,18 @@ class BarChartYAxesType extends React.Component { render(): any { return ( + /> ); } } @@ -185,18 +185,18 @@ class BarChartYAxesType2 extends React.Component { render(): any { return ( + /> ); } } @@ -205,19 +205,19 @@ class BarChartDatePattern extends React.Component { render(): any { return ( + /> ); } } @@ -226,20 +226,20 @@ class BarChartBarWidth extends React.Component { render(): any { return ( + /> ); } } @@ -248,21 +248,21 @@ class BarChartDomainRange extends React.Component { render(): any { return ( + /> ); } } @@ -271,21 +271,21 @@ class BarChartTickDisplayFormat extends React.Component { render(): any { return ( + /> ); } } @@ -294,7 +294,7 @@ class BarChartNumberOfTicks extends React.Component { render(): any { return ( + /> ); } } @@ -318,7 +318,7 @@ class BarChartGrid extends React.Component { render(): any { return ( + /> ); } } @@ -343,35 +343,35 @@ class BarChartBarAndLine extends React.Component { render(): any { return ( + /> ); } } @@ -389,7 +389,7 @@ class BarChartMouseHandlers extends React.Component { render(): any { return ( this.setState({ dataDisplay: `The value on the ${d.x} is ${d.y}` })} mouseOverHandler={this.mouseOverHandler} mouseOutHandler={this.mouseOutHandler} mouseMoveHandler={this.mouseMoveHandler} yDomainRange={[0, 100]} - /> + /> ); } } - class PieChartData extends React.Component { render(): any { return ( + /> ); } } @@ -433,14 +432,13 @@ class PieChartData extends React.Component { class PieChartColor extends React.Component { render(): any { return ( - + /> ); } } @@ -451,11 +449,11 @@ class PieChartSize extends React.Component { + /> ); } } @@ -467,11 +465,11 @@ class PieChartDonut extends React.Component { size={400} innerHoleSize={200} data={[ - { key: 'A', value: 100, color: '#aaac84' }, - { key: 'B', value: 200, color: '#dce7c5' }, - { key: 'C', value: 50, color: '#e3a51a' } + { key: "A", value: 100, color: "#aaac84" }, + { key: "B", value: 200, color: "#dce7c5" }, + { key: "C", value: 50, color: "#e3a51a" }, ]} - /> + /> ); } } @@ -482,11 +480,11 @@ class PieChartPadding extends React.Component { + /> ); } } @@ -497,17 +495,17 @@ class PieChartLabels extends React.Component {

    rt_text': { - fontSize: '1em', - fill: '#fff' - } + "
    rt_text": { + fontSize: "1em", + fill: "#fff", + }, }} - /> + /> ); } } @@ -518,36 +516,36 @@ class PieChartStyle extends React.Component { + /> ); } } class PieChartMouseHandlers extends React.Component { - mouseOverHandler(d: any, e: any) { } - mouseMoveHandler(e: any) { } - mouseOutHandler() { } + mouseOverHandler(d: any, e: any) {} + mouseMoveHandler(e: any) {} + mouseOutHandler() {} render(): any { return ( this.setState({})} @@ -555,12 +553,11 @@ class PieChartMouseHandlers extends React.Component { mouseOutHandler={this.mouseOutHandler.bind(this)} mouseMoveHandler={this.mouseMoveHandler.bind(this)} padding={10} - /> + /> ); } } - class LineChartData extends React.Component { render(): any { return ( @@ -569,10 +566,10 @@ class LineChartData extends React.Component { [ { x: 1, y: 20 }, { x: 2, y: 10 }, - { x: 3, y: 25 } - ] + { x: 3, y: 25 }, + ], ]} - /> + /> ); } } @@ -585,14 +582,15 @@ class LineChartData2 extends React.Component { [ { x: 1, y: 20 }, { x: 2, y: 10 }, - { x: 3, y: 25 } - ], [ + { x: 3, y: 25 }, + ], + [ { x: 1, y: 10 }, { x: 2, y: 12 }, - { x: 3, y: 4 } - ] + { x: 3, y: 4 }, + ], ]} - /> + /> ); } } @@ -607,14 +605,15 @@ class LineChartHeightAndWidth extends React.Component { [ { x: 1, y: 20 }, { x: 2, y: 10 }, - { x: 3, y: 25 } - ], [ + { x: 3, y: 25 }, + ], + [ { x: 1, y: 10 }, { x: 2, y: 12 }, - { x: 3, y: 4 } - ] + { x: 3, y: 4 }, + ], ]} - /> + /> ); } } @@ -630,14 +629,15 @@ class LineChartMargin extends React.Component { [ { x: 1, y: 20 }, { x: 2, y: 10 }, - { x: 3, y: 25 } - ], [ + { x: 3, y: 25 }, + ], + [ { x: 1, y: 10 }, { x: 2, y: 12 }, - { x: 3, y: 4 } - ] + { x: 3, y: 4 }, + ], ]} - /> + /> ); } } @@ -653,14 +653,15 @@ class LineChartAxes extends React.Component { [ { x: 1, y: 20 }, { x: 2, y: 10 }, - { x: 3, y: 25 } - ], [ + { x: 3, y: 25 }, + ], + [ { x: 1, y: 10 }, { x: 2, y: 12 }, - { x: 3, y: 4 } - ] + { x: 3, y: 4 }, + ], ]} - /> + /> ); } } @@ -671,21 +672,22 @@ class LineChartAxesLabels extends React.Component { + /> ); } } @@ -695,7 +697,7 @@ class LineChartYAxisOrientation extends React.Component { return ( + /> ); } } @@ -721,22 +724,23 @@ class LineChartInterpolate extends React.Component { + /> ); } } @@ -745,27 +749,28 @@ class LineChartXType extends React.Component { render(): any { return ( + /> ); } } @@ -774,27 +779,28 @@ class LineChartXTypeTime extends React.Component { render(): any { return ( + /> ); } } @@ -803,24 +809,24 @@ class LineChartYTypeText extends React.Component { render(): any { return ( + /> ); } } @@ -829,26 +835,27 @@ class LineChartYTypeTime extends React.Component { render(): any { return ( + /> ); } } @@ -857,27 +864,28 @@ class LineChartGrid extends React.Component { render(): any { return ( + /> ); } } @@ -886,29 +894,30 @@ class LineChartVerticalGrid extends React.Component { render(): any { return ( + /> ); } } @@ -923,7 +932,7 @@ class LineChartDomainRange extends React.Component { margin={{ top: 0, right: 0, bottom: 100, left: 100 }} width={250} height={250} - interpolate={'cardinal'} + interpolate={"cardinal"} data={[ [ { x: 10, y: 25 }, @@ -931,17 +940,18 @@ class LineChartDomainRange extends React.Component { { x: 30, y: 25 }, { x: 40, y: 10 }, { x: 50, y: 12 }, - { x: 60, y: 25 } - ], [ + { x: 60, y: 25 }, + ], + [ { x: 10, y: 40 }, { x: 20, y: 30 }, { x: 30, y: 25 }, { x: 40, y: 60 }, { x: 50, y: 22 }, - { x: 60, y: 9 } - ] + { x: 60, y: 9 }, + ], ]} - /> + /> ); } } @@ -950,28 +960,29 @@ class LineChartTickDisplayFormat extends React.Component { render(): any { return ( + /> ); } } @@ -987,7 +998,7 @@ class LineChartNumberOfTicks extends React.Component { yDomainRange={[0, 100]} width={500} height={250} - interpolate={'cardinal'} + interpolate={"cardinal"} data={[ [ { x: 10, y: 25 }, @@ -995,17 +1006,18 @@ class LineChartNumberOfTicks extends React.Component { { x: 30, y: 25 }, { x: 40, y: 10 }, { x: 50, y: 12 }, - { x: 60, y: 25 } - ], [ + { x: 60, y: 25 }, + ], + [ { x: 10, y: 40 }, { x: 20, y: 30 }, { x: 30, y: 25 }, { x: 40, y: 60 }, { x: 50, y: 22 }, - { x: 60, y: 9 } - ] + { x: 60, y: 9 }, + ], ]} - /> + /> ); } } @@ -1014,30 +1026,31 @@ class LineChartLineColors extends React.Component { render(): any { return ( + /> ); } } @@ -1052,7 +1065,7 @@ class LineChartDataPoints extends React.Component { yDomainRange={[0, 100]} width={500} height={250} - interpolate={'cardinal'} + interpolate={"cardinal"} data={[ [ { x: 10, y: 25 }, @@ -1060,25 +1073,26 @@ class LineChartDataPoints extends React.Component { { x: 30, y: 25 }, { x: 40, y: 10 }, { x: 50, y: 12 }, - { x: 60, y: 25 } - ], [ + { x: 60, y: 25 }, + ], + [ { x: 10, y: 40 }, { x: 20, y: 30 }, { x: 30, y: 25 }, { x: 40, y: 60 }, { x: 50, y: 22 }, - { x: 60, y: 9 } - ] + { x: 60, y: 9 }, + ], ]} - /> + /> ); } } class LineChartMouseEvents extends React.Component { - mouseOverHandler(d: any, e: any) { } - mouseMoveHandler(e: any) { } - mouseOutHandler() { } + mouseOverHandler(d: any, e: any) {} + mouseMoveHandler(e: any) {} + mouseOutHandler() {} render(): any { return ( { } } + clickHandler={() => {}} mouseOverHandler={this.mouseOverHandler} mouseOutHandler={this.mouseOutHandler} mouseMoveHandler={this.mouseMoveHandler} width={700} height={350} - interpolate={'cardinal'} + interpolate={"cardinal"} data={[ [ { x: 10, y: 25 }, @@ -1101,22 +1115,22 @@ class LineChartMouseEvents extends React.Component { { x: 30, y: 25 }, { x: 40, y: 10 }, { x: 50, y: 12 }, - { x: 60, y: 25 } - ], [ + { x: 60, y: 25 }, + ], + [ { x: 10, y: 40 }, { x: 20, y: 30 }, { x: 30, y: 25 }, { x: 40, y: 60 }, { x: 50, y: 22 }, - { x: 60, y: 9 } - ] + { x: 60, y: 9 }, + ], ]} - /> + /> ); } } - class AreaChartData extends React.Component { render(): any { return ( @@ -1125,10 +1139,10 @@ class AreaChartData extends React.Component { [ { x: 1, y: 20 }, { x: 2, y: 10 }, - { x: 3, y: 25 } - ] + { x: 3, y: 25 }, + ], ]} - /> + /> ); } } @@ -1141,14 +1155,15 @@ class AreaChartData2 extends React.Component { [ { x: 1, y: 20 }, { x: 2, y: 10 }, - { x: 3, y: 25 } - ], [ + { x: 3, y: 25 }, + ], + [ { x: 1, y: 10 }, { x: 2, y: 12 }, - { x: 3, y: 4 } - ] + { x: 3, y: 4 }, + ], ]} - /> + /> ); } } @@ -1163,14 +1178,15 @@ class AreaChartHeightAndWidth extends React.Component { [ { x: 1, y: 20 }, { x: 2, y: 10 }, - { x: 3, y: 25 } - ], [ + { x: 3, y: 25 }, + ], + [ { x: 1, y: 10 }, { x: 2, y: 12 }, - { x: 3, y: 4 } - ] + { x: 3, y: 4 }, + ], ]} - /> + /> ); } } @@ -1186,14 +1202,15 @@ class AreaChartMargin extends React.Component { [ { x: 1, y: 20 }, { x: 2, y: 10 }, - { x: 3, y: 25 } - ], [ + { x: 3, y: 25 }, + ], + [ { x: 1, y: 10 }, { x: 2, y: 12 }, - { x: 3, y: 4 } - ] + { x: 3, y: 4 }, + ], ]} - /> + /> ); } } @@ -1209,14 +1226,15 @@ class AreaChartAxes extends React.Component { [ { x: 1, y: 20 }, { x: 2, y: 10 }, - { x: 3, y: 25 } - ], [ + { x: 3, y: 25 }, + ], + [ { x: 1, y: 10 }, { x: 2, y: 12 }, - { x: 3, y: 4 } - ] + { x: 3, y: 4 }, + ], ]} - /> + /> ); } } @@ -1227,21 +1245,22 @@ class AreaChartAxesLabels extends React.Component { + /> ); } } @@ -1251,7 +1270,7 @@ class AreaChartYAxisOrientation extends React.Component { return ( + /> ); } } @@ -1277,22 +1297,23 @@ class AreaChartInterpolate extends React.Component { + /> ); } } @@ -1301,27 +1322,28 @@ class AreaChartAxisType extends React.Component { render(): any { return ( + /> ); } } @@ -1330,27 +1352,28 @@ class AreaChartAxisTypeXTime extends React.Component { render(): any { return ( + /> ); } } @@ -1359,24 +1382,24 @@ class AreaChartYTypeText extends React.Component { render(): any { return ( + /> ); } } @@ -1385,28 +1408,29 @@ class AreaChartGrid extends React.Component { render(): any { return ( + /> ); } } @@ -1415,29 +1439,30 @@ class AreaChartVerticalGrid extends React.Component { render(): any { return ( + /> ); } } @@ -1452,7 +1477,7 @@ class AreaChartDomainRange extends React.Component { margin={{ top: 0, right: 0, bottom: 100, left: 100 }} width={750} height={250} - interpolate={'cardinal'} + interpolate={"cardinal"} data={[ [ { x: 10, y: 25 }, @@ -1460,17 +1485,18 @@ class AreaChartDomainRange extends React.Component { { x: 30, y: 25 }, { x: 40, y: 10 }, { x: 50, y: 12 }, - { x: 60, y: 25 } - ], [ + { x: 60, y: 25 }, + ], + [ { x: 10, y: 40 }, { x: 20, y: 30 }, { x: 30, y: 25 }, { x: 40, y: 60 }, { x: 50, y: 22 }, - { x: 60, y: 9 } - ] + { x: 60, y: 9 }, + ], ]} - /> + /> ); } } @@ -1479,29 +1505,30 @@ class AreaChartTickDisplayFormat extends React.Component { render(): any { return ( + /> ); } } @@ -1510,31 +1537,32 @@ class AreaChartTickNumbers extends React.Component { render(): any { return ( + /> ); } } @@ -1543,144 +1571,141 @@ class AreaChartDataPoints extends React.Component { render(): any { return ( + /> ); } } class AreaChartMouseHandlers extends React.Component { - mouseOverHandler(d: any, e: any) { } - mouseMoveHandler(e: any) { } - mouseOutHandler() { } + mouseOverHandler(d: any, e: any) {} + mouseMoveHandler(e: any) {} + mouseOutHandler() {} render(): any { return ( { } } + clickHandler={(d) => {}} mouseOverHandler={this.mouseOverHandler} mouseOutHandler={this.mouseOutHandler} mouseMoveHandler={this.mouseMoveHandler} - tickTimeDisplayFormat={'%d %m'} - interpolate={'cardinal'} + tickTimeDisplayFormat={"%d %m"} + interpolate={"cardinal"} width={750} height={250} data={[ [ - { x: '1-Jan-15', y: 20 }, - { x: '1-Feb-15', y: 10 }, - { x: '1-Mar-15', y: 33 }, - { x: '1-Apr-15', y: 45 }, - { x: '1-May-15', y: 15 } - ], [ - { x: '1-Jan-15', y: 10 }, - { x: '1-Feb-15', y: 15 }, - { x: '1-Mar-15', y: 13 }, - { x: '1-Apr-15', y: 15 }, - { x: '1-May-15', y: 10 } - ] + { x: "1-Jan-15", y: 20 }, + { x: "1-Feb-15", y: 10 }, + { x: "1-Mar-15", y: 33 }, + { x: "1-Apr-15", y: 45 }, + { x: "1-May-15", y: 15 }, + ], + [ + { x: "1-Jan-15", y: 10 }, + { x: "1-Feb-15", y: 15 }, + { x: "1-Mar-15", y: 13 }, + { x: "1-Apr-15", y: 15 }, + { x: "1-May-15", y: 10 }, + ], ]} - /> + /> ); } } - const data = [ { - type: 'One', + type: "One", x: 1, - y: 5 + y: 5, }, { - type: 'Two', + type: "Two", x: 3, - y: 1 + y: 1, }, { - type: 'Three', + type: "Three", x: 0, - y: 6 + y: 6, }, { - type: 'Four', + type: "Four", x: 5, - y: 2 + y: 2, }, { - type: 'Five', + type: "Five", x: 4, - y: 4 + y: 4, }, { - type: 'Six', + type: "Six", x: 5, - y: 9 + y: 9, }, { - type: 'Seven', + type: "Seven", x: 9, - y: 1 + y: 1, }, { - type: 'Eight', + type: "Eight", x: 5, - y: 6 + y: 6, }, { - type: 'Nine', + type: "Nine", x: 3, - y: 9 + y: 9, }, { - type: 'Ten', + type: "Ten", x: 7, - y: 9 - } + y: 9, + }, ]; class ScatterplotData extends React.Component { render(): any { - return ( - - ); + return ; } } class ScatterplotHeightAndWidth extends React.Component { render(): any { - return ( - - ); + return ; } } @@ -1689,7 +1714,8 @@ class ScatterplotMargin extends React.Component { return ( + margin={{ top: 10, right: 10, bottom: 30, left: 100 }} + /> ); } } @@ -1701,7 +1727,8 @@ class ScatterplotAxes extends React.Component { data={data} axes width={480} - height={270} /> + height={270} + /> ); } } @@ -1713,10 +1740,10 @@ class ScatterplotYAxisOrientation extends React.Component { data={data} axes yAxisOrientRight - axisLabels={{ x: 'My x Axis', y: 'My y Axis' }} + axisLabels={{ x: "My x Axis", y: "My y Axis" }} width={480} height={270} - /> + /> ); } } @@ -1727,10 +1754,10 @@ class ScatterplotAxesLabels extends React.Component { + /> ); } } @@ -1741,11 +1768,11 @@ class ScatterplotDotRadius extends React.Component { + /> ); } } @@ -1753,25 +1780,23 @@ class ScatterplotDotRadius extends React.Component { class ScatterplotConfig extends React.Component { config = [ { - type: 'One', - color: '#ff0000', - stroke: 'blue' + type: "One", + color: "#ff0000", + stroke: "blue", }, { - type: 'Two', - color: '#00ff00', - stroke: 'blue' + type: "Two", + color: "#00ff00", + stroke: "blue", }, { - type: 'Three', - color: '#ffffff', - stroke: 'black' - } + type: "Three", + color: "#ffffff", + stroke: "black", + }, ]; render(): any { - return ( - - ); + return ; } } @@ -1781,12 +1806,12 @@ class ScatterplotGrid extends React.Component { + /> ); } } @@ -1798,85 +1823,82 @@ class ScatterplotVerticalGrid extends React.Component { data={data} axes verticalGrid - axisLabels={{ x: 'My x Axis', y: 'My y Axis' }} + axisLabels={{ x: "My x Axis", y: "My y Axis" }} dotRadius={10} width={480} height={270} grid - /> + /> ); } } class ScatterplotAxisType extends React.Component { - typedData = [ { type: 1, - x: 'Tue', - y: 10 + x: "Tue", + y: 10, }, { type: 1, - x: 'Wed', - y: 20 + x: "Wed", + y: 20, }, { type: 2, - x: 'Tue', - y: 30 + x: "Tue", + y: 30, }, { type: 3, - x: 'Thu', - y: 40 - } + x: "Thu", + y: 40, + }, ]; render(): any { return ( - + /> ); } } class ScatterplotDomainRange extends React.Component { - typedData = [ { type: 1, - x: '1-Jan-15', - y: 10 + x: "1-Jan-15", + y: 10, }, { type: 1, - x: '2-Jan-15', - y: 20 + x: "2-Jan-15", + y: 20, }, { type: 2, - x: '1-Jan-15', - y: 30 + x: "1-Jan-15", + y: 30, }, { type: 2, - x: '2-Jan-15', - y: 30 + x: "2-Jan-15", + y: 30, }, { type: 3, - x: '3-Jan-15', - y: 40 - } + x: "3-Jan-15", + y: 40, + }, ]; render(): any { @@ -1884,29 +1906,28 @@ class ScatterplotDomainRange extends React.Component { + xDomainRange={["31-Dec-14", "4-Jan-15"]} + /> ); } } class ScatterplotMouseEvents extends React.Component { - mouseOverHandler(d: any, e: any) { } - mouseMoveHandler(e: any) { } - mouseOutHandler() { } + mouseOverHandler(d: any, e: any) {} + mouseMoveHandler(e: any) {} + mouseOutHandler() {} render(): any { return ( - { } } - /> + clickHandler={(d) => {}} + /> ); } } - const pieData = [ - { key: 'Cats', value: 100 }, - { key: 'Dogs', value: 200 }, - { key: 'Other', value: 50 } + { key: "Cats", value: 100 }, + { key: "Dogs", value: 200 }, + { key: "Other", value: 50 }, ]; class LegendData extends React.Component { render(): any { - return ( - - ); + return ; } } class LegendHorizontal extends React.Component { render(): any { - return ( - - ); + return ; } } const pieDataCustom = [ - { key: 'Cats', value: 100, color: '#aaac84' }, - { key: 'Dogs', value: 200, color: '#dce7c5' }, - { key: 'Other', value: 50, color: '#e3a51a' } + { key: "Cats", value: 100, color: "#aaac84" }, + { key: "Dogs", value: 200, color: "#dce7c5" }, + { key: "Other", value: 50, color: "#e3a51a" }, ]; const config = [ - { color: '#aaac84' }, - { color: '#dce7c5' }, - { color: '#e3a51a' } + { color: "#aaac84" }, + { color: "#dce7c5" }, + { color: "#e3a51a" }, ]; class LegendConfig extends React.Component { render(): any { - return ( - - ); + return ; } } - /* default component styles */ const defaultStyles = { - '.legend': { - 'list-style': 'none', + ".legend": { + "list-style": "none", margin: 0, - padding: 0 + padding: 0, }, - '.legend li': { - display: 'block', - lineHeight: '24px', - marginRight: '24px', - marginBottom: '6px', - paddingLeft: '24px', - position: 'relative' + ".legend li": { + display: "block", + lineHeight: "24px", + marginRight: "24px", + marginBottom: "6px", + paddingLeft: "24px", + position: "relative", }, - '.legend li.horizontal': { - display: 'inline-block' + ".legend li.horizontal": { + display: "inline-block", + }, + ".legend .icon": { + width: "12px", + height: "12px", + background: "red", + borderRadius: "6px", + position: "absolute", + left: "0", + top: "50%", + marginTop: "-6px", }, - '.legend .icon': { - width: '12px', - height: '12px', - background: 'red', - borderRadius: '6px', - position: 'absolute', - left: '0', - top: '50%', - marginTop: '-6px' - } }; /* example override */ const customStyle = { - '.legend': { - backgroundColor: '#f9f9f9', - border: '1px solid #e5e5e5', - borderRadius: '12px', - fontSize: '0.8em', - maxWidth: '300px', - padding: '12px' - } + ".legend": { + backgroundColor: "#f9f9f9", + border: "1px solid #e5e5e5", + borderRadius: "12px", + fontSize: "0.8em", + maxWidth: "300px", + padding: "12px", + }, }; class LegendStyles extends React.Component { @@ -2011,11 +2024,11 @@ class LegendStyles extends React.Component { return ( + /> ); } } diff --git a/types/react-edit-text/index.d.ts b/types/react-edit-text/index.d.ts index 4fd2673d5de126..1cc436e9d2195f 100644 --- a/types/react-edit-text/index.d.ts +++ b/types/react-edit-text/index.d.ts @@ -3,20 +3,20 @@ // Definitions by: Brian Min // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import * as React from 'react'; +import * as React from "react"; export type inputTextType = - | 'date' - | 'datetime-local' - | 'email' - | 'month' - | 'number' - | 'password' - | 'search' - | 'tel' - | 'text' - | 'url' - | 'week'; + | "date" + | "datetime-local" + | "email" + | "month" + | "number" + | "password" + | "search" + | "tel" + | "text" + | "url" + | "week"; export interface onSaveProps { name: string; diff --git a/types/react-edit-text/react-edit-text-tests.tsx b/types/react-edit-text/react-edit-text-tests.tsx index 3bf801d0b2e697..fb81594f48722f 100644 --- a/types/react-edit-text/react-edit-text-tests.tsx +++ b/types/react-edit-text/react-edit-text-tests.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; -import { EditText, EditTextarea, onSaveProps } from 'react-edit-text'; +import * as React from "react"; +import { EditText, EditTextarea, onSaveProps } from "react-edit-text"; const onSaveTest = ({ name, value, previousValue }: onSaveProps) => { console.log(name + value + previousValue); @@ -10,7 +10,7 @@ const onChangeTest = (event: React.ChangeEvent { - return '$' + value; + return "$" + value; }; const TestEditButton =
    Edit
    ; @@ -41,7 +41,7 @@ const handleBlur = () => { ; ; } />; -; +; ; ; ; diff --git a/types/react-elemental/index.d.ts b/types/react-elemental/index.d.ts index 7aede035704d60..2dd9a786296e68 100644 --- a/types/react-elemental/index.d.ts +++ b/types/react-elemental/index.d.ts @@ -14,11 +14,11 @@ import { InputHTMLAttributes, ReactElement, ReactNode, - TextareaHTMLAttributes -} from 'react'; + TextareaHTMLAttributes, +} from "react"; -export type AlertType = 'info' | 'success' | 'warn' | 'error'; -export type AlertSize = 'alpha' | 'beta'; +export type AlertType = "info" | "success" | "warn" | "error"; +export type AlertSize = "alpha" | "beta"; export interface AlertProps { readonly type?: AlertType | undefined; readonly size?: AlertSize | undefined; @@ -35,7 +35,7 @@ export interface AlertProps { export class Alert extends Component { } -export type ButtonSize = 'alpha' | 'beta' | 'gamma'; +export type ButtonSize = "alpha" | "beta" | "gamma"; export interface ButtonProps extends ButtonHTMLAttributes { readonly color?: string | undefined; readonly size?: ButtonSize | undefined; @@ -101,7 +101,7 @@ export interface LabelProps { */ export const Label: FunctionComponent; -export type LinkType = 'regular' | 'plain' | 'underline'; +export type LinkType = "regular" | "plain" | "underline"; export interface LinkProps extends AnchorHTMLAttributes { readonly type?: LinkType | undefined; readonly ref?: string | undefined; @@ -133,7 +133,7 @@ export interface LoadingBarState { export class LoadingBar extends Component { } -export type ModalSize = 'alpha' | 'beta' | 'gamma'; +export type ModalSize = "alpha" | "beta" | "gamma"; export interface ModalProps { readonly size?: ModalSize | undefined; readonly persistent?: boolean | undefined; @@ -153,7 +153,7 @@ export interface ModalState { export class Modal extends Component { } -export type PulsatorSize = 'alpha' | 'beta' | 'gamma' | 'delta'; +export type PulsatorSize = "alpha" | "beta" | "gamma" | "delta"; export interface PulsatorProps { readonly color?: string | undefined; readonly size?: PulsatorSize | undefined; @@ -172,11 +172,13 @@ export class Pulsator extends Component { } export type RadioGroupProps = HTMLAttributes & { - readonly options?: Array<{ - readonly value: string; - readonly label: string | ReactNode; - readonly disabled?: boolean | undefined; - }> | undefined; + readonly options?: + | Array<{ + readonly value: string; + readonly label: string | ReactNode; + readonly disabled?: boolean | undefined; + }> + | undefined; readonly value?: string | undefined; readonly accentColor?: string | undefined; readonly idleColor?: string | undefined; @@ -192,10 +194,12 @@ export class RadioGroup extends Component { export interface SelectListProps { readonly placeholder?: string | undefined; - readonly options?: Array<{ - readonly label: string; - readonly value: string; - }> | undefined; + readonly options?: + | Array<{ + readonly label: string; + readonly value: string; + }> + | undefined; readonly width?: number | string | undefined; readonly height?: number | undefined; readonly error?: string | undefined; @@ -236,7 +240,7 @@ export interface SpacingProps { */ export const Spacing: FunctionComponent; -export type SpinnerSize = 'alpha' | 'beta' | 'gamma' | 'delta'; +export type SpinnerSize = "alpha" | "beta" | "gamma" | "delta"; export interface SpinnerProps { readonly size?: SpinnerSize | undefined; readonly ringColor?: string | undefined; @@ -253,10 +257,12 @@ export class Spinner extends Component { } export interface TabsProps { - readonly options?: Array<{ - readonly value: string; - readonly label: string | ReactNode; - }> | undefined; + readonly options?: + | Array<{ + readonly value: string; + readonly label: string | ReactNode; + }> + | undefined; readonly value?: string | undefined; readonly secondary?: boolean | undefined; readonly fit?: boolean | undefined; @@ -271,7 +277,7 @@ export interface TabsProps { export class Tabs extends Component { } -export type TagSize = 'alpha' | 'beta'; +export type TagSize = "alpha" | "beta"; export interface TagProps { readonly outlineColor?: string | undefined; readonly backgroundColor?: string | undefined; @@ -454,10 +460,10 @@ export const sizes: { export const spacing: { default: string; - micro: string - tiny: string - small: string - large: string - huge: string + micro: string; + tiny: string; + small: string; + large: string; + huge: string; enormous: string; }; diff --git a/types/react-elemental/react-elemental-tests.tsx b/types/react-elemental/react-elemental-tests.tsx index da34a4630755dd..70a3d4231d3922 100644 --- a/types/react-elemental/react-elemental-tests.tsx +++ b/types/react-elemental/react-elemental-tests.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import * as React from "react"; import { Alert, Button, @@ -20,8 +20,8 @@ import { TextArea, TextField, Toast, - Tooltip -} from 'react-elemental'; + Tooltip, +} from "react-elemental"; class App extends React.Component { handleChange = (key: string) => (value: any) => this.setState({ [key]: value }); @@ -31,53 +31,54 @@ class App extends React.Component { return ( - + ( {option} )} - onChange={this.handleChange('radio-group')} + onChange={this.handleChange("radio-group")} /> Map of Great Britain + value="one" + onChange={this.handleChange("tab")} + /> Lorem ipsum dolor sit amet, consectetur adipiscing elit. - + + Tooltip contents } @@ -87,58 +88,58 @@ class App extends React.Component { Text - - - + + + Use plain links to disable the underline on hover

    extends EventEmitter { readonly provider: P; readonly attributes: AM; - constructor(opts: { provider: P, attributes?: AM | undefined }); + constructor(opts: { provider: P; attributes?: AM | undefined }); /** * Check the user for the given permissions. The method will return * a Promise resolving with a number. If the user has sufficient diff --git a/types/rbac-a/rbac-a-tests.ts b/types/rbac-a/rbac-a-tests.ts index da783a26171cf6..f05e87fee882b6 100644 --- a/types/rbac-a/rbac-a-tests.ts +++ b/types/rbac-a/rbac-a-tests.ts @@ -1,40 +1,37 @@ -import { - Provider, - RBAC, -} from "rbac-a"; +import { Provider, RBAC } from "rbac-a"; -class CustomProvider extends Provider { } +class CustomProvider extends Provider {} const rbac = new RBAC({ - provider: new CustomProvider() + provider: new CustomProvider(), }); const user = "ExampleUser"; -rbac.on('error', (err) => { - console.error('Error while checking $s/%s', err.role, err.user); +rbac.on("error", (err) => { + console.error("Error while checking $s/%s", err.role, err.user); console.error(err.stack); }); -rbac.check(user, 'create').then((allowed) => { +rbac.check(user, "create").then((allowed) => { if (allowed) { - console.log('User can create!'); + console.log("User can create!"); } else { - console.log('User cannot create.'); - console.info('Please contact your system admin for more information'); + console.log("User cannot create."); + console.info("Please contact your system admin for more information"); } }).catch((err) => { - console.error(err && err.stack || err || 'ERROR'); + console.error(err && err.stack || err || "ERROR"); }); // specify attributes arguments -rbac.check(user, 'edit', { time: Date.now() }).then((allowed) => { +rbac.check(user, "edit", { time: Date.now() }).then((allowed) => { if (allowed) { - console.log('User can edit!'); + console.log("User can edit!"); } else { - console.log('User cannot edit.'); - console.info('Please contact your system admin for more information'); + console.log("User cannot edit."); + console.info("Please contact your system admin for more information"); } }).catch((err) => { - console.error(err && err.stack || err || 'ERROR'); + console.error(err && err.stack || err || "ERROR"); }); diff --git a/types/rbush/rbush-tests.ts b/types/rbush/rbush-tests.ts index 8312c8590f199b..b5c2e2693c5bf6 100644 --- a/types/rbush/rbush-tests.ts +++ b/types/rbush/rbush-tests.ts @@ -1,4 +1,4 @@ -import RBush, { BBox } from 'rbush'; +import RBush, { BBox } from "rbush"; interface IndexedRect extends BBox { index: number; diff --git a/types/rbush/v2/index.d.ts b/types/rbush/v2/index.d.ts index 993a2630f6af92..17d2b6d8126705 100644 --- a/types/rbush/v2/index.d.ts +++ b/types/rbush/v2/index.d.ts @@ -4,108 +4,108 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare namespace rbush { - export interface BBox { - minX: number; - minY: number; - maxX: number; - maxY: number; - } + export interface BBox { + minX: number; + minY: number; + maxX: number; + maxY: number; + } - export interface RBush { - /** - * Insert an item. To insert many items, use load(). - */ - insert(item: T): RBush; + export interface RBush { + /** + * Insert an item. To insert many items, use load(). + */ + insert(item: T): RBush; - /** - * Bulk-insert the given data into the tree. - * - * Bulk insertion is usually ~2-3 times faster than inserting items one by one. - * After bulk loading (bulk insertion into an empty tree), subsequent query - * performance is also ~20-30% better. - * - * Note that when you do bulk insertion into an existing tree, it bulk-loads - * the given data into a separate tree and inserts the smaller tree into the - * larger tree. This means that bulk insertion works very well for clustered - * data (where items in one update are close to each other), but makes query - * performance worse if the data is scattered. - */ - load(items: T[]): RBush; + /** + * Bulk-insert the given data into the tree. + * + * Bulk insertion is usually ~2-3 times faster than inserting items one by one. + * After bulk loading (bulk insertion into an empty tree), subsequent query + * performance is also ~20-30% better. + * + * Note that when you do bulk insertion into an existing tree, it bulk-loads + * the given data into a separate tree and inserts the smaller tree into the + * larger tree. This means that bulk insertion works very well for clustered + * data (where items in one update are close to each other), but makes query + * performance worse if the data is scattered. + */ + load(items: T[]): RBush; - /** - * Remove a previously inserted item. - * - * By default, RBush removes objects by reference. However, you can pass a - * custom equals function to compare by value for removal, which is useful - * when you only have a copy of the object you need removed (e.g. loaded - * from server). - */ - remove(item: T, equals?: (a: T, b: T) => boolean): RBush; + /** + * Remove a previously inserted item. + * + * By default, RBush removes objects by reference. However, you can pass a + * custom equals function to compare by value for removal, which is useful + * when you only have a copy of the object you need removed (e.g. loaded + * from server). + */ + remove(item: T, equals?: (a: T, b: T) => boolean): RBush; - /** Remove all items */ - clear(): RBush; + /** Remove all items */ + clear(): RBush; - /** - * Returns an array of data items (points or rectangles) that the given - * bounding box intersects. - * - * Note that the search method accepts a bounding box in {minX, minY, maxX, maxY} - * format regardless of the format specified in the constructor (which only - * affects inserted objects). - */ - search(bbox: BBox): T[]; + /** + * Returns an array of data items (points or rectangles) that the given + * bounding box intersects. + * + * Note that the search method accepts a bounding box in {minX, minY, maxX, maxY} + * format regardless of the format specified in the constructor (which only + * affects inserted objects). + */ + search(bbox: BBox): T[]; - /** Returns all items of the tree. */ - all(): T[]; + /** Returns all items of the tree. */ + all(): T[]; - /** - * Returns true if there are any items intersecting the given bounding box, - * otherwise false. - */ - collides(bbox: BBox): boolean; + /** + * Returns true if there are any items intersecting the given bounding box, + * otherwise false. + */ + collides(bbox: BBox): boolean; - /** - * Export data as JSON object. - * - * Importing and exporting as JSON allows you to use RBush on both the server - * (using Node.js) and the browser combined, e.g. first indexing the data on - * the server and and then importing the resulting tree data on the client - * for searching. - * - * Note that the nodeSize option passed to the constructor must be the same - * in both trees for export/import to work properly. - */ - toJSON(): any; + /** + * Export data as JSON object. + * + * Importing and exporting as JSON allows you to use RBush on both the server + * (using Node.js) and the browser combined, e.g. first indexing the data on + * the server and and then importing the resulting tree data on the client + * for searching. + * + * Note that the nodeSize option passed to the constructor must be the same + * in both trees for export/import to work properly. + */ + toJSON(): any; - /** - * Import previously exported data. - * - * Importing and exporting as JSON allows you to use RBush on both the server - * (using Node.js) and the browser combined, e.g. first indexing the data on - * the server and and then importing the resulting tree data on the client - * for searching. - * - * Note that the nodeSize option passed to the constructor must be the same - * in both trees for export/import to work properly. - */ - fromJSON(data: any): RBush; - } + /** + * Import previously exported data. + * + * Importing and exporting as JSON allows you to use RBush on both the server + * (using Node.js) and the browser combined, e.g. first indexing the data on + * the server and and then importing the resulting tree data on the client + * for searching. + * + * Note that the nodeSize option passed to the constructor must be the same + * in both trees for export/import to work properly. + */ + fromJSON(data: any): RBush; + } - interface IRBush { - /** - * Create a spatial index. - * - * An optional argument to rbush defines the maximum number of entries in a tree node. - * 9 (used by default) is a reasonable choice for most applications. Higher value means\ - * faster insertion and slower search, and vice versa. - */ - (nodeSize?: number): RBush; - (nodeSize: number, formatter: string[]): RBush; - } + interface IRBush { + /** + * Create a spatial index. + * + * An optional argument to rbush defines the maximum number of entries in a tree node. + * 9 (used by default) is a reasonable choice for most applications. Higher value means\ + * faster insertion and slower search, and vice versa. + */ + (nodeSize?: number): RBush; + (nodeSize: number, formatter: string[]): RBush; + } } // eslint-disable-next-line @definitelytyped/no-declare-current-package -declare module 'rbush' { - const temp: rbush.IRBush; - export = temp; +declare module "rbush" { + const temp: rbush.IRBush; + export = temp; } diff --git a/types/rbush/v2/rbush-tests.ts b/types/rbush/v2/rbush-tests.ts index 6b6be436a90547..ac2fb2eb007f5f 100644 --- a/types/rbush/v2/rbush-tests.ts +++ b/types/rbush/v2/rbush-tests.ts @@ -1,39 +1,39 @@ -import rbush = require('rbush'); +import rbush = require("rbush"); interface IndexedRect extends rbush.BBox { - index: number; + index: number; } function test_rbush() { - const index = rbush(); + const index = rbush(); - index - .clear() - .insert({ - minX: 0, - minY: 0, - maxX: 10, - maxY: 10, - index: 0, - }); + index + .clear() + .insert({ + minX: 0, + minY: 0, + maxX: 10, + maxY: 10, + index: 0, + }); - index.all(); - index.fromJSON(index.toJSON()); + index.all(); + index.fromJSON(index.toJSON()); - index.search({ - minX: 5, - maxX: 15, - minY: 5, - maxY: 11, - }); + index.search({ + minX: 5, + maxX: 15, + minY: 5, + maxY: 11, + }); - index.load([ - { - minX: 0, - minY: 0, - maxX: 10, - maxY: 10, - index: 0, - } - ]); + index.load([ + { + minX: 0, + minY: 0, + maxX: 10, + maxY: 10, + index: 0, + }, + ]); } diff --git a/types/rc-easyui/index.d.ts b/types/rc-easyui/index.d.ts index 7a019a5b5fccf5..9dc4c2ea0a29d4 100644 --- a/types/rc-easyui/index.d.ts +++ b/types/rc-easyui/index.d.ts @@ -4,9 +4,9 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /** Declaration file generated by dts-gen */ -import * as React from 'react'; +import * as React from "react"; -export class Accordion extends React.Component { +export class Accordion extends React.Component { constructor(e: any); accordionClasses(): any; @@ -46,7 +46,7 @@ export class Accordion extends React.Component { unselect(e: any): void; } -export class AccordionPanel extends React.Component { +export class AccordionPanel extends React.Component { constructor(e: any); bodyClasses(): any; @@ -74,16 +74,17 @@ export class AccordionPanel extends React.Component { unselect(): void; } -export class ButtonGroup extends React.Component { +export class ButtonGroup extends React.Component { constructor(e: any); render(): any; static defaultProps: { - selectionMode: string; }; + selectionMode: string; + }; } -export class Calendar extends React.Component { +export class Calendar extends React.Component { constructor(e: any); componentDidMount(): void; @@ -141,7 +142,7 @@ export class Calendar extends React.Component { toDate(e: any): any; } -export class CheckBox extends React.Component { +export class CheckBox extends React.Component { constructor(e: any); checkClasses(): any; @@ -163,7 +164,7 @@ export class CheckBox extends React.Component { wrapperClasses(): any; } -export class ComboBox extends React.Component { +export class ComboBox extends React.Component { constructor(e: any); blur(): void; @@ -213,7 +214,7 @@ export class ComboBox extends React.Component { updateText(e: any): void; } -export class ComboGrid extends React.Component { +export class ComboGrid extends React.Component { constructor(e: any); blur(): void; @@ -241,7 +242,7 @@ export class ComboGrid extends React.Component { updateText(): void; } -export class ComboTree extends React.Component { +export class ComboTree extends React.Component { constructor(e: any); blur(): void; @@ -271,7 +272,7 @@ export class ComboTree extends React.Component { updateText(): void; } -export class DataGrid extends React.Component { +export class DataGrid extends React.Component { constructor(e: any); collapseGroup(e: any): void; @@ -315,7 +316,7 @@ export class DataGrid extends React.Component { viewComponent(): any; } -export class DataList extends React.Component { +export class DataList extends React.Component { constructor(...args: any[]); container(): any; @@ -359,7 +360,7 @@ export class DataList extends React.Component { virtualItemStyle(): any; } -export class DateBox extends React.Component { +export class DateBox extends React.Component { constructor(...args: any[]); blur(): void; @@ -393,7 +394,7 @@ export class DateBox extends React.Component { text(): any; } -export class Dialog extends React.Component { +export class Dialog extends React.Component { constructor(e: any); bodyClasses(): any; @@ -461,7 +462,7 @@ export class Draggable { showProxy(): any; } -export class DraggableProxy extends React.Component { +export class DraggableProxy extends React.Component { constructor(e: any); componentDidMount(): void; @@ -479,7 +480,7 @@ export class DraggableProxy extends React.Component { render(): any; } -export class Droppable extends React.Component { +export class Droppable extends React.Component { constructor(...args: any[]); componentDidMount(): void; @@ -491,7 +492,7 @@ export class Droppable extends React.Component { render(): any; } -export class FieldBase extends React.Component { +export class FieldBase extends React.Component { constructor(e: any); componentDidMount(): void; @@ -508,10 +509,11 @@ export class FieldBase extends React.Component { invalid: boolean; validateOnBlur: boolean; validateOnChange: boolean; - validateOnCreate: boolean; }; + validateOnCreate: boolean; + }; } -export class FileButton extends React.Component { +export class FileButton extends React.Component { constructor(...args: any[]); clear(): void; @@ -529,7 +531,7 @@ export class FileButton extends React.Component { static fileId: number; } -export class Form extends React.Component { +export class Form extends React.Component { constructor(...args: any[]); getChildContext(): any; @@ -539,7 +541,7 @@ export class Form extends React.Component { render(): any; } -export class FormField extends React.Component { +export class FormField extends React.Component { constructor(e: any); render(): any; @@ -555,7 +557,7 @@ export class FormField extends React.Component { static idIndex: number; } -export class GridBase extends React.Component { +export class GridBase extends React.Component { constructor(e: any); addFilterRule(e: any): void; @@ -637,7 +639,7 @@ export class GridBase extends React.Component { viewComponent(): any; } -export class GridColumn extends React.Component { +export class GridColumn extends React.Component { constructor(e: any); componentDidMount(): void; @@ -662,10 +664,11 @@ export class GridColumn extends React.Component { frozen: boolean; order: string; rowspan: number; - sortable: boolean; }; + sortable: boolean; + }; } -export class GridColumnGroup extends React.Component { +export class GridColumnGroup extends React.Component { constructor(e: any); componentDidMount(): void; @@ -680,10 +683,11 @@ export class GridColumnGroup extends React.Component { static defaultProps: { align: string; - frozen: boolean; }; + frozen: boolean; + }; } -export class GridHeaderRow extends React.Component { +export class GridHeaderRow extends React.Component { constructor(e: any); componentDidMount(): void; @@ -697,7 +701,7 @@ export class GridHeaderRow extends React.Component { render(): any; } -export class InputBase extends React.Component { +export class InputBase extends React.Component { constructor(e: any); addonClasses(): any; @@ -737,16 +741,17 @@ export class InputBase extends React.Component { text(): any; } -export class Label extends React.Component { +export class Label extends React.Component { constructor(...args: any[]); render(): any; static defaultProps: { - align: string; }; + align: string; + }; } -export class Layout extends React.Component { +export class Layout extends React.Component { constructor(e: any); changePanels(): void; @@ -778,7 +783,7 @@ export class Layout extends React.Component { updatePaddings(): void; } -export class LayoutPanel extends React.Component { +export class LayoutPanel extends React.Component { constructor(e: any); clickCollapsibleTool(e: any): void; @@ -810,7 +815,7 @@ export class LayoutPanel extends React.Component { render(): any; } -export class LinkButton extends React.Component { +export class LinkButton extends React.Component { constructor(e: any); blur(): void; @@ -850,7 +855,7 @@ export class LocaleBase { t(e: any, ...args: any[]): any; } -export class LocaleProvider extends React.Component { +export class LocaleProvider extends React.Component { constructor(e: any, ...args: any[]); componentDidUpdate(e: any): void; @@ -860,7 +865,7 @@ export class LocaleProvider extends React.Component { render(): any; } -export class MaskedBox extends React.Component { +export class MaskedBox extends React.Component { constructor(...args: any[]); componentDidMount(): void; @@ -884,7 +889,7 @@ export class MaskedBox extends React.Component { seekPrev(e: any): any; } -export class Menu extends React.Component { +export class Menu extends React.Component { constructor(e: any); alignContextMenu(): void; @@ -922,7 +927,7 @@ export class Menu extends React.Component { static zIndex: number; } -export class MenuButton extends React.Component { +export class MenuButton extends React.Component { constructor(e: any); handleClick(e: any): void; @@ -948,7 +953,7 @@ export class MenuButton extends React.Component { showMenu(): void; } -export class MenuItem extends React.Component { +export class MenuItem extends React.Component { constructor(e: any); componentDidUpdate(e: any): void; @@ -968,16 +973,17 @@ export class MenuItem extends React.Component { render(): any; static defaultProps: { - disabled: boolean; }; + disabled: boolean; + }; } -export class MenuSep extends React.Component { +export class MenuSep extends React.Component { constructor(...args: any[]); render(): any; } -export class Messager extends React.Component { +export class Messager extends React.Component { constructor(e: any); alert(e: any): void; @@ -995,10 +1001,11 @@ export class Messager extends React.Component { static defaultProps: { buttons: any[]; defaultCancel: string; - defaultOk: string; }; + defaultOk: string; + }; } -export class NumberBox extends React.Component { +export class NumberBox extends React.Component { constructor(...args: any[]); blur(): void; @@ -1026,7 +1033,7 @@ export class NumberBox extends React.Component { setValue(e: any): void; } -export class Pagination extends React.Component { +export class Pagination extends React.Component { constructor(e: any); adjustPage(): void; @@ -1062,7 +1069,7 @@ export class Pagination extends React.Component { selectPage(e: any): void; } -export class Panel extends React.Component { +export class Panel extends React.Component { constructor(e: any); bodyClasses(): any; @@ -1106,7 +1113,7 @@ export class Panel extends React.Component { toggle(): void; } -export class PasswordBox extends React.Component { +export class PasswordBox extends React.Component { constructor(e: any); componentDidMount(): void; @@ -1124,7 +1131,7 @@ export class PasswordBox extends React.Component { renderOthers(): any; } -export class ProgressBar extends React.Component { +export class ProgressBar extends React.Component { constructor(...args: any[]); barClasses(): any; @@ -1135,10 +1142,11 @@ export class ProgressBar extends React.Component { static defaultProps: { showValue: boolean; - value: number; }; + value: number; + }; } -export class RadioButton extends React.Component { +export class RadioButton extends React.Component { constructor(e: any); componentDidMount(): void; @@ -1160,7 +1168,7 @@ export class RadioButton extends React.Component { wrapperClasses(): any; } -export class Resizable extends React.Component { +export class Resizable extends React.Component { constructor(...args: any[]); componentDidMount(): void; @@ -1172,7 +1180,7 @@ export class Resizable extends React.Component { render(): any; } -export class SearchBox extends React.Component { +export class SearchBox extends React.Component { constructor(e: any); baseClasses(): any; @@ -1200,7 +1208,7 @@ export class SearchBox extends React.Component { setCategory(e: any): void; } -export class SideMenu extends React.Component { +export class SideMenu extends React.Component { constructor(e: any); componentDidMount(): void; @@ -1222,7 +1230,7 @@ export class SideMenu extends React.Component { setData(e: any): void; } -export class Slider extends React.Component { +export class Slider extends React.Component { constructor(e: any); componentDidUpdate(e: any): void; @@ -1262,7 +1270,7 @@ export class Slider extends React.Component { value2pos(e: any): any; } -export class SplitButton extends React.Component { +export class SplitButton extends React.Component { constructor(e: any); handleLineClick(e: any): void; @@ -1274,7 +1282,7 @@ export class SplitButton extends React.Component { renderInners(): any; } -export class SubMenu extends React.Component { +export class SubMenu extends React.Component { constructor(e: any); alignMenu(): void; @@ -1286,7 +1294,7 @@ export class SubMenu extends React.Component { render(): any; } -export class SwitchButton extends React.Component { +export class SwitchButton extends React.Component { constructor(e: any); buttonClasses(): any; @@ -1300,7 +1308,7 @@ export class SwitchButton extends React.Component { setValue(e: any): void; } -export class TabPanel extends React.Component { +export class TabPanel extends React.Component { constructor(e: any); close(): void; @@ -1318,7 +1326,7 @@ export class TabPanel extends React.Component { unselect(): void; } -export class Tabs extends React.Component { +export class Tabs extends React.Component { constructor(e: any); addHis(e: any): void; @@ -1382,7 +1390,7 @@ export class Tabs extends React.Component { unselect(e: any): void; } -export class TagBox extends React.Component { +export class TagBox extends React.Component { constructor(...args: any[]); autoSizeInput(): any; @@ -1420,13 +1428,13 @@ export class TagBox extends React.Component { updateText(e: any): void; } -export class TextBox extends React.Component { +export class TextBox extends React.Component { constructor(...args: any[]); text(): any; } -export class TextEditor extends React.Component { +export class TextEditor extends React.Component { constructor(e: any); baseClasses(): any; @@ -1446,7 +1454,7 @@ export class TextEditor extends React.Component { setValue(e: any): void; } -export class TimePicker extends React.Component { +export class TimePicker extends React.Component { constructor(e: any); handleCloseClick(e: any): void; @@ -1458,7 +1466,7 @@ export class TimePicker extends React.Component { renderPanel(): any; } -export class TimeSpinner extends React.Component { +export class TimeSpinner extends React.Component { constructor(e: any); blur(): void; @@ -1494,7 +1502,7 @@ export class TimeSpinner extends React.Component { text(): any; } -export class Tooltip extends React.Component { +export class Tooltip extends React.Component { constructor(e: any); bindEvents(...args: any[]): void; @@ -1526,7 +1534,7 @@ export class Tooltip extends React.Component { show(): void; } -export class Tree extends React.Component { +export class Tree extends React.Component { constructor(e: any); beginEdit(e: any, ...args: any[]): any; @@ -1558,7 +1566,7 @@ export class Tree extends React.Component { uncheckNode(e: any): void; } -export class TreeGrid extends React.Component { +export class TreeGrid extends React.Component { constructor(...args: any[]); checkRow(e: any): void; @@ -1580,7 +1588,7 @@ export class TreeGrid extends React.Component { viewComponent(): any; } -export class Validation extends React.Component { +export class Validation extends React.Component { constructor(e: any); getChildContext(): any; @@ -1604,7 +1612,7 @@ export class Validation extends React.Component { validateField(e: any, t: any): any; } -export class VirtualScroll extends React.Component { +export class VirtualScroll extends React.Component { constructor(e: any); componentDidMount(): any; @@ -1647,34 +1655,44 @@ export class VirtualScroll extends React.Component { export const filterOperators: { beginwith: { isMatch: any; - text: string; }; + text: string; + }; contains: { isMatch: any; - text: string; }; + text: string; + }; endwith: { isMatch: any; - text: string; }; + text: string; + }; equal: { isMatch: any; - text: string; }; + text: string; + }; greater: { isMatch: any; - text: string; }; + text: string; + }; greaterorequal: { isMatch: any; - text: string; }; + text: string; + }; less: { isMatch: any; - text: string; }; + text: string; + }; lessorequal: { isMatch: any; - text: string; }; + text: string; + }; nofilter: { isMatch: any; - text: string; }; + text: string; + }; notequal: { isMatch: any; - text: string; }; + text: string; + }; }; export function DateTimeSpinner(...args: any[]): any; @@ -3411,7 +3429,8 @@ export namespace DataGrid { notequal: { isMatch: any; text: string; - }; }; + }; + }; const filterPosition: string; @@ -3855,7 +3874,8 @@ export namespace DataList { notequal: { isMatch: any; text: string; - }; }; + }; + }; const filterPosition: string; @@ -5978,7 +5998,8 @@ export namespace GridBase { notequal: { isMatch: any; text: string; - }; }; + }; + }; const filterPosition: string; @@ -7354,7 +7375,8 @@ export namespace MaskedBox { const masks: { "*": string; "9": string; - a: string; }; + a: string; + }; const multiline: boolean; @@ -12389,7 +12411,8 @@ export namespace TreeGrid { notequal: { isMatch: any; text: string; - }; }; + }; + }; const filterPosition: string; diff --git a/types/rc-easyui/rc-easyui-tests.tsx b/types/rc-easyui/rc-easyui-tests.tsx index cb2edb4ff41fad..9875c81c831fba 100644 --- a/types/rc-easyui/rc-easyui-tests.tsx +++ b/types/rc-easyui/rc-easyui-tests.tsx @@ -1,14 +1,14 @@ -import * as React from 'react'; -import * as rcui from 'rc-easyui'; +import * as rcui from "rc-easyui"; +import * as React from "react"; type Element = React.ReactElement; function Dialog(props: {}): Element { - return( + return ( ); } diff --git a/types/rc-switch/index.d.ts b/types/rc-switch/index.d.ts index 1ac25b79a4efe9..c16d0218c393f5 100644 --- a/types/rc-switch/index.d.ts +++ b/types/rc-switch/index.d.ts @@ -5,7 +5,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export interface Props { autoFocus?: boolean | undefined; diff --git a/types/rc-switch/rc-switch-tests.ts b/types/rc-switch/rc-switch-tests.ts index b28ee3a86400cc..843050e40c971b 100644 --- a/types/rc-switch/rc-switch-tests.ts +++ b/types/rc-switch/rc-switch-tests.ts @@ -1,6 +1,6 @@ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import Switch, { Props } from 'rc-switch'; +import Switch, { Props } from "rc-switch"; +import * as React from "react"; +import * as ReactDOM from "react-dom"; /** * Only required props (none) @@ -13,14 +13,14 @@ React.createElement(Switch); React.createElement(Switch, { autoFocus: false, checked: false, - checkedChildren: 'hello', - className: 'switch', + checkedChildren: "hello", + className: "switch", defaultChecked: false, disabled: false, loadingIcon: 0, onChange: console.log, onClick: console.log, - prefixCls: 'rc-', + prefixCls: "rc-", tabIndex: 0, - unCheckedChildren: 'world', + unCheckedChildren: "world", }); diff --git a/types/rc-tooltip/index.d.ts b/types/rc-tooltip/index.d.ts index c4c6075bccf758..b60857132f2b00 100644 --- a/types/rc-tooltip/index.d.ts +++ b/types/rc-tooltip/index.d.ts @@ -7,14 +7,25 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import * as React from 'react'; +import * as React from "react"; export as namespace RCTooltip; declare namespace RCTooltip { export type Trigger = "hover" | "click" | "focus"; - export type Placement = 'left' | 'right' | 'top' | 'bottom' | 'topLeft' | 'topRight' | - 'bottomLeft' | 'bottomRight' | 'rightTop' | 'rightBottom' | 'leftTop'| 'leftBottom'; + export type Placement = + | "left" + | "right" + | "top" + | "bottom" + | "topLeft" + | "topRight" + | "bottomLeft" + | "bottomRight" + | "rightTop" + | "rightBottom" + | "leftTop" + | "leftBottom"; export interface Props { children?: React.ReactNode; diff --git a/types/rc-tooltip/rc-tooltip-tests.tsx b/types/rc-tooltip/rc-tooltip-tests.tsx index 79f6c7979fc2ed..a1c7f48c53e3b7 100644 --- a/types/rc-tooltip/rc-tooltip-tests.tsx +++ b/types/rc-tooltip/rc-tooltip-tests.tsx @@ -1,64 +1,64 @@ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import Tooltip, {RCTooltip} from 'rc-tooltip'; +import Tooltip, { RCTooltip } from "rc-tooltip"; +import * as React from "react"; +import * as ReactDOM from "react-dom"; ReactDOM.render( - tooltip}> - hover + tooltip}> + hover , - document.querySelector('.app') + document.querySelector(".app"), ); ReactDOM.render( - hover + hover , - document.querySelector('.app') + document.querySelector(".app"), ); ReactDOM.render( tooltip} overlayClassName="overlay" mouseEnterDelay={0} mouseLeaveDelay={0.1} - overlayStyle={{color: 'red'}} + overlayStyle={{ color: "red" }} prefixCls="my-" transitionName="cool-transition" - onVisibleChange={() => console.log('visible changed')} - afterVisibleChange={() => console.log('after visible changed')} + onVisibleChange={() => console.log("visible changed")} + afterVisibleChange={() => console.log("after visible changed")} visible defaultVisible - onPopupAlign={(popup, align) => console.log('aligned:', popup, align)} - arrowContent={