@github/browser-support 1.1.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,10 +1,12 @@
1
1
  # browser-support
2
2
 
3
- Polyfills for small new features, plus functions to determine browser feature support.
3
+ This library allows websites to maintain compatibility with older browsers, which do not implement newer features. It does so using [polyfills](https://developer.mozilla.org/en-US/docs/Glossary/Polyfill) for small new features, plus functions to determine if a browser supports a set of features natively or with polyfills.
4
+
5
+ If you would like to see what features the browser you are currently using implements, you [can visit the documentation site](https://github.github.com/browser-support/) which displays a compatibility table that detects which features are natively supported in your browser.
4
6
 
5
7
  ### How is this used on GitHub?
6
8
 
7
- We use all of these polyfills on GitHub.com. We also use the `isSupported()` function to determine if the browser is well supported, unsupported browsers do not send errors or statistics to our backend monitoring.
9
+ We use all of these polyfills on GitHub.com. We also use the `isSupported()` function to determine if the browser meets a minimum set of functionality which we expect, browser that return false from `isSupported()` do not send errors or statistics to our backend monitoring.
8
10
 
9
11
  ## Installation
10
12
 
@@ -0,0 +1,5 @@
1
+ export declare function requestSubmit(this: HTMLFormElement, submitter?: HTMLButtonElement | HTMLInputElement | null): void;
2
+ export declare function isSupported(): boolean;
3
+ export declare function isPolyfilled(): boolean;
4
+ export declare function apply(): void;
5
+ //# sourceMappingURL=form-requestsubmit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-requestsubmit.d.ts","sourceRoot":"","sources":["../src/form-requestsubmit.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAC3B,IAAI,EAAE,eAAe,EACrB,SAAS,GAAE,iBAAiB,GAAG,gBAAgB,GAAG,IAAW,GAC5D,IAAI,CAcN;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,KAAK,IAAI,IAAI,CAI5B"}
@@ -0,0 +1,27 @@
1
+ export function requestSubmit(submitter = null) {
2
+ const event = new SubmitEvent('submit', { bubbles: true, cancelable: true, submitter });
3
+ let input;
4
+ if (submitter && submitter.name) {
5
+ input = Object.assign(document.createElement('input'), {
6
+ type: 'hidden',
7
+ hidden: true,
8
+ name: submitter.name,
9
+ value: submitter.value
10
+ });
11
+ this.append(input);
12
+ }
13
+ this.checkValidity() && !this.dispatchEvent(event) && this.submit();
14
+ input?.remove();
15
+ }
16
+ export function isSupported() {
17
+ return 'requestSubmit' in HTMLFormElement.prototype && typeof HTMLFormElement.prototype.requestSubmit === 'function';
18
+ }
19
+ export function isPolyfilled() {
20
+ return HTMLFormElement.prototype.requestSubmit === requestSubmit;
21
+ }
22
+ export function apply() {
23
+ if (!isSupported()) {
24
+ HTMLFormElement.prototype.requestSubmit = requestSubmit;
25
+ }
26
+ }
27
+ //# sourceMappingURL=form-requestsubmit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-requestsubmit.js","sourceRoot":"","sources":["../src/form-requestsubmit.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAE3B,YAAyD,IAAI;IAE7D,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAA;IACrF,IAAI,KAAK,CAAA;IACT,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE;QAC/B,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;YACrD,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;KACnB;IACD,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAA;IACnE,KAAK,EAAE,MAAM,EAAE,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,eAAe,IAAI,eAAe,CAAC,SAAS,IAAI,OAAO,eAAe,CAAC,SAAS,CAAC,aAAa,KAAK,UAAU,CAAA;AACtH,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,eAAe,CAAC,SAAS,CAAC,aAAa,KAAK,aAAa,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,KAAK;IACnB,IAAI,CAAC,WAAW,EAAE,EAAE;QAClB,eAAe,CAAC,SAAS,CAAC,aAAa,GAAG,aAAa,CAAA;KACxD;AACH,CAAC"}
package/lib/index.d.ts CHANGED
@@ -5,6 +5,7 @@ import * as arrayAt from './arraylike-at.js';
5
5
  import * as cryptoRandomUUID from './crypto-randomuuid.js';
6
6
  import * as elementReplaceChildren from './element-replacechildren.js';
7
7
  import * as eventAbortSignal from './event-abortsignal.js';
8
+ import * as formRequestSubmit from './form-requestsubmit.js';
8
9
  import * as objectHasOwn from './object-hasown.js';
9
10
  import * as promiseAllSettled from './promise-allsettled.js';
10
11
  import * as promiseAny from './promise-any.js';
@@ -19,6 +20,7 @@ export declare const polyfills: {
19
20
  cryptoRandomUUID: typeof cryptoRandomUUID;
20
21
  elementReplaceChildren: typeof elementReplaceChildren;
21
22
  eventAbortSignal: typeof eventAbortSignal;
23
+ formRequestSubmit: typeof formRequestSubmit;
22
24
  objectHasOwn: typeof objectHasOwn;
23
25
  promiseAllSettled: typeof promiseAllSettled;
24
26
  promiseAny: typeof promiseAny;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,kBAAkB,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,sBAAsB,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAE1D,eAAO,MAAM,WAAW,SAuClB,CAAA;AAEN,eAAO,MAAM,SAAS;;;;;;;;;;;;;CAarB,CAAA;AAED,wBAAgB,WAAW,YAO1B;AAED,wBAAgB,YAAY,YAI3B;AAED,wBAAgB,KAAK,SAIpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,kBAAkB,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,sBAAsB,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAE1D,eAAO,MAAM,WAAW,SAuClB,CAAA;AAEN,eAAO,MAAM,SAAS;;;;;;;;;;;;;;CAcrB,CAAA;AAED,wBAAgB,WAAW,YAO1B;AAED,wBAAgB,YAAY,YAI3B;AAED,wBAAgB,KAAK,SAIpB"}
package/lib/index.js CHANGED
@@ -5,6 +5,7 @@ import * as arrayAt from './arraylike-at.js';
5
5
  import * as cryptoRandomUUID from './crypto-randomuuid.js';
6
6
  import * as elementReplaceChildren from './element-replacechildren.js';
7
7
  import * as eventAbortSignal from './event-abortsignal.js';
8
+ import * as formRequestSubmit from './form-requestsubmit.js';
8
9
  import * as objectHasOwn from './object-hasown.js';
9
10
  import * as promiseAllSettled from './promise-allsettled.js';
10
11
  import * as promiseAny from './promise-any.js';
@@ -57,6 +58,7 @@ export const polyfills = {
57
58
  cryptoRandomUUID,
58
59
  elementReplaceChildren,
59
60
  eventAbortSignal,
61
+ formRequestSubmit,
60
62
  objectHasOwn,
61
63
  promiseAllSettled,
62
64
  promiseAny,
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,kBAAkB,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,sBAAsB,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,MAAM,WAAW,GACtB,OAAO,IAAI,KAAK,UAAU;IAC1B,OAAO,mBAAmB,KAAK,UAAU;IACzC,OAAO,IAAI,KAAK,QAAQ;IACxB,OAAO,gBAAgB,KAAK,UAAU;IACtC,OAAO,eAAe,KAAK,UAAU;IACrC,OAAO,SAAS,KAAK,UAAU;IAC/B,OAAO,oBAAoB,KAAK,UAAU;IAC1C,OAAO,cAAc,KAAK,UAAU;IACpC,OAAO,WAAW,KAAK,UAAU;IACjC,OAAO,WAAW,KAAK,UAAU;IACjC,OAAO,cAAc,KAAK,QAAQ;IAClC,OAAO,kBAAkB,KAAK,UAAU;IACxC,OAAO,eAAe,KAAK,UAAU;IACrC,OAAO,WAAW,KAAK,UAAU;IACjC,OAAO,UAAU,KAAK,QAAQ;IAC9B,SAAS,IAAI,QAAQ,CAAC,SAAS;IAC/B,iBAAiB,IAAI,OAAO,CAAC,SAAS;IACtC,SAAS;IACT,aAAa,IAAI,MAAM;IACvB,SAAS,IAAI,KAAK,CAAC,SAAS;IAC5B,SAAS,IAAI,MAAM,CAAC,SAAS;IAC7B,SAAS;IACT,0CAA0C;IAC1C,UAAU,IAAI,MAAM,CAAC,SAAS;IAC9B,SAAS;IACT,mDAAmD;IACnD,oCAAoC;IACpC,SAAS;IACT,4CAA4C;IAC5C,2CAA2C;IAC3C,sCAAsC;IACtC,SAAS;IACT,0CAA0C;IAC1C,4CAA4C;IAC5C,wDAAwD;IACxD,0CAA0C;IAC1C,0DAA0D;IAC1D,mDAAmD;IACnD,IAAI,CAAA;AAEN,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,OAAO;IACP,gBAAgB;IAChB,sBAAsB;IACtB,gBAAgB;IAChB,YAAY;IACZ,iBAAiB;IACjB,UAAU;IACV,mBAAmB;IACnB,gBAAgB;CACjB,CAAA;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,CACL,WAAW;QACX,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACxC,QAAQ,CAAC,WAAW,EAAE,CAAA;QACxB,CAAC,CAAC,CACH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC/C,QAAQ,CAAC,YAAY,EAAE,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,KAAK;IACnB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAC/C,QAAQ,CAAC,KAAK,EAAE,CAAA;KACjB;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,kBAAkB,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,sBAAsB,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,MAAM,WAAW,GACtB,OAAO,IAAI,KAAK,UAAU;IAC1B,OAAO,mBAAmB,KAAK,UAAU;IACzC,OAAO,IAAI,KAAK,QAAQ;IACxB,OAAO,gBAAgB,KAAK,UAAU;IACtC,OAAO,eAAe,KAAK,UAAU;IACrC,OAAO,SAAS,KAAK,UAAU;IAC/B,OAAO,oBAAoB,KAAK,UAAU;IAC1C,OAAO,cAAc,KAAK,UAAU;IACpC,OAAO,WAAW,KAAK,UAAU;IACjC,OAAO,WAAW,KAAK,UAAU;IACjC,OAAO,cAAc,KAAK,QAAQ;IAClC,OAAO,kBAAkB,KAAK,UAAU;IACxC,OAAO,eAAe,KAAK,UAAU;IACrC,OAAO,WAAW,KAAK,UAAU;IACjC,OAAO,UAAU,KAAK,QAAQ;IAC9B,SAAS,IAAI,QAAQ,CAAC,SAAS;IAC/B,iBAAiB,IAAI,OAAO,CAAC,SAAS;IACtC,SAAS;IACT,aAAa,IAAI,MAAM;IACvB,SAAS,IAAI,KAAK,CAAC,SAAS;IAC5B,SAAS,IAAI,MAAM,CAAC,SAAS;IAC7B,SAAS;IACT,0CAA0C;IAC1C,UAAU,IAAI,MAAM,CAAC,SAAS;IAC9B,SAAS;IACT,mDAAmD;IACnD,oCAAoC;IACpC,SAAS;IACT,4CAA4C;IAC5C,2CAA2C;IAC3C,sCAAsC;IACtC,SAAS;IACT,0CAA0C;IAC1C,4CAA4C;IAC5C,wDAAwD;IACxD,0CAA0C;IAC1C,0DAA0D;IAC1D,mDAAmD;IACnD,IAAI,CAAA;AAEN,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,OAAO;IACP,gBAAgB;IAChB,sBAAsB;IACtB,gBAAgB;IAChB,iBAAiB;IACjB,YAAY;IACZ,iBAAiB;IACjB,UAAU;IACV,mBAAmB;IACnB,gBAAgB;CACjB,CAAA;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,CACL,WAAW;QACX,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACxC,QAAQ,CAAC,WAAW,EAAE,CAAA;QACxB,CAAC,CAAC,CACH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC/C,QAAQ,CAAC,YAAY,EAAE,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,KAAK;IACnB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAC/C,QAAQ,CAAC,KAAK,EAAE,CAAA;KACjB;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@github/browser-support",
3
- "version": "1.1.2",
3
+ "version": "1.2.0",
4
4
  "description": "Polyfills and Capable Browser detection",
5
5
  "homepage": "https://github.github.io/browser-support",
6
6
  "bugs": {