Version 1.0.2 mit node_modules Verzeichnis

This commit is contained in:
ISA
2024-10-02 07:58:24 +02:00
parent f353a06b1b
commit 62b6e55a0a
68228 changed files with 4548477 additions and 651 deletions

View File

@@ -0,0 +1,36 @@
import '../../utils/click/isClickableInput.js';
import '../../utils/dataTransfer/Clipboard.js';
import '../../utils/edit/isEditable.js';
import '../../utils/edit/maxLength.js';
import { isElementType } from '../../utils/misc/isElementType.js';
import { getWindow } from '../../utils/misc/getWindow.js';
import { isFocusable } from '../../utils/focus/isFocusable.js';
import '../../utils/keyDef/readNextDescriptor.js';
import { cloneEvent } from '../../utils/misc/cloneEvent.js';
import '../../utils/misc/level.js';
import '../../options.js';
import { focusElement, blurElement } from '../focus.js';
import { behavior } from './registry.js';
behavior.click = (event, target, instance)=>{
const context = target.closest('button,input,label,select,textarea');
const control = context && isElementType(context, 'label') && context.control;
if (control) {
return ()=>{
if (isFocusable(control)) {
focusElement(control);
}
instance.dispatchEvent(control, cloneEvent(event));
};
} else if (isElementType(target, 'input', {
type: 'file'
})) {
return ()=>{
// blur fires when the file selector pops up
blurElement(target);
target.dispatchEvent(new (getWindow(target)).Event('fileDialog'));
// focus fires after the file selector has been closed
focusElement(target);
};
}
};

View File

@@ -0,0 +1,17 @@
import '../../utils/click/isClickableInput.js';
import '../../utils/dataTransfer/Clipboard.js';
import { isEditable } from '../../utils/edit/isEditable.js';
import '../../utils/edit/maxLength.js';
import '../../utils/keyDef/readNextDescriptor.js';
import '../../utils/misc/level.js';
import '../../options.js';
import { input } from '../input.js';
import { behavior } from './registry.js';
behavior.cut = (event, target, instance)=>{
return ()=>{
if (isEditable(target)) {
input(instance, target, '', 'deleteByCut');
}
};
};

View File

@@ -0,0 +1,7 @@
import './click.js';
import './cut.js';
import './keydown.js';
import './keypress.js';
import './keyup.js';
import './paste.js';
export { behavior } from './registry.js';

View File

@@ -0,0 +1,131 @@
import { getUIValue, setUISelection } from '../../document/UI.js';
import { getValueOrTextContent } from '../../document/getValueOrTextContent.js';
import '../../utils/click/isClickableInput.js';
import '../../utils/dataTransfer/Clipboard.js';
import { isContentEditable } from '../../utils/edit/isContentEditable.js';
import { isEditable } from '../../utils/edit/isEditable.js';
import '../../utils/edit/maxLength.js';
import { isElementType } from '../../utils/misc/isElementType.js';
import { getTabDestination } from '../../utils/focus/getTabDestination.js';
import { hasOwnSelection } from '../../utils/focus/selection.js';
import '../../utils/keyDef/readNextDescriptor.js';
import '../../utils/misc/level.js';
import '../../options.js';
import { focusElement } from '../focus.js';
import { input } from '../input.js';
import { moveSelection } from '../selection/moveSelection.js';
import { selectAll } from '../selection/selectAll.js';
import { setSelectionRange } from '../selection/setSelectionRange.js';
import { walkRadio } from '../radio.js';
import { behavior } from './registry.js';
behavior.keydown = (event, target, instance)=>{
var _keydownBehavior_event_key;
var _keydownBehavior_event_key1;
return (_keydownBehavior_event_key1 = (_keydownBehavior_event_key = keydownBehavior[event.key]) === null || _keydownBehavior_event_key === void 0 ? void 0 : _keydownBehavior_event_key.call(keydownBehavior, event, target, instance)) !== null && _keydownBehavior_event_key1 !== void 0 ? _keydownBehavior_event_key1 : combinationBehavior(event, target, instance);
};
const keydownBehavior = {
ArrowDown: (event, target, instance)=>{
/* istanbul ignore else */ if (isElementType(target, 'input', {
type: 'radio'
})) {
return ()=>walkRadio(instance, target, -1);
}
},
ArrowLeft: (event, target, instance)=>{
if (isElementType(target, 'input', {
type: 'radio'
})) {
return ()=>walkRadio(instance, target, -1);
}
return ()=>moveSelection(target, -1);
},
ArrowRight: (event, target, instance)=>{
if (isElementType(target, 'input', {
type: 'radio'
})) {
return ()=>walkRadio(instance, target, 1);
}
return ()=>moveSelection(target, 1);
},
ArrowUp: (event, target, instance)=>{
/* istanbul ignore else */ if (isElementType(target, 'input', {
type: 'radio'
})) {
return ()=>walkRadio(instance, target, 1);
}
},
Backspace: (event, target, instance)=>{
if (isEditable(target)) {
return ()=>{
input(instance, target, '', 'deleteContentBackward');
};
}
},
Delete: (event, target, instance)=>{
if (isEditable(target)) {
return ()=>{
input(instance, target, '', 'deleteContentForward');
};
}
},
End: (event, target)=>{
if (isElementType(target, [
'input',
'textarea'
]) || isContentEditable(target)) {
return ()=>{
var _getValueOrTextContent;
var _getValueOrTextContent_length;
const newPos = (_getValueOrTextContent_length = (_getValueOrTextContent = getValueOrTextContent(target)) === null || _getValueOrTextContent === void 0 ? void 0 : _getValueOrTextContent.length) !== null && _getValueOrTextContent_length !== void 0 ? _getValueOrTextContent_length : /* istanbul ignore next */ 0;
setSelectionRange(target, newPos, newPos);
};
}
},
Home: (event, target)=>{
if (isElementType(target, [
'input',
'textarea'
]) || isContentEditable(target)) {
return ()=>{
setSelectionRange(target, 0, 0);
};
}
},
PageDown: (event, target)=>{
if (isElementType(target, [
'input'
])) {
return ()=>{
const newPos = getUIValue(target).length;
setSelectionRange(target, newPos, newPos);
};
}
},
PageUp: (event, target)=>{
if (isElementType(target, [
'input'
])) {
return ()=>{
setSelectionRange(target, 0, 0);
};
}
},
Tab: (event, target, instance)=>{
return ()=>{
const dest = getTabDestination(target, instance.system.keyboard.modifiers.Shift);
focusElement(dest);
if (hasOwnSelection(dest)) {
setUISelection(dest, {
anchorOffset: 0,
focusOffset: dest.value.length
});
}
};
}
};
const combinationBehavior = (event, target, instance)=>{
if (event.code === 'KeyA' && instance.system.keyboard.modifiers.Control) {
return ()=>selectAll(target);
}
};

