Refactor routing in App component to enhance navigation and improve error handling by integrating dynamic routes and updating the NotFound route.

This commit is contained in:
becarta
2025-05-23 12:43:00 +02:00
parent f40db0f5c9
commit a544759a3b
11127 changed files with 1647032 additions and 0 deletions

118
node_modules/property-information/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,118 @@
/**
* Info on a property.
*/
export interface Info {
/**
* Attribute name for the property that could be used in markup
* (such as `'aria-describedby'`, `'allowfullscreen'`, `'xml:lang'`,
* `'for'`, or `'charoff'`).
*/
attribute: string
/**
* The property is *like* a `boolean`
* (such as `draggable`);
* these properties have both an on and off state when defined,
* *and* another state when not defined.
*/
booleanish: boolean
/**
* The property is a `boolean`
* (such as `hidden`);
* these properties have an on state when defined and an off state when not
* defined.
*/
boolean: boolean
/**
* The property is a list separated by spaces or commas
* (such as `strokeDashArray`).
*/
commaOrSpaceSeparated: boolean
/**
* The property is a list separated by commas
* (such as `coords`).
*/
commaSeparated: boolean
/**
* The property is defined by a space;
* this is the case for values in HTML
* (including data and ARIA),
* SVG, XML, XMLNS, and XLink;
* not defined properties can only be found through `find`.
*/
defined: boolean
/**
* When working with the DOM,
* this property has to be changed as a field on the element,
* instead of through `setAttribute`
* (this is true only for `'checked'`, `'multiple'`, `'muted'`, and
* `'selected'`).
*/
mustUseProperty: boolean
/**
* The property is a `number` (such as `height`).
*/
number: boolean
/**
* The property is *like* a `boolean` (such as `download`);
* these properties have an on state *and* more states when defined and an
* off state when not defined.
*/
overloadedBoolean: boolean
/**
* JavaScript-style camel-cased name;
* based on the DOM but sometimes different
* (such as `'ariaDescribedBy'`, `'allowFullScreen'`, `'xmlLang'`,
* `'htmlFor'`, `'charOff'`).
*/
property: string
/**
* The property is a list separated by spaces
* (such as `className`).
*/
spaceSeparated: boolean
/**
* Space of the property.
*/
space: Space | undefined
}
/**
* Schema for a primary space.
*/
export interface Schema {
/**
* Object mapping normalized attributes and properties to properly cased
* properties.
*/
normal: Record<string, string>
/**
* Object mapping properties to info.
*/
property: Record<string, Info>
space: Space | undefined
}
/**
* Space of a property.
*/
export type Space = 'html' | 'svg' | 'xlink' | 'xmlns' | 'xml'
export {find} from './lib/find.js'
export {hastToReact} from './lib/hast-to-react.js'
/**
* `Schema` for HTML,
* with info on properties from HTML itself and related embedded spaces
* (ARIA, XML, XMLNS, XLink).
*/
export const html: Schema
export {normalize} from './lib/normalize.js'
/**
* `Schema` for SVG,
* with info on properties from SVG itself and related embedded spaces
* (ARIA, XML, XMLNS, XLink).
*/
export const svg: Schema

17
node_modules/property-information/index.js generated vendored Normal file
View File

@@ -0,0 +1,17 @@
// Note: types exposed from `index.d.ts`.
import {merge} from './lib/util/merge.js'
import {aria} from './lib/aria.js'
import {html as htmlBase} from './lib/html.js'
import {svg as svgBase} from './lib/svg.js'
import {xlink} from './lib/xlink.js'
import {xmlns} from './lib/xmlns.js'
import {xml} from './lib/xml.js'
export {hastToReact} from './lib/hast-to-react.js'
export const html = merge([aria, htmlBase, xlink, xmlns, xml], 'html')
export {find} from './lib/find.js'
export {normalize} from './lib/normalize.js'
export const svg = merge([aria, svgBase, xlink, xmlns, xml], 'svg')

2
node_modules/property-information/lib/aria.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
export const aria: import("./util/schema.js").Schema;
//# sourceMappingURL=aria.d.ts.map

1
node_modules/property-information/lib/aria.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"aria.d.ts","sourceRoot":"","sources":["aria.js"],"names":[],"mappings":"AAGA,qDAyDE"}

61
node_modules/property-information/lib/aria.js generated vendored Normal file
View File

@@ -0,0 +1,61 @@
import {create} from './util/create.js'
import {booleanish, number, spaceSeparated} from './util/types.js'
export const aria = create({
properties: {
ariaActiveDescendant: null,
ariaAtomic: booleanish,
ariaAutoComplete: null,
ariaBusy: booleanish,
ariaChecked: booleanish,
ariaColCount: number,
ariaColIndex: number,
ariaColSpan: number,
ariaControls: spaceSeparated,
ariaCurrent: null,
ariaDescribedBy: spaceSeparated,
ariaDetails: null,
ariaDisabled: booleanish,
ariaDropEffect: spaceSeparated,
ariaErrorMessage: null,
ariaExpanded: booleanish,
ariaFlowTo: spaceSeparated,
ariaGrabbed: booleanish,
ariaHasPopup: null,
ariaHidden: booleanish,
ariaInvalid: null,
ariaKeyShortcuts: null,
ariaLabel: null,
ariaLabelledBy: spaceSeparated,
ariaLevel: number,
ariaLive: null,
ariaModal: booleanish,
ariaMultiLine: booleanish,
ariaMultiSelectable: booleanish,
ariaOrientation: null,
ariaOwns: spaceSeparated,
ariaPlaceholder: null,
ariaPosInSet: number,
ariaPressed: booleanish,
ariaReadOnly: booleanish,
ariaRelevant: null,
ariaRequired: booleanish,
ariaRoleDescription: spaceSeparated,
ariaRowCount: number,
ariaRowIndex: number,
ariaRowSpan: number,
ariaSelected: booleanish,
ariaSetSize: number,
ariaSort: null,
ariaValueMax: number,
ariaValueMin: number,
ariaValueNow: number,
ariaValueText: null,
role: null
},
transform(_, property) {
return property === 'role'
? property
: 'aria-' + property.slice(4).toLowerCase()
}
})

34
node_modules/property-information/lib/find.d.ts generated vendored Normal file
View File

@@ -0,0 +1,34 @@
/**
* Look up info on a property.
*
* In most cases the given `schema` contains info on the property.
* All standard,
* most legacy,
* and some non-standard properties are supported.
* For these cases,
* the returned `Info` has hints about the value of the property.
*
* `name` can also be a valid data attribute or property,
* in which case an `Info` object with the correctly cased `attribute` and
* `property` is returned.
*
* `name` can be an unknown attribute,
* in which case an `Info` object with `attribute` and `property` set to the
* given name is returned.
* It is not recommended to provide unsupported legacy or recently specced
* properties.
*
*
* @param {Schema} schema
* Schema;
* either the `html` or `svg` export.
* @param {string} value
* An attribute-like or property-like name;
* it will be passed through `normalize` to hopefully find the correct info.
* @returns {Info}
* Info.
*/
export function find(schema: Schema, value: string): Info;
import type { Schema } from 'property-information';
import { Info } from './util/info.js';
//# sourceMappingURL=find.d.ts.map

