From d1f1a54b8e458608657fb0e62eef78fc7a88fb92 Mon Sep 17 00:00:00 2001 From: Chukwuemeka Nwagu Date: Tue, 26 Dec 2023 07:53:52 -0400 Subject: [PATCH] add docs --- docs/forms/com.nwagu.forms.utils/index.html | 103 ++ docs/forms/com.nwagu.forms.utils/observe.html | 80 + .../-form-field-validation-result.html | 80 + .../-form-field-validation-result/error.html | 80 + .../feedback.html | 80 + .../-form-field-validation-result/index.html | 153 ++ .../is-valid.html | 80 + .../-form-field-validators/index.html | 149 ++ .../validate-email-address.html | 80 + .../validate-non-null-object.html | 80 + .../validate-not-empty.html | 80 + .../validate-phone-number.html | 80 + .../-form-field/-form-field.html | 80 + .../com.nwagu.forms/-form-field/add-to.html | 80 + .../-form-field/add-validator.html | 80 + .../-form-field/add-validators.html | 80 + .../-form-field/error-reporting-enabled.html | 80 + .../com.nwagu.forms/-form-field/error.html | 80 + .../com.nwagu.forms/-form-field/feedback.html | 80 + .../-form-field/focus-request.html | 80 + .../com.nwagu.forms/-form-field/index.html | 382 +++++ .../com.nwagu.forms/-form-field/is-valid.html | 80 + .../com.nwagu.forms/-form-field/required.html | 80 + docs/forms/com.nwagu.forms/-form/-form.html | 80 + .../com.nwagu.forms/-form/add-form-field.html | 80 + .../-form/add-form-fields.html | 80 + docs/forms/com.nwagu.forms/-form/index.html | 202 +++ .../com.nwagu.forms/-form/is-complete.html | 80 + .../-form/remove-form-field.html | 80 + .../-form/remove-form-fields.html | 80 + docs/forms/com.nwagu.forms/-form/verify.html | 80 + .../com.nwagu.forms/-validator/index.html | 84 + docs/forms/com.nwagu.forms/index.html | 163 ++ docs/forms/package-list | 41 + docs/images/anchor-copy-button.svg | 8 + docs/images/arrow_down.svg | 7 + docs/images/burger.svg | 9 + docs/images/copy-icon.svg | 7 + docs/images/copy-successful-icon.svg | 7 + docs/images/footer-go-to-link.svg | 7 + docs/images/go-to-top-icon.svg | 8 + docs/images/logo-icon.svg | 14 + .../nav-icons/abstract-class-kotlin.svg | 26 + docs/images/nav-icons/abstract-class.svg | 20 + docs/images/nav-icons/annotation-kotlin.svg | 13 + docs/images/nav-icons/annotation.svg | 7 + docs/images/nav-icons/class-kotlin.svg | 13 + docs/images/nav-icons/class.svg | 7 + docs/images/nav-icons/enum-kotlin.svg | 13 + docs/images/nav-icons/enum.svg | 7 + docs/images/nav-icons/exception-class.svg | 7 + docs/images/nav-icons/field-value.svg | 10 + docs/images/nav-icons/field-variable.svg | 10 + docs/images/nav-icons/function.svg | 7 + docs/images/nav-icons/interface-kotlin.svg | 13 + docs/images/nav-icons/interface.svg | 7 + docs/images/nav-icons/object.svg | 13 + docs/images/nav-icons/typealias-kotlin.svg | 13 + docs/images/theme-toggle.svg | 7 + docs/index.html | 117 ++ docs/navigation.html | 28 + docs/scripts/clipboard.js | 56 + docs/scripts/main.js | 44 + docs/scripts/navigation-loader.js | 95 ++ docs/scripts/pages.json | 1 + docs/scripts/platform-content-handler.js | 397 +++++ docs/scripts/prism.js | 22 + docs/scripts/sourceset_dependencies.js | 1 + .../symbol-parameters-wrapper_deferred.js | 64 + docs/styles/font-jb-sans-auto.css | 36 + docs/styles/logo-styles.css | 9 + docs/styles/main.css | 124 ++ docs/styles/prism.css | 217 +++ docs/styles/style.css | 1483 +++++++++++++++++ forms/build.gradle.kts | 2 +- 75 files changed, 6312 insertions(+), 1 deletion(-) create mode 100644 docs/forms/com.nwagu.forms.utils/index.html create mode 100644 docs/forms/com.nwagu.forms.utils/observe.html create mode 100644 docs/forms/com.nwagu.forms/-form-field-validation-result/-form-field-validation-result.html create mode 100644 docs/forms/com.nwagu.forms/-form-field-validation-result/error.html create mode 100644 docs/forms/com.nwagu.forms/-form-field-validation-result/feedback.html create mode 100644 docs/forms/com.nwagu.forms/-form-field-validation-result/index.html create mode 100644 docs/forms/com.nwagu.forms/-form-field-validation-result/is-valid.html create mode 100644 docs/forms/com.nwagu.forms/-form-field-validators/index.html create mode 100644 docs/forms/com.nwagu.forms/-form-field-validators/validate-email-address.html create mode 100644 docs/forms/com.nwagu.forms/-form-field-validators/validate-non-null-object.html create mode 100644 docs/forms/com.nwagu.forms/-form-field-validators/validate-not-empty.html create mode 100644 docs/forms/com.nwagu.forms/-form-field-validators/validate-phone-number.html create mode 100644 docs/forms/com.nwagu.forms/-form-field/-form-field.html create mode 100644 docs/forms/com.nwagu.forms/-form-field/add-to.html create mode 100644 docs/forms/com.nwagu.forms/-form-field/add-validator.html create mode 100644 docs/forms/com.nwagu.forms/-form-field/add-validators.html create mode 100644 docs/forms/com.nwagu.forms/-form-field/error-reporting-enabled.html create mode 100644 docs/forms/com.nwagu.forms/-form-field/error.html create mode 100644 docs/forms/com.nwagu.forms/-form-field/feedback.html create mode 100644 docs/forms/com.nwagu.forms/-form-field/focus-request.html create mode 100644 docs/forms/com.nwagu.forms/-form-field/index.html create mode 100644 docs/forms/com.nwagu.forms/-form-field/is-valid.html create mode 100644 docs/forms/com.nwagu.forms/-form-field/required.html create mode 100644 docs/forms/com.nwagu.forms/-form/-form.html create mode 100644 docs/forms/com.nwagu.forms/-form/add-form-field.html create mode 100644 docs/forms/com.nwagu.forms/-form/add-form-fields.html create mode 100644 docs/forms/com.nwagu.forms/-form/index.html create mode 100644 docs/forms/com.nwagu.forms/-form/is-complete.html create mode 100644 docs/forms/com.nwagu.forms/-form/remove-form-field.html create mode 100644 docs/forms/com.nwagu.forms/-form/remove-form-fields.html create mode 100644 docs/forms/com.nwagu.forms/-form/verify.html create mode 100644 docs/forms/com.nwagu.forms/-validator/index.html create mode 100644 docs/forms/com.nwagu.forms/index.html create mode 100644 docs/forms/package-list create mode 100644 docs/images/anchor-copy-button.svg create mode 100644 docs/images/arrow_down.svg create mode 100644 docs/images/burger.svg create mode 100644 docs/images/copy-icon.svg create mode 100644 docs/images/copy-successful-icon.svg create mode 100644 docs/images/footer-go-to-link.svg create mode 100644 docs/images/go-to-top-icon.svg create mode 100644 docs/images/logo-icon.svg create mode 100644 docs/images/nav-icons/abstract-class-kotlin.svg create mode 100644 docs/images/nav-icons/abstract-class.svg create mode 100644 docs/images/nav-icons/annotation-kotlin.svg create mode 100644 docs/images/nav-icons/annotation.svg create mode 100644 docs/images/nav-icons/class-kotlin.svg create mode 100644 docs/images/nav-icons/class.svg create mode 100644 docs/images/nav-icons/enum-kotlin.svg create mode 100644 docs/images/nav-icons/enum.svg create mode 100644 docs/images/nav-icons/exception-class.svg create mode 100644 docs/images/nav-icons/field-value.svg create mode 100644 docs/images/nav-icons/field-variable.svg create mode 100644 docs/images/nav-icons/function.svg create mode 100644 docs/images/nav-icons/interface-kotlin.svg create mode 100644 docs/images/nav-icons/interface.svg create mode 100644 docs/images/nav-icons/object.svg create mode 100644 docs/images/nav-icons/typealias-kotlin.svg create mode 100644 docs/images/theme-toggle.svg create mode 100644 docs/index.html create mode 100644 docs/navigation.html create mode 100644 docs/scripts/clipboard.js create mode 100644 docs/scripts/main.js create mode 100644 docs/scripts/navigation-loader.js create mode 100644 docs/scripts/pages.json create mode 100644 docs/scripts/platform-content-handler.js create mode 100644 docs/scripts/prism.js create mode 100644 docs/scripts/sourceset_dependencies.js create mode 100644 docs/scripts/symbol-parameters-wrapper_deferred.js create mode 100644 docs/styles/font-jb-sans-auto.css create mode 100644 docs/styles/logo-styles.css create mode 100644 docs/styles/main.css create mode 100644 docs/styles/prism.css create mode 100644 docs/styles/style.css diff --git a/docs/forms/com.nwagu.forms.utils/index.html b/docs/forms/com.nwagu.forms.utils/index.html new file mode 100644 index 0000000..b7109bd --- /dev/null +++ b/docs/forms/com.nwagu.forms.utils/index.html @@ -0,0 +1,103 @@ + + + + + com.nwagu.forms.utils + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <T> FormField<T>.observe(scope: CoroutineScope, onValueChanged: (T?) -> Unit = {}, onFeedback: (Any?) -> Unit = {}, onError: (String?) -> Unit = {}, onFocusRequest: () -> Unit = {})
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms.utils/observe.html b/docs/forms/com.nwagu.forms.utils/observe.html new file mode 100644 index 0000000..230c792 --- /dev/null +++ b/docs/forms/com.nwagu.forms.utils/observe.html @@ -0,0 +1,80 @@ + + + + + observe + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

observe

