mirror of
https://github.com/nunocoracao/blowfish.git
synced 2026-01-30 16:31:52 +01:00
config redirect
This commit is contained in:
1
node_modules/.bin/acorn
generated
vendored
Symbolic link
1
node_modules/.bin/acorn
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../acorn/bin/acorn
|
||||
1
node_modules/.bin/cssesc
generated
vendored
Symbolic link
1
node_modules/.bin/cssesc
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../cssesc/bin/cssesc
|
||||
1
node_modules/.bin/csv2json
generated
vendored
Symbolic link
1
node_modules/.bin/csv2json
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../d3-dsv/bin/dsv2json.js
|
||||
1
node_modules/.bin/csv2tsv
generated
vendored
Symbolic link
1
node_modules/.bin/csv2tsv
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../d3-dsv/bin/dsv2dsv.js
|
||||
1
node_modules/.bin/detective
generated
vendored
Symbolic link
1
node_modules/.bin/detective
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../detective/bin/detective.js
|
||||
1
node_modules/.bin/dsv2dsv
generated
vendored
Symbolic link
1
node_modules/.bin/dsv2dsv
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../d3-dsv/bin/dsv2dsv.js
|
||||
1
node_modules/.bin/dsv2json
generated
vendored
Symbolic link
1
node_modules/.bin/dsv2json
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../d3-dsv/bin/dsv2json.js
|
||||
1
node_modules/.bin/json2csv
generated
vendored
Symbolic link
1
node_modules/.bin/json2csv
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../d3-dsv/bin/json2dsv.js
|
||||
1
node_modules/.bin/json2dsv
generated
vendored
Symbolic link
1
node_modules/.bin/json2dsv
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../d3-dsv/bin/json2dsv.js
|
||||
1
node_modules/.bin/json2tsv
generated
vendored
Symbolic link
1
node_modules/.bin/json2tsv
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../d3-dsv/bin/json2dsv.js
|
||||
1
node_modules/.bin/katex
generated
vendored
Symbolic link
1
node_modules/.bin/katex
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../katex/cli.js
|
||||
1
node_modules/.bin/loose-envify
generated
vendored
Symbolic link
1
node_modules/.bin/loose-envify
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../loose-envify/cli.js
|
||||
1
node_modules/.bin/mini-svg-data-uri
generated
vendored
Symbolic link
1
node_modules/.bin/mini-svg-data-uri
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../mini-svg-data-uri/cli.js
|
||||
1
node_modules/.bin/nanoid
generated
vendored
Symbolic link
1
node_modules/.bin/nanoid
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../nanoid/bin/nanoid.cjs
|
||||
1
node_modules/.bin/ncp
generated
vendored
Symbolic link
1
node_modules/.bin/ncp
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../ncp/bin/ncp
|
||||
1
node_modules/.bin/prettier
generated
vendored
Symbolic link
1
node_modules/.bin/prettier
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../prettier/bin-prettier.js
|
||||
1
node_modules/.bin/resolve
generated
vendored
Symbolic link
1
node_modules/.bin/resolve
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../resolve/bin/resolve
|
||||
1
node_modules/.bin/rimraf
generated
vendored
Symbolic link
1
node_modules/.bin/rimraf
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../rimraf/dist/cjs/src/bin.js
|
||||
1
node_modules/.bin/tailwind
generated
vendored
Symbolic link
1
node_modules/.bin/tailwind
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../tailwindcss/lib/cli.js
|
||||
1
node_modules/.bin/tailwindcss
generated
vendored
Symbolic link
1
node_modules/.bin/tailwindcss
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../tailwindcss/lib/cli.js
|
||||
1
node_modules/.bin/tsv2csv
generated
vendored
Symbolic link
1
node_modules/.bin/tsv2csv
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../d3-dsv/bin/dsv2dsv.js
|
||||
1
node_modules/.bin/tsv2json
generated
vendored
Symbolic link
1
node_modules/.bin/tsv2json
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../d3-dsv/bin/dsv2json.js
|
||||
1
node_modules/.bin/ulid
generated
vendored
Symbolic link
1
node_modules/.bin/ulid
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../ulid/bin/cli.js
|
||||
1
node_modules/.bin/uuid
generated
vendored
Symbolic link
1
node_modules/.bin/uuid
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../uuid/dist/bin/uuid
|
||||
1
node_modules/.bin/vendor-copy
generated
vendored
Symbolic link
1
node_modules/.bin/vendor-copy
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../vendor-copy/cli.js
|
||||
1794
node_modules/.package-lock.json
generated
vendored
Normal file
1794
node_modules/.package-lock.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
node_modules/@braintree/sanitize-url/.eslintignore
generated
vendored
Normal file
1
node_modules/@braintree/sanitize-url/.eslintignore
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
dist
|
||||
6
node_modules/@braintree/sanitize-url/.eslintrc
generated
vendored
Normal file
6
node_modules/@braintree/sanitize-url/.eslintrc
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"extends": "braintree/client",
|
||||
"rules": {
|
||||
"no-control-regex": 0
|
||||
}
|
||||
}
|
||||
1
node_modules/@braintree/sanitize-url/.github/CODEOWNERS
generated
vendored
Normal file
1
node_modules/@braintree/sanitize-url/.github/CODEOWNERS
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
* @braintree/team-sdk-js
|
||||
17
node_modules/@braintree/sanitize-url/.github/workflows/ci.yml
generated
vendored
Normal file
17
node_modules/@braintree/sanitize-url/.github/workflows/ci.yml
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
name: "Unit Tests"
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: "Unit Tests on Ubuntu"
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: "14.x"
|
||||
- run: npm install
|
||||
- run: npm test
|
||||
1
node_modules/@braintree/sanitize-url/.nvmrc
generated
vendored
Normal file
1
node_modules/@braintree/sanitize-url/.nvmrc
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
v16
|
||||
2
node_modules/@braintree/sanitize-url/.prettierignore
generated
vendored
Normal file
2
node_modules/@braintree/sanitize-url/.prettierignore
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
*-lock.json
|
||||
dist
|
||||
84
node_modules/@braintree/sanitize-url/CHANGELOG.md
generated
vendored
Normal file
84
node_modules/@braintree/sanitize-url/CHANGELOG.md
generated
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
# 6.0.0
|
||||
|
||||
**Breaking Changes**
|
||||
|
||||
- Decode HTML characters automatically that would result in an XSS vulnerability when rendering links via a server rendered HTML file
|
||||
|
||||
```js
|
||||
// decodes to javacript:alert('XSS')
|
||||
const vulnerableUrl =
|
||||
"javascript:alert('XSS')";
|
||||
|
||||
sanitizeUrl(vulnerableUrl); // 'about:blank'
|
||||
|
||||
const okUrl = "https://example.com/" + vulnerableUrl;
|
||||
|
||||
// since the javascript bit is in the path instead of the protocol
|
||||
// this is successfully sanitized
|
||||
sanitizeUrl(okUrl); // 'https://example.com/javascript:alert('XSS');
|
||||
```
|
||||
|
||||
# 5.0.2
|
||||
|
||||
- Fix issue where certain invisible white space characters were not being sanitized (#35)
|
||||
|
||||
# 5.0.1
|
||||
|
||||
- Fix issue where certain safe characters were being filtered out (#31 thanks @akirchmyer)
|
||||
|
||||
# 5.0.0
|
||||
|
||||
_Breaking Changes_
|
||||
|
||||
- Sanitize vbscript urls (thanks @vicnicius)
|
||||
|
||||
# 4.1.1
|
||||
|
||||
- Fixup path to type declaration (closes #25)
|
||||
|
||||
# 4.1.0
|
||||
|
||||
- Add typescript types
|
||||
|
||||
# CHANGELOG
|
||||
|
||||
## 4.0.1
|
||||
|
||||
- Fix issue where urls with accented characters were incorrectly sanitized
|
||||
|
||||
## 4.0.0
|
||||
|
||||
_Breaking Changes_
|
||||
|
||||
- Protocol-less urls (ie: www.example.com) will be sanitised and passed on instead of sending out `about:blank` (Thanks @chawes13 #18)
|
||||
|
||||
## 3.1.0
|
||||
|
||||
- Trim whitespace from urls
|
||||
|
||||
## 3.0.0
|
||||
|
||||
_breaking changes_
|
||||
|
||||
- Replace blank strings with about:blank
|
||||
- Replace null values with about:blank
|
||||
|
||||
## 2.1.0
|
||||
|
||||
- Allow relative urls to be sanitized
|
||||
|
||||
## 2.0.2
|
||||
|
||||
- Sanitize malicious URLs that begin with `\s`
|
||||
|
||||
## 2.0.1
|
||||
|
||||
- Sanitize malicious URLs that begin with %20
|
||||
|
||||
## 2.0.0
|
||||
|
||||
- sanitize data: urls
|
||||
|
||||
## 1.0.0
|
||||
|
||||
- sanitize javascript: urls
|
||||
21
node_modules/@braintree/sanitize-url/LICENSE
generated
vendored
Normal file
21
node_modules/@braintree/sanitize-url/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017 Braintree
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
29
node_modules/@braintree/sanitize-url/README.md
generated
vendored
Normal file
29
node_modules/@braintree/sanitize-url/README.md
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
# sanitize-url
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
npm install -S @braintree/sanitize-url
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var sanitizeUrl = require("@braintree/sanitize-url").sanitizeUrl;
|
||||
|
||||
sanitizeUrl("https://example.com"); // 'https://example.com'
|
||||
sanitizeUrl("http://example.com"); // 'http://example.com'
|
||||
sanitizeUrl("www.example.com"); // 'www.example.com'
|
||||
sanitizeUrl("mailto:hello@example.com"); // 'mailto:hello@example.com'
|
||||
sanitizeUrl(
|
||||
"https://example.com"
|
||||
); // https://example.com
|
||||
|
||||
sanitizeUrl("javascript:alert(document.domain)"); // 'about:blank'
|
||||
sanitizeUrl("jAvasCrIPT:alert(document.domain)"); // 'about:blank'
|
||||
sanitizeUrl(decodeURIComponent("JaVaScRiP%0at:alert(document.domain)")); // 'about:blank'
|
||||
// HTML encoded javascript:alert('XSS')
|
||||
sanitizeUrl(
|
||||
"javascript:alert('XSS')"
|
||||
); // 'about:blank'
|
||||
```
|
||||
1
node_modules/@braintree/sanitize-url/dist/index.d.ts
generated
vendored
Normal file
1
node_modules/@braintree/sanitize-url/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export declare function sanitizeUrl(url?: string): string;
|
||||
38
node_modules/@braintree/sanitize-url/dist/index.js
generated
vendored
Normal file
38
node_modules/@braintree/sanitize-url/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.sanitizeUrl = void 0;
|
||||
var invalidProtocolRegex = /^([^\w]*)(javascript|data|vbscript)/im;
|
||||
var htmlEntitiesRegex = /&#(\w+)(^\w|;)?/g;
|
||||
var ctrlCharactersRegex = /[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;
|
||||
var urlSchemeRegex = /^([^:]+):/gm;
|
||||
var relativeFirstCharacters = [".", "/"];
|
||||
function isRelativeUrlWithoutProtocol(url) {
|
||||
return relativeFirstCharacters.indexOf(url[0]) > -1;
|
||||
}
|
||||
// adapted from https://stackoverflow.com/a/29824550/2601552
|
||||
function decodeHtmlCharacters(str) {
|
||||
return str.replace(htmlEntitiesRegex, function (match, dec) {
|
||||
return String.fromCharCode(dec);
|
||||
});
|
||||
}
|
||||
function sanitizeUrl(url) {
|
||||
var sanitizedUrl = decodeHtmlCharacters(url || "")
|
||||
.replace(ctrlCharactersRegex, "")
|
||||
.trim();
|
||||
if (!sanitizedUrl) {
|
||||
return "about:blank";
|
||||
}
|
||||
if (isRelativeUrlWithoutProtocol(sanitizedUrl)) {
|
||||
return sanitizedUrl;
|
||||
}
|
||||
var urlSchemeParseResults = sanitizedUrl.match(urlSchemeRegex);
|
||||
if (!urlSchemeParseResults) {
|
||||
return sanitizedUrl;
|
||||
}
|
||||
var urlScheme = urlSchemeParseResults[0];
|
||||
if (invalidProtocolRegex.test(urlScheme)) {
|
||||
return "about:blank";
|
||||
}
|
||||
return sanitizedUrl;
|
||||
}
|
||||
exports.sanitizeUrl = sanitizeUrl;
|
||||
47
node_modules/@braintree/sanitize-url/package.json
generated
vendored
Normal file
47
node_modules/@braintree/sanitize-url/package.json
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"name": "@braintree/sanitize-url",
|
||||
"version": "6.0.0",
|
||||
"description": "A url sanitizer",
|
||||
"main": "dist/index.js",
|
||||
"types": "dist/index.d.ts",
|
||||
"author": "",
|
||||
"scripts": {
|
||||
"prepublishOnly": "npm run build",
|
||||
"prebuild": "prettier --write .",
|
||||
"build": "tsc --declaration",
|
||||
"lint": "eslint --ext js,ts .",
|
||||
"posttest": "npm run lint",
|
||||
"test": "jest"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/braintree/sanitize-url.git"
|
||||
},
|
||||
"keywords": [],
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/braintree/sanitize-url/issues"
|
||||
},
|
||||
"homepage": "https://github.com/braintree/sanitize-url#readme",
|
||||
"devDependencies": {
|
||||
"@types/jest": "^27.4.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.9.0",
|
||||
"chai": "^4.3.4",
|
||||
"eslint": "^8.6.0",
|
||||
"eslint-config-braintree": "^6.0.0-typescript-prep-rc.2",
|
||||
"eslint-plugin-prettier": "^4.0.0",
|
||||
"jest": "^27.4.5",
|
||||
"prettier": "^2.5.1",
|
||||
"ts-jest": "^27.1.2",
|
||||
"typescript": "^4.5.4"
|
||||
},
|
||||
"jest": {
|
||||
"testEnvironment": "jsdom",
|
||||
"preset": "ts-jest",
|
||||
"globals": {
|
||||
"ts-jest": {
|
||||
"tsconfig": "src/__tests__/tsconfig.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
199
node_modules/@braintree/sanitize-url/src/__tests__/test.ts
generated
vendored
Normal file
199
node_modules/@braintree/sanitize-url/src/__tests__/test.ts
generated
vendored
Normal file
@@ -0,0 +1,199 @@
|
||||
/* eslint-disable no-script-url */
|
||||
import { sanitizeUrl } from "..";
|
||||
|
||||
describe("sanitizeUrl", () => {
|
||||
it("does not alter http URLs with alphanumeric characters", () => {
|
||||
expect(sanitizeUrl("http://example.com/path/to:something")).toBe(
|
||||
"http://example.com/path/to:something"
|
||||
);
|
||||
});
|
||||
|
||||
it("does not alter http URLs with ports with alphanumeric characters", () => {
|
||||
expect(sanitizeUrl("http://example.com:4567/path/to:something")).toBe(
|
||||
"http://example.com:4567/path/to:something"
|
||||
);
|
||||
});
|
||||
|
||||
it("does not alter https URLs with alphanumeric characters", () => {
|
||||
expect(sanitizeUrl("https://example.com")).toBe("https://example.com");
|
||||
});
|
||||
|
||||
it("does not alter https URLs with ports with alphanumeric characters", () => {
|
||||
expect(sanitizeUrl("https://example.com:4567/path/to:something")).toBe(
|
||||
"https://example.com:4567/path/to:something"
|
||||
);
|
||||
});
|
||||
|
||||
it("does not alter relative-path reference URLs with alphanumeric characters", () => {
|
||||
expect(sanitizeUrl("./path/to/my.json")).toBe("./path/to/my.json");
|
||||
});
|
||||
|
||||
it("does not alter absolute-path reference URLs with alphanumeric characters", () => {
|
||||
expect(sanitizeUrl("/path/to/my.json")).toBe("/path/to/my.json");
|
||||
});
|
||||
|
||||
it("does not alter protocol-less network-path URLs with alphanumeric characters", () => {
|
||||
expect(sanitizeUrl("//google.com/robots.txt")).toBe(
|
||||
"//google.com/robots.txt"
|
||||
);
|
||||
});
|
||||
|
||||
it("does not alter protocol-less URLs with alphanumeric characters", () => {
|
||||
expect(sanitizeUrl("www.example.com")).toBe("www.example.com");
|
||||
});
|
||||
|
||||
it("does not alter deep-link urls with alphanumeric characters", () => {
|
||||
expect(sanitizeUrl("com.braintreepayments.demo://example")).toBe(
|
||||
"com.braintreepayments.demo://example"
|
||||
);
|
||||
});
|
||||
|
||||
it("does not alter mailto urls with alphanumeric characters", () => {
|
||||
expect(sanitizeUrl("mailto:test@example.com?subject=hello+world")).toBe(
|
||||
"mailto:test@example.com?subject=hello+world"
|
||||
);
|
||||
});
|
||||
|
||||
it("does not alter urls with accented characters", () => {
|
||||
expect(sanitizeUrl("www.example.com/with-áccêntš")).toBe(
|
||||
"www.example.com/with-áccêntš"
|
||||
);
|
||||
});
|
||||
|
||||
it("does not strip harmless unicode characters", () => {
|
||||
expect(sanitizeUrl("www.example.com/лот.рфшишкиü–")).toBe(
|
||||
"www.example.com/лот.рфшишкиü–"
|
||||
);
|
||||
});
|
||||
|
||||
it("strips out ctrl chars", () => {
|
||||
expect(
|
||||
sanitizeUrl("www.example.com/\u200D\u0000\u001F\x00\x1F\uFEFFfoo")
|
||||
).toBe("www.example.com/foo");
|
||||
});
|
||||
|
||||
it("replaces blank urls with about:blank", () => {
|
||||
expect(sanitizeUrl("")).toBe("about:blank");
|
||||
});
|
||||
|
||||
it("replaces null values with about:blank", () => {
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
expect(sanitizeUrl(null)).toBe("about:blank");
|
||||
});
|
||||
|
||||
it("replaces undefined values with about:blank", () => {
|
||||
expect(sanitizeUrl()).toBe("about:blank");
|
||||
});
|
||||
|
||||
it("removes whitespace from urls", () => {
|
||||
expect(sanitizeUrl(" http://example.com/path/to:something ")).toBe(
|
||||
"http://example.com/path/to:something"
|
||||
);
|
||||
});
|
||||
|
||||
it("decodes html entities", () => {
|
||||
// all these decode to javascript:alert('xss');
|
||||
const attackVectors = [
|
||||
"javascript:alert('XSS')",
|
||||
"javascript:alert('XSS')",
|
||||
"javascript:alert('XSS')",
|
||||
"jav	ascript:alert('XSS');",
|
||||
"  javascript:alert('XSS');",
|
||||
];
|
||||
|
||||
attackVectors.forEach((vector) => {
|
||||
expect(sanitizeUrl(vector)).toBe("about:blank");
|
||||
});
|
||||
|
||||
// https://example.com/javascript:alert('XSS')
|
||||
// since the javascript is the url path, and not the protocol,
|
||||
// this url is technically sanitized
|
||||
expect(
|
||||
sanitizeUrl(
|
||||
"https://example.com/javascript:alert('XSS')"
|
||||
)
|
||||
).toBe("https://example.com/javascript:alert('XSS')");
|
||||
});
|
||||
|
||||
describe("invalid protocols", () => {
|
||||
describe.each(["javascript", "data", "vbscript"])("%s", (protocol) => {
|
||||
it(`replaces ${protocol} urls with about:blank`, () => {
|
||||
expect(sanitizeUrl(`${protocol}:alert(document.domain)`)).toBe(
|
||||
"about:blank"
|
||||
);
|
||||
});
|
||||
|
||||
it(`allows ${protocol} urls that start with a letter prefix`, () => {
|
||||
expect(sanitizeUrl(`not_${protocol}:alert(document.domain)`)).toBe(
|
||||
`not_${protocol}:alert(document.domain)`
|
||||
);
|
||||
});
|
||||
|
||||
it(`disallows ${protocol} urls that start with non-\w characters as a suffix for the protocol`, () => {
|
||||
expect(sanitizeUrl(`&!*${protocol}:alert(document.domain)`)).toBe(
|
||||
"about:blank"
|
||||
);
|
||||
});
|
||||
|
||||
it(`disregards capitalization for ${protocol} urls`, () => {
|
||||
// upper case every other letter in protocol name
|
||||
const mixedCapitalizationProtocol = protocol
|
||||
.split("")
|
||||
.map((character, index) => {
|
||||
if (index % 2 === 0) {
|
||||
return character.toUpperCase();
|
||||
}
|
||||
return character;
|
||||
})
|
||||
.join("");
|
||||
|
||||
expect(
|
||||
sanitizeUrl(`${mixedCapitalizationProtocol}:alert(document.domain)`)
|
||||
).toBe("about:blank");
|
||||
});
|
||||
|
||||
it(`ignores invisible ctrl characters in ${protocol} urls`, () => {
|
||||
const protocolWithControlCharacters = protocol
|
||||
.split("")
|
||||
.map((character, index) => {
|
||||
if (index === 1) {
|
||||
return character + "%EF%BB%BF%EF%BB%BF";
|
||||
} else if (index === 2) {
|
||||
return character + "%e2%80%8b";
|
||||
}
|
||||
return character;
|
||||
})
|
||||
.join("");
|
||||
|
||||
expect(
|
||||
sanitizeUrl(
|
||||
decodeURIComponent(
|
||||
`${protocolWithControlCharacters}:alert(document.domain)`
|
||||
)
|
||||
)
|
||||
).toBe("about:blank");
|
||||
});
|
||||
|
||||
it(`replaces ${protocol} urls with about:blank when url begins with %20`, () => {
|
||||
expect(
|
||||
sanitizeUrl(
|
||||
decodeURIComponent(`%20%20%20%20${protocol}:alert(document.domain)`)
|
||||
)
|
||||
).toBe("about:blank");
|
||||
});
|
||||
|
||||
it(`replaces ${protocol} urls with about:blank when ${protocol} url begins with spaces`, () => {
|
||||
expect(sanitizeUrl(` ${protocol}:alert(document.domain)`)).toBe(
|
||||
"about:blank"
|
||||
);
|
||||
});
|
||||
|
||||
it(`does not replace ${protocol}: if it is not in the scheme of the URL`, () => {
|
||||
expect(sanitizeUrl(`http://example.com#${protocol}:foo`)).toBe(
|
||||
`http://example.com#${protocol}:foo`
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
5
node_modules/@braintree/sanitize-url/src/__tests__/tsconfig.json
generated
vendored
Normal file
5
node_modules/@braintree/sanitize-url/src/__tests__/tsconfig.json
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"strict": false
|
||||
}
|
||||
}
|
||||
45
node_modules/@braintree/sanitize-url/src/index.ts
generated
vendored
Normal file
45
node_modules/@braintree/sanitize-url/src/index.ts
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
const invalidProtocolRegex = /^([^\w]*)(javascript|data|vbscript)/im;
|
||||
const htmlEntitiesRegex = /&#(\w+)(^\w|;)?/g;
|
||||
const ctrlCharactersRegex =
|
||||
/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;
|
||||
const urlSchemeRegex = /^([^:]+):/gm;
|
||||
const relativeFirstCharacters = [".", "/"];
|
||||
|
||||
function isRelativeUrlWithoutProtocol(url: string): boolean {
|
||||
return relativeFirstCharacters.indexOf(url[0]) > -1;
|
||||
}
|
||||
|
||||
// adapted from https://stackoverflow.com/a/29824550/2601552
|
||||
function decodeHtmlCharacters(str: string) {
|
||||
return str.replace(htmlEntitiesRegex, (match, dec) => {
|
||||
return String.fromCharCode(dec);
|
||||
});
|
||||
}
|
||||
|
||||
export function sanitizeUrl(url?: string): string {
|
||||
const sanitizedUrl = decodeHtmlCharacters(url || "")
|
||||
.replace(ctrlCharactersRegex, "")
|
||||
.trim();
|
||||
|
||||
if (!sanitizedUrl) {
|
||||
return "about:blank";
|
||||
}
|
||||
|
||||
if (isRelativeUrlWithoutProtocol(sanitizedUrl)) {
|
||||
return sanitizedUrl;
|
||||
}
|
||||
|
||||
const urlSchemeParseResults = sanitizedUrl.match(urlSchemeRegex);
|
||||
|
||||
if (!urlSchemeParseResults) {
|
||||
return sanitizedUrl;
|
||||
}
|
||||
|
||||
const urlScheme = urlSchemeParseResults[0];
|
||||
|
||||
if (invalidProtocolRegex.test(urlScheme)) {
|
||||
return "about:blank";
|
||||
}
|
||||
|
||||
return sanitizedUrl;
|
||||
}
|
||||
11
node_modules/@braintree/sanitize-url/tsconfig.json
generated
vendored
Normal file
11
node_modules/@braintree/sanitize-url/tsconfig.json
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"outDir": "./dist",
|
||||
"allowJs": true,
|
||||
"strict": true,
|
||||
"target": "es5",
|
||||
"lib": ["es2015", "dom"]
|
||||
},
|
||||
"include": ["./src/**/*"],
|
||||
"exclude": ["**/__tests__/*"]
|
||||
}
|
||||
34
node_modules/@headlessui/react/README.md
generated
vendored
Normal file
34
node_modules/@headlessui/react/README.md
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
<h3 align="center">
|
||||
@headlessui/react
|
||||
</h3>
|
||||
|
||||
<p align="center">
|
||||
A set of completely unstyled, fully accessible UI components for React, designed to integrate
|
||||
beautifully with Tailwind CSS.
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.npmjs.com/package/@headlessui/react"><img src="https://img.shields.io/npm/dt/@headlessui/react.svg" alt="Total Downloads"></a>
|
||||
<a href="https://github.com/tailwindlabs/headlessui/releases"><img src="https://img.shields.io/npm/v/@headlessui/react.svg" alt="Latest Release"></a>
|
||||
<a href="https://github.com/tailwindlabs/headlessui/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/@headlessui/react.svg" alt="License"></a>
|
||||
</p>
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
npm install @headlessui/react
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
For full documentation, visit [headlessui.dev](https://headlessui.dev/react/menu).
|
||||
|
||||
## Community
|
||||
|
||||
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
|
||||
|
||||
[Discuss Headless UI on GitHub](https://github.com/tailwindlabs/headlessui/discussions)
|
||||
|
||||
For casual chit-chat with others using the library:
|
||||
|
||||
[Join the Tailwind CSS Discord Server](https://discord.gg/7NF8GNe)
|
||||
118
node_modules/@headlessui/react/dist/components/combobox/combobox.d.ts
generated
vendored
Normal file
118
node_modules/@headlessui/react/dist/components/combobox/combobox.d.ts
generated
vendored
Normal file
@@ -0,0 +1,118 @@
|
||||
import React, { ElementType, Ref } from 'react';
|
||||
import { ByComparator, EnsureArray, Expand, Props } from '../../types.js';
|
||||
import { PropsForFeatures } from '../../utils/render.js';
|
||||
declare let DEFAULT_COMBOBOX_TAG: React.ExoticComponent<{
|
||||
children?: React.ReactNode;
|
||||
}>;
|
||||
interface ComboboxRenderPropArg<T> {
|
||||
open: boolean;
|
||||
disabled: boolean;
|
||||
activeIndex: number | null;
|
||||
activeOption: T | null;
|
||||
value: T;
|
||||
}
|
||||
declare type O = 'value' | 'defaultValue' | 'nullable' | 'multiple' | 'onChange' | 'by';
|
||||
declare type ComboboxValueProps<TValue, TNullable extends boolean | undefined, TMultiple extends boolean | undefined, TTag extends ElementType> = Extract<({
|
||||
value?: EnsureArray<TValue>;
|
||||
defaultValue?: EnsureArray<TValue>;
|
||||
nullable: true;
|
||||
multiple: true;
|
||||
onChange?(value: EnsureArray<TValue>): void;
|
||||
by?: ByComparator<TValue>;
|
||||
} & Props<TTag, ComboboxRenderPropArg<EnsureArray<TValue>>, O>) | ({
|
||||
value?: TValue | null;
|
||||
defaultValue?: TValue | null;
|
||||
nullable: true;
|
||||
multiple?: false;
|
||||
onChange?(value: TValue | null): void;
|
||||
by?: ByComparator<TValue | null>;
|
||||
} & Expand<Props<TTag, ComboboxRenderPropArg<TValue | null>, O>>) | ({
|
||||
value?: EnsureArray<TValue>;
|
||||
defaultValue?: EnsureArray<TValue>;
|
||||
nullable?: false;
|
||||
multiple: true;
|
||||
onChange?(value: EnsureArray<TValue>): void;
|
||||
by?: ByComparator<TValue extends Array<infer U> ? U : TValue>;
|
||||
} & Expand<Props<TTag, ComboboxRenderPropArg<EnsureArray<TValue>>, O>>) | ({
|
||||
value?: TValue;
|
||||
nullable?: false;
|
||||
multiple?: false;
|
||||
defaultValue?: TValue;
|
||||
onChange?(value: TValue): void;
|
||||
by?: ByComparator<TValue>;
|
||||
} & Props<TTag, ComboboxRenderPropArg<TValue>, O>), {
|
||||
nullable?: TNullable;
|
||||
multiple?: TMultiple;
|
||||
}>;
|
||||
declare type ComboboxProps<TValue, TNullable extends boolean | undefined, TMultiple extends boolean | undefined, TTag extends ElementType> = ComboboxValueProps<TValue, TNullable, TMultiple, TTag> & {
|
||||
disabled?: boolean;
|
||||
__demoMode?: boolean;
|
||||
name?: string;
|
||||
};
|
||||
declare function ComboboxFn<TValue, TTag extends ElementType = typeof DEFAULT_COMBOBOX_TAG>(props: ComboboxProps<TValue, true, true, TTag>, ref: Ref<TTag>): JSX.Element;
|
||||
declare function ComboboxFn<TValue, TTag extends ElementType = typeof DEFAULT_COMBOBOX_TAG>(props: ComboboxProps<TValue, true, false, TTag>, ref: Ref<TTag>): JSX.Element;
|
||||
declare function ComboboxFn<TValue, TTag extends ElementType = typeof DEFAULT_COMBOBOX_TAG>(props: ComboboxProps<TValue, false, false, TTag>, ref: Ref<TTag>): JSX.Element;
|
||||
declare function ComboboxFn<TValue, TTag extends ElementType = typeof DEFAULT_COMBOBOX_TAG>(props: ComboboxProps<TValue, false, true, TTag>, ref: Ref<TTag>): JSX.Element;
|
||||
interface InputRenderPropArg {
|
||||
open: boolean;
|
||||
disabled: boolean;
|
||||
}
|
||||
declare type InputPropsWeControl = 'role' | 'aria-labelledby' | 'aria-expanded' | 'aria-activedescendant' | 'onKeyDown' | 'onChange' | 'displayValue';
|
||||
interface ButtonRenderPropArg {
|
||||
open: boolean;
|
||||
disabled: boolean;
|
||||
value: any;
|
||||
}
|
||||
declare type ButtonPropsWeControl = 'type' | 'tabIndex' | 'aria-haspopup' | 'aria-controls' | 'aria-expanded' | 'aria-labelledby' | 'disabled' | 'onClick' | 'onKeyDown';
|
||||
interface LabelRenderPropArg {
|
||||
open: boolean;
|
||||
disabled: boolean;
|
||||
}
|
||||
declare type LabelPropsWeControl = 'ref' | 'onClick';
|
||||
interface OptionsRenderPropArg {
|
||||
open: boolean;
|
||||
}
|
||||
declare type OptionsPropsWeControl = 'aria-activedescendant' | 'aria-labelledby' | 'hold' | 'onKeyDown' | 'role' | 'tabIndex';
|
||||
declare let OptionsRenderFeatures: number;
|
||||
interface OptionRenderPropArg {
|
||||
active: boolean;
|
||||
selected: boolean;
|
||||
disabled: boolean;
|
||||
}
|
||||
declare type ComboboxOptionPropsWeControl = 'role' | 'tabIndex' | 'aria-disabled' | 'aria-selected';
|
||||
export declare let Combobox: typeof ComboboxFn & {
|
||||
displayName: string;
|
||||
} & {
|
||||
Input: (<TTag extends React.ElementType<any> = "input", TType = {}[] | undefined>(props: Props<TTag, InputRenderPropArg, InputPropsWeControl> & {
|
||||
displayValue?(item: TType): string;
|
||||
onChange(event: React.ChangeEvent<HTMLInputElement>): void;
|
||||
}, ref: Ref<HTMLInputElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Button: (<TTag_1 extends React.ElementType<any> = "button">(props: Props<TTag_1, ButtonRenderPropArg, ButtonPropsWeControl>, ref: Ref<HTMLButtonElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Label: (<TTag_2 extends React.ElementType<any> = "label">(props: Props<TTag_2, LabelRenderPropArg, LabelPropsWeControl>, ref: Ref<HTMLLabelElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Options: (<TTag_3 extends React.ElementType<any> = "ul">(props: Props<TTag_3, OptionsRenderPropArg, OptionsPropsWeControl> & (({
|
||||
static?: undefined;
|
||||
} & {
|
||||
unmount?: boolean | undefined;
|
||||
}) | ({
|
||||
unmount?: undefined;
|
||||
} & {
|
||||
static?: boolean | undefined;
|
||||
})) & {
|
||||
hold?: boolean | undefined;
|
||||
}, ref: Ref<HTMLUListElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Option: (<TTag_4 extends React.ElementType<any> = "li", TType_1 = {}[] | undefined>(props: Props<TTag_4, OptionRenderPropArg, "value" | ComboboxOptionPropsWeControl> & {
|
||||
disabled?: boolean | undefined;
|
||||
value: TType_1;
|
||||
}, ref: Ref<HTMLLIElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
};
|
||||
export {};
|
||||
1
node_modules/@headlessui/react/dist/components/combobox/combobox.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/combobox/combobox.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
18
node_modules/@headlessui/react/dist/components/description/description.d.ts
generated
vendored
Normal file
18
node_modules/@headlessui/react/dist/components/description/description.d.ts
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
import React, { ReactNode, Ref } from 'react';
|
||||
import { Props } from '../../types.js';
|
||||
interface SharedData {
|
||||
slot?: {};
|
||||
name?: string;
|
||||
props?: {};
|
||||
}
|
||||
interface DescriptionProviderProps extends SharedData {
|
||||
children: ReactNode;
|
||||
}
|
||||
export declare function useDescriptions(): [
|
||||
string | undefined,
|
||||
(props: DescriptionProviderProps) => JSX.Element
|
||||
];
|
||||
export declare let Description: (<TTag extends React.ElementType<any> = "p">(props: Props<TTag, {}, "1D45E01E-AF44-47C4-988A-19A94EBAF55C">, ref: Ref<HTMLParagraphElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
export {};
|
||||
1
node_modules/@headlessui/react/dist/components/description/description.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/description/description.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import f,{createContext as m,useContext as D,useMemo as l,useState as P}from"react";import{useId as T}from'../../hooks/use-id.js';import{forwardRefWithAs as g,render as x}from'../../utils/render.js';import{useIsoMorphicEffect as E}from'../../hooks/use-iso-morphic-effect.js';import{useSyncRefs as h}from'../../hooks/use-sync-refs.js';import{useEvent as v}from'../../hooks/use-event.js';let d=m(null);function u(){let n=D(d);if(n===null){let t=new Error("You used a <Description /> component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(t,u),t}return n}function k(){let[n,t]=P([]);return[n.length>0?n.join(" "):void 0,l(()=>function(e){let i=v(r=>(t(o=>[...o,r]),()=>t(o=>{let s=o.slice(),p=s.indexOf(r);return p!==-1&&s.splice(p,1),s}))),a=l(()=>({register:i,slot:e.slot,name:e.name,props:e.props}),[i,e.slot,e.name,e.props]);return f.createElement(d.Provider,{value:a},e.children)},[t])]}let S="p",F=g(function(t,c){let e=T(),{id:i=`headlessui-description-${e}`,...a}=t,r=u(),o=h(c);E(()=>r.register(i),[i,r.register]);let s={ref:o,...r.props,id:i};return x({ourProps:s,theirProps:a,slot:r.slot||{},defaultTag:S,name:r.name||"Description"})});export{F as Description,k as useDescriptions};
|
||||
55
node_modules/@headlessui/react/dist/components/dialog/dialog.d.ts
generated
vendored
Normal file
55
node_modules/@headlessui/react/dist/components/dialog/dialog.d.ts
generated
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
import React, { MutableRefObject, Ref } from 'react';
|
||||
import { Props } from '../../types.js';
|
||||
import { PropsForFeatures } from '../../utils/render.js';
|
||||
interface DialogRenderPropArg {
|
||||
open: boolean;
|
||||
}
|
||||
declare type DialogPropsWeControl = 'role' | 'aria-modal' | 'aria-describedby' | 'aria-labelledby';
|
||||
declare let DialogRenderFeatures: number;
|
||||
interface OverlayRenderPropArg {
|
||||
open: boolean;
|
||||
}
|
||||
declare type OverlayPropsWeControl = 'aria-hidden' | 'onClick';
|
||||
interface BackdropRenderPropArg {
|
||||
open: boolean;
|
||||
}
|
||||
declare type BackdropPropsWeControl = 'aria-hidden' | 'onClick';
|
||||
interface PanelRenderPropArg {
|
||||
open: boolean;
|
||||
}
|
||||
interface TitleRenderPropArg {
|
||||
open: boolean;
|
||||
}
|
||||
export declare let Dialog: (<TTag extends React.ElementType<any> = "div">(props: Props<TTag, DialogRenderPropArg, DialogPropsWeControl> & (({
|
||||
static?: undefined;
|
||||
} & {
|
||||
unmount?: boolean | undefined;
|
||||
}) | ({
|
||||
unmount?: undefined;
|
||||
} & {
|
||||
static?: boolean | undefined;
|
||||
})) & {
|
||||
open?: boolean | undefined;
|
||||
onClose(value: boolean): void;
|
||||
initialFocus?: React.MutableRefObject<HTMLElement | null> | undefined;
|
||||
__demoMode?: boolean | undefined;
|
||||
}, ref: Ref<HTMLDivElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
} & {
|
||||
Backdrop: (<TTag_1 extends React.ElementType<any> = "div">(props: Props<TTag_1, BackdropRenderPropArg, BackdropPropsWeControl>, ref: Ref<HTMLDivElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
};
|
||||
Panel: (<TTag_2 extends React.ElementType<any> = "div">(props: Props<TTag_2, PanelRenderPropArg, "1D45E01E-AF44-47C4-988A-19A94EBAF55C">, ref: Ref<HTMLDivElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Overlay: (<TTag_3 extends React.ElementType<any> = "div">(props: Props<TTag_3, OverlayRenderPropArg, OverlayPropsWeControl>, ref: Ref<HTMLDivElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Title: (<TTag_4 extends React.ElementType<any> = "h2">(props: Props<TTag_4, TitleRenderPropArg, "1D45E01E-AF44-47C4-988A-19A94EBAF55C">, ref: Ref<HTMLHeadingElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Description: (<TTag_5 extends React.ElementType<any> = "p">(props: Props<TTag_5, {}, "1D45E01E-AF44-47C4-988A-19A94EBAF55C">, ref: React.Ref<HTMLParagraphElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
};
|
||||
export {};
|
||||
1
node_modules/@headlessui/react/dist/components/dialog/dialog.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/dialog/dialog.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
51
node_modules/@headlessui/react/dist/components/disclosure/disclosure.d.ts
generated
vendored
Normal file
51
node_modules/@headlessui/react/dist/components/disclosure/disclosure.d.ts
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
import React, { MutableRefObject, Ref } from 'react';
|
||||
import { Props } from '../../types.js';
|
||||
import { PropsForFeatures } from '../../utils/render.js';
|
||||
interface DisclosureRenderPropArg {
|
||||
open: boolean;
|
||||
close(focusableElement?: HTMLElement | MutableRefObject<HTMLElement | null>): void;
|
||||
}
|
||||
interface ButtonRenderPropArg {
|
||||
open: boolean;
|
||||
}
|
||||
declare type ButtonPropsWeControl = 'type' | 'aria-expanded' | 'aria-controls' | 'onKeyDown' | 'onClick';
|
||||
interface PanelRenderPropArg {
|
||||
open: boolean;
|
||||
close: (focusableElement?: HTMLElement | MutableRefObject<HTMLElement | null>) => void;
|
||||
}
|
||||
declare let PanelRenderFeatures: number;
|
||||
export declare let Disclosure: (<TTag extends React.ElementType<any> = React.ExoticComponent<{
|
||||
children?: React.ReactNode;
|
||||
}>>(props: Omit<import('../../types.js').PropsOf<TTag>, "as" | "children" | "refName" | "className"> & {
|
||||
as?: TTag | undefined;
|
||||
children?: React.ReactNode | ((bag: DisclosureRenderPropArg) => React.ReactElement<any, string | React.JSXElementConstructor<any>>);
|
||||
refName?: string | undefined;
|
||||
} & (true extends (import('../../types.js').PropsOf<TTag> extends never ? never : "className" extends keyof import('../../types.js').PropsOf<TTag> ? true : never) ? {
|
||||
className?: import('../../types.js').PropsOf<TTag>["className"] | ((bag: DisclosureRenderPropArg) => string) | undefined;
|
||||
} : {}) & {
|
||||
defaultOpen?: boolean | undefined;
|
||||
}, ref: React.Ref<TTag>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
} & {
|
||||
Button: (<TTag_1 extends React.ElementType<any> = "button">(props: Props<TTag_1, ButtonRenderPropArg, ButtonPropsWeControl>, ref: Ref<HTMLButtonElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Panel: (<TTag_2 extends React.ElementType<any> = "div">(props: Omit<import('../../types.js').PropsOf<TTag_2>, "as" | "children" | "refName" | "className"> & {
|
||||
as?: TTag_2 | undefined;
|
||||
children?: React.ReactNode | ((bag: PanelRenderPropArg) => React.ReactElement<any, string | React.JSXElementConstructor<any>>);
|
||||
refName?: string | undefined;
|
||||
} & (true extends (import('../../types.js').PropsOf<TTag_2> extends never ? never : "className" extends keyof import('../../types.js').PropsOf<TTag_2> ? true : never) ? {
|
||||
className?: import('../../types.js').PropsOf<TTag_2>["className"] | ((bag: PanelRenderPropArg) => string) | undefined;
|
||||
} : {}) & (({
|
||||
static?: undefined;
|
||||
} & {
|
||||
unmount?: boolean | undefined;
|
||||
}) | ({
|
||||
unmount?: undefined;
|
||||
} & {
|
||||
static?: boolean | undefined;
|
||||
})), ref: Ref<HTMLDivElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
};
|
||||
};
|
||||
export {};
|
||||
1
node_modules/@headlessui/react/dist/components/disclosure/disclosure.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/disclosure/disclosure.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import g,{Fragment as U,createContext as I,useContext as C,useEffect as w,useMemo as E,useReducer as j,useRef as R}from"react";import{match as L}from'../../utils/match.js';import{forwardRefWithAs as O,render as k,Features as F}from'../../utils/render.js';import{optionalRef as N,useSyncRefs as M}from'../../hooks/use-sync-refs.js';import{useId as _}from'../../hooks/use-id.js';import{Keys as m}from'../keyboard.js';import{isDisabledReactIssue7711 as G}from'../../utils/bugs.js';import{OpenClosedProvider as W,State as x,useOpenClosed as $}from'../../internal/open-closed.js';import{useResolveButtonType as q}from'../../hooks/use-resolve-button-type.js';import{getOwnerDocument as z}from'../../utils/owner.js';import{useEvent as b}from'../../hooks/use-event.js';var J=(l=>(l[l.Open=0]="Open",l[l.Closed=1]="Closed",l))(J||{}),Q=(t=>(t[t.ToggleDisclosure=0]="ToggleDisclosure",t[t.CloseDisclosure=1]="CloseDisclosure",t[t.SetButtonId=2]="SetButtonId",t[t.SetPanelId=3]="SetPanelId",t[t.LinkPanel=4]="LinkPanel",t[t.UnlinkPanel=5]="UnlinkPanel",t))(Q||{});let V={[0]:e=>({...e,disclosureState:L(e.disclosureState,{[0]:1,[1]:0})}),[1]:e=>e.disclosureState===1?e:{...e,disclosureState:1},[4](e){return e.linkedPanel===!0?e:{...e,linkedPanel:!0}},[5](e){return e.linkedPanel===!1?e:{...e,linkedPanel:!1}},[2](e,n){return e.buttonId===n.buttonId?e:{...e,buttonId:n.buttonId}},[3](e,n){return e.panelId===n.panelId?e:{...e,panelId:n.panelId}}},B=I(null);B.displayName="DisclosureContext";function v(e){let n=C(B);if(n===null){let l=new Error(`<${e} /> is missing a parent <Disclosure /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(l,v),l}return n}let h=I(null);h.displayName="DisclosureAPIContext";function K(e){let n=C(h);if(n===null){let l=new Error(`<${e} /> is missing a parent <Disclosure /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(l,K),l}return n}let H=I(null);H.displayName="DisclosurePanelContext";function X(){return C(H)}function Y(e,n){return L(n.type,V,e,n)}let Z=U,ee=O(function(n,l){let{defaultOpen:y=!1,...u}=n,T=R(null),t=M(l,N(a=>{T.current=a},n.as===void 0||n.as===U)),o=R(null),f=R(null),s=j(Y,{disclosureState:y?0:1,linkedPanel:!1,buttonRef:f,panelRef:o,buttonId:null,panelId:null}),[{disclosureState:i,buttonId:p},D]=s,d=b(a=>{D({type:1});let r=z(T);if(!r||!p)return;let c=(()=>a?a instanceof HTMLElement?a:a.current instanceof HTMLElement?a.current:r.getElementById(p):r.getElementById(p))();c==null||c.focus()}),P=E(()=>({close:d}),[d]),A=E(()=>({open:i===0,close:d}),[i,d]),S={ref:t};return g.createElement(B.Provider,{value:s},g.createElement(h.Provider,{value:P},g.createElement(W,{value:L(i,{[0]:x.Open,[1]:x.Closed})},k({ourProps:S,theirProps:u,slot:A,defaultTag:Z,name:"Disclosure"}))))}),te="button",ne=O(function(n,l){let y=_(),{id:u=`headlessui-disclosure-button-${y}`,...T}=n,[t,o]=v("Disclosure.Button"),f=X(),s=f===null?!1:f===t.panelId,i=R(null),p=M(i,l,s?null:t.buttonRef);w(()=>{if(!s)return o({type:2,buttonId:u}),()=>{o({type:2,buttonId:null})}},[u,o,s]);let D=b(r=>{var c;if(s){if(t.disclosureState===1)return;switch(r.key){case m.Space:case m.Enter:r.preventDefault(),r.stopPropagation(),o({type:0}),(c=t.buttonRef.current)==null||c.focus();break}}else switch(r.key){case m.Space:case m.Enter:r.preventDefault(),r.stopPropagation(),o({type:0});break}}),d=b(r=>{switch(r.key){case m.Space:r.preventDefault();break}}),P=b(r=>{var c;G(r.currentTarget)||n.disabled||(s?(o({type:0}),(c=t.buttonRef.current)==null||c.focus()):o({type:0}))}),A=E(()=>({open:t.disclosureState===0}),[t]),S=q(n,i),a=s?{ref:p,type:S,onKeyDown:D,onClick:P}:{ref:p,id:u,type:S,"aria-expanded":n.disabled?void 0:t.disclosureState===0,"aria-controls":t.linkedPanel?t.panelId:void 0,onKeyDown:D,onKeyUp:d,onClick:P};return k({ourProps:a,theirProps:T,slot:A,defaultTag:te,name:"Disclosure.Button"})}),le="div",re=F.RenderStrategy|F.Static,oe=O(function(n,l){let y=_(),{id:u=`headlessui-disclosure-panel-${y}`,...T}=n,[t,o]=v("Disclosure.Panel"),{close:f}=K("Disclosure.Panel"),s=M(l,t.panelRef,P=>{o({type:P?4:5})});w(()=>(o({type:3,panelId:u}),()=>{o({type:3,panelId:null})}),[u,o]);let i=$(),p=(()=>i!==null?i===x.Open:t.disclosureState===0)(),D=E(()=>({open:t.disclosureState===0,close:f}),[t,f]),d={ref:s,id:u};return g.createElement(H.Provider,{value:t.panelId},k({ourProps:d,theirProps:T,slot:D,defaultTag:le,features:re,visible:p,name:"Disclosure.Panel"}))}),Le=Object.assign(ee,{Button:ne,Panel:oe});export{Le as Disclosure};
|
||||
32
node_modules/@headlessui/react/dist/components/focus-trap/focus-trap.d.ts
generated
vendored
Normal file
32
node_modules/@headlessui/react/dist/components/focus-trap/focus-trap.d.ts
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
import React, { MutableRefObject, Ref } from 'react';
|
||||
import { Props } from '../../types.js';
|
||||
declare enum Features {
|
||||
/** No features enabled for the focus trap. */
|
||||
None = 1,
|
||||
/** Ensure that we move focus initially into the container. */
|
||||
InitialFocus = 2,
|
||||
/** Ensure that pressing `Tab` and `Shift+Tab` is trapped within the container. */
|
||||
TabLock = 4,
|
||||
/** Ensure that programmatically moving focus outside of the container is disallowed. */
|
||||
FocusLock = 8,
|
||||
/** Ensure that we restore the focus when unmounting the focus trap. */
|
||||
RestoreFocus = 16,
|
||||
/** Enable all features. */
|
||||
All = 30
|
||||
}
|
||||
export declare let FocusTrap: (<TTag extends React.ElementType<any> = "div">(props: Omit<import('../../types.js').PropsOf<TTag>, "as" | "children" | "refName" | "className"> & {
|
||||
as?: TTag | undefined;
|
||||
children?: React.ReactNode | ((bag: {}) => React.ReactElement<any, string | React.JSXElementConstructor<any>>);
|
||||
refName?: string | undefined;
|
||||
} & (true extends (import('../../types.js').PropsOf<TTag> extends never ? never : "className" extends keyof import('../../types.js').PropsOf<TTag> ? true : never) ? {
|
||||
className?: import('../../types.js').PropsOf<TTag>["className"] | ((bag: {}) => string) | undefined;
|
||||
} : {}) & {
|
||||
initialFocus?: React.MutableRefObject<HTMLElement | null> | undefined;
|
||||
features?: Features | undefined;
|
||||
containers?: React.MutableRefObject<Set<React.MutableRefObject<HTMLElement | null>>> | undefined;
|
||||
}, ref: Ref<HTMLDivElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
} & {
|
||||
features: typeof Features;
|
||||
};
|
||||
export {};
|
||||
1
node_modules/@headlessui/react/dist/components/focus-trap/focus-trap.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/focus-trap/focus-trap.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import d,{useEffect as U,useRef as T}from"react";import{forwardRefWithAs as C,render as I}from'../../utils/render.js';import{useServerHandoffComplete as N}from'../../hooks/use-server-handoff-complete.js';import{useSyncRefs as x}from'../../hooks/use-sync-refs.js';import{Features as F,Hidden as v}from'../../internal/hidden.js';import{focusElement as f,focusIn as b,Focus as i,FocusResult as G}from'../../utils/focus-management.js';import{match as g}from'../../utils/match.js';import{useEvent as K}from'../../hooks/use-event.js';import{useTabDirection as V,Direction as M}from'../../hooks/use-tab-direction.js';import{useIsMounted as O}from'../../hooks/use-is-mounted.js';import{useOwnerDocument as W}from'../../hooks/use-owner.js';import{useEventListener as k}from'../../hooks/use-event-listener.js';import{microTask as y}from'../../utils/micro-task.js';import{useWatch as j}from'../../hooks/use-watch.js';import{useDisposables as q}from'../../hooks/use-disposables.js';let z="div";var A=(t=>(t[t.None=1]="None",t[t.InitialFocus=2]="InitialFocus",t[t.TabLock=4]="TabLock",t[t.FocusLock=8]="FocusLock",t[t.RestoreFocus=16]="RestoreFocus",t[t.All=30]="All",t))(A||{});let de=Object.assign(C(function(u,e){let l=T(null),a=x(l,e),{initialFocus:m,containers:t,features:n=30,...E}=u;N()||(n=1);let s=W(l);J({ownerDocument:s},Boolean(n&16));let S=Q({ownerDocument:s,container:l,initialFocus:m},Boolean(n&2));X({ownerDocument:s,container:l,containers:t,previousActiveElement:S},Boolean(n&8));let H=V(),R=K(o=>{let c=l.current;if(!c)return;(_=>_())(()=>{g(H.current,{[M.Forwards]:()=>b(c,i.First,{skipElements:[o.relatedTarget]}),[M.Backwards]:()=>b(c,i.Last,{skipElements:[o.relatedTarget]})})})}),B=q(),L=T(!1),P={ref:a,onKeyDown(o){o.key=="Tab"&&(L.current=!0,B.requestAnimationFrame(()=>{L.current=!1}))},onBlur(o){let c=new Set(t==null?void 0:t.current);c.add(l);let p=o.relatedTarget;!p||p.dataset.headlessuiFocusGuard!=="true"&&(h(c,p)||(L.current?b(l.current,g(H.current,{[M.Forwards]:()=>i.Next,[M.Backwards]:()=>i.Previous})|i.WrapAround,{relativeTo:o.target}):o.target instanceof HTMLElement&&f(o.target)))}};return d.createElement(d.Fragment,null,Boolean(n&4)&&d.createElement(v,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:R,features:F.Focusable}),I({ourProps:P,theirProps:E,defaultTag:z,name:"FocusTrap"}),Boolean(n&4)&&d.createElement(v,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:R,features:F.Focusable}))}),{features:A});function J({ownerDocument:r},u){let e=T(null);k(r==null?void 0:r.defaultView,"focusout",a=>{!u||e.current||(e.current=a.target)},!0),j(()=>{u||((r==null?void 0:r.activeElement)===(r==null?void 0:r.body)&&f(e.current),e.current=null)},[u]);let l=T(!1);U(()=>(l.current=!1,()=>{l.current=!0,y(()=>{!l.current||(f(e.current),e.current=null)})}),[])}function Q({ownerDocument:r,container:u,initialFocus:e},l){let a=T(null),m=O();return j(()=>{if(!l)return;let t=u.current;!t||y(()=>{if(!m.current)return;let n=r==null?void 0:r.activeElement;if(e!=null&&e.current){if((e==null?void 0:e.current)===n){a.current=n;return}}else if(t.contains(n)){a.current=n;return}e!=null&&e.current?f(e.current):b(t,i.First)===G.Error&&console.warn("There are no focusable elements inside the <FocusTrap />"),a.current=r==null?void 0:r.activeElement})},[l]),a}function X({ownerDocument:r,container:u,containers:e,previousActiveElement:l},a){let m=O();k(r==null?void 0:r.defaultView,"focus",t=>{if(!a||!m.current)return;let n=new Set(e==null?void 0:e.current);n.add(u);let E=l.current;if(!E)return;let s=t.target;s&&s instanceof HTMLElement?h(n,s)?(l.current=s,f(s)):(t.preventDefault(),t.stopPropagation(),f(E)):f(l.current)},!0)}function h(r,u){var e;for(let l of r)if((e=l.current)!=null&&e.contains(u))return!0;return!1}export{de as FocusTrap};
|
||||
16
node_modules/@headlessui/react/dist/components/keyboard.d.ts
generated
vendored
Normal file
16
node_modules/@headlessui/react/dist/components/keyboard.d.ts
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
export declare enum Keys {
|
||||
Space = " ",
|
||||
Enter = "Enter",
|
||||
Escape = "Escape",
|
||||
Backspace = "Backspace",
|
||||
Delete = "Delete",
|
||||
ArrowLeft = "ArrowLeft",
|
||||
ArrowUp = "ArrowUp",
|
||||
ArrowRight = "ArrowRight",
|
||||
ArrowDown = "ArrowDown",
|
||||
Home = "Home",
|
||||
End = "End",
|
||||
PageUp = "PageUp",
|
||||
PageDown = "PageDown",
|
||||
Tab = "Tab"
|
||||
}
|
||||
1
node_modules/@headlessui/react/dist/components/keyboard.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/keyboard.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
var o=(r=>(r.Space=" ",r.Enter="Enter",r.Escape="Escape",r.Backspace="Backspace",r.Delete="Delete",r.ArrowLeft="ArrowLeft",r.ArrowUp="ArrowUp",r.ArrowRight="ArrowRight",r.ArrowDown="ArrowDown",r.Home="Home",r.End="End",r.PageUp="PageUp",r.PageDown="PageDown",r.Tab="Tab",r))(o||{});export{o as Keys};
|
||||
23
node_modules/@headlessui/react/dist/components/label/label.d.ts
generated
vendored
Normal file
23
node_modules/@headlessui/react/dist/components/label/label.d.ts
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
import React, { ReactNode, Ref } from 'react';
|
||||
import { Props } from '../../types.js';
|
||||
interface SharedData {
|
||||
slot?: {};
|
||||
name?: string;
|
||||
props?: {};
|
||||
}
|
||||
interface LabelProviderProps extends SharedData {
|
||||
children: ReactNode;
|
||||
}
|
||||
export declare function useLabels(): [string | undefined, (props: LabelProviderProps) => JSX.Element];
|
||||
export declare let Label: (<TTag extends React.ElementType<any> = "label">(props: Omit<import('../../types.js').PropsOf<TTag>, "as" | "children" | "refName" | "className"> & {
|
||||
as?: TTag | undefined;
|
||||
children?: React.ReactNode | ((bag: {}) => React.ReactElement<any, string | React.JSXElementConstructor<any>>);
|
||||
refName?: string | undefined;
|
||||
} & (true extends (import('../../types.js').PropsOf<TTag> extends never ? never : "className" extends keyof import('../../types.js').PropsOf<TTag> ? true : never) ? {
|
||||
className?: import('../../types.js').PropsOf<TTag>["className"] | ((bag: {}) => string) | undefined;
|
||||
} : {}) & {
|
||||
passive?: boolean | undefined;
|
||||
}, ref: Ref<HTMLLabelElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
export {};
|
||||
1
node_modules/@headlessui/react/dist/components/label/label.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/label/label.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import p,{createContext as m,useContext as L,useMemo as f,useState as b}from"react";import{useId as g}from'../../hooks/use-id.js';import{forwardRefWithAs as x,render as T}from'../../utils/render.js';import{useIsoMorphicEffect as E}from'../../hooks/use-iso-morphic-effect.js';import{useSyncRefs as P}from'../../hooks/use-sync-refs.js';import{useEvent as v}from'../../hooks/use-event.js';let u=m(null);function c(){let n=L(u);if(n===null){let r=new Error("You used a <Label /> component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(r,c),r}return n}function M(){let[n,r]=b([]);return[n.length>0?n.join(" "):void 0,f(()=>function(e){let o=v(l=>(r(t=>[...t,l]),()=>r(t=>{let i=t.slice(),a=i.indexOf(l);return a!==-1&&i.splice(a,1),i}))),s=f(()=>({register:o,slot:e.slot,name:e.name,props:e.props}),[o,e.slot,e.name,e.props]);return p.createElement(u.Provider,{value:s},e.children)},[r])]}let h="label",F=x(function(r,d){let e=g(),{id:o=`headlessui-label-${e}`,passive:s=!1,...l}=r,t=c(),i=P(d);E(()=>t.register(o),[o,t.register]);let a={ref:i,...t.props,id:o};return s&&("onClick"in a&&delete a.onClick,"onClick"in l&&delete l.onClick),T({ourProps:a,theirProps:l,slot:t.slot||{},defaultTag:h,name:t.name||"Label"})});export{F as Label,M as useLabels};
|
||||
69
node_modules/@headlessui/react/dist/components/listbox/listbox.d.ts
generated
vendored
Normal file
69
node_modules/@headlessui/react/dist/components/listbox/listbox.d.ts
generated
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
import React, { Ref } from 'react';
|
||||
import { Props } from '../../types.js';
|
||||
import { PropsForFeatures } from '../../utils/render.js';
|
||||
interface ListboxRenderPropArg<T> {
|
||||
open: boolean;
|
||||
disabled: boolean;
|
||||
value: T;
|
||||
}
|
||||
interface ButtonRenderPropArg {
|
||||
open: boolean;
|
||||
disabled: boolean;
|
||||
value: any;
|
||||
}
|
||||
declare type ButtonPropsWeControl = 'type' | 'aria-haspopup' | 'aria-controls' | 'aria-expanded' | 'aria-labelledby' | 'disabled' | 'onKeyDown' | 'onClick';
|
||||
interface LabelRenderPropArg {
|
||||
open: boolean;
|
||||
disabled: boolean;
|
||||
}
|
||||
declare type LabelPropsWeControl = 'ref' | 'onClick';
|
||||
interface OptionsRenderPropArg {
|
||||
open: boolean;
|
||||
}
|
||||
declare type OptionsPropsWeControl = 'aria-activedescendant' | 'aria-labelledby' | 'aria-orientation' | 'onKeyDown' | 'role' | 'tabIndex';
|
||||
declare let OptionsRenderFeatures: number;
|
||||
interface OptionRenderPropArg {
|
||||
active: boolean;
|
||||
selected: boolean;
|
||||
disabled: boolean;
|
||||
}
|
||||
declare type ListboxOptionPropsWeControl = 'role' | 'tabIndex' | 'aria-disabled' | 'aria-selected' | 'onPointerLeave' | 'onMouseLeave' | 'onPointerMove' | 'onMouseMove' | 'onFocus';
|
||||
export declare let Listbox: (<TTag extends React.ElementType<any> = React.ExoticComponent<{
|
||||
children?: React.ReactNode;
|
||||
}>, TType = string, TActualType = TType extends (infer U)[] ? U : TType>(props: Props<TTag, ListboxRenderPropArg<TType>, "value" | "name" | "disabled" | "defaultValue" | "multiple" | "onChange" | "by" | "horizontal"> & {
|
||||
value?: TType | undefined;
|
||||
defaultValue?: TType | undefined;
|
||||
onChange?(value: TType): void;
|
||||
by?: (keyof TActualType & string) | ((a: TActualType, z: TActualType) => boolean) | undefined;
|
||||
disabled?: boolean | undefined;
|
||||
horizontal?: boolean | undefined;
|
||||
name?: string | undefined;
|
||||
multiple?: boolean | undefined;
|
||||
}, ref: React.Ref<TTag>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
} & {
|
||||
Button: (<TTag_1 extends React.ElementType<any> = "button">(props: Props<TTag_1, ButtonRenderPropArg, ButtonPropsWeControl>, ref: Ref<HTMLButtonElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Label: (<TTag_2 extends React.ElementType<any> = "label">(props: Props<TTag_2, LabelRenderPropArg, LabelPropsWeControl>, ref: Ref<HTMLElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Options: (<TTag_3 extends React.ElementType<any> = "ul">(props: Props<TTag_3, OptionsRenderPropArg, OptionsPropsWeControl> & (({
|
||||
static?: undefined;
|
||||
} & {
|
||||
unmount?: boolean | undefined;
|
||||
}) | ({
|
||||
unmount?: undefined;
|
||||
} & {
|
||||
static?: boolean | undefined;
|
||||
})), ref: Ref<HTMLElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Option: (<TTag_4 extends React.ElementType<any> = "li", TType_1 = unknown>(props: Props<TTag_4, OptionRenderPropArg, "value" | ListboxOptionPropsWeControl> & {
|
||||
disabled?: boolean | undefined;
|
||||
value: TType_1;
|
||||
}, ref: Ref<HTMLElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
};
|
||||
export {};
|
||||
1
node_modules/@headlessui/react/dist/components/listbox/listbox.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/listbox/listbox.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
50
node_modules/@headlessui/react/dist/components/menu/menu.d.ts
generated
vendored
Normal file
50
node_modules/@headlessui/react/dist/components/menu/menu.d.ts
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
import React, { Ref } from 'react';
|
||||
import { Props } from '../../types.js';
|
||||
import { PropsForFeatures } from '../../utils/render.js';
|
||||
interface MenuRenderPropArg {
|
||||
open: boolean;
|
||||
close: () => void;
|
||||
}
|
||||
interface ButtonRenderPropArg {
|
||||
open: boolean;
|
||||
}
|
||||
declare type ButtonPropsWeControl = 'type' | 'aria-haspopup' | 'aria-controls' | 'aria-expanded' | 'onKeyDown' | 'onClick';
|
||||
interface ItemsRenderPropArg {
|
||||
open: boolean;
|
||||
}
|
||||
declare type ItemsPropsWeControl = 'aria-activedescendant' | 'aria-labelledby' | 'onKeyDown' | 'role' | 'tabIndex';
|
||||
declare let ItemsRenderFeatures: number;
|
||||
interface ItemRenderPropArg {
|
||||
active: boolean;
|
||||
disabled: boolean;
|
||||
close: () => void;
|
||||
}
|
||||
declare type MenuItemPropsWeControl = 'role' | 'tabIndex' | 'aria-disabled' | 'onPointerLeave' | 'onPointerMove' | 'onMouseLeave' | 'onMouseMove' | 'onFocus';
|
||||
export declare let Menu: (<TTag extends React.ElementType<any> = React.ExoticComponent<{
|
||||
children?: React.ReactNode;
|
||||
}>>(props: Props<TTag, MenuRenderPropArg, "1D45E01E-AF44-47C4-988A-19A94EBAF55C">, ref: Ref<HTMLElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
} & {
|
||||
Button: (<TTag_1 extends React.ElementType<any> = "button">(props: Props<TTag_1, ButtonRenderPropArg, ButtonPropsWeControl>, ref: Ref<HTMLButtonElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Items: (<TTag_2 extends React.ElementType<any> = "div">(props: Props<TTag_2, ItemsRenderPropArg, ItemsPropsWeControl> & (({
|
||||
static?: undefined;
|
||||
} & {
|
||||
unmount?: boolean | undefined;
|
||||
}) | ({
|
||||
unmount?: undefined;
|
||||
} & {
|
||||
static?: boolean | undefined;
|
||||
})), ref: Ref<HTMLDivElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Item: (<TTag_3 extends React.ElementType<any> = React.ExoticComponent<{
|
||||
children?: React.ReactNode;
|
||||
}>>(props: Props<TTag_3, ItemRenderPropArg, MenuItemPropsWeControl> & {
|
||||
disabled?: boolean | undefined;
|
||||
}, ref: Ref<HTMLElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
};
|
||||
export {};
|
||||
1
node_modules/@headlessui/react/dist/components/menu/menu.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/menu/menu.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
66
node_modules/@headlessui/react/dist/components/popover/popover.d.ts
generated
vendored
Normal file
66
node_modules/@headlessui/react/dist/components/popover/popover.d.ts
generated
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
import React, { MutableRefObject, Ref, MouseEventHandler } from 'react';
|
||||
import { Props } from '../../types.js';
|
||||
import { PropsForFeatures } from '../../utils/render.js';
|
||||
declare type MouseEvent<T> = Parameters<MouseEventHandler<T>>[0];
|
||||
interface PopoverRenderPropArg {
|
||||
open: boolean;
|
||||
close(focusableElement?: HTMLElement | MutableRefObject<HTMLElement | null> | MouseEvent<HTMLElement>): void;
|
||||
}
|
||||
interface ButtonRenderPropArg {
|
||||
open: boolean;
|
||||
}
|
||||
declare type ButtonPropsWeControl = 'type' | 'aria-expanded' | 'aria-controls' | 'onKeyDown' | 'onClick';
|
||||
interface OverlayRenderPropArg {
|
||||
open: boolean;
|
||||
}
|
||||
declare type OverlayPropsWeControl = 'aria-hidden' | 'onClick';
|
||||
declare let OverlayRenderFeatures: number;
|
||||
interface PanelRenderPropArg {
|
||||
open: boolean;
|
||||
close: (focusableElement?: HTMLElement | MutableRefObject<HTMLElement | null>) => void;
|
||||
}
|
||||
declare type PanelPropsWeControl = 'onKeyDown';
|
||||
declare let PanelRenderFeatures: number;
|
||||
interface GroupRenderPropArg {
|
||||
}
|
||||
export declare let Popover: (<TTag extends React.ElementType<any> = "div">(props: Props<TTag, PopoverRenderPropArg, "1D45E01E-AF44-47C4-988A-19A94EBAF55C">, ref: Ref<HTMLElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
} & {
|
||||
Button: (<TTag_1 extends React.ElementType<any> = "button">(props: Props<TTag_1, ButtonRenderPropArg, ButtonPropsWeControl>, ref: Ref<HTMLButtonElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
};
|
||||
Overlay: (<TTag_2 extends React.ElementType<any> = "div">(props: Props<TTag_2, OverlayRenderPropArg, OverlayPropsWeControl> & (({
|
||||
static?: undefined;
|
||||
} & {
|
||||
unmount?: boolean | undefined;
|
||||
}) | ({
|
||||
unmount?: undefined;
|
||||
} & {
|
||||
static?: boolean | undefined;
|
||||
})), ref: Ref<HTMLDivElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Panel: (<TTag_3 extends React.ElementType<any> = "div">(props: Omit<import('../../types.js').PropsOf<TTag_3>, ("as" | "children" | "refName" | "className") | "onKeyDown"> & {
|
||||
as?: TTag_3 | undefined;
|
||||
children?: React.ReactNode | ((bag: PanelRenderPropArg) => React.ReactElement<any, string | React.JSXElementConstructor<any>>);
|
||||
refName?: string | undefined;
|
||||
} & (true extends (import('../../types.js').PropsOf<TTag_3> extends never ? never : "className" extends keyof import('../../types.js').PropsOf<TTag_3> ? true : never) ? {
|
||||
className?: import('../../types.js').PropsOf<TTag_3>["className"] | ((bag: PanelRenderPropArg) => string) | undefined;
|
||||
} : {}) & (({
|
||||
static?: undefined;
|
||||
} & {
|
||||
unmount?: boolean | undefined;
|
||||
}) | ({
|
||||
unmount?: undefined;
|
||||
} & {
|
||||
static?: boolean | undefined;
|
||||
})) & {
|
||||
focus?: boolean | undefined;
|
||||
}, ref: Ref<HTMLDivElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
};
|
||||
Group: (<TTag_4 extends React.ElementType<any> = "div">(props: Props<TTag_4, GroupRenderPropArg, "1D45E01E-AF44-47C4-988A-19A94EBAF55C">, ref: Ref<HTMLElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
};
|
||||
};
|
||||
export {};
|
||||
1
node_modules/@headlessui/react/dist/components/popover/popover.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/popover/popover.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
26
node_modules/@headlessui/react/dist/components/portal/portal.d.ts
generated
vendored
Normal file
26
node_modules/@headlessui/react/dist/components/portal/portal.d.ts
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
import React, { MutableRefObject, Ref } from 'react';
|
||||
import { Props } from '../../types.js';
|
||||
interface PortalRenderPropArg {
|
||||
}
|
||||
interface GroupRenderPropArg {
|
||||
}
|
||||
export declare let Portal: (<TTag extends React.ElementType<any> = React.ExoticComponent<{
|
||||
children?: React.ReactNode;
|
||||
}>>(props: Props<TTag, PortalRenderPropArg, "1D45E01E-AF44-47C4-988A-19A94EBAF55C">, ref: Ref<HTMLElement>) => React.ReactPortal | null) & {
|
||||
displayName: string;
|
||||
} & {
|
||||
Group: (<TTag_1 extends React.ElementType<any> = React.ExoticComponent<{
|
||||
children?: React.ReactNode;
|
||||
}>>(props: Omit<import('../../types.js').PropsOf<TTag_1>, "as" | "children" | "refName" | "className"> & {
|
||||
as?: TTag_1 | undefined;
|
||||
children?: React.ReactNode | ((bag: GroupRenderPropArg) => React.ReactElement<any, string | React.JSXElementConstructor<any>>);
|
||||
refName?: string | undefined;
|
||||
} & (true extends (import('../../types.js').PropsOf<TTag_1> extends never ? never : "className" extends keyof import('../../types.js').PropsOf<TTag_1> ? true : never) ? {
|
||||
className?: import('../../types.js').PropsOf<TTag_1>["className"] | ((bag: GroupRenderPropArg) => string) | undefined;
|
||||
} : {}) & {
|
||||
target: MutableRefObject<HTMLElement | null>;
|
||||
}, ref: Ref<HTMLElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
};
|
||||
};
|
||||
export {};
|
||||
1
node_modules/@headlessui/react/dist/components/portal/portal.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/portal/portal.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import h,{Fragment as s,createContext as L,useContext as y,useEffect as m,useRef as d,useState as T}from"react";import{createPortal as G}from"react-dom";import{forwardRefWithAs as P,render as R}from'../../utils/render.js';import{useIsoMorphicEffect as M}from'../../hooks/use-iso-morphic-effect.js';import{usePortalRoot as v}from'../../internal/portal-force-root.js';import{useServerHandoffComplete as C}from'../../hooks/use-server-handoff-complete.js';import{optionalRef as O,useSyncRefs as g}from'../../hooks/use-sync-refs.js';import{useOwnerDocument as c}from'../../hooks/use-owner.js';import{microTask as H}from'../../utils/micro-task.js';import{isServer as E}from'../../utils/ssr.js';function x(i){let u=v(),o=y(A),e=c(i),[r,f]=T(()=>{if(!u&&o!==null||E)return null;let n=e==null?void 0:e.getElementById("headlessui-portal-root");if(n)return n;if(e===null)return null;let t=e.createElement("div");return t.setAttribute("id","headlessui-portal-root"),e.body.appendChild(t)});return m(()=>{r!==null&&(e!=null&&e.body.contains(r)||e==null||e.body.appendChild(r))},[r,e]),m(()=>{u||o!==null&&f(o.current)},[o,f,u]),r}let _=s,U=P(function(u,o){let e=u,r=d(null),f=g(O(a=>{r.current=a}),o),n=c(r),t=x(r),[l]=T(()=>{var a;return E?null:(a=n==null?void 0:n.createElement("div"))!=null?a:null}),b=C(),p=d(!1);return M(()=>{if(p.current=!1,!(!t||!l))return t.contains(l)||(l.setAttribute("data-headlessui-portal",""),t.appendChild(l)),()=>{p.current=!0,H(()=>{var a;!p.current||!t||!l||(t.removeChild(l),t.childNodes.length<=0&&((a=t.parentElement)==null||a.removeChild(t)))})}},[t,l]),b?!t||!l?null:G(R({ourProps:{ref:f},theirProps:e,defaultTag:_,name:"Portal"}),l):null}),j=s,A=L(null),F=P(function(u,o){let{target:e,...r}=u,n={ref:g(o)};return h.createElement(A.Provider,{value:e},R({ourProps:n,theirProps:r,defaultTag:j,name:"Popover.Group"}))}),$=Object.assign(U,{Group:F});export{$ as Portal};
|
||||
44
node_modules/@headlessui/react/dist/components/radio-group/radio-group.d.ts
generated
vendored
Normal file
44
node_modules/@headlessui/react/dist/components/radio-group/radio-group.d.ts
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
import React, { Ref } from 'react';
|
||||
import { Props } from '../../types.js';
|
||||
interface RadioGroupRenderPropArg<TType> {
|
||||
value: TType;
|
||||
}
|
||||
declare type RadioGroupPropsWeControl = 'role' | 'aria-labelledby' | 'aria-describedby';
|
||||
interface OptionRenderPropArg {
|
||||
checked: boolean;
|
||||
active: boolean;
|
||||
disabled: boolean;
|
||||
}
|
||||
declare type RadioPropsWeControl = 'aria-checked' | 'onBlur' | 'onClick' | 'onFocus' | 'ref' | 'role' | 'tabIndex';
|
||||
export declare let RadioGroup: (<TTag extends React.ElementType<any> = "div", TType = string>(props: Props<TTag, RadioGroupRenderPropArg<TType>, "value" | "name" | "disabled" | "defaultValue" | "onChange" | "by" | RadioGroupPropsWeControl> & {
|
||||
value?: TType | undefined;
|
||||
defaultValue?: TType | undefined;
|
||||
onChange?(value: TType): void;
|
||||
by?: (keyof TType & string) | ((a: TType, z: TType) => boolean) | undefined;
|
||||
disabled?: boolean | undefined;
|
||||
name?: string | undefined;
|
||||
}, ref: Ref<HTMLElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
} & {
|
||||
Option: (<TTag_1 extends React.ElementType<any> = "div", TType_1 = unknown>(props: Props<TTag_1, OptionRenderPropArg, "value" | "disabled" | RadioPropsWeControl> & {
|
||||
value: TType_1;
|
||||
disabled?: boolean | undefined;
|
||||
}, ref: Ref<HTMLElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
};
|
||||
Label: (<TTag_2 extends React.ElementType<any> = "label">(props: Omit<import('../../types.js').PropsOf<TTag_2>, "as" | "children" | "refName" | "className"> & {
|
||||
as?: TTag_2 | undefined;
|
||||
children?: React.ReactNode | ((bag: {}) => React.ReactElement<any, string | React.JSXElementConstructor<any>>);
|
||||
refName?: string | undefined;
|
||||
} & (true extends (import('../../types.js').PropsOf<TTag_2> extends never ? never : "className" extends keyof import('../../types.js').PropsOf<TTag_2> ? true : never) ? {
|
||||
className?: import('../../types.js').PropsOf<TTag_2>["className"] | ((bag: {}) => string) | undefined;
|
||||
} : {}) & {
|
||||
passive?: boolean | undefined;
|
||||
}, ref: React.Ref<HTMLLabelElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Description: (<TTag_3 extends React.ElementType<any> = "p">(props: Props<TTag_3, {}, "1D45E01E-AF44-47C4-988A-19A94EBAF55C">, ref: React.Ref<HTMLParagraphElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
};
|
||||
export {};
|
||||
1
node_modules/@headlessui/react/dist/components/radio-group/radio-group.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/radio-group/radio-group.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
36
node_modules/@headlessui/react/dist/components/switch/switch.d.ts
generated
vendored
Normal file
36
node_modules/@headlessui/react/dist/components/switch/switch.d.ts
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
import React, { ElementType, Ref } from 'react';
|
||||
import { Props } from '../../types.js';
|
||||
declare let DEFAULT_GROUP_TAG: React.ExoticComponent<{
|
||||
children?: React.ReactNode;
|
||||
}>;
|
||||
declare function Group<TTag extends ElementType = typeof DEFAULT_GROUP_TAG>(props: Props<TTag>): JSX.Element;
|
||||
interface SwitchRenderPropArg {
|
||||
checked: boolean;
|
||||
}
|
||||
declare type SwitchPropsWeControl = 'role' | 'tabIndex' | 'aria-checked' | 'aria-labelledby' | 'aria-describedby' | 'onClick' | 'onKeyUp' | 'onKeyPress';
|
||||
export declare let Switch: (<TTag extends React.ElementType<any> = "button">(props: Props<TTag, SwitchRenderPropArg, "value" | "name" | "onChange" | "checked" | "defaultChecked" | SwitchPropsWeControl> & {
|
||||
checked?: boolean | undefined;
|
||||
defaultChecked?: boolean | undefined;
|
||||
onChange?(checked: boolean): void;
|
||||
name?: string | undefined;
|
||||
value?: string | undefined;
|
||||
}, ref: Ref<HTMLElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
} & {
|
||||
Group: typeof Group;
|
||||
Label: (<TTag_1 extends React.ElementType<any> = "label">(props: Omit<import('../../types.js').PropsOf<TTag_1>, "as" | "children" | "refName" | "className"> & {
|
||||
as?: TTag_1 | undefined;
|
||||
children?: React.ReactNode | ((bag: {}) => React.ReactElement<any, string | React.JSXElementConstructor<any>>);
|
||||
refName?: string | undefined;
|
||||
} & (true extends (import('../../types.js').PropsOf<TTag_1> extends never ? never : "className" extends keyof import('../../types.js').PropsOf<TTag_1> ? true : never) ? {
|
||||
className?: import('../../types.js').PropsOf<TTag_1>["className"] | ((bag: {}) => string) | undefined;
|
||||
} : {}) & {
|
||||
passive?: boolean | undefined;
|
||||
}, ref: React.Ref<HTMLLabelElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Description: (<TTag_2 extends React.ElementType<any> = "p">(props: Props<TTag_2, {}, "1D45E01E-AF44-47C4-988A-19A94EBAF55C">, ref: React.Ref<HTMLParagraphElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
};
|
||||
export {};
|
||||
1
node_modules/@headlessui/react/dist/components/switch/switch.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/switch/switch.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import l,{Fragment as H,createContext as G,useContext as K,useMemo as S,useRef as M,useState as x,useEffect as U}from"react";import{forwardRefWithAs as _,render as w,compact as F}from'../../utils/render.js';import{useId as I}from'../../hooks/use-id.js';import{Keys as P}from'../keyboard.js';import{isDisabledReactIssue7711 as B}from'../../utils/bugs.js';import{Label as O,useLabels as W}from'../label/label.js';import{Description as j,useDescriptions as N}from'../description/description.js';import{useResolveButtonType as $}from'../../hooks/use-resolve-button-type.js';import{useSyncRefs as q}from'../../hooks/use-sync-refs.js';import{Hidden as z,Features as J}from'../../internal/hidden.js';import{attemptSubmit as Q}from'../../utils/form.js';import{useEvent as f}from'../../hooks/use-event.js';import{useControllable as V}from'../../hooks/use-controllable.js';import{useDisposables as X}from'../../hooks/use-disposables.js';let b=G(null);b.displayName="GroupContext";let Y=H;function Z(y){let[t,a]=x(null),[s,m]=W(),[c,o]=N(),p=S(()=>({switch:t,setSwitch:a,labelledby:s,describedby:c}),[t,a,s,c]),d={},h=y;return l.createElement(o,{name:"Switch.Description"},l.createElement(m,{name:"Switch.Label",props:{onClick(){!t||(t.click(),t.focus({preventScroll:!0}))}}},l.createElement(b.Provider,{value:p},w({ourProps:d,theirProps:h,defaultTag:Y,name:"Switch.Group"}))))}let ee="button",te=_(function(t,a){let s=I(),{id:m=`headlessui-switch-${s}`,checked:c,defaultChecked:o=!1,onChange:p,name:d,value:h,...v}=t,r=K(b),u=M(null),k=q(u,a,r===null?null:r.setSwitch),[n,i]=V(c,p,o),T=f(()=>i==null?void 0:i(!n)),g=f(e=>{if(B(e.currentTarget))return e.preventDefault();e.preventDefault(),T()}),C=f(e=>{e.key===P.Space?(e.preventDefault(),T()):e.key===P.Enter&&Q(e.currentTarget)}),D=f(e=>e.preventDefault()),L=S(()=>({checked:n}),[n]),R={id:m,ref:k,role:"switch",type:$(t,u),tabIndex:0,"aria-checked":n,"aria-labelledby":r==null?void 0:r.labelledby,"aria-describedby":r==null?void 0:r.describedby,onClick:g,onKeyUp:C,onKeyPress:D},A=X();return U(()=>{var E;let e=(E=u.current)==null?void 0:E.closest("form");!e||o!==void 0&&A.addEventListener(e,"reset",()=>{i(o)})},[u,i]),l.createElement(l.Fragment,null,d!=null&&n&&l.createElement(z,{features:J.Hidden,...F({as:"input",type:"checkbox",hidden:!0,readOnly:!0,checked:n,name:d,value:h})}),w({ourProps:R,theirProps:v,slot:L,defaultTag:ee,name:"Switch"}))}),Pe=Object.assign(te,{Group:Z,Label:O,Description:j});export{Pe as Switch};
|
||||
61
node_modules/@headlessui/react/dist/components/tabs/tabs.d.ts
generated
vendored
Normal file
61
node_modules/@headlessui/react/dist/components/tabs/tabs.d.ts
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
import React, { Ref } from 'react';
|
||||
import { Props } from '../../types.js';
|
||||
import { PropsForFeatures } from '../../utils/render.js';
|
||||
interface TabsRenderPropArg {
|
||||
selectedIndex: number;
|
||||
}
|
||||
interface ListRenderPropArg {
|
||||
selectedIndex: number;
|
||||
}
|
||||
declare type ListPropsWeControl = 'role' | 'aria-orientation';
|
||||
interface TabRenderPropArg {
|
||||
selected: boolean;
|
||||
}
|
||||
declare type TabPropsWeControl = 'role' | 'type' | 'aria-controls' | 'aria-selected' | 'tabIndex';
|
||||
interface PanelsRenderPropArg {
|
||||
selectedIndex: number;
|
||||
}
|
||||
interface PanelRenderPropArg {
|
||||
selected: boolean;
|
||||
}
|
||||
declare type PanelPropsWeControl = 'role' | 'aria-labelledby' | 'tabIndex';
|
||||
declare let PanelRenderFeatures: number;
|
||||
export declare let Tab: (<TTag extends React.ElementType<any> = "button">(props: Props<TTag, TabRenderPropArg, TabPropsWeControl>, ref: Ref<HTMLElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
} & {
|
||||
Group: (<TTag_1 extends React.ElementType<any> = React.ExoticComponent<{
|
||||
children?: React.ReactNode;
|
||||
}>>(props: Omit<import('../../types.js').PropsOf<TTag_1>, "as" | "children" | "refName" | "className"> & {
|
||||
as?: TTag_1 | undefined;
|
||||
children?: React.ReactNode | ((bag: TabsRenderPropArg) => React.ReactElement<any, string | React.JSXElementConstructor<any>>);
|
||||
refName?: string | undefined;
|
||||
} & (true extends (import('../../types.js').PropsOf<TTag_1> extends never ? never : "className" extends keyof import('../../types.js').PropsOf<TTag_1> ? true : never) ? {
|
||||
className?: import('../../types.js').PropsOf<TTag_1>["className"] | ((bag: TabsRenderPropArg) => string) | undefined;
|
||||
} : {}) & {
|
||||
defaultIndex?: number | undefined;
|
||||
onChange?: ((index: number) => void) | undefined;
|
||||
selectedIndex?: number | undefined;
|
||||
vertical?: boolean | undefined;
|
||||
manual?: boolean | undefined;
|
||||
}, ref: Ref<HTMLElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
};
|
||||
List: (<TTag_2 extends React.ElementType<any> = "div">(props: Props<TTag_2, ListRenderPropArg, ListPropsWeControl> & {}, ref: Ref<HTMLElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Panels: (<TTag_3 extends React.ElementType<any> = "div">(props: Props<TTag_3, PanelsRenderPropArg, "1D45E01E-AF44-47C4-988A-19A94EBAF55C">, ref: Ref<HTMLElement>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
Panel: (<TTag_4 extends React.ElementType<any> = "div">(props: Props<TTag_4, PanelRenderPropArg, PanelPropsWeControl> & (({
|
||||
static?: undefined;
|
||||
} & {
|
||||
unmount?: boolean | undefined;
|
||||
}) | ({
|
||||
unmount?: undefined;
|
||||
} & {
|
||||
static?: boolean | undefined;
|
||||
})), ref: Ref<HTMLElement>) => JSX.Element | null) & {
|
||||
displayName: string;
|
||||
};
|
||||
};
|
||||
export {};
|
||||
1
node_modules/@headlessui/react/dist/components/tabs/tabs.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/tabs/tabs.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
40
node_modules/@headlessui/react/dist/components/transitions/transition.d.ts
generated
vendored
Normal file
40
node_modules/@headlessui/react/dist/components/transitions/transition.d.ts
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
import React, { MutableRefObject, Ref } from 'react';
|
||||
import { Props, ReactTag } from '../../types.js';
|
||||
import { Features, PropsForFeatures } from '../../utils/render.js';
|
||||
export interface TransitionClasses {
|
||||
enter?: string;
|
||||
enterFrom?: string;
|
||||
enterTo?: string;
|
||||
entered?: string;
|
||||
leave?: string;
|
||||
leaveFrom?: string;
|
||||
leaveTo?: string;
|
||||
}
|
||||
export interface TransitionEvents {
|
||||
beforeEnter?: () => void;
|
||||
afterEnter?: () => void;
|
||||
beforeLeave?: () => void;
|
||||
afterLeave?: () => void;
|
||||
}
|
||||
declare type TransitionChildProps<TTag extends ReactTag> = Props<TTag, TransitionChildRenderPropArg> & PropsForFeatures<typeof TransitionChildRenderFeatures> & TransitionClasses & TransitionEvents & {
|
||||
appear?: boolean;
|
||||
};
|
||||
declare type TransitionChildRenderPropArg = MutableRefObject<HTMLDivElement>;
|
||||
declare let TransitionChildRenderFeatures: Features;
|
||||
export declare let Transition: (<TTag extends React.ElementType<any> = "div">(props: TransitionChildProps<TTag> & {
|
||||
show?: boolean | undefined;
|
||||
appear?: boolean | undefined;
|
||||
}, ref: Ref<HTMLElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
} & {
|
||||
Child: (<TTag_1 extends React.ElementType<any> = "div">(props: TransitionChildProps<TTag_1>, ref: MutableRefObject<HTMLElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
};
|
||||
Root: (<TTag extends React.ElementType<any> = "div">(props: TransitionChildProps<TTag> & {
|
||||
show?: boolean | undefined;
|
||||
appear?: boolean | undefined;
|
||||
}, ref: Ref<HTMLElement>) => JSX.Element) & {
|
||||
displayName: string;
|
||||
};
|
||||
};
|
||||
export {};
|
||||
1
node_modules/@headlessui/react/dist/components/transitions/transition.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/transitions/transition.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
9
node_modules/@headlessui/react/dist/components/transitions/utils/transition.d.ts
generated
vendored
Normal file
9
node_modules/@headlessui/react/dist/components/transitions/utils/transition.d.ts
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
export declare function transition(node: HTMLElement, classes: {
|
||||
enter: string[];
|
||||
enterFrom: string[];
|
||||
enterTo: string[];
|
||||
leave: string[];
|
||||
leaveFrom: string[];
|
||||
leaveTo: string[];
|
||||
entered: string[];
|
||||
}, show: boolean, done?: () => void): () => void;
|
||||
1
node_modules/@headlessui/react/dist/components/transitions/utils/transition.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/components/transitions/utils/transition.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{once as T}from'../../../utils/once.js';import{disposables as s}from'../../../utils/disposables.js';import{match as p}from'../../../utils/match.js';function v(t,...e){t&&e.length>0&&t.classList.add(...e)}function f(t,...e){t&&e.length>0&&t.classList.remove(...e)}function F(t,e){let n=s();if(!t)return n.dispose;let{transitionDuration:a,transitionDelay:i}=getComputedStyle(t),[m,d]=[a,i].map(o=>{let[r=0]=o.split(",").filter(Boolean).map(l=>l.includes("ms")?parseFloat(l):parseFloat(l)*1e3).sort((l,g)=>g-l);return r});if(m+d!==0){let o=n.addEventListener(t,"transitionend",r=>{r.target===r.currentTarget&&(e(),o())})}else e();return n.add(()=>e()),n.dispose}function M(t,e,n,a){let i=n?"enter":"leave",m=s(),d=a!==void 0?T(a):()=>{};i==="enter"&&(t.removeAttribute("hidden"),t.style.display="");let u=p(i,{enter:()=>e.enter,leave:()=>e.leave}),o=p(i,{enter:()=>e.enterTo,leave:()=>e.leaveTo}),r=p(i,{enter:()=>e.enterFrom,leave:()=>e.leaveFrom});return f(t,...e.enter,...e.enterTo,...e.enterFrom,...e.leave,...e.leaveFrom,...e.leaveTo,...e.entered),v(t,...u,...r),m.nextFrame(()=>{f(t,...r),v(t,...o),F(t,()=>(f(t,...u),v(t,...e.entered),d()))}),m.dispose}export{M as transition};
|
||||
5822
node_modules/@headlessui/react/dist/headlessui.dev.cjs
generated
vendored
Normal file
5822
node_modules/@headlessui/react/dist/headlessui.dev.cjs
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
node_modules/@headlessui/react/dist/headlessui.esm.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/headlessui.esm.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import"client-only";export*from'./components/combobox/combobox.js';export*from'./components/dialog/dialog.js';export*from'./components/disclosure/disclosure.js';export*from'./components/focus-trap/focus-trap.js';export*from'./components/listbox/listbox.js';export*from'./components/menu/menu.js';export*from'./components/popover/popover.js';export*from'./components/portal/portal.js';export*from'./components/radio-group/radio-group.js';export*from'./components/switch/switch.js';export*from'./components/tabs/tabs.js';export*from'./components/transitions/transition.js';
|
||||
7
node_modules/@headlessui/react/dist/headlessui.esm.js.map
generated
vendored
Normal file
7
node_modules/@headlessui/react/dist/headlessui.esm.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
4
node_modules/@headlessui/react/dist/headlessui.prod.cjs
generated
vendored
Normal file
4
node_modules/@headlessui/react/dist/headlessui.prod.cjs
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/@headlessui/react/dist/hooks/__mocks__/use-id.d.ts
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/__mocks__/use-id.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export declare function useId(): number;
|
||||
2
node_modules/@headlessui/react/dist/hooks/use-computed.d.ts
generated
vendored
Normal file
2
node_modules/@headlessui/react/dist/hooks/use-computed.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
/// <reference types="react" />
|
||||
export declare function useComputed<T>(cb: () => T, dependencies: React.DependencyList): T;
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-computed.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-computed.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{useState as s}from"react";import{useIsoMorphicEffect as f}from'./use-iso-morphic-effect.js';import{useLatestValue as m}from'./use-latest-value.js';function i(e,o){let[u,t]=s(e),r=m(e);return f(()=>t(r.current),[r,t,...o]),u}export{i as useComputed};
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-controllable.d.ts
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-controllable.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export declare function useControllable<T>(controlledValue: T | undefined, onChange?: (value: T) => void, defaultValue?: T): readonly [NonNullable<T>, (value: any) => void | undefined];
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-controllable.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-controllable.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{useRef as o,useState as f}from"react";import{useEvent as a}from'./use-event.js';function T(l,r,c){let[i,s]=f(c),e=l!==void 0,t=o(e),u=o(!1),d=o(!1);return e&&!t.current&&!u.current?(u.current=!0,t.current=e,console.error("A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.")):!e&&t.current&&!d.current&&(d.current=!0,t.current=e,console.error("A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.")),[e?l:i,a(n=>(e||s(n),r==null?void 0:r(n)))]}export{T as useControllable};
|
||||
11
node_modules/@headlessui/react/dist/hooks/use-disposables.d.ts
generated
vendored
Normal file
11
node_modules/@headlessui/react/dist/hooks/use-disposables.d.ts
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
export declare function useDisposables(): {
|
||||
enqueue(fn: Function): void;
|
||||
addEventListener<TEventName extends keyof WindowEventMap>(element: HTMLElement | Window | Document, name: TEventName, listener: (event: WindowEventMap[TEventName]) => any, options?: boolean | AddEventListenerOptions | undefined): () => void;
|
||||
requestAnimationFrame(callback: FrameRequestCallback): () => void;
|
||||
nextFrame(callback: FrameRequestCallback): () => void;
|
||||
setTimeout(callback: (...args: any[]) => void, ms?: number | undefined, ...args: any[]): () => void;
|
||||
microTask(cb: () => void): () => void;
|
||||
add(cb: () => void): () => void;
|
||||
dispose(): void;
|
||||
workQueue(): Promise<void>;
|
||||
};
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-disposables.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-disposables.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{useState as s,useEffect as o}from"react";import{disposables as t}from'../utils/disposables.js';function p(){let[e]=s(t);return o(()=>()=>e.dispose(),[e]),e}export{p as useDisposables};
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-document-event.d.ts
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-document-event.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export declare function useDocumentEvent<TType extends keyof DocumentEventMap>(type: TType, listener: (ev: DocumentEventMap[TType]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-document-event.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-document-event.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{useEffect as m}from"react";import{useLatestValue as c}from'./use-latest-value.js';function d(e,r,n){let o=c(r);m(()=>{function t(u){o.current(u)}return document.addEventListener(e,t,n),()=>document.removeEventListener(e,t,n)},[e,n])}export{d as useDocumentEvent};
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-event-listener.d.ts
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-event-listener.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export declare function useEventListener<TType extends keyof WindowEventMap>(element: HTMLElement | Document | Window | EventTarget | null | undefined, type: TType, listener: (event: WindowEventMap[TType]) => any, options?: boolean | AddEventListenerOptions): void;
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-event-listener.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-event-listener.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{useEffect as d}from"react";import{useLatestValue as s}from'./use-latest-value.js';function E(n,e,a,t){let i=s(a);d(()=>{n=n!=null?n:window;function r(o){i.current(o)}return n.addEventListener(e,r,t),()=>n.removeEventListener(e,r,t)},[n,e,t])}export{E as useEventListener};
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-event.d.ts
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-event.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export declare let useEvent: <F extends (...args: any[]) => any, P extends any[] = Parameters<F>, R = ReturnType<F>>(cb: (...args: P) => R) => (...args: P) => R;
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-event.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-event.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import a from"react";import{useLatestValue as n}from'./use-latest-value.js';let o=function(t){let e=n(t);return a.useCallback((...r)=>e.current(...r),[e])};export{o as useEvent};
|
||||
6
node_modules/@headlessui/react/dist/hooks/use-flags.d.ts
generated
vendored
Normal file
6
node_modules/@headlessui/react/dist/hooks/use-flags.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
export declare function useFlags(initialFlags?: number): {
|
||||
addFlag: (flag: number) => void;
|
||||
hasFlag: (flag: number) => boolean;
|
||||
removeFlag: (flag: number) => void;
|
||||
toggleFlag: (flag: number) => void;
|
||||
};
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-flags.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-flags.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{useState as m,useCallback as t}from"react";function b(g=0){let[r,l]=m(g),u=t(e=>l(a=>a|e),[r]),n=t(e=>Boolean(r&e),[r]),o=t(e=>l(a=>a&~e),[l]),s=t(e=>l(a=>a^e),[l]);return{addFlag:u,hasFlag:n,removeFlag:o,toggleFlag:s}}export{b as useFlags};
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-id.d.ts
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-id.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export declare let useId: any;
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-id.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-id.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
var u;import t from"react";import{useIsoMorphicEffect as d}from'./use-iso-morphic-effect.js';import{useServerHandoffComplete as f}from'./use-server-handoff-complete.js';let l=0;function r(){return++l}let I=(u=t.useId)!=null?u:function(){let n=f(),[e,o]=t.useState(n?r:null);return d(()=>{e===null&&o(r())},[e]),e!=null?""+e:void 0};export{I as useId};
|
||||
2
node_modules/@headlessui/react/dist/hooks/use-inert-others.d.ts
generated
vendored
Normal file
2
node_modules/@headlessui/react/dist/hooks/use-inert-others.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import { MutableRefObject } from 'react';
|
||||
export declare function useInertOthers<TElement extends HTMLElement>(container: MutableRefObject<TElement | null>, enabled?: boolean): void;
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-inert-others.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-inert-others.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{getOwnerDocument as s}from'../utils/owner.js';import{useIsoMorphicEffect as d}from'./use-iso-morphic-effect.js';let i=new Set,r=new Map;function u(t){t.setAttribute("aria-hidden","true"),t.inert=!0}function l(t){let n=r.get(t);!n||(n["aria-hidden"]===null?t.removeAttribute("aria-hidden"):t.setAttribute("aria-hidden",n["aria-hidden"]),t.inert=n.inert)}function M(t,n=!0){d(()=>{if(!n||!t.current)return;let o=t.current,a=s(o);if(!!a){i.add(o);for(let e of r.keys())e.contains(o)&&(l(e),r.delete(e));return a.querySelectorAll("body > *").forEach(e=>{if(e instanceof HTMLElement){for(let f of i)if(e.contains(f))return;i.size===1&&(r.set(e,{"aria-hidden":e.getAttribute("aria-hidden"),inert:e.inert}),u(e))}}),()=>{if(i.delete(o),i.size>0)a.querySelectorAll("body > *").forEach(e=>{if(e instanceof HTMLElement&&!r.has(e)){for(let f of i)if(e.contains(f))return;r.set(e,{"aria-hidden":e.getAttribute("aria-hidden"),inert:e.inert}),u(e)}});else for(let e of r.keys())l(e),r.delete(e)}}},[n])}export{M as useInertOthers};
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-is-initial-render.d.ts
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-is-initial-render.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export declare function useIsInitialRender(): boolean;
|
||||
1
node_modules/@headlessui/react/dist/hooks/use-is-initial-render.js
generated
vendored
Normal file
1
node_modules/@headlessui/react/dist/hooks/use-is-initial-render.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{useRef as r,useEffect as t}from"react";function n(){let e=r(!0);return t(()=>(e.current=!1,()=>{e.current=!0}),[]),e.current}export{n as useIsInitialRender};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user