1
node_modules/property-information/lib/find.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["find.js"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,6BATW,MAAM,SAGN,MAAM,GAGJ,IAAI,CAqChB;4BA3EwB,sBAAsB;qBAI5B,gBAAgB"}

97
node_modules/property-information/lib/find.js generated vendored Normal file
View File

@@ -0,0 +1,97 @@
/**
* @import {Schema} from 'property-information'
*/
import {DefinedInfo} from './util/defined-info.js'
import {Info} from './util/info.js'
import {normalize} from './normalize.js'
const cap = /[A-Z]/g
const dash = /-[a-z]/g
const valid = /^data[-\w.:]+$/i
/**
* Look up info on a property.
*
* In most cases the given `schema` contains info on the property.
* All standard,
* most legacy,
* and some non-standard properties are supported.
* For these cases,
* the returned `Info` has hints about the value of the property.
*
* `name` can also be a valid data attribute or property,
* in which case an `Info` object with the correctly cased `attribute` and
* `property` is returned.
*
* `name` can be an unknown attribute,
* in which case an `Info` object with `attribute` and `property` set to the
* given name is returned.
* It is not recommended to provide unsupported legacy or recently specced
* properties.
*
*
* @param {Schema} schema
* Schema;
* either the `html` or `svg` export.
* @param {string} value
* An attribute-like or property-like name;
* it will be passed through `normalize` to hopefully find the correct info.
* @returns {Info}
* Info.
*/
export function find(schema, value) {
const normal = normalize(value)
let property = value
let Type = Info
if (normal in schema.normal) {
return schema.property[schema.normal[normal]]
}
if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {
// Attribute or property.
if (value.charAt(4) === '-') {
// Turn it into a property.
const rest = value.slice(5).replace(dash, camelcase)
property = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)
} else {
// Turn it into an attribute.
const rest = value.slice(4)
if (!dash.test(rest)) {
let dashes = rest.replace(cap, kebab)
if (dashes.charAt(0) !== '-') {
dashes = '-' + dashes
}
value = 'data' + dashes
}
}
Type = DefinedInfo
}
return new Type(property, value)
}
/**
* @param {string} $0
* Value.
* @returns {string}
* Kebab.
*/
function kebab($0) {
return '-' + $0.toLowerCase()
}
/**
* @param {string} $0
* Value.
* @returns {string}
* Camel.
*/
function camelcase($0) {
return $0.charAt(1).toUpperCase()
}

View File

@@ -0,0 +1,13 @@
/**
* Special cases for React (`Record<string, string>`).
*
* `hast` is close to `React` but differs in a couple of cases.
* To get a React property from a hast property,
* check if it is in `hastToReact`.
* If it is, use the corresponding value;
* otherwise, use the hast property.
*
* @type {Record<string, string>}
*/
export const hastToReact: Record<string, string>;
//# sourceMappingURL=hast-to-react.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"hast-to-react.d.ts","sourceRoot":"","sources":["hast-to-react.js"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,0BAFU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoB/B"}

30
node_modules/property-information/lib/hast-to-react.js generated vendored Normal file
View File

@@ -0,0 +1,30 @@
/**
* Special cases for React (`Record<string, string>`).
*
* `hast` is close to `React` but differs in a couple of cases.
* To get a React property from a hast property,
* check if it is in `hastToReact`.
* If it is, use the corresponding value;
* otherwise, use the hast property.
*
* @type {Record<string, string>}
*/
export const hastToReact = {
classId: 'classID',
dataType: 'datatype',
itemId: 'itemID',
strokeDashArray: 'strokeDasharray',
strokeDashOffset: 'strokeDashoffset',
strokeLineCap: 'strokeLinecap',
strokeLineJoin: 'strokeLinejoin',
strokeMiterLimit: 'strokeMiterlimit',
typeOf: 'typeof',
xLinkActuate: 'xlinkActuate',
xLinkArcRole: 'xlinkArcrole',
xLinkHref: 'xlinkHref',
xLinkRole: 'xlinkRole',
xLinkShow: 'xlinkShow',
xLinkTitle: 'xlinkTitle',
xLinkType: 'xlinkType',
xmlnsXLink: 'xmlnsXlink'
}

2
node_modules/property-information/lib/html.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
export const html: import("./util/schema.js").Schema;
//# sourceMappingURL=html.d.ts.map

1
node_modules/property-information/lib/html.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["html.js"],"names":[],"mappings":"AAWA,qDAsTE"}

322
node_modules/property-information/lib/html.js generated vendored Normal file
View File