+
+
fun <T> FormField<T>.observe(scope: CoroutineScope, onValueChanged: (T?) -> Unit = {}, onFeedback: (Any?) -> Unit = {}, onError: (String?) -> Unit = {}, onFocusRequest: () -> Unit = {})
+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field-validation-result/-form-field-validation-result.html b/docs/forms/com.nwagu.forms/-form-field-validation-result/-form-field-validation-result.html new file mode 100644 index 0000000..21d0b9e --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field-validation-result/-form-field-validation-result.html @@ -0,0 +1,80 @@ + + + + + FormFieldValidationResult + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

FormFieldValidationResult

+
+
constructor(isValid: Boolean, error: String? = null, feedback: Any? = null)
+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field-validation-result/error.html b/docs/forms/com.nwagu.forms/-form-field-validation-result/error.html new file mode 100644 index 0000000..2aa9950 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field-validation-result/error.html @@ -0,0 +1,80 @@ + + + + + error + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

error

+
+
val error: String? = null
+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field-validation-result/feedback.html b/docs/forms/com.nwagu.forms/-form-field-validation-result/feedback.html new file mode 100644 index 0000000..6b108b1 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field-validation-result/feedback.html @@ -0,0 +1,80 @@ + + + + + feedback + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

feedback

+
+
val feedback: Any? = null
+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field-validation-result/index.html b/docs/forms/com.nwagu.forms/-form-field-validation-result/index.html new file mode 100644 index 0000000..c7c053d --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field-validation-result/index.html @@ -0,0 +1,153 @@ + + + + + FormFieldValidationResult + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

FormFieldValidationResult