View File

@@ -0,0 +1,54 @@
import '../../utils/click/isClickableInput.js';
import '../../utils/dataTransfer/Clipboard.js';
import { isContentEditable } from '../../utils/edit/isContentEditable.js';
import { isEditable } from '../../utils/edit/isEditable.js';
import '../../utils/edit/maxLength.js';
import { isElementType } from '../../utils/misc/isElementType.js';
import '../../utils/keyDef/readNextDescriptor.js';
import '../../utils/misc/level.js';
import '../../options.js';
import { input } from '../input.js';
import { behavior } from './registry.js';
behavior.keypress = (event, target, instance)=>{
if (event.key === 'Enter') {
if (isElementType(target, 'button') || isElementType(target, 'input') && ClickInputOnEnter.includes(target.type) || isElementType(target, 'a') && Boolean(target.href)) {
return ()=>{
instance.dispatchUIEvent(target, 'click');
};
} else if (isElementType(target, 'input')) {
const form = target.form;
const submit = form === null || form === void 0 ? void 0 : form.querySelector('input[type="submit"], button:not([type]), button[type="submit"]');
if (submit) {
return ()=>instance.dispatchUIEvent(submit, 'click');
} else if (form && SubmitSingleInputOnEnter.includes(target.type) && form.querySelectorAll('input').length === 1) {
return ()=>instance.dispatchUIEvent(form, 'submit');
} else {
return;
}
}
}
if (isEditable(target)) {
const inputType = event.key === 'Enter' ? isContentEditable(target) && !instance.system.keyboard.modifiers.Shift ? 'insertParagraph' : 'insertLineBreak' : 'insertText';
const inputData = event.key === 'Enter' ? '\n' : event.key;
return ()=>input(instance, target, inputData, inputType);
}
};
const ClickInputOnEnter = [
'button',
'color',
'file',
'image',
'reset',
'submit'
];
const SubmitSingleInputOnEnter = [
'email',
'month',
'password',
'search',
'tel',
'text',
'url',
'week'
];

View File

@@ -0,0 +1,20 @@
import { isClickableInput } from '../../utils/click/isClickableInput.js';
import '../../utils/dataTransfer/Clipboard.js';
import '../../utils/edit/isEditable.js';
import '../../utils/edit/maxLength.js';
import '../../utils/keyDef/readNextDescriptor.js';
import '../../utils/misc/level.js';
import '../../options.js';
import { behavior } from './registry.js';
behavior.keyup = (event, target, instance)=>{
var _keyupBehavior_event_key;
return (_keyupBehavior_event_key = keyupBehavior[event.key]) === null || _keyupBehavior_event_key === void 0 ? void 0 : _keyupBehavior_event_key.call(keyupBehavior, event, target, instance);
};
const keyupBehavior = {
' ': (event, target, instance)=>{
if (isClickableInput(target)) {
return ()=>instance.dispatchUIEvent(target, 'click');
}
}
};

View File

@@ -0,0 +1,21 @@
import '../../utils/click/isClickableInput.js';
import '../../utils/dataTransfer/Clipboard.js';
import { isEditable } from '../../utils/edit/isEditable.js';
import '../../utils/edit/maxLength.js';
import '../../utils/keyDef/readNextDescriptor.js';
import '../../utils/misc/level.js';
import '../../options.js';
import { input } from '../input.js';
import { behavior } from './registry.js';
behavior.paste = (event, target, instance)=>{
if (isEditable(target)) {
return ()=>{
var _event_clipboardData;
const insertData = (_event_clipboardData = event.clipboardData) === null || _event_clipboardData === void 0 ? void 0 : _event_clipboardData.getData('text');
if (insertData) {
input(instance, target, insertData, 'insertFromPaste');
}
};
}
};

View File

@@ -0,0 +1,3 @@
const behavior = {};
export { behavior };