@@ -0,0 +1,322 @@
import {caseInsensitiveTransform} from './util/case-insensitive-transform.js'
import {create} from './util/create.js'
import {
booleanish,
boolean,
commaSeparated,
number,
overloadedBoolean,
spaceSeparated
} from './util/types.js'
export const html = create({
attributes: {
acceptcharset: 'accept-charset',
classname: 'class',
htmlfor: 'for',
httpequiv: 'http-equiv'
},
mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],
properties: {
// Standard Properties.
abbr: null,
accept: commaSeparated,
acceptCharset: spaceSeparated,
accessKey: spaceSeparated,
action: null,
allow: null,
allowFullScreen: boolean,
allowPaymentRequest: boolean,
allowUserMedia: boolean,
alt: null,
as: null,
async: boolean,
autoCapitalize: null,
autoComplete: spaceSeparated,
autoFocus: boolean,
autoPlay: boolean,
blocking: spaceSeparated,
capture: null,
charSet: null,
checked: boolean,
cite: null,
className: spaceSeparated,
cols: number,
colSpan: null,
content: null,
contentEditable: booleanish,
controls: boolean,
controlsList: spaceSeparated,
coords: number | commaSeparated,
crossOrigin: null,
data: null,
dateTime: null,
decoding: null,
default: boolean,
defer: boolean,
dir: null,
dirName: null,
disabled: boolean,
download: overloadedBoolean,
draggable: booleanish,
encType: null,
enterKeyHint: null,
fetchPriority: null,
form: null,
formAction: null,
formEncType: null,
formMethod: null,
formNoValidate: boolean,
formTarget: null,
headers: spaceSeparated,
height: number,
hidden: overloadedBoolean,
high: number,
href: null,
hrefLang: null,
htmlFor: spaceSeparated,
httpEquiv: spaceSeparated,
id: null,
imageSizes: null,
imageSrcSet: null,
inert: boolean,
inputMode: null,
integrity: null,
is: null,
isMap: boolean,
itemId: null,
itemProp: spaceSeparated,
itemRef: spaceSeparated,
itemScope: boolean,
itemType: spaceSeparated,
kind: null,
label: null,
lang: null,
language: null,
list: null,
loading: null,
loop: boolean,
low: number,
manifest: null,
max: null,
maxLength: number,
media: null,
method: null,
min: null,
minLength: number,
multiple: boolean,
muted: boolean,
name: null,
nonce: null,
noModule: boolean,
noValidate: boolean,
onAbort: null,
onAfterPrint: null,
onAuxClick: null,
onBeforeMatch: null,
onBeforePrint: null,
onBeforeToggle: null,
onBeforeUnload: null,
onBlur: null,
onCancel: null,
onCanPlay: null,
onCanPlayThrough: null,
onChange: null,
onClick: null,
onClose: null,
onContextLost: null,
onContextMenu: null,
onContextRestored: null,
onCopy: null,
onCueChange: null,
onCut: null,
onDblClick: null,
onDrag: null,
onDragEnd: null,
onDragEnter: null,
onDragExit: null,
onDragLeave: null,
onDragOver: null,
onDragStart: null,
onDrop: null,
onDurationChange: null,
onEmptied: null,
onEnded: null,
onError: null,
onFocus: null,
onFormData: null,
onHashChange: null,
onInput: null,
onInvalid: null,
onKeyDown: null,
onKeyPress: null,
onKeyUp: null,
onLanguageChange: null,
onLoad: null,
onLoadedData: null,
onLoadedMetadata: null,
onLoadEnd: null,
onLoadStart: null,
onMessage: null,
onMessageError: null,
onMouseDown: null,
onMouseEnter: null,
onMouseLeave: null,
onMouseMove: null,
onMouseOut: null,
onMouseOver: null,
onMouseUp: null,
onOffline: null,
onOnline: null,
onPageHide: null,
onPageShow: null,
onPaste: null,
onPause: null,
onPlay: null,
onPlaying: null,
onPopState: null,
onProgress: null,
onRateChange: null,
onRejectionHandled: null,
onReset: null,
onResize: null,
onScroll: null,
onScrollEnd: null,
onSecurityPolicyViolation: null,
onSeeked: null,
onSeeking: null,
onSelect: null,
onSlotChange: null,
onStalled: null,
onStorage: null,
onSubmit: null,
onSuspend: null,
onTimeUpdate: null,
onToggle: null,
onUnhandledRejection: null,
onUnload: null,
onVolumeChange: null,
onWaiting: null,
onWheel: null,
open: boolean,
optimum: number,
pattern: null,
ping: spaceSeparated,
placeholder: null,
playsInline: boolean,
popover: null,
popoverTarget: null,
popoverTargetAction: null,
poster: null,
preload: null,
readOnly: boolean,
referrerPolicy: null,
rel: spaceSeparated,
required: boolean,
reversed: boolean,
rows: number,
rowSpan: number,
sandbox: spaceSeparated,
scope: null,
scoped: boolean,
seamless: boolean,
selected: boolean,
shadowRootClonable: boolean,
shadowRootDelegatesFocus: boolean,
shadowRootMode: null,
shape: null,
size: number,
sizes: null,
slot: null,
span: number,
spellCheck: booleanish,
src: null,
srcDoc: null,
srcLang: null,
srcSet: null,
start: number,
step: null,
style: null,
tabIndex: number,
target: null,
title: null,
translate: null,
type: null,
typeMustMatch: boolean,
useMap: null,
value: booleanish,
width: number,
wrap: null,
writingSuggestions: null,
// Legacy.
// See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis
align: null, // Several. Use CSS `text-align` instead,
aLink: null, // `<body>`. Use CSS `a:active {color}` instead
archive: spaceSeparated, // `<object>`. List of URIs to archives
axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`
background: null, // `<body>`. Use CSS `background-image` instead
bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead
border: number, // `<table>`. Use CSS `border-width` instead,
borderColor: null, // `<table>`. Use CSS `border-color` instead,
bottomMargin: number, // `<body>`
cellPadding: null, // `<table>`
cellSpacing: null, // `<table>`
char: null, // Several table elements. When `align=char`, sets the character to align on
charOff: null, // Several table elements. When `char`, offsets the alignment
classId: null, // `<object>`
clear: null, // `<br>`. Use CSS `clear` instead
code: null, // `<object>`
codeBase: null, // `<object>`
codeType: null, // `<object>`
color: null, // `<font>` and `<hr>`. Use CSS instead
compact: boolean, // Lists. Use CSS to reduce space between items instead
declare: boolean, // `<object>`
event: null, // `<script>`
face: null, // `<font>`. Use CSS instead
frame: null, // `<table>`
frameBorder: null, // `<iframe>`. Use CSS `border` instead
hSpace: number, // `<img>` and `<object>`
leftMargin: number, // `<body>`
link: null, // `<body>`. Use CSS `a:link {color: *}` instead
longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`
lowSrc: null, // `<img>`. Use a `<picture>`
marginHeight: number, // `<body>`
marginWidth: number, // `<body>`
noResize: boolean, // `<frame>`
noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`
noShade: boolean, // `<hr>`. Use background-color and height instead of borders
noWrap: boolean, // `<td>` and `<th>`
object: null, // `<applet>`
profile: null, // `<head>`
prompt: null, // `<isindex>`
rev: null, // `<link>`
rightMargin: number, // `<body>`
rules: null, // `<table>`
scheme: null, // `<meta>`
scrolling: booleanish, // `<frame>`. Use overflow in the child context
standby: null, // `<object>`
summary: null, // `<table>`
text: null, // `<body>`. Use CSS `color` instead
topMargin: number, // `<body>`
valueType: null, // `<param>`
version: null, // `<html>`. Use a doctype.
vAlign: null, // Several. Use CSS `vertical-align` instead
vLink: null, // `<body>`. Use CSS `a:visited {color}` instead
vSpace: number, // `<img>` and `<object>`
// Non-standard Properties.
allowTransparency: null,
autoCorrect: null,
autoSave: null,
disablePictureInPicture: boolean,
disableRemotePlayback: boolean,
prefix: null,
property: null,
results: number,
security: null,
unselectable: null
},
space: 'html',
transform: caseInsensitiveTransform
})

11
node_modules/property-information/lib/normalize.d.ts generated vendored Normal file
View File

@@ -0,0 +1,11 @@
/**
* Get the cleaned case insensitive form of an attribute or property.
*
* @param {string} value
* An attribute-like or property-like name.
* @returns {string}
* Value that can be used to look up the properly cased property on a
* `Schema`.
*/
export function normalize(value: string): string;
//# sourceMappingURL=normalize.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["normalize.js"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,iCANW,MAAM,GAEJ,MAAM,CAMlB"}

12
node_modules/property-information/lib/normalize.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
/**
* Get the cleaned case insensitive form of an attribute or property.
*
* @param {string} value
* An attribute-like or property-like name.
* @returns {string}
* Value that can be used to look up the properly cased property on a
* `Schema`.
*/
export function normalize(value) {
return value.toLowerCase()
}

2
node_modules/property-information/lib/svg.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
export const svg: import("./util/schema.js").Schema;
//# sourceMappingURL=svg.d.ts.map

1
node_modules/property-information/lib/svg.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["svg.js"],"names":[],"mappings":"AAUA,oDA4iBE"}

567
node_modules/property-information/lib/svg.js generated vendored Normal file
View File

@@ -0,0 +1,567 @@
import {caseSensitiveTransform} from './util/case-sensitive-transform.js'
import {create} from './util/create.js'
import {
boolean,
commaOrSpaceSeparated,
commaSeparated,
number,
spaceSeparated
} from './util/types.js'
export const svg = create({
attributes: {
accentHeight: 'accent-height',
alignmentBaseline: 'alignment-baseline',
arabicForm: 'arabic-form',
baselineShift: 'baseline-shift',
capHeight: 'cap-height',
className: 'class',
clipPath: 'clip-path',
clipRule: 'clip-rule',
colorInterpolation: 'color-interpolation',
colorInterpolationFilters: 'color-interpolation-filters',
colorProfile: 'color-profile',
colorRendering: 'color-rendering',
crossOrigin: 'crossorigin',
dataType: 'datatype',
dominantBaseline: 'dominant-baseline',
enableBackground: 'enable-background',
fillOpacity: 'fill-opacity',
fillRule: 'fill-rule',
floodColor: 'flood-color',
floodOpacity: 'flood-opacity',
fontFamily: 'font-family',
fontSize: 'font-size',
fontSizeAdjust: 'font-size-adjust',
fontStretch: 'font-stretch',
fontStyle: 'font-style',
fontVariant: 'font-variant',
fontWeight: 'font-weight',
glyphName: 'glyph-name',
glyphOrientationHorizontal: 'glyph-orientation-horizontal',
glyphOrientationVertical: 'glyph-orientation-vertical',
hrefLang: 'hreflang',
horizAdvX: 'horiz-adv-x',
horizOriginX: 'horiz-origin-x',
horizOriginY: 'horiz-origin-y',
imageRendering: 'image-rendering',
letterSpacing: 'letter-spacing',
lightingColor: 'lighting-color',
markerEnd: 'marker-end',
markerMid: 'marker-mid',
markerStart: 'marker-start',
navDown: 'nav-down',
navDownLeft: 'nav-down-left',
navDownRight: 'nav-down-right',
navLeft: 'nav-left',
navNext: 'nav-next',
navPrev: 'nav-prev',
navRight: 'nav-right',
navUp: 'nav-up',
navUpLeft: 'nav-up-left',
navUpRight: 'nav-up-right',
onAbort: 'onabort',
onActivate: 'onactivate',
onAfterPrint: 'onafterprint',
onBeforePrint: 'onbeforeprint',
onBegin: 'onbegin',
onCancel: 'oncancel',
onCanPlay: 'oncanplay',
onCanPlayThrough: 'oncanplaythrough',
onChange: 'onchange',
onClick: 'onclick',
onClose: 'onclose',
onCopy: 'oncopy',
onCueChange: 'oncuechange',
onCut: 'oncut',
onDblClick: 'ondblclick',
onDrag: 'ondrag',
onDragEnd: 'ondragend',
onDragEnter: 'ondragenter',
onDragExit: 'ondragexit',
onDragLeave: 'ondragleave',
onDragOver: 'ondragover',
onDragStart: 'ondragstart',
onDrop: 'ondrop',
onDurationChange: 'ondurationchange',
onEmptied: 'onemptied',
onEnd: 'onend',
onEnded: 'onended',
onError: 'onerror',
onFocus: 'onfocus',
onFocusIn: 'onfocusin',
onFocusOut: 'onfocusout',
onHashChange: 'onhashchange',
onInput: 'oninput',
onInvalid: 'oninvalid',
onKeyDown: 'onkeydown',
onKeyPress: 'onkeypress',
onKeyUp: 'onkeyup',
onLoad: 'onload',
onLoadedData: 'onloadeddata',
onLoadedMetadata: 'onloadedmetadata',
onLoadStart: 'onloadstart',
onMessage: 'onmessage',
onMouseDown: 'onmousedown',
onMouseEnter: 'onmouseenter',
onMouseLeave: 'onmouseleave',
onMouseMove: 'onmousemove',
onMouseOut: 'onmouseout',
onMouseOver: 'onmouseover',
onMouseUp: 'onmouseup',
onMouseWheel: 'onmousewheel',
onOffline: 'onoffline',
onOnline: 'ononline',
onPageHide: 'onpagehide',
onPageShow: 'onpageshow',
onPaste: 'onpaste',
onPause: 'onpause',
onPlay: 'onplay',
onPlaying: 'onplaying',
onPopState: 'onpopstate',
onProgress: 'onprogress',
onRateChange: 'onratechange',
onRepeat: 'onrepeat',
onReset: 'onreset',
onResize: 'onresize',
onScroll: 'onscroll',
onSeeked: 'onseeked',
onSeeking: 'onseeking',
onSelect: 'onselect',
onShow: 'onshow',
onStalled: 'onstalled',
onStorage: 'onstorage',
onSubmit: 'onsubmit',
onSuspend: 'onsuspend',
onTimeUpdate: 'ontimeupdate',
onToggle: 'ontoggle',
onUnload: 'onunload',
onVolumeChange: 'onvolumechange',
onWaiting: 'onwaiting',
onZoom: 'onzoom',
overlinePosition: 'overline-position',
overlineThickness: 'overline-thickness',
paintOrder: 'paint-order',
panose1: 'panose-1',
pointerEvents: 'pointer-events',
referrerPolicy: 'referrerpolicy',
renderingIntent: 'rendering-intent',
shapeRendering: 'shape-rendering',
stopColor: 'stop-color',
stopOpacity: 'stop-opacity',
strikethroughPosition: 'strikethrough-position',
strikethroughThickness: 'strikethrough-thickness',
strokeDashArray: 'stroke-dasharray',
strokeDashOffset: 'stroke-dashoffset',
strokeLineCap: 'stroke-linecap',
strokeLineJoin: 'stroke-linejoin',
strokeMiterLimit: 'stroke-miterlimit',
strokeOpacity: 'stroke-opacity',
strokeWidth: 'stroke-width',
tabIndex: 'tabindex',
textAnchor: 'text-anchor',
textDecoration: 'text-decoration',
textRendering: 'text-rendering',
transformOrigin: 'transform-origin',
typeOf: 'typeof',
underlinePosition: 'underline-position',
underlineThickness: 'underline-thickness',
unicodeBidi: 'unicode-bidi',
unicodeRange: 'unicode-range',
unitsPerEm: 'units-per-em',
vAlphabetic: 'v-alphabetic',
vHanging: 'v-hanging',
vIdeographic: 'v-ideographic',
vMathematical: 'v-mathematical',
vectorEffect: 'vector-effect',
vertAdvY: 'vert-adv-y',
vertOriginX: 'vert-origin-x',
vertOriginY: 'vert-origin-y',
wordSpacing: 'word-spacing',
writingMode: 'writing-mode',
xHeight: 'x-height',
// These were camelcased in Tiny. Now lowercased in SVG 2
playbackOrder: 'playbackorder',
timelineBegin: 'timelinebegin'
},
properties: {
about: commaOrSpaceSeparated,
accentHeight: number,
accumulate: null,
additive: null,
alignmentBaseline: null,
alphabetic: number,
amplitude: number,
arabicForm: null,
ascent: number,
attributeName: null,
attributeType: null,
azimuth: number,
bandwidth: null,
baselineShift: null,
baseFrequency: null,
baseProfile: null,
bbox: null,
begin: null,
bias: number,
by: null,
calcMode: null,
capHeight: number,
className: spaceSeparated,
clip: null,
clipPath: null,
clipPathUnits: null,
clipRule: null,
color: null,
colorInterpolation: null,
colorInterpolationFilters: null,
colorProfile: null,
colorRendering: null,
content: null,
contentScriptType: null,
contentStyleType: null,
crossOrigin: null,
cursor: null,
cx: null,
cy: null,
d: null,
dataType: null,
defaultAction: null,
descent: number,
diffuseConstant: number,
direction: null,
display: null,
dur: null,
divisor: number,
dominantBaseline: null,
download: boolean,
dx: null,
dy: null,
edgeMode: null,
editable: null,
elevation: number,
enableBackground: null,
end: null,
event: null,
exponent: number,
externalResourcesRequired: null,
fill: null,
fillOpacity: number,
fillRule: null,
filter: null,
filterRes: null,
filterUnits: null,
floodColor: null,
floodOpacity: null,
focusable: null,
focusHighlight: null,
fontFamily: null,
fontSize: null,
fontSizeAdjust: null,
fontStretch: null,
fontStyle: null,
fontVariant: null,
fontWeight: null,
format: null,
fr: null,
from: null,
fx: null,
fy: null,
g1: commaSeparated,
g2: commaSeparated,
glyphName: commaSeparated,
glyphOrientationHorizontal: null,
glyphOrientationVertical: null,
glyphRef: null,
gradientTransform: null,
gradientUnits: null,
handler: null,
hanging: number,
hatchContentUnits: null,
hatchUnits: null,
height: null,
href: null,
hrefLang: null,
horizAdvX: number,
horizOriginX: number,
horizOriginY: number,
id: null,
ideographic: number,
imageRendering: null,
initialVisibility: null,
in: null,
in2: null,
intercept: number,
k: number,
k1: number,
k2: number,
k3: number,
k4: number,
kernelMatrix: commaOrSpaceSeparated,
kernelUnitLength: null,
keyPoints: null, // SEMI_COLON_SEPARATED
keySplines: null, // SEMI_COLON_SEPARATED
keyTimes: null, // SEMI_COLON_SEPARATED
kerning: null,
lang: null,
lengthAdjust: null,
letterSpacing: null,
lightingColor: null,
limitingConeAngle: number,
local: null,
markerEnd: null,
markerMid: null,
markerStart: null,
markerHeight: null,
markerUnits: null,
markerWidth: null,
mask: null,
maskContentUnits: null,
maskUnits: null,
mathematical: null,
max: null,
media: null,
mediaCharacterEncoding: null,
mediaContentEncodings: null,
mediaSize: number,
mediaTime: null,
method: null,
min: null,
mode: null,
name: null,
navDown: null,
navDownLeft: null,
navDownRight: null,
navLeft: null,
navNext: null,
navPrev: null,
navRight: null,
navUp: null,
navUpLeft: null,
navUpRight: null,
numOctaves: null,
observer: null,
offset: null,
onAbort: null,
onActivate: null,
onAfterPrint: null,
onBeforePrint: null,
onBegin: null,
onCancel: null,
onCanPlay: null,
onCanPlayThrough: null,
onChange: null,
onClick: null,
onClose: null,
onCopy: null,
onCueChange: null,
onCut: null,
onDblClick: null,
onDrag: null,
onDragEnd: null,
onDragEnter: null,
onDragExit: null,
onDragLeave: null,
onDragOver: null,
onDragStart: null,
onDrop: null,
onDurationChange: null,
onEmptied: null,
onEnd: null,
onEnded: null,
onError: null,
onFocus: null,
onFocusIn: null,
onFocusOut: null,
onHashChange: null,
onInput: null,
onInvalid: null,
onKeyDown: null,
onKeyPress: null,
onKeyUp: null,
onLoad: null,
onLoadedData: null,
onLoadedMetadata: null,
onLoadStart: null,
onMessage: null,
onMouseDown: null,
onMouseEnter: null,
onMouseLeave: null,
onMouseMove: null,
onMouseOut: null,
onMouseOver: null,
onMouseUp: null,
onMouseWheel: null,
onOffline: null,
onOnline: null,
onPageHide: null,
onPageShow: null,
onPaste: null,
onPause: null,
onPlay: null,
onPlaying: null,
onPopState: null,
onProgress: null,
onRateChange: null,
onRepeat: null,
onReset: null,
onResize: null,
onScroll: null,
onSeeked: null,
onSeeking: null,
onSelect: null,
onShow: null,
onStalled: null,
onStorage: null,
onSubmit: null,
onSuspend: null,
onTimeUpdate: null,
onToggle: null,
onUnload: null,
onVolumeChange: null,
onWaiting: null,
onZoom: null,
opacity: null,
operator: null,
order: null,
orient: null,
orientation: null,
origin: null,
overflow: null,
overlay: null,
overlinePosition: number,
overlineThickness: number,
paintOrder: null,
panose1: null,
path: null,
pathLength: number,
patternContentUnits: null,
patternTransform: null,
patternUnits: null,
phase: null,
ping: spaceSeparated,
pitch: null,
playbackOrder: null,
pointerEvents: null,
points: null,
pointsAtX: number,
pointsAtY: number,
pointsAtZ: number,
preserveAlpha: null,
preserveAspectRatio: null,
primitiveUnits: null,
propagate: null,
property: commaOrSpaceSeparated,
r: null,
radius: null,
referrerPolicy: null,
refX: null,
refY: null,
rel: commaOrSpaceSeparated,
rev: commaOrSpaceSeparated,
renderingIntent: null,
repeatCount: null,
repeatDur: null,
requiredExtensions: commaOrSpaceSeparated,
requiredFeatures: commaOrSpaceSeparated,
requiredFonts: commaOrSpaceSeparated,
requiredFormats: commaOrSpaceSeparated,
resource: null,
restart: null,
result: null,
rotate: null,
rx: null,
ry: null,
scale: null,
seed: null,
shapeRendering: null,
side: null,
slope: null,
snapshotTime: null,
specularConstant: number,
specularExponent: number,
spreadMethod: null,
spacing: null,
startOffset: null,
stdDeviation: null,
stemh: null,
stemv: null,
stitchTiles: null,
stopColor: null,
stopOpacity: null,
strikethroughPosition: number,
strikethroughThickness: number,
string: null,
stroke: null,
strokeDashArray: commaOrSpaceSeparated,
strokeDashOffset: null,
strokeLineCap: null,
strokeLineJoin: null,
strokeMiterLimit: number,
strokeOpacity: number,
strokeWidth: null,
style: null,
surfaceScale: number,
syncBehavior: null,
syncBehaviorDefault: null,
syncMaster: null,
syncTolerance: null,
syncToleranceDefault: null,
systemLanguage: commaOrSpaceSeparated,
tabIndex: number,
tableValues: null,
target: null,
targetX: number,
targetY: number,
textAnchor: null,
textDecoration: null,
textRendering: null,
textLength: null,
timelineBegin: null,
title: null,
transformBehavior: null,
type: null,
typeOf: commaOrSpaceSeparated,
to: null,
transform: null,
transformOrigin: null,
u1: null,
u2: null,
underlinePosition: number,
underlineThickness: number,
unicode: null,
unicodeBidi: null,
unicodeRange: null,
unitsPerEm: number,
values: null,
vAlphabetic: number,
vMathematical: number,
vectorEffect: null,
vHanging: number,
vIdeographic: number,
version: null,
vertAdvY: number,
vertOriginX: number,
vertOriginY: number,
viewBox: null,
viewTarget: null,
visibility: null,
width: null,
widths: null,
wordSpacing: null,
writingMode: null,
x: null,
x1: null,
x2: null,
xChannelSelector: null,
xHeight: number,
y: null,
y1: null,
y2: null,
yChannelSelector: null,
z: null,
zoomAndPan: null
},
space: 'svg',
transform: caseSensitiveTransform
})

View File

@@ -0,0 +1,10 @@
/**
* @param {Record<string, string>} attributes
* Attributes.
* @param {string} property
* Property.
* @returns {string}
* Transformed property.
*/
export function caseInsensitiveTransform(attributes: Record<string, string>, property: string): string;
//# sourceMappingURL=case-insensitive-transform.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"case-insensitive-transform.d.ts","sourceRoot":"","sources":["case-insensitive-transform.js"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,qDAPW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YAEtB,MAAM,GAEJ,MAAM,CAKlB"}

View File

@@ -0,0 +1,13 @@
import {caseSensitiveTransform} from './case-sensitive-transform.js'
/**
* @param {Record<string, string>} attributes
* Attributes.
* @param {string} property
* Property.
* @returns {string}
* Transformed property.
*/
export function caseInsensitiveTransform(attributes, property) {
return caseSensitiveTransform(attributes, property.toLowerCase())
}

View File

@@ -0,0 +1,10 @@
/**
* @param {Record<string, string>} attributes
* Attributes.
* @param {string} attribute
* Attribute.
* @returns {string}
* Transformed attribute.
*/
export function caseSensitiveTransform(attributes: Record<string, string>, attribute: string): string;
//# sourceMappingURL=case-sensitive-transform.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"case-sensitive-transform.d.ts","sourceRoot":"","sources":["case-sensitive-transform.js"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,mDAPW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,aAEtB,MAAM,GAEJ,MAAM,CAKlB"}

View File

@@ -0,0 +1,11 @@
/**
* @param {Record<string, string>} attributes
* Attributes.
* @param {string} attribute
* Attribute.
* @returns {string}
* Transformed attribute.
*/
export function caseSensitiveTransform(attributes, attribute) {
return attribute in attributes ? attributes[attribute] : attribute
}

39
node_modules/property-information/lib/util/create.d.ts generated vendored Normal file
View File

@@ -0,0 +1,39 @@
/**
* @param {Definition} definition
* Definition.
* @returns {Schema}
* Schema.
*/
export function create(definition: Definition): Schema;
/**
* Definition of a schema.
*/
export type Definition = {
/**
* Normalzed names to special attribute case.
*/
attributes?: Record<string, string> | undefined;
/**
* Normalized names that must be set as properties.
*/
mustUseProperty?: ReadonlyArray<string> | undefined;
/**
* Property names to their types.
*/
properties: Record<string, number | null>;
/**
* Space.
*/
space?: Space | undefined;
/**
* Transform a property name.
*/
transform: Transform;
};
/**
* Transform.
*/
export type Transform = (attributes: Record<string, string>, property: string) => string;
import { Schema } from './schema.js';
import type { Space } from 'property-information';
//# sourceMappingURL=create.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["create.js"],"names":[],"mappings":"AAkCA;;;;;GAKG;AACH,mCALW,UAAU,GAER,MAAM,CA+BlB;;;;;;;;iBA7Da,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;;;;sBAElC,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS;;;;gBAEjC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;;;;YAE7B,KAAK,GAAG,SAAS;;;;eAEjB,SAAS;;;;;qCAOZ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YAEtB,MAAM,KAEJ,MAAM;uBAME,aAAa;2BA/BJ,sBAAsB"}

69
node_modules/property-information/lib/util/create.js generated vendored Normal file
View File

@@ -0,0 +1,69 @@
/**
* @import {Info, Space} from 'property-information'
*/
/**
* @typedef Definition
* Definition of a schema.
* @property {Record<string, string> | undefined} [attributes]
* Normalzed names to special attribute case.
* @property {ReadonlyArray<string> | undefined} [mustUseProperty]
* Normalized names that must be set as properties.
* @property {Record<string, number | null>} properties
* Property names to their types.
* @property {Space | undefined} [space]
* Space.
* @property {Transform} transform
* Transform a property name.
*/
/**
* @callback Transform
* Transform.
* @param {Record<string, string>} attributes
* Attributes.
* @param {string} property
* Property.
* @returns {string}
* Attribute.
*/
import {normalize} from '../normalize.js'
import {DefinedInfo} from './defined-info.js'
import {Schema} from './schema.js'
/**
* @param {Definition} definition
* Definition.
* @returns {Schema}
* Schema.
*/
export function create(definition) {
/** @type {Record<string, Info>} */
const properties = {}
/** @type {Record<string, string>} */
const normals = {}
for (const [property, value] of Object.entries(definition.properties)) {
const info = new DefinedInfo(
property,
definition.transform(definition.attributes || {}, property),
value,
definition.space
)
if (
definition.mustUseProperty &&
definition.mustUseProperty.includes(property)
) {
info.mustUseProperty = true
}
properties[property] = info
normals[normalize(property)] = property
normals[normalize(info.attribute)] = property
}
return new Schema(properties, normals, definition.space)
}

View File

@@ -0,0 +1,19 @@
export class DefinedInfo extends Info {
/**
* @constructor
* @param {string} property
* Property.
* @param {string} attribute
* Attribute.
* @param {number | null | undefined} [mask]
* Mask.
* @param {Space | undefined} [space]
* Space.
* @returns
* Info.
*/
constructor(property: string, attribute: string, mask?: number | null | undefined, space?: Space | undefined);
}
import { Info } from './info.js';
import type { Space } from 'property-information';
//# sourceMappingURL=defined-info.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"defined-info.d.ts","sourceRoot":"","sources":["defined-info.js"],"names":[],"mappings":"AAWA;IACE;;;;;;;;;;;;OAYG;IACH,sBAXW,MAAM,aAEN,MAAM,SAEN,MAAM,GAAG,IAAI,GAAG,SAAS,UAEzB,KAAK,GAAG,SAAS,EAkB3B;CACF;qBAnCkB,WAAW;2BAHN,sBAAsB"}

View File

@@ -0,0 +1,60 @@
/**
* @import {Space} from 'property-information'
*/
import {Info} from './info.js'
import * as types from './types.js'
const checks = /** @type {ReadonlyArray<keyof typeof types>} */ (
Object.keys(types)
)
export class DefinedInfo extends Info {
/**
* @constructor
* @param {string} property
* Property.
* @param {string} attribute
* Attribute.
* @param {number | null | undefined} [mask]
* Mask.
* @param {Space | undefined} [space]
* Space.
* @returns
* Info.
*/
constructor(property, attribute, mask, space) {
let index = -1
super(property, attribute)
mark(this, 'space', space)
if (typeof mask === 'number') {
while (++index < checks.length) {
const check = checks[index]
mark(this, checks[index], (mask & types[check]) === types[check])
}
}
}
}
DefinedInfo.prototype.defined = true
/**
* @template {keyof DefinedInfo} Key
* Key type.
* @param {DefinedInfo} values
* Info.
* @param {Key} key
* Key.
* @param {DefinedInfo[Key]} value
* Value.
* @returns {undefined}
* Nothing.
*/
function mark(values, key, value) {
if (value) {
values[key] = value
}
}

28
node_modules/property-information/lib/util/info.d.ts generated vendored Normal file
View File

@@ -0,0 +1,28 @@
/**
* @import {Info as InfoType} from 'property-information'
*/
/** @type {InfoType} */
export class Info {
/**
* @param {string} property
* Property.
* @param {string} attribute
* Attribute.
* @returns
* Info.
*/
constructor(property: string, attribute: string);
attribute: string;
property: string;
booleanish: boolean;
boolean: boolean;
commaOrSpaceSeparated: boolean;
commaSeparated: boolean;
defined: boolean;
mustUseProperty: boolean;
number: boolean;
overloadedBoolean: boolean;
spaceSeparated: boolean;
space: import("property-information").Space | undefined;
}
//# sourceMappingURL=info.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["info.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH,uBAAuB;AACvB;IACE;;;;;;;OAOG;IACH,sBAPW,MAAM,aAEN,MAAM,EAQhB;IAFC,kBAA0B;IAC1B,iBAAwB;IAK5B,oBAAyB;IACzB,iBAAsB;IACtB,+BAAoC;IACpC,wBAA6B;IAC7B,iBAAsB;IACtB,yBAA8B;IAC9B,gBAAqB;IACrB,2BAAgC;IAEhC,wBAA6B;IAC7B,wDAAoB;CAbnB"}

32
node_modules/property-information/lib/util/info.js generated vendored Normal file
View File

@@ -0,0 +1,32 @@
/**
* @import {Info as InfoType} from 'property-information'
*/
/** @type {InfoType} */
export class Info {
/**
* @param {string} property
* Property.
* @param {string} attribute
* Attribute.
* @returns
* Info.
*/
constructor(property, attribute) {
this.attribute = attribute
this.property = property
}
}
Info.prototype.attribute = ''
Info.prototype.booleanish = false
Info.prototype.boolean = false
Info.prototype.commaOrSpaceSeparated = false
Info.prototype.commaSeparated = false
Info.prototype.defined = false
Info.prototype.mustUseProperty = false
Info.prototype.number = false
Info.prototype.overloadedBoolean = false
Info.prototype.property = ''
Info.prototype.spaceSeparated = false
Info.prototype.space = undefined

12
node_modules/property-information/lib/util/merge.d.ts generated vendored Normal file
View File

@@ -0,0 +1,12 @@
/**
* @param {ReadonlyArray<Schema>} definitions
* Definitions.
* @param {Space | undefined} [space]
* Space.
* @returns {Schema}
* Schema.
*/
export function merge(definitions: ReadonlyArray<Schema>, space?: Space | undefined): Schema;
import { Schema } from './schema.js';
import type { Space } from 'property-information';
//# sourceMappingURL=merge.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["merge.js"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,mCAPW,aAAa,CAAC,MAAM,CAAC,UAErB,KAAK,GAAG,SAAS,GAEf,MAAM,CAelB;uBAtBoB,aAAa;2BAHJ,sBAAsB"}

27
node_modules/property-information/lib/util/merge.js generated vendored Normal file
View File

@@ -0,0 +1,27 @@
/**
* @import {Info, Space} from 'property-information'
*/
import {Schema} from './schema.js'
/**
* @param {ReadonlyArray<Schema>} definitions
* Definitions.
* @param {Space | undefined} [space]
* Space.
* @returns {Schema}
* Schema.
*/
export function merge(definitions, space) {
/** @type {Record<string, Info>} */
const property = {}
/** @type {Record<string, string>} */
const normal = {}
for (const definition of definitions) {
Object.assign(property, definition.property)
Object.assign(normal, definition.normal)
}
return new Schema(property, normal, space)
}

23
node_modules/property-information/lib/util/schema.d.ts generated vendored Normal file
View File

@@ -0,0 +1,23 @@
/**
* @import {Schema as SchemaType, Space} from 'property-information'
*/
/** @type {SchemaType} */
export class Schema {
/**
* @param {SchemaType['property']} property
* Property.
* @param {SchemaType['normal']} normal
* Normal.
* @param {Space | undefined} [space]
* Space.
* @returns
* Schema.
*/
constructor(property: SchemaType["property"], normal: SchemaType["normal"], space?: Space | undefined);
normal: Record<string, string>;
property: Record<string, import("property-information").Info>;
space: Space | undefined;
}
import type { Space } from 'property-information';
import type { Schema as SchemaType } from 'property-information';
//# sourceMappingURL=schema.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["schema.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH,yBAAyB;AACzB;IACE;;;;;;;;;OASG;IACH,sBATW,UAAU,CAAC,UAAU,CAAC,UAEtB,UAAU,CAAC,QAAQ,CAAC,UAEpB,KAAK,GAAG,SAAS,EAY3B;IANC,+BAAoB;IACpB,8DAAwB;IAGtB,yBAAkB;CAGvB;2BAvB6C,sBAAsB;0CAAtB,sBAAsB"}

29
node_modules/property-information/lib/util/schema.js generated vendored Normal file
View File

@@ -0,0 +1,29 @@
/**
* @import {Schema as SchemaType, Space} from 'property-information'
*/
/** @type {SchemaType} */
export class Schema {
/**
* @param {SchemaType['property']} property
* Property.
* @param {SchemaType['normal']} normal
* Normal.
* @param {Space | undefined} [space]
* Space.
* @returns
* Schema.
*/
constructor(property, normal, space) {
this.normal = normal
this.property = property
if (space) {
this.space = space
}
}
}
Schema.prototype.normal = {}
Schema.prototype.property = {}
Schema.prototype.space = undefined

View File

@@ -0,0 +1,8 @@
export const boolean: number;
export const booleanish: number;
export const overloadedBoolean: number;
export const number: number;
export const spaceSeparated: number;
export const commaSeparated: number;
export const commaOrSpaceSeparated: number;
//# sourceMappingURL=types.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.js"],"names":[],"mappings":"AAEA,6BAAkC;AAClC,gCAAqC;AACrC,uCAA4C;AAC5C,4BAAiC;AACjC,oCAAyC;AACzC,oCAAyC;AACzC,2CAAgD"}

13
node_modules/property-information/lib/util/types.js generated vendored Normal file
View File

@@ -0,0 +1,13 @@
let powers = 0
export const boolean = increment()
export const booleanish = increment()
export const overloadedBoolean = increment()
export const number = increment()
export const spaceSeparated = increment()
export const commaSeparated = increment()
export const commaOrSpaceSeparated = increment()
function increment() {
return 2 ** ++powers
}

2
node_modules/property-information/lib/xlink.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
export const xlink: import("./util/schema.js").Schema;
//# sourceMappingURL=xlink.d.ts.map

1
node_modules/property-information/lib/xlink.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"xlink.d.ts","sourceRoot":"","sources":["xlink.js"],"names":[],"mappings":"AAEA,sDAcE"}

17
node_modules/property-information/lib/xlink.js generated vendored Normal file
View File

@@ -0,0 +1,17 @@
import {create} from './util/create.js'
export const xlink = create({
properties: {
xLinkActuate: null,
xLinkArcRole: null,
xLinkHref: null,
xLinkRole: null,
xLinkShow: null,
xLinkTitle: null,
xLinkType: null
},
space: 'xlink',
transform(_, property) {
return 'xlink:' + property.slice(5).toLowerCase()
}
})

2
node_modules/property-information/lib/xml.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
export const xml: import("./util/schema.js").Schema;
//# sourceMappingURL=xml.d.ts.map

1
node_modules/property-information/lib/xml.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["xml.js"],"names":[],"mappings":"AAEA,oDAME"}

9
node_modules/property-information/lib/xml.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
import {create} from './util/create.js'
export const xml = create({
properties: {xmlBase: null, xmlLang: null, xmlSpace: null},
space: 'xml',
transform(_, property) {
return 'xml:' + property.slice(3).toLowerCase()
}
})

2
node_modules/property-information/lib/xmlns.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
export const xmlns: import("./util/schema.js").Schema;
//# sourceMappingURL=xmlns.d.ts.map

1
node_modules/property-information/lib/xmlns.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"xmlns.d.ts","sourceRoot":"","sources":["xmlns.js"],"names":[],"mappings":"AAGA,sDAKE"}

9
node_modules/property-information/lib/xmlns.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
import {create} from './util/create.js'
import {caseInsensitiveTransform} from './util/case-insensitive-transform.js'
export const xmlns = create({
attributes: {xmlnsxlink: 'xmlns:xlink'},
properties: {xmlnsXLink: null, xmlns: null},
space: 'xmlns',
transform: caseInsensitiveTransform
})

22
node_modules/property-information/license generated vendored Normal file
View File

@@ -0,0 +1,22 @@
(The MIT License)
Copyright (c) Titus Wormer <mailto:tituswormer@gmail.com>
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.

121
node_modules/property-information/package.json generated vendored Normal file
View File

@@ -0,0 +1,121 @@
{
"author": "Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)",
"bugs": "https://github.com/wooorm/property-information/issues",
"contributors": [
"Andrew Burgess <andrew@andrewburgess.io>",
"Dustin Deus <deusdustin@gmail.com> (http://starptech.de)",
"Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)"
],
"description": "Info on the properties and attributes of the web platform",
"devDependencies": {
"@types/mdast": "^4.0.0",
"@types/node": "^22.0.0",
"alpha-sort": "^5.0.0",
"c8": "^10.0.0",
"html-element-attributes": "^3.0.0",
"html-event-attributes": "^2.0.0",
"mdast-zone": "^6.0.0",
"prettier": "^3.0.0",
"remark-cli": "^12.0.0",
"remark-preset-wooorm": "^11.0.0",
"svg-element-attributes": "^2.0.0",
"svg-event-attributes": "^2.0.0",
"type-coverage": "^2.0.0",
"typescript": "^5.0.0",
"unist-builder": "^4.0.0",
"xo": "^0.60.0"
},
"exports": "./index.js",
"files": [
"index.d.ts",
"index.js",
"lib/"
],
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
},
"keywords": [
"aria",
"attribute",
"html",
"information",
"info",
"property",
"svg"
],
"license": "MIT",
"name": "property-information",
"prettier": {
"bracketSpacing": false,
"semi": false,
"singleQuote": true,
"tabWidth": 2,
"trailingComma": "none",
"useTabs": false
},
"remarkConfig": {
"plugins": [
"remark-preset-wooorm",
"./script/list.js"
]
},
"repository": "wooorm/property-information",
"scripts": {
"build": "tsc --build --clean && tsc --build && type-coverage",
"format": "remark --frail --output --quiet -- . && prettier --log-level warn --write -- . && xo --fix",
"generate": "node --conditions development script/generate-react.js && node --conditions development script/generate-exceptions.js",
"test-api": "node --conditions development test.js",
"test-coverage": "c8 --100 --reporter lcov -- npm run test-api",
"test": "npm run generate && npm run build && npm run format && npm run test-coverage"
},
"sideEffects": false,
"typeCoverage": {
"atLeast": 100,
"ignoreCatch": true
},
"type": "module",
"version": "7.1.0",
"xo": {
"overrides": [
{
"files": [
"script/**/*.js",
"test.js"
],
"rules": {
"no-await-in-loop": "off"
}
},
{
"files": [
"**/*.d.ts"
],
"rules": {
"@typescript-eslint/array-type": [
"error",
{
"default": "generic"
}
],
"@typescript-eslint/ban-types": [
"error",
{
"extendDefaults": true
}
],
"@typescript-eslint/consistent-type-definitions": [
"error",
"interface"
]
}
}
],
"prettier": true,
"rules": {
"logical-assignment-operators": "off",
"no-bitwise": "off",
"unicorn/prefer-string-replace-all": "off"
}
}
}

1062
node_modules/property-information/readme.md generated vendored Normal file

File diff suppressed because it is too large Load Diff