+
data class FormFieldValidationResult(val isValid: Boolean, val error: String? = null, val feedback: Any? = null)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(isValid: Boolean, error: String? = null, feedback: Any? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val error: String? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val feedback: Any? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field-validation-result/is-valid.html b/docs/forms/com.nwagu.forms/-form-field-validation-result/is-valid.html new file mode 100644 index 0000000..c52fac0 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field-validation-result/is-valid.html @@ -0,0 +1,80 @@ + + + + + isValid + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

isValid

+
+ +
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field-validators/index.html b/docs/forms/com.nwagu.forms/-form-field-validators/index.html new file mode 100644 index 0000000..85890c3 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field-validators/index.html @@ -0,0 +1,149 @@ + + + + + FormFieldValidators + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

FormFieldValidators

+

This object contains some form field validators that are commonly needed in forms.

If any of them do not meet your needs (for instance, maybe the email address regex is too permissive), then you should write your own custom validators and use those instead. You can also make a pull request to add to this file any validators you think would be useful to others.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+ +
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field-validators/validate-email-address.html b/docs/forms/com.nwagu.forms/-form-field-validators/validate-email-address.html new file mode 100644 index 0000000..1e1578d --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field-validators/validate-email-address.html @@ -0,0 +1,80 @@ + + + + + validateEmailAddress + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

validateEmailAddress

+
+ +
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field-validators/validate-non-null-object.html b/docs/forms/com.nwagu.forms/-form-field-validators/validate-non-null-object.html new file mode 100644 index 0000000..b00fb7f --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field-validators/validate-non-null-object.html @@ -0,0 +1,80 @@ + + + + + validateNonNullObject + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

validateNonNullObject

+
+ +
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field-validators/validate-not-empty.html b/docs/forms/com.nwagu.forms/-form-field-validators/validate-not-empty.html new file mode 100644 index 0000000..6a03c8d --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field-validators/validate-not-empty.html @@ -0,0 +1,80 @@ + + + + + validateNotEmpty + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

validateNotEmpty

+
+ +
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field-validators/validate-phone-number.html b/docs/forms/com.nwagu.forms/-form-field-validators/validate-phone-number.html new file mode 100644 index 0000000..c137147 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field-validators/validate-phone-number.html @@ -0,0 +1,80 @@ + + + + + validatePhoneNumber + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

validatePhoneNumber

+
+ +
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field/-form-field.html b/docs/forms/com.nwagu.forms/-form-field/-form-field.html new file mode 100644 index 0000000..1a5f045 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field/-form-field.html @@ -0,0 +1,80 @@ + + + + + FormField + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

FormField

+
+
constructor(required: Boolean = true, initialValue: T? = null)

Parameters

required

Whether this form field is optional or not. If true, the form field value is required to be non-null or non-empty to be validated. If false, the field value is optional and will be valid if it is empty or null.

Note that if required is false and the value of this form field is neither null nor empty, the field will be validated as if it were required.

initialValue

The initial value of this form field. Would typically be null or an empty string unless the form field is pre-filled (no pun intended).

+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field/add-to.html b/docs/forms/com.nwagu.forms/-form-field/add-to.html new file mode 100644 index 0000000..38d79bc --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field/add-to.html @@ -0,0 +1,80 @@ + + + + + addTo + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

addTo

+
+
fun addTo(form: Form)

Convenient method to add this form field to a form.

+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field/add-validator.html b/docs/forms/com.nwagu.forms/-form-field/add-validator.html new file mode 100644 index 0000000..9030558 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field/add-validator.html @@ -0,0 +1,80 @@ + + + + + addValidator + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

addValidator

+
+
fun addValidator(validator: Validator<T?>)

Add multiple validators to this form field.

+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field/add-validators.html b/docs/forms/com.nwagu.forms/-form-field/add-validators.html new file mode 100644 index 0000000..53f3d96 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field/add-validators.html @@ -0,0 +1,80 @@ + + + + + addValidators + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

addValidators

+
+
fun addValidators(vararg validators: Validator<T?>)

Add multiple validators to this form field.

+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field/error-reporting-enabled.html b/docs/forms/com.nwagu.forms/-form-field/error-reporting-enabled.html new file mode 100644 index 0000000..88bfcf5 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field/error-reporting-enabled.html @@ -0,0 +1,80 @@ + + + + + errorReportingEnabled + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

errorReportingEnabled

+
+

If this is false, the form field's error state flow value will always be null.

This is used to achieve a good UX with 'out of focus' error reporting. Set this field to true, for example after the edit text loses focus, so that the error messages for the form field can start being emitted.

+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field/error.html b/docs/forms/com.nwagu.forms/-form-field/error.html new file mode 100644 index 0000000..dec3d5f --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field/error.html @@ -0,0 +1,80 @@ + + + + + error + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

error

+
+
val error: StateFlow<String?>
+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field/feedback.html b/docs/forms/com.nwagu.forms/-form-field/feedback.html new file mode 100644 index 0000000..e057471 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field/feedback.html @@ -0,0 +1,80 @@ + + + + + feedback + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

feedback

+
+
val feedback: StateFlow<Any?>
+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field/focus-request.html b/docs/forms/com.nwagu.forms/-form-field/focus-request.html new file mode 100644 index 0000000..6b7ed14 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field/focus-request.html @@ -0,0 +1,80 @@ + + + + + focusRequest + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

focusRequest

+
+
val focusRequest: SharedFlow<Unit>

This emits a Unit value when the field is to be brought to the user's attention.

It is updated by the parent form when this form field fails validation.

+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field/index.html b/docs/forms/com.nwagu.forms/-form-field/index.html new file mode 100644 index 0000000..ee9cb73 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field/index.html @@ -0,0 +1,382 @@ + + + + + FormField + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

FormField

+
class FormField<T>(val required: Boolean = true, initialValue: T? = null) : MutableStateFlow<T?>

A FormField is a MutableStateFlow, so it can be collected and its value updated like any other MutableStateFlow.

But it also has parameters that make it suitable for use in a form, such as validators, error stateflow, feedback stateflow, and focus request.

Form field validators are run in the order they are added to the form field. If a validator fails, the remaining validators are not run. If you make use of the feedback property, it might be best practice to add only one validator.

Parameters

required

Whether this form field is optional or not. If true, the form field value is required to be non-null or non-empty to be validated. If false, the field value is optional and will be valid if it is empty or null.

Note that if required is false and the value of this form field is neither null nor empty, the field will be validated as if it were required.

initialValue

The initial value of this form field. Would typically be null or an empty string unless the form field is pre-filled (no pun intended).

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(required: Boolean = true, initialValue: T? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val error: StateFlow<String?>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

If this is false, the form field's error state flow value will always be null.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val feedback: StateFlow<Any?>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val focusRequest: SharedFlow<Unit>

This emits a Unit value when the field is to be brought to the user's attention.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Whether the form field is valid or not.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val replayCache: List<T?>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val required: Boolean = true
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val subscriptionCount: StateFlow<Int>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override var value: T?
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun addTo(form: Form)

Convenient method to add this form field to a form.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun addValidator(validator: Validator<T?>)

Add multiple validators to this form field.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun addValidators(vararg validators: Validator<T?>)

Add multiple validators to this form field.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun collect(collector: FlowCollector<T?>): Nothing
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun compareAndSet(expect: T?, update: T?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open suspend override fun emit(value: T?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <T> FormField<T>.observe(scope: CoroutineScope, onValueChanged: (T?) -> Unit = {}, onFeedback: (Any?) -> Unit = {}, onError: (String?) -> Unit = {}, onFocusRequest: () -> Unit = {})
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun resetReplayCache()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun tryEmit(value: T?): Boolean
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field/is-valid.html b/docs/forms/com.nwagu.forms/-form-field/is-valid.html new file mode 100644 index 0000000..8c045ec --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field/is-valid.html @@ -0,0 +1,80 @@ + + + + + isValid + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

isValid

+
+

Whether the form field is valid or not.

Getting this attribute runs all the validators added to this form field.

+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form-field/required.html b/docs/forms/com.nwagu.forms/-form-field/required.html new file mode 100644 index 0000000..b0d50fd --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form-field/required.html @@ -0,0 +1,80 @@ + + + + + required + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

required

+
+
val required: Boolean = true

Parameters

required

Whether this form field is optional or not. If true, the form field value is required to be non-null or non-empty to be validated. If false, the field value is optional and will be valid if it is empty or null.

Note that if required is false and the value of this form field is neither null nor empty, the field will be validated as if it were required.

+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form/-form.html b/docs/forms/com.nwagu.forms/-form/-form.html new file mode 100644 index 0000000..dc5a2d5 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form/-form.html @@ -0,0 +1,80 @@ + + + + + Form + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Form

+
+
constructor(scope: CoroutineScope)

Parameters

scope

A coroutine scope, used for observing the form fields and updating the isComplete state.

+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form/add-form-field.html b/docs/forms/com.nwagu.forms/-form/add-form-field.html new file mode 100644 index 0000000..8b46bc8 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form/add-form-field.html @@ -0,0 +1,80 @@ + + + + + addFormField + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

addFormField

+
+
fun addFormField(formField: FormField<*>)
+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form/add-form-fields.html b/docs/forms/com.nwagu.forms/-form/add-form-fields.html new file mode 100644 index 0000000..6bf1b98 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form/add-form-fields.html @@ -0,0 +1,80 @@ + + + + + addFormFields + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

addFormFields

+
+
fun addFormFields(formFields: List<FormField<*>>)
fun addFormFields(vararg formFields: FormField<*>)

Add multiple form fields at once.

+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form/index.html b/docs/forms/com.nwagu.forms/-form/index.html new file mode 100644 index 0000000..6b04c9e --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form/index.html @@ -0,0 +1,202 @@ + + + + + Form + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Form

+
class Form(scope: CoroutineScope)

A form is a list of FormFields with methods to manage them (add, remove, verify, etc).

Forms can be used for single text inputs like in a login form, or for more complex scenarios like image selection and upload to a service.

Parameters

scope

A coroutine scope, used for observing the form fields and updating the isComplete state.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(scope: CoroutineScope)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val isComplete: StateFlow<Boolean>

State flow that is true if all the form fields in this form are valid.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun addFormField(formField: FormField<*>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun addFormFields(vararg formFields: FormField<*>)
fun addFormFields(formFields: List<FormField<*>>)

Add multiple form fields at once.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun removeFormField(formField: FormField<*>)

Remove a form field.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun removeFormFields(vararg formFields: FormField<*>)
fun removeFormFields(formFields: List<FormField<*>>)

Remove multiple form fields at once.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Use this function when you want to validate the entire form, for instance when the user clicks a submit button.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form/is-complete.html b/docs/forms/com.nwagu.forms/-form/is-complete.html new file mode 100644 index 0000000..a59f5df --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form/is-complete.html @@ -0,0 +1,80 @@ + + + + + isComplete + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

isComplete

+
+
val isComplete: StateFlow<Boolean>

State flow that is true if all the form fields in this form are valid.

Collect this state flow to for instance enable or disable a submit button, continue button, etc.

+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form/remove-form-field.html b/docs/forms/com.nwagu.forms/-form/remove-form-field.html new file mode 100644 index 0000000..9902270 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form/remove-form-field.html @@ -0,0 +1,80 @@ + + + + + removeFormField + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

removeFormField

+
+
fun removeFormField(formField: FormField<*>)

Remove a form field.

+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form/remove-form-fields.html b/docs/forms/com.nwagu.forms/-form/remove-form-fields.html new file mode 100644 index 0000000..837cf65 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form/remove-form-fields.html @@ -0,0 +1,80 @@ + + + + + removeFormFields + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

removeFormFields

+
+
fun removeFormFields(formFields: List<FormField<*>>)
fun removeFormFields(vararg formFields: FormField<*>)

Remove multiple form fields at once.

+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-form/verify.html b/docs/forms/com.nwagu.forms/-form/verify.html new file mode 100644 index 0000000..0053e4e --- /dev/null +++ b/docs/forms/com.nwagu.forms/-form/verify.html @@ -0,0 +1,80 @@ + + + + + verify + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

verify

+
+

Use this function when you want to validate the entire form, for instance when the user clicks a submit button.

Runs validators for all the form fields in this form, until one fails; enables error reporting for the failed field.

Also triggers a focus request for the failed field, which can be observed to bring the failed field to the user's attention.

Return

true if all the form fields are valid, false otherwise.

+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/-validator/index.html b/docs/forms/com.nwagu.forms/-validator/index.html new file mode 100644 index 0000000..b3cbfd1 --- /dev/null +++ b/docs/forms/com.nwagu.forms/-validator/index.html @@ -0,0 +1,84 @@ + + + + + Validator + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Validator

+

Validators are extension functions for validating form fields

Receiver

The type of the form field

Return

FormFieldValidationResult representing the result of the validation.

+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/forms/com.nwagu.forms/index.html b/docs/forms/com.nwagu.forms/index.html new file mode 100644 index 0000000..75d15f3 --- /dev/null +++ b/docs/forms/com.nwagu.forms/index.html @@ -0,0 +1,163 @@ + + + + + com.nwagu.forms + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class Form(scope: CoroutineScope)

A form is a list of FormFields with methods to manage them (add, remove, verify, etc).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class FormField<T>(val required: Boolean = true, initialValue: T? = null) : MutableStateFlow<T?>

A FormField is a MutableStateFlow, so it can be collected and its value updated like any other MutableStateFlow.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class FormFieldValidationResult(val isValid: Boolean, val error: String? = null, val feedback: Any? = null)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

This object contains some form field validators that are commonly needed in forms.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Validators are extension functions for validating form fields

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/forms/package-list b/docs/forms/package-list new file mode 100644 index 0000000..078ca70 --- /dev/null +++ b/docs/forms/package-list @@ -0,0 +1,41 @@ +$dokka.format:html-v1 +$dokka.linkExtension:html +$dokka.location:com.nwagu.forms.utils////PointingToDeclaration/forms/com.nwagu.forms.utils/index.html +$dokka.location:com.nwagu.forms.utils//observe/com.nwagu.forms.FormField[TypeParam(bounds=[kotlin.Any?])]#kotlinx.coroutines.CoroutineScope#kotlin.Function1[TypeParam(bounds=[kotlin.Any?])?,kotlin.Unit]#kotlin.Function1[kotlin.Any?,kotlin.Unit]#kotlin.Function1[kotlin.String?,kotlin.Unit]#kotlin.Function0[kotlin.Unit]/PointingToDeclaration/forms/com.nwagu.forms.utils/observe.html +$dokka.location:com.nwagu.forms////PointingToDeclaration/forms/com.nwagu.forms/index.html +$dokka.location:com.nwagu.forms/Form///PointingToDeclaration/forms/com.nwagu.forms/-form/index.html +$dokka.location:com.nwagu.forms/Form/Form/#kotlinx.coroutines.CoroutineScope/PointingToDeclaration/forms/com.nwagu.forms/-form/-form.html +$dokka.location:com.nwagu.forms/Form/addFormField/#com.nwagu.forms.FormField[*]/PointingToDeclaration/forms/com.nwagu.forms/-form/add-form-field.html +$dokka.location:com.nwagu.forms/Form/addFormFields/#kotlin.Array[com.nwagu.forms.FormField[*]]/PointingToDeclaration/forms/com.nwagu.forms/-form/add-form-fields.html +$dokka.location:com.nwagu.forms/Form/addFormFields/#kotlin.collections.List[com.nwagu.forms.FormField[*]]/PointingToDeclaration/forms/com.nwagu.forms/-form/add-form-fields.html +$dokka.location:com.nwagu.forms/Form/isComplete/#/PointingToDeclaration/forms/com.nwagu.forms/-form/is-complete.html +$dokka.location:com.nwagu.forms/Form/removeFormField/#com.nwagu.forms.FormField[*]/PointingToDeclaration/forms/com.nwagu.forms/-form/remove-form-field.html +$dokka.location:com.nwagu.forms/Form/removeFormFields/#kotlin.Array[com.nwagu.forms.FormField[*]]/PointingToDeclaration/forms/com.nwagu.forms/-form/remove-form-fields.html +$dokka.location:com.nwagu.forms/Form/removeFormFields/#kotlin.collections.List[com.nwagu.forms.FormField[*]]/PointingToDeclaration/forms/com.nwagu.forms/-form/remove-form-fields.html +$dokka.location:com.nwagu.forms/Form/verify/#/PointingToDeclaration/forms/com.nwagu.forms/-form/verify.html +$dokka.location:com.nwagu.forms/FormField///PointingToDeclaration/forms/com.nwagu.forms/-form-field/index.html +$dokka.location:com.nwagu.forms/FormField/FormField/#kotlin.Boolean#TypeParam(bounds=[kotlin.Any?])?/PointingToDeclaration/forms/com.nwagu.forms/-form-field/-form-field.html +$dokka.location:com.nwagu.forms/FormField/addTo/#com.nwagu.forms.Form/PointingToDeclaration/forms/com.nwagu.forms/-form-field/add-to.html +$dokka.location:com.nwagu.forms/FormField/addValidator/#kotlin.Function1[TypeParam(bounds=[kotlin.Any?])?,com.nwagu.forms.FormFieldValidationResult]/PointingToDeclaration/forms/com.nwagu.forms/-form-field/add-validator.html +$dokka.location:com.nwagu.forms/FormField/addValidators/#kotlin.Array[kotlin.Function1[TypeParam(bounds=[kotlin.Any?])?,com.nwagu.forms.FormFieldValidationResult]]/PointingToDeclaration/forms/com.nwagu.forms/-form-field/add-validators.html +$dokka.location:com.nwagu.forms/FormField/error/#/PointingToDeclaration/forms/com.nwagu.forms/-form-field/error.html +$dokka.location:com.nwagu.forms/FormField/errorReportingEnabled/#/PointingToDeclaration/forms/com.nwagu.forms/-form-field/error-reporting-enabled.html +$dokka.location:com.nwagu.forms/FormField/feedback/#/PointingToDeclaration/forms/com.nwagu.forms/-form-field/feedback.html +$dokka.location:com.nwagu.forms/FormField/focusRequest/#/PointingToDeclaration/forms/com.nwagu.forms/-form-field/focus-request.html +$dokka.location:com.nwagu.forms/FormField/isValid/#/PointingToDeclaration/forms/com.nwagu.forms/-form-field/is-valid.html +$dokka.location:com.nwagu.forms/FormField/required/#/PointingToDeclaration/forms/com.nwagu.forms/-form-field/required.html +$dokka.location:com.nwagu.forms/FormFieldValidationResult///PointingToDeclaration/forms/com.nwagu.forms/-form-field-validation-result/index.html +$dokka.location:com.nwagu.forms/FormFieldValidationResult/FormFieldValidationResult/#kotlin.Boolean#kotlin.String?#kotlin.Any?/PointingToDeclaration/forms/com.nwagu.forms/-form-field-validation-result/-form-field-validation-result.html +$dokka.location:com.nwagu.forms/FormFieldValidationResult/error/#/PointingToDeclaration/forms/com.nwagu.forms/-form-field-validation-result/error.html +$dokka.location:com.nwagu.forms/FormFieldValidationResult/feedback/#/PointingToDeclaration/forms/com.nwagu.forms/-form-field-validation-result/feedback.html +$dokka.location:com.nwagu.forms/FormFieldValidationResult/isValid/#/PointingToDeclaration/forms/com.nwagu.forms/-form-field-validation-result/is-valid.html +$dokka.location:com.nwagu.forms/FormFieldValidators///PointingToDeclaration/forms/com.nwagu.forms/-form-field-validators/index.html +$dokka.location:com.nwagu.forms/FormFieldValidators/validateEmailAddress/kotlin.String?#/PointingToDeclaration/forms/com.nwagu.forms/-form-field-validators/validate-email-address.html +$dokka.location:com.nwagu.forms/FormFieldValidators/validateNonNullObject/kotlin.Any?#/PointingToDeclaration/forms/com.nwagu.forms/-form-field-validators/validate-non-null-object.html +$dokka.location:com.nwagu.forms/FormFieldValidators/validateNotEmpty/kotlin.String?#/PointingToDeclaration/forms/com.nwagu.forms/-form-field-validators/validate-not-empty.html +$dokka.location:com.nwagu.forms/FormFieldValidators/validateNotEmpty/kotlin.collections.Collection[*]?#/PointingToDeclaration/forms/com.nwagu.forms/-form-field-validators/validate-not-empty.html +$dokka.location:com.nwagu.forms/FormFieldValidators/validatePhoneNumber/kotlin.String?#/PointingToDeclaration/forms/com.nwagu.forms/-form-field-validators/validate-phone-number.html +$dokka.location:com.nwagu.forms/Validator///PointingToDeclaration/forms/com.nwagu.forms/-validator/index.html +com.nwagu.forms +com.nwagu.forms.utils + diff --git a/docs/images/anchor-copy-button.svg b/docs/images/anchor-copy-button.svg new file mode 100644 index 0000000..19c1fa3 --- /dev/null +++ b/docs/images/anchor-copy-button.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/docs/images/arrow_down.svg b/docs/images/arrow_down.svg new file mode 100644 index 0000000..639aaf1 --- /dev/null +++ b/docs/images/arrow_down.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/docs/images/burger.svg b/docs/images/burger.svg new file mode 100644 index 0000000..fcca732 --- /dev/null +++ b/docs/images/burger.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/docs/images/copy-icon.svg b/docs/images/copy-icon.svg new file mode 100644 index 0000000..2cb02ec --- /dev/null +++ b/docs/images/copy-icon.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/docs/images/copy-successful-icon.svg b/docs/images/copy-successful-icon.svg new file mode 100644 index 0000000..c4b9538 --- /dev/null +++ b/docs/images/copy-successful-icon.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/docs/images/footer-go-to-link.svg b/docs/images/footer-go-to-link.svg new file mode 100644 index 0000000..a87add7 --- /dev/null +++ b/docs/images/footer-go-to-link.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/docs/images/go-to-top-icon.svg b/docs/images/go-to-top-icon.svg new file mode 100644 index 0000000..abc3d1c --- /dev/null +++ b/docs/images/go-to-top-icon.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/docs/images/logo-icon.svg b/docs/images/logo-icon.svg new file mode 100644 index 0000000..e42f957 --- /dev/null +++ b/docs/images/logo-icon.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/docs/images/nav-icons/abstract-class-kotlin.svg b/docs/images/nav-icons/abstract-class-kotlin.svg new file mode 100644 index 0000000..19d6148 --- /dev/null +++ b/docs/images/nav-icons/abstract-class-kotlin.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/nav-icons/abstract-class.svg b/docs/images/nav-icons/abstract-class.svg new file mode 100644 index 0000000..6018203 --- /dev/null +++ b/docs/images/nav-icons/abstract-class.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/nav-icons/annotation-kotlin.svg b/docs/images/nav-icons/annotation-kotlin.svg new file mode 100644 index 0000000..b90f508 --- /dev/null +++ b/docs/images/nav-icons/annotation-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/images/nav-icons/annotation.svg b/docs/images/nav-icons/annotation.svg new file mode 100644 index 0000000..b80c54b --- /dev/null +++ b/docs/images/nav-icons/annotation.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/images/nav-icons/class-kotlin.svg b/docs/images/nav-icons/class-kotlin.svg new file mode 100644 index 0000000..797a242 --- /dev/null +++ b/docs/images/nav-icons/class-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/images/nav-icons/class.svg b/docs/images/nav-icons/class.svg new file mode 100644 index 0000000..3f1ad16 --- /dev/null +++ b/docs/images/nav-icons/class.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/images/nav-icons/enum-kotlin.svg b/docs/images/nav-icons/enum-kotlin.svg new file mode 100644 index 0000000..775a7cc --- /dev/null +++ b/docs/images/nav-icons/enum-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/images/nav-icons/enum.svg b/docs/images/nav-icons/enum.svg new file mode 100644 index 0000000..fa7f247 --- /dev/null +++ b/docs/images/nav-icons/enum.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/images/nav-icons/exception-class.svg b/docs/images/nav-icons/exception-class.svg new file mode 100644 index 0000000..c0b2bde --- /dev/null +++ b/docs/images/nav-icons/exception-class.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/images/nav-icons/field-value.svg b/docs/images/nav-icons/field-value.svg new file mode 100644 index 0000000..2771ee5 --- /dev/null +++ b/docs/images/nav-icons/field-value.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/docs/images/nav-icons/field-variable.svg b/docs/images/nav-icons/field-variable.svg new file mode 100644 index 0000000..e2d2bbd --- /dev/null +++ b/docs/images/nav-icons/field-variable.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/docs/images/nav-icons/function.svg b/docs/images/nav-icons/function.svg new file mode 100644 index 0000000..f0da64a --- /dev/null +++ b/docs/images/nav-icons/function.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/images/nav-icons/interface-kotlin.svg b/docs/images/nav-icons/interface-kotlin.svg new file mode 100644 index 0000000..5e16326 --- /dev/null +++ b/docs/images/nav-icons/interface-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/images/nav-icons/interface.svg b/docs/images/nav-icons/interface.svg new file mode 100644 index 0000000..32063ba --- /dev/null +++ b/docs/images/nav-icons/interface.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/images/nav-icons/object.svg b/docs/images/nav-icons/object.svg new file mode 100644 index 0000000..31f0ee3 --- /dev/null +++ b/docs/images/nav-icons/object.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/images/nav-icons/typealias-kotlin.svg b/docs/images/nav-icons/typealias-kotlin.svg new file mode 100644 index 0000000..f4bb238 --- /dev/null +++ b/docs/images/nav-icons/typealias-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/images/theme-toggle.svg b/docs/images/theme-toggle.svg new file mode 100644 index 0000000..df86202 --- /dev/null +++ b/docs/images/theme-toggle.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..61a82f5 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,117 @@ + + + + + forms + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

forms

+
+

Packages

+
+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
common
+
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
common
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/navigation.html b/docs/navigation.html new file mode 100644 index 0000000..135d81f --- /dev/null +++ b/docs/navigation.html @@ -0,0 +1,28 @@ +
+ + + +
+ diff --git a/docs/scripts/clipboard.js b/docs/scripts/clipboard.js new file mode 100644 index 0000000..7a4f33c --- /dev/null +++ b/docs/scripts/clipboard.js @@ -0,0 +1,56 @@ +/* + * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +window.addEventListener('load', () => { + document.querySelectorAll('span.copy-icon').forEach(element => { + element.addEventListener('click', (el) => copyElementsContentToClipboard(element)); + }) + + document.querySelectorAll('span.anchor-icon').forEach(element => { + element.addEventListener('click', (el) => { + if(element.hasAttribute('pointing-to')){ + const location = hrefWithoutCurrentlyUsedAnchor() + '#' + element.getAttribute('pointing-to') + copyTextToClipboard(element, location) + } + }); + }) +}) + +const copyElementsContentToClipboard = (element) => { + const selection = window.getSelection(); + const range = document.createRange(); + range.selectNodeContents(element.parentNode.parentNode); + selection.removeAllRanges(); + selection.addRange(range); + + copyAndShowPopup(element, () => selection.removeAllRanges()) +} + +const copyTextToClipboard = (element, text) => { + var textarea = document.createElement("textarea"); + textarea.textContent = text; + textarea.style.position = "fixed"; + document.body.appendChild(textarea); + textarea.select(); + + copyAndShowPopup(element, () => document.body.removeChild(textarea)) +} + +const copyAndShowPopup = (element, after) => { + try { + document.execCommand('copy'); + element.nextElementSibling.classList.add('active-popup'); + setTimeout(() => { + element.nextElementSibling.classList.remove('active-popup'); + }, 1200); + } catch (e) { + console.error('Failed to write to clipboard:', e) + } + finally { + if(after) after() + } +} + +const hrefWithoutCurrentlyUsedAnchor = () => window.location.href.split('#')[0] + diff --git a/docs/scripts/main.js b/docs/scripts/main.js new file mode 100644 index 0000000..ba6c347 --- /dev/null +++ b/docs/scripts/main.js @@ -0,0 +1,44 @@ +(()=>{var e={8527:e=>{e.exports=''},5570:e=>{e.exports=''},107:e=>{e.exports=''},7224:e=>{e.exports=''},538:e=>{e.exports=''},1924:(e,n,t)=>{"use strict";var r=t(210),o=t(5559),i=o(r("String.prototype.indexOf"));e.exports=function(e,n){var t=r(e,!!n);return"function"==typeof t&&i(e,".prototype.")>-1?o(t):t}},5559:(e,n,t)=>{"use strict";var r=t(8612),o=t(210),i=o("%Function.prototype.apply%"),a=o("%Function.prototype.call%"),l=o("%Reflect.apply%",!0)||r.call(a,i),c=o("%Object.getOwnPropertyDescriptor%",!0),u=o("%Object.defineProperty%",!0),s=o("%Math.max%");if(u)try{u({},"a",{value:1})}catch(e){u=null}e.exports=function(e){var n=l(r,a,arguments);if(c&&u){var t=c(n,"length");t.configurable&&u(n,"length",{value:1+s(0,e.length-(arguments.length-1))})}return n};var f=function(){return l(r,i,arguments)};u?u(e.exports,"apply",{value:f}):e.exports.apply=f},4184:(e,n)=>{var t; +/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],n=0;n{"use strict";e.exports=function(e,n){var t=this,r=t.constructor;return t.options=Object.assign({storeInstancesGlobally:!0},n||{}),t.callbacks={},t.directMap={},t.sequenceLevels={},t.resetTimer=null,t.ignoreNextKeyup=!1,t.ignoreNextKeypress=!1,t.nextExpectedAction=!1,t.element=e,t.addEvents(),t.options.storeInstancesGlobally&&r.instances.push(t),t},e.exports.prototype.bind=t(2207),e.exports.prototype.bindMultiple=t(3396),e.exports.prototype.unbind=t(9208),e.exports.prototype.trigger=t(9855),e.exports.prototype.reset=t(6214),e.exports.prototype.stopCallback=t(3450),e.exports.prototype.handleKey=t(3067),e.exports.prototype.addEvents=t(718),e.exports.prototype.bindSingle=t(8763),e.exports.prototype.getKeyInfo=t(5825),e.exports.prototype.pickBestAction=t(8608),e.exports.prototype.getReverseMap=t(3956),e.exports.prototype.getMatches=t(3373),e.exports.prototype.resetSequences=t(3346),e.exports.prototype.fireCallback=t(2684),e.exports.prototype.bindSequence=t(7103),e.exports.prototype.resetSequenceTimer=t(7309),e.exports.prototype.detach=t(7554),e.exports.instances=[],e.exports.reset=t(1822),e.exports.REVERSE_MAP=null},718:(e,n,t)=>{"use strict";e.exports=function(){var e=this,n=t(4323),r=e.element;e.eventHandler=t(9646).bind(e),n(r,"keypress",e.eventHandler),n(r,"keydown",e.eventHandler),n(r,"keyup",e.eventHandler)}},2207:e=>{"use strict";e.exports=function(e,n,t){return e=e instanceof Array?e:[e],this.bindMultiple(e,n,t),this}},3396:e=>{"use strict";e.exports=function(e,n,t){for(var r=0;r{"use strict";e.exports=function(e,n,r,o){var i=this;function a(n){return function(){i.nextExpectedAction=n,++i.sequenceLevels[e],i.resetSequenceTimer()}}function l(n){var a;i.fireCallback(r,n,e),"keyup"!==o&&(a=t(6770),i.ignoreNextKeyup=a(n)),setTimeout((function(){i.resetSequences()}),10)}i.sequenceLevels[e]=0;for(var c=0;c{"use strict";e.exports=function(e,n,t,r,o){var i=this;i.directMap[e+":"+t]=n;var a,l=(e=e.replace(/\s+/g," ")).split(" ");l.length>1?i.bindSequence(e,l,n,t):(a=i.getKeyInfo(e,t),i.callbacks[a.key]=i.callbacks[a.key]||[],i.getMatches(a.key,a.modifiers,{type:a.action},r,e,o),i.callbacks[a.key][r?"unshift":"push"]({callback:n,modifiers:a.modifiers,action:a.action,seq:r,level:o,combo:e}))}},7554:(e,n,t)=>{var r=t(4323).off;e.exports=function(){var e=this,n=e.element;r(n,"keypress",e.eventHandler),r(n,"keydown",e.eventHandler),r(n,"keyup",e.eventHandler)}},4323:e=>{function n(e,n,t,r){return!e.addEventListener&&(n="on"+n),(e.addEventListener||e.attachEvent).call(e,n,t,r),t}e.exports=n,e.exports.on=n,e.exports.off=function(e,n,t,r){return!e.removeEventListener&&(n="on"+n),(e.removeEventListener||e.detachEvent).call(e,n,t,r),t}},2684:(e,n,t)=>{"use strict";e.exports=function(e,n,r,o){this.stopCallback(n,n.target||n.srcElement,r,o)||!1===e(n,r)&&(t(1350)(n),t(6103)(n))}},5825:(e,n,t)=>{"use strict";e.exports=function(e,n){var r,o,i,a,l,c,u=[];for(r=t(4520)(e),a=t(7549),l=t(5355),c=t(8581),i=0;i{"use strict";e.exports=function(e,n,r,o,i,a){var l,c,u,s,f=this,p=[],d=r.type;"keypress"!==d||r.code&&"Arrow"===r.code.slice(0,5)||(f.callbacks["any-character"]||[]).forEach((function(e){p.push(e)}));if(!f.callbacks[e])return p;for(u=t(8581),"keyup"===d&&u(e)&&(n=[e]),l=0;l{"use strict";e.exports=function(){var e,n=this.constructor;if(!n.REVERSE_MAP)for(var r in n.REVERSE_MAP={},e=t(4766))r>95&&r<112||e.hasOwnProperty(r)&&(n.REVERSE_MAP[e[r]]=r);return n.REVERSE_MAP}},3067:(e,n,t)=>{"use strict";e.exports=function(e,n,r){var o,i,a,l,c=this,u={},s=0,f=!1;for(o=c.getMatches(e,n,r),i=0;i{"use strict";e.exports=function(e){var n,r=this;"number"!=typeof e.which&&(e.which=e.keyCode);var o=t(6770)(e);void 0!==o&&("keyup"!==e.type||r.ignoreNextKeyup!==o?(n=t(4610),r.handleKey(o,n(e),e)):r.ignoreNextKeyup=!1)}},5532:e=>{"use strict";e.exports=function(e,n){return e.sort().join(",")===n.sort().join(",")}},8608:e=>{"use strict";e.exports=function(e,n,t){return t||(t=this.getReverseMap()[e]?"keydown":"keypress"),"keypress"===t&&n.length&&(t="keydown"),t}},6214:e=>{"use strict";e.exports=function(){return this.callbacks={},this.directMap={},this}},7309:e=>{"use strict";e.exports=function(){var e=this;clearTimeout(e.resetTimer),e.resetTimer=setTimeout((function(){e.resetSequences()}),1e3)}},3346:e=>{"use strict";e.exports=function(e){var n=this;e=e||{};var t,r=!1;for(t in n.sequenceLevels)e[t]?r=!0:n.sequenceLevels[t]=0;r||(n.nextExpectedAction=!1)}},3450:e=>{"use strict";e.exports=function(e,n){if((" "+n.className+" ").indexOf(" combokeys ")>-1)return!1;var t=n.tagName.toLowerCase();return"input"===t||"select"===t||"textarea"===t||n.isContentEditable}},9855:e=>{"use strict";e.exports=function(e,n){return this.directMap[e+":"+n]&&this.directMap[e+":"+n]({},e),this}},9208:e=>{"use strict";e.exports=function(e,n){return this.bind(e,(function(){}),n)}},1822:e=>{"use strict";e.exports=function(){this.instances.forEach((function(e){e.reset()}))}},6770:(e,n,t)=>{"use strict";e.exports=function(e){var n,r;if(n=t(4766),r=t(5295),"keypress"===e.type){var o=String.fromCharCode(e.which);return e.shiftKey||(o=o.toLowerCase()),o}return void 0!==n[e.which]?n[e.which]:void 0!==r[e.which]?r[e.which]:String.fromCharCode(e.which).toLowerCase()}},4610:e=>{"use strict";e.exports=function(e){var n=[];return e.shiftKey&&n.push("shift"),e.altKey&&n.push("alt"),e.ctrlKey&&n.push("ctrl"),e.metaKey&&n.push("meta"),n}},8581:e=>{"use strict";e.exports=function(e){return"shift"===e||"ctrl"===e||"alt"===e||"meta"===e}},4520:e=>{"use strict";e.exports=function(e){return"+"===e?["+"]:e.split("+")}},1350:e=>{"use strict";e.exports=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1}},5355:e=>{"use strict";e.exports={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"}},7549:e=>{"use strict";e.exports={option:"alt",command:"meta",return:"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"}},5295:e=>{"use strict";e.exports={106:"*",107:"plus",109:"minus",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}},4766:e=>{"use strict";e.exports={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",173:"minus",187:"plus",189:"minus",224:"meta"};for(var n=1;n<20;++n)e.exports[111+n]="f"+n;for(n=0;n<=9;++n)e.exports[n+96]=n},6103:e=>{"use strict";e.exports=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}},3362:()=>{var e;!function(){var e=Math.PI,n=2*e,t=e/180,r=document.createElement("div");document.head.appendChild(r);var o=self.ConicGradient=function(e){o.all.push(this),e=e||{},this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),this.repeating=!!e.repeating,this.size=e.size||Math.max(innerWidth,innerHeight),this.canvas.width=this.canvas.height=this.size;var n=e.stops;this.stops=(n||"").split(/\s*,(?![^(]*\))\s*/),this.from=0;for(var t=0;t0){var i=this.stops[0].clone();i.pos=0,this.stops.unshift(i)}if(void 0===this.stops[this.stops.length-1].pos)this.stops[this.stops.length-1].pos=1;else if(!this.repeating&&this.stops[this.stops.length-1].pos<1){var a=this.stops[this.stops.length-1].clone();a.pos=1,this.stops.push(a)}if(this.stops.forEach((function(e,n){if(void 0===e.pos){for(var t=n+1;this[t];t++)if(void 0!==this[t].pos){e.pos=this[n-1].pos+(this[t].pos-this[n-1].pos)/(t-n+1);break}}else n>0&&(e.pos=Math.max(e.pos,this[n-1].pos))}),this.stops),this.repeating){var l=(n=this.stops.slice())[n.length-1].pos-n[0].pos;for(t=0;this.stops[this.stops.length-1].pos<1&&t<1e4;t++)for(var c=0;c'},get png(){return this.canvas.toDataURL()},get r(){return Math.sqrt(2)*this.size/2},paint:function(){var e,n,r,o=this.context,i=this.r,a=this.size/2,l=0,c=this.stops[l];o.translate(this.size/2,this.size/2),o.rotate(-90*t),o.rotate(this.from*t),o.translate(-this.size/2,-this.size/2);for(var u=0;u<360;){if(u/360+1e-5>=c.pos){do{e=c,l++,c=this.stops[l]}while(c&&c!=e&&c.pos===e.pos);if(!c)break;var s=e.color+""==c.color+""&&e!=c;n=e.color.map((function(e,n){return c.color[n]-e}))}r=(u/360-e.pos)/(c.pos-e.pos);var f=s?c.color:n.map((function(n,t){var o=n*r+e.color[t];return t<3?255&o:o}));if(o.fillStyle="rgba("+f.join(",")+")",o.beginPath(),o.moveTo(a,a),s)var p=360*(c.pos-e.pos);else p=.5;var d=u*t,h=(d=Math.min(360*t,d))+p*t;h=Math.min(360*t,h+.02),o.arc(a,a,i,d,h),o.closePath(),o.fill(),u+=p}}},o.ColorStop=function(e,t){if(this.gradient=e,t){var r=t.match(/^(.+?)(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?\s*$/);if(this.color=o.ColorStop.colorToRGBA(r[1]),r[2]){var i=r[3];"%"==i||"0"===r[2]&&!i?this.pos=r[2]/100:"turn"==i?this.pos=+r[2]:"deg"==i?this.pos=r[2]/360:"grad"==i?this.pos=r[2]/400:"rad"==i&&(this.pos=r[2]/n)}r[4]&&(this.next=new o.ColorStop(e,r[1]+" "+r[4]+r[5]))}},o.ColorStop.prototype={clone:function(){var e=new o.ColorStop(this.gradient);return e.color=this.color,e.pos=this.pos,e},toString:function(){return"rgba("+this.color.join(", ")+") "+100*this.pos+"%"}},o.ColorStop.colorToRGBA=function(e){if(!Array.isArray(e)&&-1==e.indexOf("from")){r.style.color=e;var n=getComputedStyle(r).color.match(/rgba?\(([\d.]+), ([\d.]+), ([\d.]+)(?:, ([\d.]+))?\)/);return n&&(n.shift(),(n=n.map((function(e){return+e})))[3]=isNaN(n[3])?1:n[3]),n||[0,0,0,0]}return e}}(),self.StyleFix&&((e=document.createElement("p")).style.backgroundImage="conic-gradient(white, black)",e.style.backgroundImage=PrefixFree.prefix+"conic-gradient(white, black)",e.style.backgroundImage||StyleFix.register((function(e,n){return e.indexOf("conic-gradient")>-1&&(e=e.replace(/(?:repeating-)?conic-gradient\(\s*((?:\([^()]+\)|[^;()}])+?)\)/g,(function(e,n){return new ConicGradient({stops:n,repeating:e.indexOf("repeating-")>-1})}))),e})))},9662:(e,n,t)=>{var r=t(7854),o=t(614),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a function")}},9483:(e,n,t)=>{var r=t(7854),o=t(4411),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a constructor")}},6077:(e,n,t)=>{var r=t(7854),o=t(614),i=r.String,a=r.TypeError;e.exports=function(e){if("object"==typeof e||o(e))return e;throw a("Can't set "+i(e)+" as a prototype")}},1223:(e,n,t)=>{var r=t(5112),o=t(30),i=t(3070),a=r("unscopables"),l=Array.prototype;null==l[a]&&i.f(l,a,{configurable:!0,value:o(null)}),e.exports=function(e){l[a][e]=!0}},1530:(e,n,t)=>{"use strict";var r=t(8710).charAt;e.exports=function(e,n,t){return n+(t?r(e,n).length:1)}},5787:(e,n,t)=>{var r=t(7854),o=t(7976),i=r.TypeError;e.exports=function(e,n){if(o(n,e))return e;throw i("Incorrect invocation")}},9670:(e,n,t)=>{var r=t(7854),o=t(111),i=r.String,a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not an object")}},7556:(e,n,t)=>{var r=t(7293);e.exports=r((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}))},8533:(e,n,t)=>{"use strict";var r=t(2092).forEach,o=t(9341)("forEach");e.exports=o?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}},8457:(e,n,t)=>{"use strict";var r=t(7854),o=t(9974),i=t(6916),a=t(7908),l=t(3411),c=t(7659),u=t(4411),s=t(6244),f=t(6135),p=t(8554),d=t(1246),h=r.Array;e.exports=function(e){var n=a(e),t=u(this),r=arguments.length,g=r>1?arguments[1]:void 0,v=void 0!==g;v&&(g=o(g,r>2?arguments[2]:void 0));var A,b,m,y,E,_,C=d(n),w=0;if(!C||this==h&&c(C))for(A=s(n),b=t?new this(A):h(A);A>w;w++)_=v?g(n[w],w):n[w],f(b,w,_);else for(E=(y=p(n,C)).next,b=t?new this:[];!(m=i(E,y)).done;w++)_=v?l(y,g,[m.value,w],!0):m.value,f(b,w,_);return b.length=w,b}},1318:(e,n,t)=>{var r=t(5656),o=t(1400),i=t(6244),a=function(e){return function(n,t,a){var l,c=r(n),u=i(c),s=o(a,u);if(e&&t!=t){for(;u>s;)if((l=c[s++])!=l)return!0}else for(;u>s;s++)if((e||s in c)&&c[s]===t)return e||s||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},2092:(e,n,t)=>{var r=t(9974),o=t(1702),i=t(8361),a=t(7908),l=t(6244),c=t(5417),u=o([].push),s=function(e){var n=1==e,t=2==e,o=3==e,s=4==e,f=6==e,p=7==e,d=5==e||f;return function(h,g,v,A){for(var b,m,y=a(h),E=i(y),_=r(g,v),C=l(E),w=0,x=A||c,k=n?x(h,C):t||p?x(h,0):void 0;C>w;w++)if((d||w in E)&&(m=_(b=E[w],w,y),e))if(n)k[w]=m;else if(m)switch(e){case 3:return!0;case 5:return b;case 6:return w;case 2:u(k,b)}else switch(e){case 4:return!1;case 7:u(k,b)}return f?-1:o||s?s:k}};e.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6),filterReject:s(7)}},1194:(e,n,t)=>{var r=t(7293),o=t(5112),i=t(7392),a=o("species");e.exports=function(e){return i>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[e](Boolean).foo}))}},9341:(e,n,t)=>{"use strict";var r=t(7293);e.exports=function(e,n){var t=[][e];return!!t&&r((function(){t.call(null,n||function(){throw 1},1)}))}},3671:(e,n,t)=>{var r=t(7854),o=t(9662),i=t(7908),a=t(8361),l=t(6244),c=r.TypeError,u=function(e){return function(n,t,r,u){o(t);var s=i(n),f=a(s),p=l(s),d=e?p-1:0,h=e?-1:1;if(r<2)for(;;){if(d in f){u=f[d],d+=h;break}if(d+=h,e?d<0:p<=d)throw c("Reduce of empty array with no initial value")}for(;e?d>=0:p>d;d+=h)d in f&&(u=t(u,f[d],d,s));return u}};e.exports={left:u(!1),right:u(!0)}},206:(e,n,t)=>{var r=t(1702);e.exports=r([].slice)},4362:(e,n,t)=>{var r=t(206),o=Math.floor,i=function(e,n){var t=e.length,c=o(t/2);return t<8?a(e,n):l(e,i(r(e,0,c),n),i(r(e,c),n),n)},a=function(e,n){for(var t,r,o=e.length,i=1;i0;)e[r]=e[--r];r!==i++&&(e[r]=t)}return e},l=function(e,n,t,r){for(var o=n.length,i=t.length,a=0,l=0;a{var r=t(7854),o=t(3157),i=t(4411),a=t(111),l=t(5112)("species"),c=r.Array;e.exports=function(e){var n;return o(e)&&(n=e.constructor,(i(n)&&(n===c||o(n.prototype))||a(n)&&null===(n=n[l]))&&(n=void 0)),void 0===n?c:n}},5417:(e,n,t)=>{var r=t(7475);e.exports=function(e,n){return new(r(e))(0===n?0:n)}},3411:(e,n,t)=>{var r=t(9670),o=t(9212);e.exports=function(e,n,t,i){try{return i?n(r(t)[0],t[1]):n(t)}catch(n){o(e,"throw",n)}}},7072:(e,n,t)=>{var r=t(5112)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(e){}e.exports=function(e,n){if(!n&&!o)return!1;var t=!1;try{var i={};i[r]=function(){return{next:function(){return{done:t=!0}}}},e(i)}catch(e){}return t}},4326:(e,n,t)=>{var r=t(1702),o=r({}.toString),i=r("".slice);e.exports=function(e){return i(o(e),8,-1)}},648:(e,n,t)=>{var r=t(7854),o=t(1694),i=t(614),a=t(4326),l=t(5112)("toStringTag"),c=r.Object,u="Arguments"==a(function(){return arguments}());e.exports=o?a:function(e){var n,t,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(t=function(e,n){try{return e[n]}catch(e){}}(n=c(e),l))?t:u?a(n):"Object"==(r=a(n))&&i(n.callee)?"Arguments":r}},5631:(e,n,t)=>{"use strict";var r=t(3070).f,o=t(30),i=t(2248),a=t(9974),l=t(5787),c=t(408),u=t(654),s=t(6340),f=t(9781),p=t(2423).fastKey,d=t(9909),h=d.set,g=d.getterFor;e.exports={getConstructor:function(e,n,t,u){var s=e((function(e,r){l(e,d),h(e,{type:n,index:o(null),first:void 0,last:void 0,size:0}),f||(e.size=0),null!=r&&c(r,e[u],{that:e,AS_ENTRIES:t})})),d=s.prototype,v=g(n),A=function(e,n,t){var r,o,i=v(e),a=b(e,n);return a?a.value=t:(i.last=a={index:o=p(n,!0),key:n,value:t,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),f?i.size++:e.size++,"F"!==o&&(i.index[o]=a)),e},b=function(e,n){var t,r=v(e),o=p(n);if("F"!==o)return r.index[o];for(t=r.first;t;t=t.next)if(t.key==n)return t};return i(d,{clear:function(){for(var e=v(this),n=e.index,t=e.first;t;)t.removed=!0,t.previous&&(t.previous=t.previous.next=void 0),delete n[t.index],t=t.next;e.first=e.last=void 0,f?e.size=0:this.size=0},delete:function(e){var n=this,t=v(n),r=b(n,e);if(r){var o=r.next,i=r.previous;delete t.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),t.first==r&&(t.first=o),t.last==r&&(t.last=i),f?t.size--:n.size--}return!!r},forEach:function(e){for(var n,t=v(this),r=a(e,arguments.length>1?arguments[1]:void 0);n=n?n.next:t.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(e){return!!b(this,e)}}),i(d,t?{get:function(e){var n=b(this,e);return n&&n.value},set:function(e,n){return A(this,0===e?0:e,n)}}:{add:function(e){return A(this,e=0===e?0:e,e)}}),f&&r(d,"size",{get:function(){return v(this).size}}),s},setStrong:function(e,n,t){var r=n+" Iterator",o=g(n),i=g(r);u(e,n,(function(e,n){h(this,{type:r,target:e,state:o(e),kind:n,last:void 0})}),(function(){for(var e=i(this),n=e.kind,t=e.last;t&&t.removed;)t=t.previous;return e.target&&(e.last=t=t?t.next:e.state.first)?"keys"==n?{value:t.key,done:!1}:"values"==n?{value:t.value,done:!1}:{value:[t.key,t.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),t?"entries":"values",!t,!0),s(n)}}},9320:(e,n,t)=>{"use strict";var r=t(1702),o=t(2248),i=t(2423).getWeakData,a=t(9670),l=t(111),c=t(5787),u=t(408),s=t(2092),f=t(2597),p=t(9909),d=p.set,h=p.getterFor,g=s.find,v=s.findIndex,A=r([].splice),b=0,m=function(e){return e.frozen||(e.frozen=new y)},y=function(){this.entries=[]},E=function(e,n){return g(e.entries,(function(e){return e[0]===n}))};y.prototype={get:function(e){var n=E(this,e);if(n)return n[1]},has:function(e){return!!E(this,e)},set:function(e,n){var t=E(this,e);t?t[1]=n:this.entries.push([e,n])},delete:function(e){var n=v(this.entries,(function(n){return n[0]===e}));return~n&&A(this.entries,n,1),!!~n}},e.exports={getConstructor:function(e,n,t,r){var s=e((function(e,o){c(e,p),d(e,{type:n,id:b++,frozen:void 0}),null!=o&&u(o,e[r],{that:e,AS_ENTRIES:t})})),p=s.prototype,g=h(n),v=function(e,n,t){var r=g(e),o=i(a(n),!0);return!0===o?m(r).set(n,t):o[r.id]=t,e};return o(p,{delete:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).delete(e):t&&f(t,n.id)&&delete t[n.id]},has:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).has(e):t&&f(t,n.id)}}),o(p,t?{get:function(e){var n=g(this);if(l(e)){var t=i(e);return!0===t?m(n).get(e):t?t[n.id]:void 0}},set:function(e,n){return v(this,e,n)}}:{add:function(e){return v(this,e,!0)}}),s}}},7710:(e,n,t)=>{"use strict";var r=t(2109),o=t(7854),i=t(1702),a=t(4705),l=t(1320),c=t(2423),u=t(408),s=t(5787),f=t(614),p=t(111),d=t(7293),h=t(7072),g=t(8003),v=t(9587);e.exports=function(e,n,t){var A=-1!==e.indexOf("Map"),b=-1!==e.indexOf("Weak"),m=A?"set":"add",y=o[e],E=y&&y.prototype,_=y,C={},w=function(e){var n=i(E[e]);l(E,e,"add"==e?function(e){return n(this,0===e?0:e),this}:"delete"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:"get"==e?function(e){return b&&!p(e)?void 0:n(this,0===e?0:e)}:"has"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:function(e,t){return n(this,0===e?0:e,t),this})};if(a(e,!f(y)||!(b||E.forEach&&!d((function(){(new y).entries().next()})))))_=t.getConstructor(n,e,A,m),c.enable();else if(a(e,!0)){var x=new _,k=x[m](b?{}:-0,1)!=x,S=d((function(){x.has(1)})),O=h((function(e){new y(e)})),B=!b&&d((function(){for(var e=new y,n=5;n--;)e[m](n,n);return!e.has(-0)}));O||((_=n((function(e,n){s(e,E);var t=v(new y,e,_);return null!=n&&u(n,t[m],{that:t,AS_ENTRIES:A}),t}))).prototype=E,E.constructor=_),(S||B)&&(w("delete"),w("has"),A&&w("get")),(B||k)&&w(m),b&&E.clear&&delete E.clear}return C[e]=_,r({global:!0,forced:_!=y},C),g(_,e),b||t.setStrong(_,e,A),_}},9920:(e,n,t)=>{var r=t(2597),o=t(3887),i=t(1236),a=t(3070);e.exports=function(e,n){for(var t=o(n),l=a.f,c=i.f,u=0;u{var r=t(5112)("match");e.exports=function(e){var n=/./;try{"/./"[e](n)}catch(t){try{return n[r]=!1,"/./"[e](n)}catch(e){}}return!1}},8544:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},4230:(e,n,t)=>{var r=t(1702),o=t(4488),i=t(1340),a=/"/g,l=r("".replace);e.exports=function(e,n,t,r){var c=i(o(e)),u="<"+n;return""!==t&&(u+=" "+t+'="'+l(i(r),a,""")+'"'),u+">"+c+""}},4994:(e,n,t)=>{"use strict";var r=t(3383).IteratorPrototype,o=t(30),i=t(9114),a=t(8003),l=t(7497),c=function(){return this};e.exports=function(e,n,t){var u=n+" Iterator";return e.prototype=o(r,{next:i(1,t)}),a(e,u,!1,!0),l[u]=c,e}},8880:(e,n,t)=>{var r=t(9781),o=t(3070),i=t(9114);e.exports=r?function(e,n,t){return o.f(e,n,i(1,t))}:function(e,n,t){return e[n]=t,e}},9114:e=>{e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},6135:(e,n,t)=>{"use strict";var r=t(4948),o=t(3070),i=t(9114);e.exports=function(e,n,t){var a=r(n);a in e?o.f(e,a,i(0,t)):e[a]=t}},8709:(e,n,t)=>{"use strict";var r=t(7854),o=t(9670),i=t(2140),a=r.TypeError;e.exports=function(e){if(o(this),"string"===e||"default"===e)e="string";else if("number"!==e)throw a("Incorrect hint");return i(this,e)}},654:(e,n,t)=>{"use strict";var r=t(2109),o=t(6916),i=t(1913),a=t(6530),l=t(614),c=t(4994),u=t(9518),s=t(7674),f=t(8003),p=t(8880),d=t(1320),h=t(5112),g=t(7497),v=t(3383),A=a.PROPER,b=a.CONFIGURABLE,m=v.IteratorPrototype,y=v.BUGGY_SAFARI_ITERATORS,E=h("iterator"),_="keys",C="values",w="entries",x=function(){return this};e.exports=function(e,n,t,a,h,v,k){c(t,n,a);var S,O,B,I=function(e){if(e===h&&R)return R;if(!y&&e in j)return j[e];switch(e){case _:case C:case w:return function(){return new t(this,e)}}return function(){return new t(this)}},T=n+" Iterator",P=!1,j=e.prototype,z=j[E]||j["@@iterator"]||h&&j[h],R=!y&&z||I(h),M="Array"==n&&j.entries||z;if(M&&(S=u(M.call(new e)))!==Object.prototype&&S.next&&(i||u(S)===m||(s?s(S,m):l(S[E])||d(S,E,x)),f(S,T,!0,!0),i&&(g[T]=x)),A&&h==C&&z&&z.name!==C&&(!i&&b?p(j,"name",C):(P=!0,R=function(){return o(z,this)})),h)if(O={values:I(C),keys:v?R:I(_),entries:I(w)},k)for(B in O)(y||P||!(B in j))&&d(j,B,O[B]);else r({target:n,proto:!0,forced:y||P},O);return i&&!k||j[E]===R||d(j,E,R,{name:h}),g[n]=R,O}},7235:(e,n,t)=>{var r=t(857),o=t(2597),i=t(6061),a=t(3070).f;e.exports=function(e){var n=r.Symbol||(r.Symbol={});o(n,e)||a(n,e,{value:i.f(e)})}},9781:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},317:(e,n,t)=>{var r=t(7854),o=t(111),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},8324:e=>{e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8509:(e,n,t)=>{var r=t(317)("span").classList,o=r&&r.constructor&&r.constructor.prototype;e.exports=o===Object.prototype?void 0:o},8886:(e,n,t)=>{var r=t(8113).match(/firefox\/(\d+)/i);e.exports=!!r&&+r[1]},256:(e,n,t)=>{var r=t(8113);e.exports=/MSIE|Trident/.test(r)},5268:(e,n,t)=>{var r=t(4326),o=t(7854);e.exports="process"==r(o.process)},8113:(e,n,t)=>{var r=t(5005);e.exports=r("navigator","userAgent")||""},7392:(e,n,t)=>{var r,o,i=t(7854),a=t(8113),l=i.process,c=i.Deno,u=l&&l.versions||c&&c.version,s=u&&u.v8;s&&(o=(r=s.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=+r[1]),e.exports=o},8008:(e,n,t)=>{var r=t(8113).match(/AppleWebKit\/(\d+)\./);e.exports=!!r&&+r[1]},748:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:(e,n,t)=>{var r=t(7854),o=t(1236).f,i=t(8880),a=t(1320),l=t(3505),c=t(9920),u=t(4705);e.exports=function(e,n){var t,s,f,p,d,h=e.target,g=e.global,v=e.stat;if(t=g?r:v?r[h]||l(h,{}):(r[h]||{}).prototype)for(s in n){if(p=n[s],f=e.noTargetGet?(d=o(t,s))&&d.value:t[s],!u(g?s:h+(v?".":"#")+s,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;c(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),a(t,s,p,e)}}},7293:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},7007:(e,n,t)=>{"use strict";t(4916);var r=t(1702),o=t(1320),i=t(2261),a=t(7293),l=t(5112),c=t(8880),u=l("species"),s=RegExp.prototype;e.exports=function(e,n,t,f){var p=l(e),d=!a((function(){var n={};return n[p]=function(){return 7},7!=""[e](n)})),h=d&&!a((function(){var n=!1,t=/a/;return"split"===e&&((t={}).constructor={},t.constructor[u]=function(){return t},t.flags="",t[p]=/./[p]),t.exec=function(){return n=!0,null},t[p](""),!n}));if(!d||!h||t){var g=r(/./[p]),v=n(p,""[e],(function(e,n,t,o,a){var l=r(e),c=n.exec;return c===i||c===s.exec?d&&!a?{done:!0,value:g(n,t,o)}:{done:!0,value:l(t,n,o)}:{done:!1}}));o(String.prototype,e,v[0]),o(s,p,v[1])}f&&c(s[p],"sham",!0)}},6677:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},2104:e=>{var n=Function.prototype,t=n.apply,r=n.bind,o=n.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?o.bind(t):function(){return o.apply(t,arguments)})},9974:(e,n,t)=>{var r=t(1702),o=t(9662),i=r(r.bind);e.exports=function(e,n){return o(e),void 0===n?e:i?i(e,n):function(){return e.apply(n,arguments)}}},7065:(e,n,t)=>{"use strict";var r=t(7854),o=t(1702),i=t(9662),a=t(111),l=t(2597),c=t(206),u=r.Function,s=o([].concat),f=o([].join),p={},d=function(e,n,t){if(!l(p,n)){for(var r=[],o=0;o{var n=Function.prototype.call;e.exports=n.bind?n.bind(n):function(){return n.apply(n,arguments)}},6530:(e,n,t)=>{var r=t(9781),o=t(2597),i=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,l=o(i,"name"),c=l&&"something"===function(){}.name,u=l&&(!r||r&&a(i,"name").configurable);e.exports={EXISTS:l,PROPER:c,CONFIGURABLE:u}},1702:e=>{var n=Function.prototype,t=n.bind,r=n.call,o=t&&t.bind(r);e.exports=t?function(e){return e&&o(r,e)}:function(e){return e&&function(){return r.apply(e,arguments)}}},5005:(e,n,t)=>{var r=t(7854),o=t(614),i=function(e){return o(e)?e:void 0};e.exports=function(e,n){return arguments.length<2?i(r[e]):r[e]&&r[e][n]}},1246:(e,n,t)=>{var r=t(648),o=t(8173),i=t(7497),a=t(5112)("iterator");e.exports=function(e){if(null!=e)return o(e,a)||o(e,"@@iterator")||i[r(e)]}},8554:(e,n,t)=>{var r=t(7854),o=t(6916),i=t(9662),a=t(9670),l=t(6330),c=t(1246),u=r.TypeError;e.exports=function(e,n){var t=arguments.length<2?c(e):n;if(i(t))return a(o(t,e));throw u(l(e)+" is not iterable")}},8173:(e,n,t)=>{var r=t(9662);e.exports=function(e,n){var t=e[n];return null==t?void 0:r(t)}},647:(e,n,t)=>{var r=t(1702),o=t(7908),i=Math.floor,a=r("".charAt),l=r("".replace),c=r("".slice),u=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,s=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,n,t,r,f,p){var d=t+e.length,h=r.length,g=s;return void 0!==f&&(f=o(f),g=u),l(p,g,(function(o,l){var u;switch(a(l,0)){case"$":return"$";case"&":return e;case"`":return c(n,0,t);case"'":return c(n,d);case"<":u=f[c(l,1,-1)];break;default:var s=+l;if(0===s)return o;if(s>h){var p=i(s/10);return 0===p?o:p<=h?void 0===r[p-1]?a(l,1):r[p-1]+a(l,1):o}u=r[s-1]}return void 0===u?"":u}))}},7854:(e,n,t)=>{var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t.g&&t.g)||function(){return this}()||Function("return this")()},2597:(e,n,t)=>{var r=t(1702),o=t(7908),i=r({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,n){return i(o(e),n)}},3501:e=>{e.exports={}},490:(e,n,t)=>{var r=t(5005);e.exports=r("document","documentElement")},4664:(e,n,t)=>{var r=t(9781),o=t(7293),i=t(317);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8361:(e,n,t)=>{var r=t(7854),o=t(1702),i=t(7293),a=t(4326),l=r.Object,c=o("".split);e.exports=i((function(){return!l("z").propertyIsEnumerable(0)}))?function(e){return"String"==a(e)?c(e,""):l(e)}:l},9587:(e,n,t)=>{var r=t(614),o=t(111),i=t(7674);e.exports=function(e,n,t){var a,l;return i&&r(a=n.constructor)&&a!==t&&o(l=a.prototype)&&l!==t.prototype&&i(e,l),e}},2788:(e,n,t)=>{var r=t(1702),o=t(614),i=t(5465),a=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},2423:(e,n,t)=>{var r=t(2109),o=t(1702),i=t(3501),a=t(111),l=t(2597),c=t(3070).f,u=t(8006),s=t(1156),f=t(2050),p=t(9711),d=t(6677),h=!1,g=p("meta"),v=0,A=function(e){c(e,g,{value:{objectID:"O"+v++,weakData:{}}})},b=e.exports={enable:function(){b.enable=function(){},h=!0;var e=u.f,n=o([].splice),t={};t[g]=1,e(t).length&&(u.f=function(t){for(var r=e(t),o=0,i=r.length;o{var r,o,i,a=t(8536),l=t(7854),c=t(1702),u=t(111),s=t(8880),f=t(2597),p=t(5465),d=t(6200),h=t(3501),g="Object already initialized",v=l.TypeError,A=l.WeakMap;if(a||p.state){var b=p.state||(p.state=new A),m=c(b.get),y=c(b.has),E=c(b.set);r=function(e,n){if(y(b,e))throw new v(g);return n.facade=e,E(b,e,n),n},o=function(e){return m(b,e)||{}},i=function(e){return y(b,e)}}else{var _=d("state");h[_]=!0,r=function(e,n){if(f(e,_))throw new v(g);return n.facade=e,s(e,_,n),n},o=function(e){return f(e,_)?e[_]:{}},i=function(e){return f(e,_)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(n){var t;if(!u(n)||(t=o(n)).type!==e)throw v("Incompatible receiver, "+e+" required");return t}}}},7659:(e,n,t)=>{var r=t(5112),o=t(7497),i=r("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||a[i]===e)}},3157:(e,n,t)=>{var r=t(4326);e.exports=Array.isArray||function(e){return"Array"==r(e)}},614:e=>{e.exports=function(e){return"function"==typeof e}},4411:(e,n,t)=>{var r=t(1702),o=t(7293),i=t(614),a=t(648),l=t(5005),c=t(2788),u=function(){},s=[],f=l("Reflect","construct"),p=/^\s*(?:class|function)\b/,d=r(p.exec),h=!p.exec(u),g=function(e){if(!i(e))return!1;try{return f(u,s,e),!0}catch(e){return!1}};e.exports=!f||o((function(){var e;return g(g.call)||!g(Object)||!g((function(){e=!0}))||e}))?function(e){if(!i(e))return!1;switch(a(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return h||!!d(p,c(e))}:g},4705:(e,n,t)=>{var r=t(7293),o=t(614),i=/#|\.prototype\./,a=function(e,n){var t=c[l(e)];return t==s||t!=u&&(o(n)?r(n):!!n)},l=a.normalize=function(e){return String(e).replace(i,".").toLowerCase()},c=a.data={},u=a.NATIVE="N",s=a.POLYFILL="P";e.exports=a},111:(e,n,t)=>{var r=t(614);e.exports=function(e){return"object"==typeof e?null!==e:r(e)}},1913:e=>{e.exports=!1},7850:(e,n,t)=>{var r=t(111),o=t(4326),i=t(5112)("match");e.exports=function(e){var n;return r(e)&&(void 0!==(n=e[i])?!!n:"RegExp"==o(e))}},2190:(e,n,t)=>{var r=t(7854),o=t(5005),i=t(614),a=t(7976),l=t(3307),c=r.Object;e.exports=l?function(e){return"symbol"==typeof e}:function(e){var n=o("Symbol");return i(n)&&a(n.prototype,c(e))}},408:(e,n,t)=>{var r=t(7854),o=t(9974),i=t(6916),a=t(9670),l=t(6330),c=t(7659),u=t(6244),s=t(7976),f=t(8554),p=t(1246),d=t(9212),h=r.TypeError,g=function(e,n){this.stopped=e,this.result=n},v=g.prototype;e.exports=function(e,n,t){var r,A,b,m,y,E,_,C=t&&t.that,w=!(!t||!t.AS_ENTRIES),x=!(!t||!t.IS_ITERATOR),k=!(!t||!t.INTERRUPTED),S=o(n,C),O=function(e){return r&&d(r,"normal",e),new g(!0,e)},B=function(e){return w?(a(e),k?S(e[0],e[1],O):S(e[0],e[1])):k?S(e,O):S(e)};if(x)r=e;else{if(!(A=p(e)))throw h(l(e)+" is not iterable");if(c(A)){for(b=0,m=u(e);m>b;b++)if((y=B(e[b]))&&s(v,y))return y;return new g(!1)}r=f(e,A)}for(E=r.next;!(_=i(E,r)).done;){try{y=B(_.value)}catch(e){d(r,"throw",e)}if("object"==typeof y&&y&&s(v,y))return y}return new g(!1)}},9212:(e,n,t)=>{var r=t(6916),o=t(9670),i=t(8173);e.exports=function(e,n,t){var a,l;o(e);try{if(!(a=i(e,"return"))){if("throw"===n)throw t;return t}a=r(a,e)}catch(e){l=!0,a=e}if("throw"===n)throw t;if(l)throw a;return o(a),t}},3383:(e,n,t)=>{"use strict";var r,o,i,a=t(7293),l=t(614),c=t(30),u=t(9518),s=t(1320),f=t(5112),p=t(1913),d=f("iterator"),h=!1;[].keys&&("next"in(i=[].keys())?(o=u(u(i)))!==Object.prototype&&(r=o):h=!0),null==r||a((function(){var e={};return r[d].call(e)!==e}))?r={}:p&&(r=c(r)),l(r[d])||s(r,d,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:h}},7497:e=>{e.exports={}},6244:(e,n,t)=>{var r=t(7466);e.exports=function(e){return r(e.length)}},133:(e,n,t)=>{var r=t(7392),o=t(7293);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},8536:(e,n,t)=>{var r=t(7854),o=t(614),i=t(2788),a=r.WeakMap;e.exports=o(a)&&/native code/.test(i(a))},3929:(e,n,t)=>{var r=t(7854),o=t(7850),i=r.TypeError;e.exports=function(e){if(o(e))throw i("The method doesn't accept regular expressions");return e}},1574:(e,n,t)=>{"use strict";var r=t(9781),o=t(1702),i=t(6916),a=t(7293),l=t(1956),c=t(5181),u=t(5296),s=t(7908),f=t(8361),p=Object.assign,d=Object.defineProperty,h=o([].concat);e.exports=!p||a((function(){if(r&&1!==p({b:1},p(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},n={},t=Symbol(),o="abcdefghijklmnopqrst";return e[t]=7,o.split("").forEach((function(e){n[e]=e})),7!=p({},e)[t]||l(p({},n)).join("")!=o}))?function(e,n){for(var t=s(e),o=arguments.length,a=1,p=c.f,d=u.f;o>a;)for(var g,v=f(arguments[a++]),A=p?h(l(v),p(v)):l(v),b=A.length,m=0;b>m;)g=A[m++],r&&!i(d,v,g)||(t[g]=v[g]);return t}:p},30:(e,n,t)=>{var r,o=t(9670),i=t(6048),a=t(748),l=t(3501),c=t(490),u=t(317),s=t(6200),f=s("IE_PROTO"),p=function(){},d=function(e){return"