From fb72b7456974eca294e486dff1c1f5577fff88b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Ruz=CC=8Cevic=CC=81?= Date: Fri, 19 Jan 2024 13:17:21 +0100 Subject: [PATCH 1/4] adding new docs --- website/forms/features/entries.md | 6 + website/forms/integrations/pipedrive.md | 22 +- .../forms/php/filters/admin/settings-data.md | 32 + .../block/checkboxes/additional-content.md | 12 - .../block/checkboxes/additional-content.mdx | 9 + .../block/country/additional-content.md | 12 - .../block/country/additional-content.mdx | 9 + .../filters/block/date/additional-content.md | 12 - .../filters/block/date/additional-content.mdx | 9 + .../filters/block/field/additional-content.md | 12 - .../block/field/additional-content.mdx | 9 + .../filters/block/file/additional-content.md | 12 - .../filters/block/file/additional-content.mdx | 9 + .../block/form-selector/additional-content.md | 12 - .../form-selector/additional-content.mdx | 9 + .../filters/block/form/additional-content.md | 12 - .../filters/block/form/additional-content.mdx | 9 + .../block/form/additional-hidden-fields.md | 30 + .../block/form/pre-response-addon-data.md | 4 + .../pre-response-success-redirect-data.md | 4 + .../filters/block/input/additional-content.md | 12 - .../block/input/additional-content.mdx | 9 + .../filters/block/phone/additional-content.md | 12 - .../block/phone/additional-content.mdx | 9 + .../block/radios/additional-content.md | 12 - .../block/radios/additional-content.mdx | 9 + .../block/rating/additional-content.mdx | 8 + .../block/select/additional-content.md | 12 - .../block/select/additional-content.mdx | 9 + .../block/submit/additional-content.md | 12 - .../block/submit/additional-content.mdx | 9 + .../block/textarea/additional-content.md | 12 - .../block/textarea/additional-content.mdx | 9 + .../php/filters/blocks/allowed-blocks.md | 4 + .../php/filters/entries/pre-post-params.md | 4 + .../general/{set-locale.md => locale.md} | 6 +- .../filters/integrations/active-campaign.mdx | 2 +- .../php/filters/integrations/airtable.mdx | 2 +- .../php/filters/integrations/clearbit.md | 19 +- .../php/filters/integrations/goodbits.mdx | 2 +- .../php/filters/integrations/greenhouse.mdx | 2 +- .../php/filters/integrations/hubspot.mdx | 27 +- .../forms/php/filters/integrations/jira.md | 6 - .../forms/php/filters/integrations/jira.mdx | 8 + .../php/filters/integrations/mailchimp.mdx | 2 +- .../php/filters/integrations/mailerlite.mdx | 2 +- .../php/filters/integrations/moments.mdx | 2 +- .../php/filters/integrations/pipedrive.md | 6 - .../php/filters/integrations/pipedrive.mdx | 8 + .../php/filters/integrations/workable.mdx | 2 +- .../php/filters/scripts/dependency-admin.md | 4 + .../scripts/dependency-blocks-editor.md | 4 + .../scripts/dependency-blocks-frontend.md | 4 + .../php/filters/scripts/dependency-theme.md | 4 + .../php/filters/scripts/routes-private.md | 4 + .../php/filters/scripts/routes-public.md | 4 + ...mimetype-validation-when-file-not-on-fs.md | 15 - .../validation/force-mimetype-from-fs.md | 26 + .../integrations/pipedrive.md | 8 +- website/package-lock.json | 608 +++++++++--------- website/package.json | 4 +- website/sidebars-forms.js | 64 +- website/src/docs/filters.jsx | 206 ++++++ website/src/docs/integration-filters.jsx | 109 ---- 64 files changed, 920 insertions(+), 627 deletions(-) create mode 100644 website/forms/features/entries.md create mode 100644 website/forms/php/filters/admin/settings-data.md delete mode 100644 website/forms/php/filters/block/checkboxes/additional-content.md create mode 100644 website/forms/php/filters/block/checkboxes/additional-content.mdx delete mode 100644 website/forms/php/filters/block/country/additional-content.md create mode 100644 website/forms/php/filters/block/country/additional-content.mdx delete mode 100644 website/forms/php/filters/block/date/additional-content.md create mode 100644 website/forms/php/filters/block/date/additional-content.mdx delete mode 100644 website/forms/php/filters/block/field/additional-content.md create mode 100644 website/forms/php/filters/block/field/additional-content.mdx delete mode 100644 website/forms/php/filters/block/file/additional-content.md create mode 100644 website/forms/php/filters/block/file/additional-content.mdx delete mode 100644 website/forms/php/filters/block/form-selector/additional-content.md create mode 100644 website/forms/php/filters/block/form-selector/additional-content.mdx delete mode 100644 website/forms/php/filters/block/form/additional-content.md create mode 100644 website/forms/php/filters/block/form/additional-content.mdx create mode 100644 website/forms/php/filters/block/form/additional-hidden-fields.md create mode 100644 website/forms/php/filters/block/form/pre-response-addon-data.md create mode 100644 website/forms/php/filters/block/form/pre-response-success-redirect-data.md delete mode 100644 website/forms/php/filters/block/input/additional-content.md create mode 100644 website/forms/php/filters/block/input/additional-content.mdx delete mode 100644 website/forms/php/filters/block/phone/additional-content.md create mode 100644 website/forms/php/filters/block/phone/additional-content.mdx delete mode 100644 website/forms/php/filters/block/radios/additional-content.md create mode 100644 website/forms/php/filters/block/radios/additional-content.mdx create mode 100644 website/forms/php/filters/block/rating/additional-content.mdx delete mode 100644 website/forms/php/filters/block/select/additional-content.md create mode 100644 website/forms/php/filters/block/select/additional-content.mdx delete mode 100644 website/forms/php/filters/block/submit/additional-content.md create mode 100644 website/forms/php/filters/block/submit/additional-content.mdx delete mode 100644 website/forms/php/filters/block/textarea/additional-content.md create mode 100644 website/forms/php/filters/block/textarea/additional-content.mdx create mode 100644 website/forms/php/filters/blocks/allowed-blocks.md create mode 100644 website/forms/php/filters/entries/pre-post-params.md rename website/forms/php/filters/general/{set-locale.md => locale.md} (73%) delete mode 100644 website/forms/php/filters/integrations/jira.md create mode 100644 website/forms/php/filters/integrations/jira.mdx delete mode 100644 website/forms/php/filters/integrations/pipedrive.md create mode 100644 website/forms/php/filters/integrations/pipedrive.mdx create mode 100644 website/forms/php/filters/scripts/dependency-admin.md create mode 100644 website/forms/php/filters/scripts/dependency-blocks-editor.md create mode 100644 website/forms/php/filters/scripts/dependency-blocks-frontend.md create mode 100644 website/forms/php/filters/scripts/dependency-theme.md create mode 100644 website/forms/php/filters/scripts/routes-private.md create mode 100644 website/forms/php/filters/scripts/routes-public.md delete mode 100644 website/forms/php/filters/validation/fail-mimetype-validation-when-file-not-on-fs.md create mode 100644 website/forms/php/filters/validation/force-mimetype-from-fs.md create mode 100644 website/src/docs/filters.jsx delete mode 100644 website/src/docs/integration-filters.jsx diff --git a/website/forms/features/entries.md b/website/forms/features/entries.md new file mode 100644 index 000000000..b97e47ce4 --- /dev/null +++ b/website/forms/features/entries.md @@ -0,0 +1,6 @@ +--- +id: entries +title: Entries +--- + +Entries diff --git a/website/forms/integrations/pipedrive.md b/website/forms/integrations/pipedrive.md index 313f21e47..19c485367 100644 --- a/website/forms/integrations/pipedrive.md +++ b/website/forms/integrations/pipedrive.md @@ -3,4 +3,24 @@ id: pipedrive title: Pipedrive --- -*Coming soon...* +Pipedrive is a web-based Sales CRM and pipeline management solution that enables businesses to plan their sales activities and monitor deals. + +### Website + +* [Visit website](https://www.pipedrive.com/) + +### API Version + +* V1 + +### API Documentation + +* [Documentation](https://developers.pipedrive.com/docs/api/v1) + +### Integration type + +* Form builder **not** provided by the service. +* The form is created using our forms fields and connected to Pipedrive fields using form settings. + +### Supported fields: +* All diff --git a/website/forms/php/filters/admin/settings-data.md b/website/forms/php/filters/admin/settings-data.md new file mode 100644 index 000000000..d1b92bafa --- /dev/null +++ b/website/forms/php/filters/admin/settings-data.md @@ -0,0 +1,32 @@ +--- +id: settings-data +title: Settings data +--- + +This filter allows you to add you own custom settings page in the WordPress admin area. Generally, it can be used when creating a custom addon plugin. + +```php +add_filter('es_forms_admin_settings_data', 'getSettingsConfig'); + +/** + * Settings config data. + * + * @return array + */ +public function getSettingsConfig(): array +{ + return [ + self::SETTINGS_TYPE_KEY => [ + 'settings' => 'es_forms_settings_addon_', + 'settingsGlobal' => 'es_forms_settings_global_', + 'type' => 'addon', + 'use' => '-use', + 'labels' => [ + 'title' => \__('Title', ''), + 'desc' => \__('Description', ''), + 'icon' => '', + ], + ], + ]; +} +``` diff --git a/website/forms/php/filters/block/checkboxes/additional-content.md b/website/forms/php/filters/block/checkboxes/additional-content.md deleted file mode 100644 index 8ae679f60..000000000 --- a/website/forms/php/filters/block/checkboxes/additional-content.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: additional-content -title: Additional content ---- - -This filter allows to add custom content before the closing tag of the field element. Can be useful for additional markup, styles, etc. - -```php -add_filter('es_forms_block_checkboxes_additional_content', function(): string { - return ''; -}) -``` diff --git a/website/forms/php/filters/block/checkboxes/additional-content.mdx b/website/forms/php/filters/block/checkboxes/additional-content.mdx new file mode 100644 index 000000000..7e4381d79 --- /dev/null +++ b/website/forms/php/filters/block/checkboxes/additional-content.mdx @@ -0,0 +1,9 @@ +--- +id: additional-content +title: Additional content +--- + +import { AdditionalContentFilter } from './../../../../../src/docs/filters'; + + + diff --git a/website/forms/php/filters/block/country/additional-content.md b/website/forms/php/filters/block/country/additional-content.md deleted file mode 100644 index 54ec40268..000000000 --- a/website/forms/php/filters/block/country/additional-content.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: additional-content -title: Additional content ---- - -This filter allows to add custom content before the closing tag of the field element. Can be useful for additional markup, styles, etc. - -```php -add_filter('es_forms_block_country_additional_content', function(): string { - return ''; -}) -``` diff --git a/website/forms/php/filters/block/country/additional-content.mdx b/website/forms/php/filters/block/country/additional-content.mdx new file mode 100644 index 000000000..95d40d59c --- /dev/null +++ b/website/forms/php/filters/block/country/additional-content.mdx @@ -0,0 +1,9 @@ +--- +id: additional-content +title: Additional content +--- + +import { AdditionalContentFilter } from './../../../../../src/docs/filters'; + + + diff --git a/website/forms/php/filters/block/date/additional-content.md b/website/forms/php/filters/block/date/additional-content.md deleted file mode 100644 index e6031f8bd..000000000 --- a/website/forms/php/filters/block/date/additional-content.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: additional-content -title: Additional content ---- - -This filter allows to add custom content before the closing tag of the field element. Can be useful for additional markup, styles, etc. - -```php -add_filter('es_forms_block_date_additional_content', function(): string { - return ''; -}) -``` diff --git a/website/forms/php/filters/block/date/additional-content.mdx b/website/forms/php/filters/block/date/additional-content.mdx new file mode 100644 index 000000000..77dff8bcd --- /dev/null +++ b/website/forms/php/filters/block/date/additional-content.mdx @@ -0,0 +1,9 @@ +--- +id: additional-content +title: Additional content +--- + +import { AdditionalContentFilter } from './../../../../../src/docs/filters'; + + + diff --git a/website/forms/php/filters/block/field/additional-content.md b/website/forms/php/filters/block/field/additional-content.md deleted file mode 100644 index e36854132..000000000 --- a/website/forms/php/filters/block/field/additional-content.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: additional-content -title: Additional content ---- - -This filter allows to add custom content before the closing tag of the field element. Can be useful for additional markup, styles, etc. - -```php -add_filter('es_forms_block_field_additional_content', function(): string { - return ''; -}) -``` diff --git a/website/forms/php/filters/block/field/additional-content.mdx b/website/forms/php/filters/block/field/additional-content.mdx new file mode 100644 index 000000000..f73a46c42 --- /dev/null +++ b/website/forms/php/filters/block/field/additional-content.mdx @@ -0,0 +1,9 @@ +--- +id: additional-content +title: Additional content +--- + +import { AdditionalContentFilter } from './../../../../../src/docs/filters'; + + + diff --git a/website/forms/php/filters/block/file/additional-content.md b/website/forms/php/filters/block/file/additional-content.md deleted file mode 100644 index d0a5f2e84..000000000 --- a/website/forms/php/filters/block/file/additional-content.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: additional-content -title: Additional content ---- - -This filter allows to add custom content before the closing tag of the field element. Can be useful for additional markup, styles, etc. - -```php -add_filter('es_forms_block_file_additional_content', function(): string { - return ''; -}) -``` diff --git a/website/forms/php/filters/block/file/additional-content.mdx b/website/forms/php/filters/block/file/additional-content.mdx new file mode 100644 index 000000000..3754440ab --- /dev/null +++ b/website/forms/php/filters/block/file/additional-content.mdx @@ -0,0 +1,9 @@ +--- +id: additional-content +title: Additional content +--- + +import { AdditionalContentFilter } from './../../../../../src/docs/filters'; + + + diff --git a/website/forms/php/filters/block/form-selector/additional-content.md b/website/forms/php/filters/block/form-selector/additional-content.md deleted file mode 100644 index 19fba72e4..000000000 --- a/website/forms/php/filters/block/form-selector/additional-content.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: additional-content -title: Additional content ---- - -This filter allows to add custom content before the closing tag of the field element. Can be useful for additional markup, styles, etc. - -```php -add_filter('es_forms_block_form_selector_additional_content', function(): string { - return ''; -}) -``` diff --git a/website/forms/php/filters/block/form-selector/additional-content.mdx b/website/forms/php/filters/block/form-selector/additional-content.mdx new file mode 100644 index 000000000..5802f7a7e --- /dev/null +++ b/website/forms/php/filters/block/form-selector/additional-content.mdx @@ -0,0 +1,9 @@ +--- +id: additional-content +title: Additional content +--- + +import { AdditionalContentFilter } from './../../../../../src/docs/filters'; + + + diff --git a/website/forms/php/filters/block/form/additional-content.md b/website/forms/php/filters/block/form/additional-content.md deleted file mode 100644 index 67c7b5fe2..000000000 --- a/website/forms/php/filters/block/form/additional-content.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: additional-content -title: Additional content ---- - -This filter allows to add custom content before the closing tag of the field element. Can be useful for additional markup, styles, etc. - -```php -add_filter('es_forms_block_form_additional_content', function(): string { - return ''; -}) -``` diff --git a/website/forms/php/filters/block/form/additional-content.mdx b/website/forms/php/filters/block/form/additional-content.mdx new file mode 100644 index 000000000..3dcab34bd --- /dev/null +++ b/website/forms/php/filters/block/form/additional-content.mdx @@ -0,0 +1,9 @@ +--- +id: additional-content +title: Additional content +--- + +import { AdditionalContentFilter } from './../../../../../src/docs/filters'; + + + diff --git a/website/forms/php/filters/block/form/additional-hidden-fields.md b/website/forms/php/filters/block/form/additional-hidden-fields.md new file mode 100644 index 000000000..13482d99b --- /dev/null +++ b/website/forms/php/filters/block/form/additional-hidden-fields.md @@ -0,0 +1,30 @@ +--- +id: additional-hidden-fields +title: Additional hidden fields +--- + +This filter allows you to add additional hidden fields to the form block. However this fields will not be visible in the Block Editor. + +```php +\add_filter('es_forms_block_form_additional_hidden_fields', [$this, 'getBlockFormAdditionalHiddenFields'], 10, 2); + +/** + * Set additional hidden fields to form block. + * + * @param array $output Output data. + * @param string $formId FormId value. + * + * @return array + */ +public function getBlockFormAdditionalHiddenFields(array $output, string $formId): array +{ + $output['additionalHiddenFields'] = [ + [ + 'name' => 'additional-hidden-field', + 'value' => 'additional-hidden-field-value', + ], + ]; + + return $output; +} +``` diff --git a/website/forms/php/filters/block/form/pre-response-addon-data.md b/website/forms/php/filters/block/form/pre-response-addon-data.md new file mode 100644 index 000000000..5a786d803 --- /dev/null +++ b/website/forms/php/filters/block/form/pre-response-addon-data.md @@ -0,0 +1,4 @@ +--- +id: pre-response-addon-data +title: Pre-Response Addon Data +--- diff --git a/website/forms/php/filters/block/form/pre-response-success-redirect-data.md b/website/forms/php/filters/block/form/pre-response-success-redirect-data.md new file mode 100644 index 000000000..faf7913ee --- /dev/null +++ b/website/forms/php/filters/block/form/pre-response-success-redirect-data.md @@ -0,0 +1,4 @@ +--- +id: pre-response-success-redirect-data +title: Pre-Response Success Redirect Data +--- diff --git a/website/forms/php/filters/block/input/additional-content.md b/website/forms/php/filters/block/input/additional-content.md deleted file mode 100644 index 8f5ee96a6..000000000 --- a/website/forms/php/filters/block/input/additional-content.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: additional-content -title: Additional content ---- - -This filter allows to add custom content before the closing tag of the field element. Can be useful for additional markup, styles, etc. - -```php -add_filter('es_forms_block_input_additional_content', function(): string { - return ''; -}) -``` diff --git a/website/forms/php/filters/block/input/additional-content.mdx b/website/forms/php/filters/block/input/additional-content.mdx new file mode 100644 index 000000000..8b98cde86 --- /dev/null +++ b/website/forms/php/filters/block/input/additional-content.mdx @@ -0,0 +1,9 @@ +--- +id: additional-content +title: Additional content +--- + +import { AdditionalContentFilter } from './../../../../../src/docs/filters'; + + + diff --git a/website/forms/php/filters/block/phone/additional-content.md b/website/forms/php/filters/block/phone/additional-content.md deleted file mode 100644 index 48b1f7aea..000000000 --- a/website/forms/php/filters/block/phone/additional-content.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: additional-content -title: Additional content ---- - -This filter allows to add custom content before the closing tag of the field element. Can be useful for additional markup, styles, etc. - -```php -add_filter('es_forms_block_phone_additional_content', function(): string { - return ''; -}) -``` diff --git a/website/forms/php/filters/block/phone/additional-content.mdx b/website/forms/php/filters/block/phone/additional-content.mdx new file mode 100644 index 000000000..d2357bf6c --- /dev/null +++ b/website/forms/php/filters/block/phone/additional-content.mdx @@ -0,0 +1,9 @@ +--- +id: additional-content +title: Additional content +--- + +import { AdditionalContentFilter } from './../../../../../src/docs/filters'; + + + diff --git a/website/forms/php/filters/block/radios/additional-content.md b/website/forms/php/filters/block/radios/additional-content.md deleted file mode 100644 index 56f02dbe3..000000000 --- a/website/forms/php/filters/block/radios/additional-content.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: additional-content -title: Additional content ---- - -This filter allows to add custom content before the closing tag of the field element. Can be useful for additional markup, styles, etc. - -```php -add_filter('es_forms_block_radios_additional_content', function(): string { - return ''; -}) -``` diff --git a/website/forms/php/filters/block/radios/additional-content.mdx b/website/forms/php/filters/block/radios/additional-content.mdx new file mode 100644 index 000000000..d7e360a1c --- /dev/null +++ b/website/forms/php/filters/block/radios/additional-content.mdx @@ -0,0 +1,9 @@ +--- +id: additional-content +title: Additional content +--- + +import { AdditionalContentFilter } from './../../../../../src/docs/filters'; + + + diff --git a/website/forms/php/filters/block/rating/additional-content.mdx b/website/forms/php/filters/block/rating/additional-content.mdx new file mode 100644 index 000000000..3119e228a --- /dev/null +++ b/website/forms/php/filters/block/rating/additional-content.mdx @@ -0,0 +1,8 @@ +--- +id: additional-content +title: Additional content +--- + +import { AdditionalContentFilter } from './../../../../../src/docs/filters'; + + diff --git a/website/forms/php/filters/block/select/additional-content.md b/website/forms/php/filters/block/select/additional-content.md deleted file mode 100644 index 79fde8aed..000000000 --- a/website/forms/php/filters/block/select/additional-content.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: additional-content -title: Additional content ---- - -This filter allows to add custom content before the closing tag of the field element. Can be useful for additional markup, styles, etc. - -```php -add_filter('es_forms_block_select_additional_content', function(): string { - return ''; -}) -``` diff --git a/website/forms/php/filters/block/select/additional-content.mdx b/website/forms/php/filters/block/select/additional-content.mdx new file mode 100644 index 000000000..43ae601a7 --- /dev/null +++ b/website/forms/php/filters/block/select/additional-content.mdx @@ -0,0 +1,9 @@ +--- +id: additional-content +title: Additional content +--- + +import { AdditionalContentFilter } from './../../../../../src/docs/filters'; + + + diff --git a/website/forms/php/filters/block/submit/additional-content.md b/website/forms/php/filters/block/submit/additional-content.md deleted file mode 100644 index 2425a8362..000000000 --- a/website/forms/php/filters/block/submit/additional-content.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: additional-content -title: Additional content ---- - -This filter allows to add custom content before the closing tag of the field element. Can be useful for additional markup, styles, etc. - -```php -add_filter('es_forms_block_submit_additional_content', function(): string { - return ''; -}) -``` diff --git a/website/forms/php/filters/block/submit/additional-content.mdx b/website/forms/php/filters/block/submit/additional-content.mdx new file mode 100644 index 000000000..248614e7f --- /dev/null +++ b/website/forms/php/filters/block/submit/additional-content.mdx @@ -0,0 +1,9 @@ +--- +id: additional-content +title: Additional content +--- + +import { AdditionalContentFilter } from './../../../../../src/docs/filters'; + + + diff --git a/website/forms/php/filters/block/textarea/additional-content.md b/website/forms/php/filters/block/textarea/additional-content.md deleted file mode 100644 index 90c675ed0..000000000 --- a/website/forms/php/filters/block/textarea/additional-content.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: additional-content -title: Additional content ---- - -This filter allows to add custom content before the closing tag of the field element. Can be useful for additional markup, styles, etc. - -```php -add_filter('es_forms_block_textarea_additional_content', function(): string { - return ''; -}) -``` diff --git a/website/forms/php/filters/block/textarea/additional-content.mdx b/website/forms/php/filters/block/textarea/additional-content.mdx new file mode 100644 index 000000000..8a0c4b760 --- /dev/null +++ b/website/forms/php/filters/block/textarea/additional-content.mdx @@ -0,0 +1,9 @@ +--- +id: additional-content +title: Additional content +--- + +import { AdditionalContentFilter } from './../../../../../src/docs/filters'; + + + diff --git a/website/forms/php/filters/blocks/allowed-blocks.md b/website/forms/php/filters/blocks/allowed-blocks.md new file mode 100644 index 000000000..381006dcb --- /dev/null +++ b/website/forms/php/filters/blocks/allowed-blocks.md @@ -0,0 +1,4 @@ +--- +id: allowed-blocks +title: Allowed blocks +--- diff --git a/website/forms/php/filters/entries/pre-post-params.md b/website/forms/php/filters/entries/pre-post-params.md new file mode 100644 index 000000000..2ff5605f2 --- /dev/null +++ b/website/forms/php/filters/entries/pre-post-params.md @@ -0,0 +1,4 @@ +--- +id: pre-post-params +title: Pre-Post Params +--- diff --git a/website/forms/php/filters/general/set-locale.md b/website/forms/php/filters/general/locale.md similarity index 73% rename from website/forms/php/filters/general/set-locale.md rename to website/forms/php/filters/general/locale.md index 15a428ca6..e27870833 100644 --- a/website/forms/php/filters/general/set-locale.md +++ b/website/forms/php/filters/general/locale.md @@ -1,12 +1,12 @@ --- -id: set-locale -title: Set locale +id: locale +title: locale --- This filter can be used to change the value of current locale. By default, WordPress sets the locale in the admin to `en_US`. With this filter it can be changed to any locale (e.g. when using a multilingual plugin). ```php -add_filter('es_forms_general_set_locale', function(string $locale): string { +add_filter('es_forms_general_locale', function(string $locale): string { // Get the custom locale (e.g. from the WPML plugin). return $locale; }) diff --git a/website/forms/php/filters/integrations/active-campaign.mdx b/website/forms/php/filters/integrations/active-campaign.mdx index 0785f4b4f..6f8be236b 100644 --- a/website/forms/php/filters/integrations/active-campaign.mdx +++ b/website/forms/php/filters/integrations/active-campaign.mdx @@ -3,6 +3,6 @@ id: active-campaign title: ActiveCampaign --- -import { IntegrationFilters } from './../../../../src/docs/integration-filters'; +import { IntegrationFilters } from './../../../../src/docs/filters'; diff --git a/website/forms/php/filters/integrations/airtable.mdx b/website/forms/php/filters/integrations/airtable.mdx index 091283b66..ef918e15f 100644 --- a/website/forms/php/filters/integrations/airtable.mdx +++ b/website/forms/php/filters/integrations/airtable.mdx @@ -3,6 +3,6 @@ id: airtable title: Airtable --- -import { IntegrationFilters } from './../../../../src/docs/integration-filters'; +import { IntegrationFilters } from './../../../../src/docs/filters'; diff --git a/website/forms/php/filters/integrations/clearbit.md b/website/forms/php/filters/integrations/clearbit.md index 4faff019a..a2ed973f6 100644 --- a/website/forms/php/filters/integrations/clearbit.md +++ b/website/forms/php/filters/integrations/clearbit.md @@ -3,10 +3,22 @@ id: clearbit title: Clearbit --- -This filter provides you the ability to change how we map Clearbit fields so you can combine multiple fields in one add some new one. +This filter provides you the ability to change how we map Clearbit fields so you can combine multiple fields in one and add some new ones. ```php -add_filter('es_forms_integrations_clearbit_map', function(array $params): array { +add_filter('es_forms_integrations_clearbit_map', 'getClearbitMap'); + +/** + * Change Clearbit integration fields map. + * + * This filter provides you the ability to change how we map Clearbit fields so you can combine multiple fields in one add some new one. + * + * @param array $params Default params provided by the forms. + * + * @return array + */ +function getClearbitMap(array $params): array +{ $street = $params['company-street-number'] ?? ''; $city = $params['company-city'] ?? ''; $postalCode = $params['company-postal-code'] ?? ''; @@ -14,4 +26,5 @@ add_filter('es_forms_integrations_clearbit_map', function(array $params): array $params['company-location-combined'] = "{$street} {$city} {$postalCode}"; return $params; -}); +} +``` diff --git a/website/forms/php/filters/integrations/goodbits.mdx b/website/forms/php/filters/integrations/goodbits.mdx index bcd3b6e03..c9b3b4275 100644 --- a/website/forms/php/filters/integrations/goodbits.mdx +++ b/website/forms/php/filters/integrations/goodbits.mdx @@ -3,6 +3,6 @@ id: goodbits title: Goodbits --- -import { IntegrationFilters } from './../../../../src/docs/integration-filters'; +import { IntegrationFilters } from './../../../../src/docs/filters'; diff --git a/website/forms/php/filters/integrations/greenhouse.mdx b/website/forms/php/filters/integrations/greenhouse.mdx index c30a068eb..56ac5d14a 100644 --- a/website/forms/php/filters/integrations/greenhouse.mdx +++ b/website/forms/php/filters/integrations/greenhouse.mdx @@ -3,6 +3,6 @@ id: greenhouse title: Greenhouse --- -import { IntegrationFilters } from './../../../../src/docs/integration-filters'; +import { IntegrationFilters } from './../../../../src/docs/filters'; diff --git a/website/forms/php/filters/integrations/hubspot.mdx b/website/forms/php/filters/integrations/hubspot.mdx index 53906e4fa..d779ee17f 100644 --- a/website/forms/php/filters/integrations/hubspot.mdx +++ b/website/forms/php/filters/integrations/hubspot.mdx @@ -3,6 +3,31 @@ id: hubspot title: HubSpot --- -import { IntegrationFilters } from './../../../../src/docs/integration-filters'; +import { IntegrationFilters } from './../../../../src/docs/filters'; + +## Files options filter +This filter is used to change default file upload options set by forms and Hubspot. We use this [api](https://legacydocs.hubspot.com/docs/methods/files/v3/upload_new_file), and you can change any of these options. + +```php +add_filter('es_forms_integrations_hubspot_files_options', 'getFileUploadCustomOptions'); + +/** + * Change Hubspot file upload options. + * + * This filter is used to change default file upload options set by forms and Hubspot. We use this [api](https://legacydocs.hubspot.com/docs/methods/files/v3/upload_new_file), and you can change any of these options. + * + * @return array + */ +public function getFileUploadCustomOptions(): array +{ + return [ + 'folderPath' => '/esforms', + 'options' => \wp_json_encode([ + "access" => "PUBLIC_NOT_INDEXABLE", + "overwrite" => false, + ]), + ]; +} +``` diff --git a/website/forms/php/filters/integrations/jira.md b/website/forms/php/filters/integrations/jira.md deleted file mode 100644 index 99ec985ea..000000000 --- a/website/forms/php/filters/integrations/jira.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -id: jira -title: Jira ---- - -*Coming soon...* diff --git a/website/forms/php/filters/integrations/jira.mdx b/website/forms/php/filters/integrations/jira.mdx new file mode 100644 index 000000000..6e0ab4ff5 --- /dev/null +++ b/website/forms/php/filters/integrations/jira.mdx @@ -0,0 +1,8 @@ +--- +id: jira +title: Jira +--- + +import { IntegrationFilters } from './../../../../src/docs/filters'; + + diff --git a/website/forms/php/filters/integrations/mailchimp.mdx b/website/forms/php/filters/integrations/mailchimp.mdx index 756a12898..a8956ce57 100644 --- a/website/forms/php/filters/integrations/mailchimp.mdx +++ b/website/forms/php/filters/integrations/mailchimp.mdx @@ -3,6 +3,6 @@ id: mailchimp title: Mailchimp --- -import { IntegrationFilters } from './../../../../src/docs/integration-filters'; +import { IntegrationFilters } from './../../../../src/docs/filters'; diff --git a/website/forms/php/filters/integrations/mailerlite.mdx b/website/forms/php/filters/integrations/mailerlite.mdx index 92d1a1e97..bfde4959d 100644 --- a/website/forms/php/filters/integrations/mailerlite.mdx +++ b/website/forms/php/filters/integrations/mailerlite.mdx @@ -3,6 +3,6 @@ id: mailerlite title: MailerLite --- -import { IntegrationFilters } from './../../../../src/docs/integration-filters'; +import { IntegrationFilters } from './../../../../src/docs/filters'; diff --git a/website/forms/php/filters/integrations/moments.mdx b/website/forms/php/filters/integrations/moments.mdx index b01568e98..416316d88 100644 --- a/website/forms/php/filters/integrations/moments.mdx +++ b/website/forms/php/filters/integrations/moments.mdx @@ -3,6 +3,6 @@ id: moments title: Moments --- -import { IntegrationFilters } from './../../../../src/docs/integration-filters'; +import { IntegrationFilters } from './../../../../src/docs/filters'; diff --git a/website/forms/php/filters/integrations/pipedrive.md b/website/forms/php/filters/integrations/pipedrive.md deleted file mode 100644 index 313f21e47..000000000 --- a/website/forms/php/filters/integrations/pipedrive.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -id: pipedrive -title: Pipedrive ---- - -*Coming soon...* diff --git a/website/forms/php/filters/integrations/pipedrive.mdx b/website/forms/php/filters/integrations/pipedrive.mdx new file mode 100644 index 000000000..4fe336783 --- /dev/null +++ b/website/forms/php/filters/integrations/pipedrive.mdx @@ -0,0 +1,8 @@ +--- +id: pipedrive +title: Pipedrive +--- + +import { IntegrationFilters } from './../../../../src/docs/filters'; + + diff --git a/website/forms/php/filters/integrations/workable.mdx b/website/forms/php/filters/integrations/workable.mdx index 4e7e81fe2..136db22b2 100644 --- a/website/forms/php/filters/integrations/workable.mdx +++ b/website/forms/php/filters/integrations/workable.mdx @@ -3,6 +3,6 @@ id: workable title: Workable --- -import { IntegrationFilters } from './../../../../src/docs/integration-filters'; +import { IntegrationFilters } from './../../../../src/docs/filters'; diff --git a/website/forms/php/filters/scripts/dependency-admin.md b/website/forms/php/filters/scripts/dependency-admin.md new file mode 100644 index 000000000..a2b40c536 --- /dev/null +++ b/website/forms/php/filters/scripts/dependency-admin.md @@ -0,0 +1,4 @@ +--- +id: dependency-admin +title: Dependency admin +--- diff --git a/website/forms/php/filters/scripts/dependency-blocks-editor.md b/website/forms/php/filters/scripts/dependency-blocks-editor.md new file mode 100644 index 000000000..118b6ef0d --- /dev/null +++ b/website/forms/php/filters/scripts/dependency-blocks-editor.md @@ -0,0 +1,4 @@ +--- +id: dependency-blocks-editor +title: Dependency blocks editor +--- diff --git a/website/forms/php/filters/scripts/dependency-blocks-frontend.md b/website/forms/php/filters/scripts/dependency-blocks-frontend.md new file mode 100644 index 000000000..855403dbb --- /dev/null +++ b/website/forms/php/filters/scripts/dependency-blocks-frontend.md @@ -0,0 +1,4 @@ +--- +id: dependency-blocks-frontend +title: Dependency blocks frontend +--- diff --git a/website/forms/php/filters/scripts/dependency-theme.md b/website/forms/php/filters/scripts/dependency-theme.md new file mode 100644 index 000000000..f1125bb14 --- /dev/null +++ b/website/forms/php/filters/scripts/dependency-theme.md @@ -0,0 +1,4 @@ +--- +id: dependency-theme +title: Dependency theme +--- diff --git a/website/forms/php/filters/scripts/routes-private.md b/website/forms/php/filters/scripts/routes-private.md new file mode 100644 index 000000000..f436de6dc --- /dev/null +++ b/website/forms/php/filters/scripts/routes-private.md @@ -0,0 +1,4 @@ +--- +id: routes-private +title: Routes private +--- diff --git a/website/forms/php/filters/scripts/routes-public.md b/website/forms/php/filters/scripts/routes-public.md new file mode 100644 index 000000000..c2aae53d0 --- /dev/null +++ b/website/forms/php/filters/scripts/routes-public.md @@ -0,0 +1,4 @@ +--- +id: routes-public +title: Routes public +--- diff --git a/website/forms/php/filters/validation/fail-mimetype-validation-when-file-not-on-fs.md b/website/forms/php/filters/validation/fail-mimetype-validation-when-file-not-on-fs.md deleted file mode 100644 index 8b5deb59e..000000000 --- a/website/forms/php/filters/validation/fail-mimetype-validation-when-file-not-on-fs.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: fail-mimetype-validation-when-file-not-on-fs -title: Fail mimetype validation ---- - -By default, MIME types are validated by the filesystem. However, if the file is not present on the filesystem for any reason, this will fall back to the POST-provided MIME types. - -Using this filter, you can force Forms to fail every file upload where it can't validate the MIME type from the filesystem. - -```php -add_filter('es_forms_validation_force_mimetype_from_fs', function(): bool { - return true; -}) - - diff --git a/website/forms/php/filters/validation/force-mimetype-from-fs.md b/website/forms/php/filters/validation/force-mimetype-from-fs.md new file mode 100644 index 000000000..8ed6124d5 --- /dev/null +++ b/website/forms/php/filters/validation/force-mimetype-from-fs.md @@ -0,0 +1,26 @@ +--- +id: force-mimetype-from-fs +title: Force mimetype from FS +--- + +Force mimetype validation from filesystem values. + +By default, mime-types are validated from the filesystem mimetype. + +However, in case the file is not present on the filesystem for any reason, this will fall back to the POST-provided mimetype. + +Using this filter, you can force Eightshift Forms to fail every file upload where it can't validate the mimetype from the filesystem. + +```php +add_filter('es_forms_validation_force_mimetype_from_fs', 'forceMimetypeFs'); + +/** + * Force mimetype validation from filesystem values. + * + * @return bool + */ +public function forceMimetypeFs(): bool +{ + return true; +} +```` diff --git a/website/forms/php/global-variables/integrations/pipedrive.md b/website/forms/php/global-variables/integrations/pipedrive.md index 313f21e47..decbd3bfe 100644 --- a/website/forms/php/global-variables/integrations/pipedrive.md +++ b/website/forms/php/global-variables/integrations/pipedrive.md @@ -3,4 +3,10 @@ id: pipedrive title: Pipedrive --- -*Coming soon...* +### ES_API_KEY_PIPEDRIVE + +This variable will set the Pipedrive integration API key. + +```php +define('ES_API_KEY_PIPEDRIVE', ''); +``` diff --git a/website/package-lock.json b/website/package-lock.json index 0f39bb785..536d000ba 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -8,8 +8,8 @@ "name": "@eightshift/docs", "version": "8.0.0", "dependencies": { - "@docusaurus/core": "^3.0.1", - "@docusaurus/preset-classic": "^3.0.1", + "@docusaurus/core": "^3.1.0", + "@docusaurus/preset-classic": "^3.1.0", "@infinum/docusaurus-theme": "^0.4.0", "@mdx-js/react": "^3.0.0", "clsx": "^1.2.1", @@ -60,74 +60,74 @@ } }, "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz", - "integrity": "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.22.1.tgz", + "integrity": "sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==", "dependencies": { - "@algolia/cache-common": "4.20.0" + "@algolia/cache-common": "4.22.1" } }, "node_modules/@algolia/cache-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz", - "integrity": "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==" + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.22.1.tgz", + "integrity": "sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==" }, "node_modules/@algolia/cache-in-memory": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz", - "integrity": "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.22.1.tgz", + "integrity": "sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==", "dependencies": { - "@algolia/cache-common": "4.20.0" + "@algolia/cache-common": "4.22.1" } }, "node_modules/@algolia/client-account": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz", - "integrity": "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.22.1.tgz", + "integrity": "sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==", "dependencies": { - "@algolia/client-common": "4.20.0", - "@algolia/client-search": "4.20.0", - "@algolia/transporter": "4.20.0" + "@algolia/client-common": "4.22.1", + "@algolia/client-search": "4.22.1", + "@algolia/transporter": "4.22.1" } }, "node_modules/@algolia/client-analytics": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz", - "integrity": "sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.22.1.tgz", + "integrity": "sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==", "dependencies": { - "@algolia/client-common": "4.20.0", - "@algolia/client-search": "4.20.0", - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" + "@algolia/client-common": "4.22.1", + "@algolia/client-search": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" } }, "node_modules/@algolia/client-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz", - "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.22.1.tgz", + "integrity": "sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==", "dependencies": { - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" } }, "node_modules/@algolia/client-personalization": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz", - "integrity": "sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.22.1.tgz", + "integrity": "sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==", "dependencies": { - "@algolia/client-common": "4.20.0", - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" + "@algolia/client-common": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" } }, "node_modules/@algolia/client-search": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz", - "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.22.1.tgz", + "integrity": "sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==", "dependencies": { - "@algolia/client-common": "4.20.0", - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" + "@algolia/client-common": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" } }, "node_modules/@algolia/events": { @@ -136,47 +136,47 @@ "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" }, "node_modules/@algolia/logger-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz", - "integrity": "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==" + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.22.1.tgz", + "integrity": "sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==" }, "node_modules/@algolia/logger-console": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz", - "integrity": "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.22.1.tgz", + "integrity": "sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==", "dependencies": { - "@algolia/logger-common": "4.20.0" + "@algolia/logger-common": "4.22.1" } }, "node_modules/@algolia/requester-browser-xhr": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz", - "integrity": "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.22.1.tgz", + "integrity": "sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==", "dependencies": { - "@algolia/requester-common": "4.20.0" + "@algolia/requester-common": "4.22.1" } }, "node_modules/@algolia/requester-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz", - "integrity": "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==" + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.22.1.tgz", + "integrity": "sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==" }, "node_modules/@algolia/requester-node-http": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz", - "integrity": "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.22.1.tgz", + "integrity": "sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==", "dependencies": { - "@algolia/requester-common": "4.20.0" + "@algolia/requester-common": "4.22.1" } }, "node_modules/@algolia/transporter": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz", - "integrity": "sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.22.1.tgz", + "integrity": "sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==", "dependencies": { - "@algolia/cache-common": "4.20.0", - "@algolia/logger-common": "4.20.0", - "@algolia/requester-common": "4.20.0" + "@algolia/cache-common": "4.22.1", + "@algolia/logger-common": "4.22.1", + "@algolia/requester-common": "4.22.1" } }, "node_modules/@alloc/quick-lru": { @@ -2153,9 +2153,9 @@ } }, "node_modules/@docusaurus/core": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.0.1.tgz", - "integrity": "sha512-CXrLpOnW+dJdSv8M5FAJ3JBwXtL6mhUWxFA8aS0ozK6jBG/wgxERk5uvH28fCeFxOGbAT9v1e9dOMo1X2IEVhQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.1.0.tgz", + "integrity": "sha512-GWudMGYA9v26ssbAWJNfgeDZk+lrudUTclLPRsmxiknEBk7UMp7Rglonhqbsf3IKHOyHkMU4Fr5jFyg5SBx9jQ==", "dependencies": { "@babel/core": "^7.23.3", "@babel/generator": "^7.23.3", @@ -2167,13 +2167,13 @@ "@babel/runtime": "^7.22.6", "@babel/runtime-corejs3": "^7.22.6", "@babel/traverse": "^7.22.8", - "@docusaurus/cssnano-preset": "3.0.1", - "@docusaurus/logger": "3.0.1", - "@docusaurus/mdx-loader": "3.0.1", + "@docusaurus/cssnano-preset": "3.1.0", + "@docusaurus/logger": "3.1.0", + "@docusaurus/mdx-loader": "3.1.0", "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/utils": "3.0.1", - "@docusaurus/utils-common": "3.0.1", - "@docusaurus/utils-validation": "3.0.1", + "@docusaurus/utils": "3.1.0", + "@docusaurus/utils-common": "3.1.0", + "@docusaurus/utils-validation": "3.1.0", "@slorber/static-site-generator-webpack-plugin": "^4.0.7", "@svgr/webpack": "^6.5.1", "autoprefixer": "^10.4.14", @@ -2239,9 +2239,9 @@ } }, "node_modules/@docusaurus/cssnano-preset": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.0.1.tgz", - "integrity": "sha512-wjuXzkHMW+ig4BD6Ya1Yevx9UJadO4smNZCEljqBoQfIQrQskTswBs7lZ8InHP7mCt273a/y/rm36EZhqJhknQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.1.0.tgz", + "integrity": "sha512-ned7qsgCqSv/e7KyugFNroAfiszuxLwnvMW7gmT2Ywxb/Nyt61yIw7KHyAZCMKglOalrqnYA4gMhLUCK/mVePA==", "dependencies": { "cssnano-preset-advanced": "^5.3.10", "postcss": "^8.4.26", @@ -2253,9 +2253,9 @@ } }, "node_modules/@docusaurus/logger": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.0.1.tgz", - "integrity": "sha512-I5L6Nk8OJzkVA91O2uftmo71LBSxe1vmOn9AMR6JRCzYeEBrqneWMH02AqMvjJ2NpMiviO+t0CyPjyYV7nxCWQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.1.0.tgz", + "integrity": "sha512-p740M+HCst1VnKKzL60Hru9xfG4EUYJDarjlEC4hHeBy9+afPmY3BNPoSHx9/8zxuYfUlv/psf7I9NvRVdmdvg==", "dependencies": { "chalk": "^4.1.2", "tslib": "^2.6.0" @@ -2265,15 +2265,15 @@ } }, "node_modules/@docusaurus/mdx-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.0.1.tgz", - "integrity": "sha512-ldnTmvnvlrONUq45oKESrpy+lXtbnTcTsFkOTIDswe5xx5iWJjt6eSa0f99ZaWlnm24mlojcIGoUWNCS53qVlQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.1.0.tgz", + "integrity": "sha512-D7onDz/3mgBonexWoQXPw3V2E5Bc4+jYRf9gGUUK+KoQwU8xMDaDkUUfsr7t6UBa/xox9p5+/3zwLuXOYMzGSg==", "dependencies": { "@babel/parser": "^7.22.7", "@babel/traverse": "^7.22.8", - "@docusaurus/logger": "3.0.1", - "@docusaurus/utils": "3.0.1", - "@docusaurus/utils-validation": "3.0.1", + "@docusaurus/logger": "3.1.0", + "@docusaurus/utils": "3.1.0", + "@docusaurus/utils-validation": "3.1.0", "@mdx-js/mdx": "^3.0.0", "@slorber/remark-comment": "^1.0.0", "escape-html": "^1.0.3", @@ -2305,12 +2305,12 @@ } }, "node_modules/@docusaurus/module-type-aliases": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.0.1.tgz", - "integrity": "sha512-DEHpeqUDsLynl3AhQQiO7AbC7/z/lBra34jTcdYuvp9eGm01pfH1wTVq8YqWZq6Jyx0BgcVl/VJqtE9StRd9Ag==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.1.0.tgz", + "integrity": "sha512-XUl7Z4PWlKg4l6KF05JQ3iDHQxnPxbQUqTNKvviHyuHdlalOFv6qeDAm7IbzyQPJD5VA6y4dpRbTWSqP9ClwPg==", "dependencies": { "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/types": "3.0.1", + "@docusaurus/types": "3.1.0", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2324,17 +2324,17 @@ } }, "node_modules/@docusaurus/plugin-content-blog": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.0.1.tgz", - "integrity": "sha512-cLOvtvAyaMQFLI8vm4j26svg3ktxMPSXpuUJ7EERKoGbfpJSsgtowNHcRsaBVmfuCsRSk1HZ/yHBsUkTmHFEsg==", - "dependencies": { - "@docusaurus/core": "3.0.1", - "@docusaurus/logger": "3.0.1", - "@docusaurus/mdx-loader": "3.0.1", - "@docusaurus/types": "3.0.1", - "@docusaurus/utils": "3.0.1", - "@docusaurus/utils-common": "3.0.1", - "@docusaurus/utils-validation": "3.0.1", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.1.0.tgz", + "integrity": "sha512-iMa6WBaaEdYuxckvJtLcq/HQdlA4oEbCXf/OFfsYJCCULcDX7GDZpKxLF3X1fLsax3sSm5bmsU+CA0WD+R1g3A==", + "dependencies": { + "@docusaurus/core": "3.1.0", + "@docusaurus/logger": "3.1.0", + "@docusaurus/mdx-loader": "3.1.0", + "@docusaurus/types": "3.1.0", + "@docusaurus/utils": "3.1.0", + "@docusaurus/utils-common": "3.1.0", + "@docusaurus/utils-validation": "3.1.0", "cheerio": "^1.0.0-rc.12", "feed": "^4.2.2", "fs-extra": "^11.1.1", @@ -2355,17 +2355,17 @@ } }, "node_modules/@docusaurus/plugin-content-docs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.0.1.tgz", - "integrity": "sha512-dRfAOA5Ivo+sdzzJGXEu33yAtvGg8dlZkvt/NEJ7nwi1F2j4LEdsxtfX2GKeETB2fP6XoGNSQnFXqa2NYGrHFg==", - "dependencies": { - "@docusaurus/core": "3.0.1", - "@docusaurus/logger": "3.0.1", - "@docusaurus/mdx-loader": "3.0.1", - "@docusaurus/module-type-aliases": "3.0.1", - "@docusaurus/types": "3.0.1", - "@docusaurus/utils": "3.0.1", - "@docusaurus/utils-validation": "3.0.1", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.1.0.tgz", + "integrity": "sha512-el5GxhT8BLrsWD0qGa8Rq+Ttb/Ni6V3DGT2oAPio0qcs/mUAxeyXEAmihkvmLCnAgp6xD27Ce7dISZ5c6BXeqA==", + "dependencies": { + "@docusaurus/core": "3.1.0", + "@docusaurus/logger": "3.1.0", + "@docusaurus/mdx-loader": "3.1.0", + "@docusaurus/module-type-aliases": "3.1.0", + "@docusaurus/types": "3.1.0", + "@docusaurus/utils": "3.1.0", + "@docusaurus/utils-validation": "3.1.0", "@types/react-router-config": "^5.0.7", "combine-promises": "^1.1.0", "fs-extra": "^11.1.1", @@ -2384,15 +2384,15 @@ } }, "node_modules/@docusaurus/plugin-content-pages": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.0.1.tgz", - "integrity": "sha512-oP7PoYizKAXyEttcvVzfX3OoBIXEmXTMzCdfmC4oSwjG4SPcJsRge3mmI6O8jcZBgUPjIzXD21bVGWEE1iu8gg==", - "dependencies": { - "@docusaurus/core": "3.0.1", - "@docusaurus/mdx-loader": "3.0.1", - "@docusaurus/types": "3.0.1", - "@docusaurus/utils": "3.0.1", - "@docusaurus/utils-validation": "3.0.1", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.1.0.tgz", + "integrity": "sha512-9gntYQFpk+93+Xl7gYczJu8I9uWoyRLnRwS0+NUFcs9iZtHKsdqKWPRrONC9elfN3wJ9ORwTbcVzsTiB8jvYlg==", + "dependencies": { + "@docusaurus/core": "3.1.0", + "@docusaurus/mdx-loader": "3.1.0", + "@docusaurus/types": "3.1.0", + "@docusaurus/utils": "3.1.0", + "@docusaurus/utils-validation": "3.1.0", "fs-extra": "^11.1.1", "tslib": "^2.6.0", "webpack": "^5.88.1" @@ -2406,13 +2406,13 @@ } }, "node_modules/@docusaurus/plugin-debug": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.0.1.tgz", - "integrity": "sha512-09dxZMdATky4qdsZGzhzlUvvC+ilQ2hKbYF+wez+cM2mGo4qHbv8+qKXqxq0CQZyimwlAOWQLoSozIXU0g0i7g==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.1.0.tgz", + "integrity": "sha512-AbvJwCVRbmQ8w9d8QXbF4Iq/ui0bjPZNYFIhtducGFnm2YQRN1mraK8mCEQb0Aq0T8SqRRvSfC/far4n/s531w==", "dependencies": { - "@docusaurus/core": "3.0.1", - "@docusaurus/types": "3.0.1", - "@docusaurus/utils": "3.0.1", + "@docusaurus/core": "3.1.0", + "@docusaurus/types": "3.1.0", + "@docusaurus/utils": "3.1.0", "fs-extra": "^11.1.1", "react-json-view-lite": "^1.2.0", "tslib": "^2.6.0" @@ -2426,13 +2426,13 @@ } }, "node_modules/@docusaurus/plugin-google-analytics": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.0.1.tgz", - "integrity": "sha512-jwseSz1E+g9rXQwDdr0ZdYNjn8leZBnKPjjQhMBEiwDoenL3JYFcNW0+p0sWoVF/f2z5t7HkKA+cYObrUh18gg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.1.0.tgz", + "integrity": "sha512-zvUOMzu9Uhz0ciqnSbtnp/5i1zEYlzarQrOXG90P3Is3efQI43p2YLW/rzSGdLb5MfQo2HvKT6Q5+tioMO045Q==", "dependencies": { - "@docusaurus/core": "3.0.1", - "@docusaurus/types": "3.0.1", - "@docusaurus/utils-validation": "3.0.1", + "@docusaurus/core": "3.1.0", + "@docusaurus/types": "3.1.0", + "@docusaurus/utils-validation": "3.1.0", "tslib": "^2.6.0" }, "engines": { @@ -2444,13 +2444,13 @@ } }, "node_modules/@docusaurus/plugin-google-gtag": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.0.1.tgz", - "integrity": "sha512-UFTDvXniAWrajsulKUJ1DB6qplui1BlKLQZjX4F7qS/qfJ+qkKqSkhJ/F4VuGQ2JYeZstYb+KaUzUzvaPK1aRQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.1.0.tgz", + "integrity": "sha512-0txshvaY8qIBdkk2UATdVcfiCLGq3KAUfuRQD2cRNgO39iIf4/ihQxH9NXcRTwKs4Q5d9yYHoix3xT6pFuEYOg==", "dependencies": { - "@docusaurus/core": "3.0.1", - "@docusaurus/types": "3.0.1", - "@docusaurus/utils-validation": "3.0.1", + "@docusaurus/core": "3.1.0", + "@docusaurus/types": "3.1.0", + "@docusaurus/utils-validation": "3.1.0", "@types/gtag.js": "^0.0.12", "tslib": "^2.6.0" }, @@ -2463,13 +2463,13 @@ } }, "node_modules/@docusaurus/plugin-google-tag-manager": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.0.1.tgz", - "integrity": "sha512-IPFvuz83aFuheZcWpTlAdiiX1RqWIHM+OH8wS66JgwAKOiQMR3+nLywGjkLV4bp52x7nCnwhNk1rE85Cpy/CIw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.1.0.tgz", + "integrity": "sha512-zOWPEi8kMyyPtwG0vhyXrdbLs8fIZmY5vlbi9lUU+v8VsroO5iHmfR2V3SMsrsfOanw5oV/ciWqbxezY00qEZg==", "dependencies": { - "@docusaurus/core": "3.0.1", - "@docusaurus/types": "3.0.1", - "@docusaurus/utils-validation": "3.0.1", + "@docusaurus/core": "3.1.0", + "@docusaurus/types": "3.1.0", + "@docusaurus/utils-validation": "3.1.0", "tslib": "^2.6.0" }, "engines": { @@ -2481,16 +2481,16 @@ } }, "node_modules/@docusaurus/plugin-sitemap": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.0.1.tgz", - "integrity": "sha512-xARiWnjtVvoEniZudlCq5T9ifnhCu/GAZ5nA7XgyLfPcNpHQa241HZdsTlLtVcecEVVdllevBKOp7qknBBaMGw==", - "dependencies": { - "@docusaurus/core": "3.0.1", - "@docusaurus/logger": "3.0.1", - "@docusaurus/types": "3.0.1", - "@docusaurus/utils": "3.0.1", - "@docusaurus/utils-common": "3.0.1", - "@docusaurus/utils-validation": "3.0.1", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.1.0.tgz", + "integrity": "sha512-TkR5vGBpUooEB9SoW42thahqqwKzfHrQQhkB+JrEGERsl4bKODSuJNle4aA4h6LSkg4IyfXOW8XOI0NIPWb9Cg==", + "dependencies": { + "@docusaurus/core": "3.1.0", + "@docusaurus/logger": "3.1.0", + "@docusaurus/types": "3.1.0", + "@docusaurus/utils": "3.1.0", + "@docusaurus/utils-common": "3.1.0", + "@docusaurus/utils-validation": "3.1.0", "fs-extra": "^11.1.1", "sitemap": "^7.1.1", "tslib": "^2.6.0" @@ -2504,23 +2504,23 @@ } }, "node_modules/@docusaurus/preset-classic": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.0.1.tgz", - "integrity": "sha512-il9m9xZKKjoXn6h0cRcdnt6wce0Pv1y5t4xk2Wx7zBGhKG1idu4IFHtikHlD0QPuZ9fizpXspXcTzjL5FXc1Gw==", - "dependencies": { - "@docusaurus/core": "3.0.1", - "@docusaurus/plugin-content-blog": "3.0.1", - "@docusaurus/plugin-content-docs": "3.0.1", - "@docusaurus/plugin-content-pages": "3.0.1", - "@docusaurus/plugin-debug": "3.0.1", - "@docusaurus/plugin-google-analytics": "3.0.1", - "@docusaurus/plugin-google-gtag": "3.0.1", - "@docusaurus/plugin-google-tag-manager": "3.0.1", - "@docusaurus/plugin-sitemap": "3.0.1", - "@docusaurus/theme-classic": "3.0.1", - "@docusaurus/theme-common": "3.0.1", - "@docusaurus/theme-search-algolia": "3.0.1", - "@docusaurus/types": "3.0.1" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.1.0.tgz", + "integrity": "sha512-xGLQRFmmT9IinAGUDVRYZ54Ys28USNbA3OTXQXnSJLPr1rCY7CYnHI4XoOnKWrNnDiAI4ruMzunXWyaElUYCKQ==", + "dependencies": { + "@docusaurus/core": "3.1.0", + "@docusaurus/plugin-content-blog": "3.1.0", + "@docusaurus/plugin-content-docs": "3.1.0", + "@docusaurus/plugin-content-pages": "3.1.0", + "@docusaurus/plugin-debug": "3.1.0", + "@docusaurus/plugin-google-analytics": "3.1.0", + "@docusaurus/plugin-google-gtag": "3.1.0", + "@docusaurus/plugin-google-tag-manager": "3.1.0", + "@docusaurus/plugin-sitemap": "3.1.0", + "@docusaurus/theme-classic": "3.1.0", + "@docusaurus/theme-common": "3.1.0", + "@docusaurus/theme-search-algolia": "3.1.0", + "@docusaurus/types": "3.1.0" }, "engines": { "node": ">=18.0" @@ -2543,22 +2543,22 @@ } }, "node_modules/@docusaurus/theme-classic": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.0.1.tgz", - "integrity": "sha512-XD1FRXaJiDlmYaiHHdm27PNhhPboUah9rqIH0lMpBt5kYtsGjJzhqa27KuZvHLzOP2OEpqd2+GZ5b6YPq7Q05Q==", - "dependencies": { - "@docusaurus/core": "3.0.1", - "@docusaurus/mdx-loader": "3.0.1", - "@docusaurus/module-type-aliases": "3.0.1", - "@docusaurus/plugin-content-blog": "3.0.1", - "@docusaurus/plugin-content-docs": "3.0.1", - "@docusaurus/plugin-content-pages": "3.0.1", - "@docusaurus/theme-common": "3.0.1", - "@docusaurus/theme-translations": "3.0.1", - "@docusaurus/types": "3.0.1", - "@docusaurus/utils": "3.0.1", - "@docusaurus/utils-common": "3.0.1", - "@docusaurus/utils-validation": "3.0.1", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.1.0.tgz", + "integrity": "sha512-/+jMl2Z9O8QQxves5AtHdt91gWsEZFgOV3La/6eyKEd7QLqQUtM5fxEJ40rq9NKYjqCd1HzZ9egIMeJoWwillw==", + "dependencies": { + "@docusaurus/core": "3.1.0", + "@docusaurus/mdx-loader": "3.1.0", + "@docusaurus/module-type-aliases": "3.1.0", + "@docusaurus/plugin-content-blog": "3.1.0", + "@docusaurus/plugin-content-docs": "3.1.0", + "@docusaurus/plugin-content-pages": "3.1.0", + "@docusaurus/theme-common": "3.1.0", + "@docusaurus/theme-translations": "3.1.0", + "@docusaurus/types": "3.1.0", + "@docusaurus/utils": "3.1.0", + "@docusaurus/utils-common": "3.1.0", + "@docusaurus/utils-validation": "3.1.0", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", "copy-text-to-clipboard": "^3.2.0", @@ -2582,25 +2582,25 @@ } }, "node_modules/@docusaurus/theme-classic/node_modules/clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", "engines": { "node": ">=6" } }, "node_modules/@docusaurus/theme-common": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.0.1.tgz", - "integrity": "sha512-cr9TOWXuIOL0PUfuXv6L5lPlTgaphKP+22NdVBOYah5jSq5XAAulJTjfe+IfLsEG4L7lJttLbhW7LXDFSAI7Ag==", - "dependencies": { - "@docusaurus/mdx-loader": "3.0.1", - "@docusaurus/module-type-aliases": "3.0.1", - "@docusaurus/plugin-content-blog": "3.0.1", - "@docusaurus/plugin-content-docs": "3.0.1", - "@docusaurus/plugin-content-pages": "3.0.1", - "@docusaurus/utils": "3.0.1", - "@docusaurus/utils-common": "3.0.1", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.1.0.tgz", + "integrity": "sha512-YGwEFALLIbF5ocW/Fy6Ae7tFWUOugEN3iwxTx8UkLAcLqYUboDSadesYtVBmRCEB4FVA2qoP7YaW3lu3apUPPw==", + "dependencies": { + "@docusaurus/mdx-loader": "3.1.0", + "@docusaurus/module-type-aliases": "3.1.0", + "@docusaurus/plugin-content-blog": "3.1.0", + "@docusaurus/plugin-content-docs": "3.1.0", + "@docusaurus/plugin-content-pages": "3.1.0", + "@docusaurus/utils": "3.1.0", + "@docusaurus/utils-common": "3.1.0", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2619,26 +2619,26 @@ } }, "node_modules/@docusaurus/theme-common/node_modules/clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", "engines": { "node": ">=6" } }, "node_modules/@docusaurus/theme-search-algolia": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.0.1.tgz", - "integrity": "sha512-DDiPc0/xmKSEdwFkXNf1/vH1SzJPzuJBar8kMcBbDAZk/SAmo/4lf6GU2drou4Ae60lN2waix+jYWTWcJRahSA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.1.0.tgz", + "integrity": "sha512-8cJH0ZhPsEDjq3jR3I+wHmWzVY2bXMQJ59v2QxUmsTZxbWA4u+IzccJMIJx4ooFl9J6iYynwYsFuHxyx/KUmfQ==", "dependencies": { "@docsearch/react": "^3.5.2", - "@docusaurus/core": "3.0.1", - "@docusaurus/logger": "3.0.1", - "@docusaurus/plugin-content-docs": "3.0.1", - "@docusaurus/theme-common": "3.0.1", - "@docusaurus/theme-translations": "3.0.1", - "@docusaurus/utils": "3.0.1", - "@docusaurus/utils-validation": "3.0.1", + "@docusaurus/core": "3.1.0", + "@docusaurus/logger": "3.1.0", + "@docusaurus/plugin-content-docs": "3.1.0", + "@docusaurus/theme-common": "3.1.0", + "@docusaurus/theme-translations": "3.1.0", + "@docusaurus/utils": "3.1.0", + "@docusaurus/utils-validation": "3.1.0", "algoliasearch": "^4.18.0", "algoliasearch-helper": "^3.13.3", "clsx": "^2.0.0", @@ -2657,17 +2657,17 @@ } }, "node_modules/@docusaurus/theme-search-algolia/node_modules/clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", "engines": { "node": ">=6" } }, "node_modules/@docusaurus/theme-translations": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.0.1.tgz", - "integrity": "sha512-6UrbpzCTN6NIJnAtZ6Ne9492vmPVX+7Fsz4kmp+yor3KQwA1+MCzQP7ItDNkP38UmVLnvB/cYk/IvehCUqS3dg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.1.0.tgz", + "integrity": "sha512-DApE4AbDI+WBajihxB54L4scWQhVGNZAochlC9fkbciPuFAgdRBD3NREb0rgfbKexDC/rioppu/WJA0u8tS+yA==", "dependencies": { "fs-extra": "^11.1.1", "tslib": "^2.6.0" @@ -2677,10 +2677,11 @@ } }, "node_modules/@docusaurus/types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.0.1.tgz", - "integrity": "sha512-plyX2iU1tcUsF46uQ01pAd4JhexR7n0iiQ5MSnBFX6M6NSJgDYdru/i1/YNPKOnQHBoXGLHv0dNT6OAlDWNjrg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.1.0.tgz", + "integrity": "sha512-VaczOZf7+re8aFBIWnex1XENomwHdsSTkrdX43zyor7G/FY4OIsP6X28Xc3o0jiY0YdNuvIDyA5TNwOtpgkCVw==", "dependencies": { + "@mdx-js/mdx": "^3.0.0", "@types/history": "^4.7.11", "@types/react": "*", "commander": "^5.1.0", @@ -2696,11 +2697,11 @@ } }, "node_modules/@docusaurus/utils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.0.1.tgz", - "integrity": "sha512-TwZ33Am0q4IIbvjhUOs+zpjtD/mXNmLmEgeTGuRq01QzulLHuPhaBTTAC/DHu6kFx3wDgmgpAlaRuCHfTcXv8g==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.1.0.tgz", + "integrity": "sha512-LgZfp0D+UBqAh7PZ//MUNSFBMavmAPku6Si9x8x3V+S318IGCNJ6hUr2O29UO0oLybEWUjD5Jnj9IUN6XyZeeg==", "dependencies": { - "@docusaurus/logger": "3.0.1", + "@docusaurus/logger": "3.1.0", "@svgr/webpack": "^6.5.1", "escape-string-regexp": "^4.0.0", "file-loader": "^6.2.0", @@ -2731,9 +2732,9 @@ } }, "node_modules/@docusaurus/utils-common": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.0.1.tgz", - "integrity": "sha512-W0AxD6w6T8g6bNro8nBRWf7PeZ/nn7geEWM335qHU2DDDjHuV4UZjgUGP1AQsdcSikPrlIqTJJbKzer1lRSlIg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.1.0.tgz", + "integrity": "sha512-SfvnRLHoZ9bwTw67knkSs7IcUR0GY2SaGkpdB/J9pChrDiGhwzKNUhcieoPyPYrOWGRPk3rVNYtoy+Bc7psPAw==", "dependencies": { "tslib": "^2.6.0" }, @@ -2750,12 +2751,12 @@ } }, "node_modules/@docusaurus/utils-validation": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.0.1.tgz", - "integrity": "sha512-ujTnqSfyGQ7/4iZdB4RRuHKY/Nwm58IIb+41s5tCXOv/MBU2wGAjOHq3U+AEyJ8aKQcHbxvTKJaRchNHYUVUQg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.1.0.tgz", + "integrity": "sha512-dFxhs1NLxPOSzmcTk/eeKxLY5R+U4cua22g9MsAMiRWcwFKStZ2W3/GDY0GmnJGqNS8QAQepJrxQoyxXkJNDeg==", "dependencies": { - "@docusaurus/logger": "3.0.1", - "@docusaurus/utils": "3.0.1", + "@docusaurus/logger": "3.1.0", + "@docusaurus/utils": "3.1.0", "joi": "^17.9.2", "js-yaml": "^4.1.0", "tslib": "^2.6.0" @@ -3945,30 +3946,30 @@ } }, "node_modules/algoliasearch": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz", - "integrity": "sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.20.0", - "@algolia/cache-common": "4.20.0", - "@algolia/cache-in-memory": "4.20.0", - "@algolia/client-account": "4.20.0", - "@algolia/client-analytics": "4.20.0", - "@algolia/client-common": "4.20.0", - "@algolia/client-personalization": "4.20.0", - "@algolia/client-search": "4.20.0", - "@algolia/logger-common": "4.20.0", - "@algolia/logger-console": "4.20.0", - "@algolia/requester-browser-xhr": "4.20.0", - "@algolia/requester-common": "4.20.0", - "@algolia/requester-node-http": "4.20.0", - "@algolia/transporter": "4.20.0" + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.22.1.tgz", + "integrity": "sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.22.1", + "@algolia/cache-common": "4.22.1", + "@algolia/cache-in-memory": "4.22.1", + "@algolia/client-account": "4.22.1", + "@algolia/client-analytics": "4.22.1", + "@algolia/client-common": "4.22.1", + "@algolia/client-personalization": "4.22.1", + "@algolia/client-search": "4.22.1", + "@algolia/logger-common": "4.22.1", + "@algolia/logger-console": "4.22.1", + "@algolia/requester-browser-xhr": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/requester-node-http": "4.22.1", + "@algolia/transporter": "4.22.1" } }, "node_modules/algoliasearch-helper": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz", - "integrity": "sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA==", + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.16.1.tgz", + "integrity": "sha512-qxAHVjjmT7USVvrM8q6gZGaJlCK1fl4APfdAA7o8O6iXEc68G0xMNrzRkxoB/HmhhvyHnoteS/iMTiHiTcQQcg==", "dependencies": { "@algolia/events": "^4.0.1" }, @@ -4093,9 +4094,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "version": "10.4.17", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", + "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", "funding": [ { "type": "opencollective", @@ -4111,9 +4112,9 @@ } ], "dependencies": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001538", - "fraction.js": "^4.3.6", + "browserslist": "^4.22.2", + "caniuse-lite": "^1.0.30001578", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -4333,9 +4334,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", "funding": [ { "type": "opencollective", @@ -4351,9 +4352,9 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" }, "bin": { @@ -4474,9 +4475,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001561", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz", - "integrity": "sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==", + "version": "1.0.30001579", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz", + "integrity": "sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==", "funding": [ { "type": "opencollective", @@ -5735,9 +5736,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.576", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.576.tgz", - "integrity": "sha512-yXsZyXJfAqzWk1WKryr0Wl0MN2D47xodPvEEwlVePBnhU5E7raevLQR+E6b9JAD3GfL/7MbAL9ZtWQQPcLx7wA==" + "version": "1.4.639", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.639.tgz", + "integrity": "sha512-CkKf3ZUVZchr+zDpAlNLEEy2NJJ9T64ULWaDgy3THXXlPVPkLu3VOs9Bac44nebVtdwl2geSj6AxTtGDOxoXhg==" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -7435,9 +7436,9 @@ } }, "node_modules/image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", + "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", "dependencies": { "queue": "6.0.2" }, @@ -7445,7 +7446,7 @@ "image-size": "bin/image-size.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.x" } }, "node_modules/immer": { @@ -7886,13 +7887,13 @@ } }, "node_modules/joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "version": "17.12.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.0.tgz", + "integrity": "sha512-HSLsmSmXz+PV9PYoi3p7cgIbj06WnEBNT28n+bbBNcPZXZFqCzzvGqpTBPujx/Z0nh1+KNQPDrNgdmQ8dq0qYw==", "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.4", "@sideway/formula": "^3.0.1", "@sideway/pinpoint": "^2.0.0" } @@ -8504,9 +8505,9 @@ } }, "node_modules/mdast-util-to-hast": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", - "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz", + "integrity": "sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -8515,7 +8516,8 @@ "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0" + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", @@ -10475,9 +10477,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -12463,9 +12465,9 @@ } }, "node_modules/remark-rehype": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.0.0.tgz", - "integrity": "sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", + "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -12785,9 +12787,9 @@ } }, "node_modules/search-insights": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.11.0.tgz", - "integrity": "sha512-Uin2J8Bpm3xaZi9Y8QibSys6uJOFZ+REMrf42v20AA3FUDUrshKkMEP6liJbMAHCm71wO6ls4mwAf7a3gFVxLw==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.13.0.tgz", + "integrity": "sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==", "peer": true }, "node_modules/section-matter": { @@ -14369,9 +14371,9 @@ "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" }, "node_modules/utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", "engines": { "node": ">= 4" } diff --git a/website/package.json b/website/package.json index 1e37e9b99..52cda6b8e 100644 --- a/website/package.json +++ b/website/package.json @@ -32,8 +32,8 @@ "clear": "docusaurus clear" }, "dependencies": { - "@docusaurus/core": "^3.0.1", - "@docusaurus/preset-classic": "^3.0.1", + "@docusaurus/core": "^3.1.0", + "@docusaurus/preset-classic": "^3.1.0", "@infinum/docusaurus-theme": "^0.4.0", "@mdx-js/react": "^3.0.0", "clsx": "^1.2.1", diff --git a/website/sidebars-forms.js b/website/sidebars-forms.js index 475e2f09c..2ba461cda 100644 --- a/website/sidebars-forms.js +++ b/website/sidebars-forms.js @@ -29,6 +29,7 @@ module.exports = { 'features/cloudflare', 'features/country-list', 'features/wpml', + 'features/entries', ], ], }, @@ -119,6 +120,9 @@ module.exports = { 'php/filters/block/form/phone-sync', 'php/filters/block/form/global-msg-headings', 'php/filters/block/form/additional-content', + 'php/filters/block/form/pre-response-addon-data', + 'php/filters/block/form/pre-response-success-redirect-data', + 'php/filters/block/form/additional-hidden-fields', ], }, { @@ -219,30 +223,42 @@ module.exports = { 'php/filters/block/step/component-next', ], }, + { + 'type': 'category', + 'label': 'Rating', + 'items': [ + 'php/filters/block/rating/additional-content', + ], + }, ], }, { 'type': 'category', 'label': 'Blocks', 'items': [ + 'php/filters/blocks/allowed-blocks', 'php/filters/blocks/additional-blocks', 'php/filters/blocks/media-breakpoints', ], }, { 'type': 'category', - 'label': 'Enrichment', + 'label': 'General', 'items': [ - 'php/filters/enrichment/manual-map', + 'php/filters/general/http-request-timeout', + 'php/filters/general/locale', ], }, { 'type': 'category', - 'label': 'General', + 'label': 'Scripts', 'items': [ - 'php/filters/general/http-request-timeout', - 'php/filters/general/set-locale', - 'php/filters/general/scripts-dependency', + 'php/filters/scripts/dependency-admin', + 'php/filters/scripts/dependency-theme', + 'php/filters/scripts/dependency-blocks-editor', + 'php/filters/scripts/dependency-blocks-frontend', + 'php/filters/scripts/routes-public', + 'php/filters/scripts/routes-private', ], }, { @@ -254,13 +270,6 @@ module.exports = { 'php/filters/geolocation/countries', ], }, - { - 'type': 'category', - 'label': 'Validation', - 'items': [ - 'php/filters/validation/fail-mimetype-validation-when-file-not-on-fs', - ], - }, { 'type': 'category', 'label': 'Integrations', @@ -277,6 +286,35 @@ module.exports = { 'php/filters/integrations/mailerlite', 'php/filters/integrations/moments', 'php/filters/integrations/workable', + 'php/filters/integrations/pipedrive', + ], + }, + { + 'type': 'category', + 'label': 'Entries', + 'items': [ + 'php/filters/entries/pre-post-params', + ], + }, + { + 'type': 'category', + 'label': 'Enrichment', + 'items': [ + 'php/filters/enrichment/manual-map', + ], + }, + { + 'type': 'category', + 'label': 'Validation', + 'items': [ + 'php/filters/validation/force-mimetype-from-fs', + ], + }, + { + 'type': 'category', + 'label': 'Admin', + 'items': [ + 'php/filters/admin/settings-data', ], }, ], diff --git a/website/src/docs/filters.jsx b/website/src/docs/filters.jsx new file mode 100644 index 000000000..fe4c2a895 --- /dev/null +++ b/website/src/docs/filters.jsx @@ -0,0 +1,206 @@ +import React from 'react'; +import CodeBlock from '@theme/CodeBlock'; +import { reformatCode } from '../../utils/shared.jsx'; + +export function IntegrationFilters({ + filter, + onlyUse = [ + 'dataFilter', + 'orderFilter', + 'prePostIdFilter', + 'prePostParamsFilter', + ], +}) { + return ( + <> + {onlyUse.includes('dataFilter') && + + } + + {onlyUse.includes('orderFilter') && + + } + + {onlyUse.includes('prePostIdFilter') && + + } + + {onlyUse.includes('prePostParamsFilter') && + + } + + ); +} + +export function AdditionalContentFilter({ filter }) { + return ( + <> +

This filter allows to add custom content before the closing tag of the field element. Can be useful for additional markup, styles, etc.

+ + + {reformatCode(` + add_filter('es_forms_block_${filter}_additional_content', function(): string { + return ''; + }) + `)} + + + ); +} + +function DataFilter ({ filter }) { + return ( + <> +

Data filter

+

This filter is used if you want to change form fields data before output. This way you can change components map before it is parsed inside Block Editor and on the frontend.

+

For example if you want to force set all fields to have 2 columns layout this will be the filter to use.

+

This field will override any Block Editor changes!

+ + + {reformatCode(` + add_filter('es_forms_integrations_${filter}_data', 'getIntegrationFilterData', 10, 2); + + /** + * Manipulate form fields data before it is sent to the Block Editor. + * + * @param array $data Form fields data. + * @param string $formId Form ID. + * + * @return array + */ + function getIntegrationFilterData(array $data, string $formId): array + { + foreach ($data as $index => $field) { + $component = $field['component'] ?? ''; + + if (!$component) { + continue; + } + + $name = $field["{$component}Name"] ?? ''; + + if (!$name) { + continue; + } + + switch ($name) { + case 'firstname': + case 'lastname': + $data[$index]["{$component}FieldWidthMobile"] = 12; + $data[$index]["{$component}FieldWidthLarge"] = 6; + $data[$index]["{$component}DisabledOptions"] = \array_merge( + $data[$index]["{$component}DisabledOptions"], + [ + "{$component}FieldWidthMobile", + "{$component}FieldWidthLarge", + ] + ); + break; + } + } + + return $data; + } + `)} + + + ); +} + +function OrderFilter ({ filter }) { + return ( + <> +

Order filter

+

Forces a specific form fields order, regardless of one set in the editor. Fields that are not defined here will follow the natural in-editor order.

+

Not all fields need to have an order defined. For example, if you want to make sure firstname, lastname and email are displayed first, this filter can help.

+ + + {reformatCode(` + add_filter('es_forms_integrations_${filter}_order', 'getIntegrationOrder'); + + /** + * Manipulate form fields order before it is sent to the Block Editor. + * + * @return array + */ + function getIntegrationOrder(): array + { + return [ + 'firstname', + 'lastname', + 'email', + ]; + } + `)} + + + ); +} + +function PrePostIdFilter ({ filter }) { + return ( + <> +

Pre post id filter

+

This filter enables you to update the item ID for the external integration where your form data will be sent.

+ + + {reformatCode(` + add_filter('es_forms_integrations_${filter}_pre_post_id', 'getIntegrationPrePostId', 10, 3); + + /** + * Manipulate form fields order before it is sent to the Block Editor. + * + * @param string $itemId Integration item ID. + * @param array $params Params to be sent to the integration. + * @param string $formId Form ID. + * + * @return array + */ + function getIntegrationPrePostId(string $itemId, array $params, string $formId): array + { + return $itemId; + } + `)} + + + ); +} + +function PrePostParamsFilter ({ filter }) { + return ( + <> +

Pre post params filter

+

Change form fields data before it is sent to the external integration. This way you can manipulate data and provide additional mapping to the data sent to the integration.

+ + + {reformatCode(` + add_filter('es_forms_integrations_${filter}_pre_post_params', 'getIntegrationPrePostParams', 10, 2); + + /** + * Change form fields data before we send it to the external integration. + * + * @param array $params Array of params. + * @param string $formId Form ID. + * + * @return array + */ + function getIntegrationPrePostParams(array $params, string $formId): array + { + $formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? ''; + + if ($formSubmissionPageLt) { + $params['ib-submission-source'] = [ + 'name' => 'ib-submission-source', + 'value' => $formSubmissionPageLt, + 'type' => 'text', + 'internalType' => '', + ]; + } + + return $params; + } + `)} + + + ); +} diff --git a/website/src/docs/integration-filters.jsx b/website/src/docs/integration-filters.jsx deleted file mode 100644 index 3e472e8a4..000000000 --- a/website/src/docs/integration-filters.jsx +++ /dev/null @@ -1,109 +0,0 @@ -import React from 'react'; -import CodeBlock from '@theme/CodeBlock'; -import { reformatCode } from '../../utils/shared.jsx'; - -export function IntegrationFilters(props) { - const { - filter, - onlyUse = [ - 'dataFilter', - 'prePostParamsFilter', - 'order', - ], - } = props; - - return ( - <> - {onlyUse.includes('dataFilter') && - <> -

Data

-

This filter is used if you want to change form fields data before output. This way you can change components map before it is parsed inside Block Editor.

-

For example if you want to set all fields to have 2 columns layout this will be the filter to use.

- - - {reformatCode(` - add_filter('es_forms_integrations_${filter}_data', function(array $data, string $formId): array { - foreach ($data as $index => $field) { - $component = $field['component'] ?? ''; - - if (!$component) { - continue; - } - - $name = $field["{$component}Name"] ?? ''; - - if (!$name) { - continue; - } - - switch ($name) { - case 'firstname': - case 'lastname': - $data[$index]["{$component}FieldWidthMobile"] = 12; - $data[$index]["{$component}FieldWidthLarge"] = 6; - $data[$index]["{$component}DisabledOptions"] = \array_merge( - $data[$index]["{$component}DisabledOptions"], - [ - "{$component}FieldWidthMobile", - "{$component}FieldWidthLarge", - ] - ); - break; - } - } - - return $data; - }, 10, 2); - `)} - - - } - - {onlyUse.includes('prePostParamsFilter') && - <> -

Pre post params

-

Change form fields data before it is sent to the external integration. This way you can manipulate data and provide additional mapping to the data sent to the integration.

- - - {reformatCode(` - add_filter('es_forms_integrations_${filter}_pre_post_params', function(array $params): array { - $formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? ''; - - if ($formSubmissionPageLt) { - $params['ib-submission-source'] = [ - 'name' => 'ib-submission-source', - 'value' => $formSubmissionPageLt, - 'type' => 'text', - 'internalType' => '', - ]; - } - - return $params; - }); - `)} - - - } - - {onlyUse.includes('order') && - <> -

Order fields

-

Forces a specific form fields order, regardless of one set in the editor. Fields that are not defined here will follow the natural in-editor order.

-

Not all fields need to have an order defined. For example, if you want to make sure firstname, lastname and email are displayed first, this filter can help.

- - - {reformatCode(` - add_filter('es_forms_integrations_${filter}_order', function(): array { - return [ - 'firstname', - 'lastname', - 'email', - ]; - }); - `)} - - - } - - ); -} From 00f434d276eb104076373f858ab04ab6d63fefa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Ruz=CC=8Cevic=CC=81?= Date: Fri, 19 Jan 2024 14:18:46 +0100 Subject: [PATCH 2/4] adding new docs --- website/docs/basics/blocks-faq.md | 2 +- website/docs/basics/blocks-wrapper.md | 4 +-- .../docs/legacy/v5/basics/blocks-wrapper.md | 4 +-- .../docs/legacy/v6/basics/blocks-wrapper.md | 4 +-- .../docs/legacy/v7/basics/blocks-wrapper.md | 4 +-- .../docs/legacy/v8/basics/blocks-wrapper.md | 4 +-- website/forms/addons/create/intro.md | 6 ++++ .../addons/premium/computed-fields/intro.md | 6 ++++ website/forms/features/entries.md | 2 +- .../javascript/events/available-events.mdx | 12 +++++++ website/forms/javascript/events/how-to-use.md | 34 +++++++++++++------ website/forms/javascript/state/how-to-use.md | 16 ++++++--- .../block/form/pre-response-addon-data.md | 23 +++++++++++++ .../pre-response-success-redirect-data.md | 23 +++++++++++++ .../php/filters/blocks/allowed-blocks.md | 22 ++++++++++++ .../php/filters/blocks/media-breakpoints.md | 2 +- .../php/filters/entries/pre-post-params.md | 31 +++++++++++++++++ website/forms/php/filters/general/locale.md | 24 ++++++++++--- .../php/filters/integrations/clearbit.md | 2 ++ .../forms/php/filters/integrations/mailer.mdx | 4 ++- .../php/filters/scripts/dependency-admin.md | 18 ++++++++++ .../scripts/dependency-blocks-editor.md | 18 ++++++++++ .../scripts/dependency-blocks-frontend.md | 18 ++++++++++ .../php/filters/scripts/dependency-theme.md | 18 ++++++++++ .../php/filters/scripts/routes-private.md | 18 ++++++++++ .../php/filters/scripts/routes-public.md | 18 ++++++++++ website/sidebars-forms.js | 22 ++++++++++++ website/src/docs/filters.jsx | 14 ++++++-- 28 files changed, 337 insertions(+), 36 deletions(-) create mode 100644 website/forms/addons/create/intro.md create mode 100644 website/forms/addons/premium/computed-fields/intro.md diff --git a/website/docs/basics/blocks-faq.md b/website/docs/basics/blocks-faq.md index 70c7b6dd2..1e96c4fd7 100644 --- a/website/docs/basics/blocks-faq.md +++ b/website/docs/basics/blocks-faq.md @@ -152,7 +152,7 @@ For WordPress versions > 5 and < 5.8 you would need to use the example below. ### How to allow only one pattern category? -In the blog post about Block Patterns we covered how to [manage pattern categories](/blog/block-patterns/#managing-pattern-categories). That section should give you an idea how to remove core categories and how to register one or more custom pattern categories. +In the blog post about Block Patterns we covered how to [manage pattern categories](/blog/block-patterns#managing-pattern-categories). That section should give you an idea how to remove core categories and how to register one or more custom pattern categories. ### Can I have blocks in multiple categories? diff --git a/website/docs/basics/blocks-wrapper.md b/website/docs/basics/blocks-wrapper.md index 27908320a..04383a05a 100644 --- a/website/docs/basics/blocks-wrapper.md +++ b/website/docs/basics/blocks-wrapper.md @@ -35,7 +35,7 @@ This attribute controls the usage of the wrapper component. It behaves the same ### wrapperUseShowControl -This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-components-options-in-my-block). +This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block). ### wrapperUseSimple @@ -43,7 +43,7 @@ We wrapped some options in a specific condition and we call it `wrapperUseSimple ### wrapperUseSimpleShowControl -This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-components-options-in-my-block). +This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block). ### wrapperDisable diff --git a/website/docs/legacy/v5/basics/blocks-wrapper.md b/website/docs/legacy/v5/basics/blocks-wrapper.md index 6e97e30c2..867cd4525 100644 --- a/website/docs/legacy/v5/basics/blocks-wrapper.md +++ b/website/docs/legacy/v5/basics/blocks-wrapper.md @@ -20,7 +20,7 @@ This attribute controls the usage of the wrapper component. It behaves the same ### wrapperUseShowControl -This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-components-options-in-my-block). +This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block). ### wrapperUseSimple @@ -28,7 +28,7 @@ We wrapped some of the options in a specific condition and we call it `wrapperUs ### wrapperUseSimpleShowControl -This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-components-options-in-my-block). +This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block). ### wrapperDisable diff --git a/website/docs/legacy/v6/basics/blocks-wrapper.md b/website/docs/legacy/v6/basics/blocks-wrapper.md index 028f5c8d5..7b4efd7aa 100644 --- a/website/docs/legacy/v6/basics/blocks-wrapper.md +++ b/website/docs/legacy/v6/basics/blocks-wrapper.md @@ -35,7 +35,7 @@ This attribute controls the usage of the wrapper component. It behaves the same ### wrapperUseShowControl -This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-components-options-in-my-block). +This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block). ### wrapperUseSimple @@ -43,7 +43,7 @@ We wrapped some of the options in a specific condition and we call it `wrapperUs ### wrapperUseSimpleShowControl -This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-components-options-in-my-block). +This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block). ### wrapperDisable diff --git a/website/docs/legacy/v7/basics/blocks-wrapper.md b/website/docs/legacy/v7/basics/blocks-wrapper.md index 76d7720fb..fd39386a2 100644 --- a/website/docs/legacy/v7/basics/blocks-wrapper.md +++ b/website/docs/legacy/v7/basics/blocks-wrapper.md @@ -35,7 +35,7 @@ This attribute controls the usage of the wrapper component. It behaves the same ### wrapperUseShowControl -This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-components-options-in-my-block). +This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block). ### wrapperUseSimple @@ -43,7 +43,7 @@ We wrapped some of the options in a specific condition and we call it `wrapperUs ### wrapperUseSimpleShowControl -This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-components-options-in-my-block). +This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block). ### wrapperDisable diff --git a/website/docs/legacy/v8/basics/blocks-wrapper.md b/website/docs/legacy/v8/basics/blocks-wrapper.md index 27908320a..04383a05a 100644 --- a/website/docs/legacy/v8/basics/blocks-wrapper.md +++ b/website/docs/legacy/v8/basics/blocks-wrapper.md @@ -35,7 +35,7 @@ This attribute controls the usage of the wrapper component. It behaves the same ### wrapperUseShowControl -This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-components-options-in-my-block). +This attribute controls whether you will see the options for block use in the block editor. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block). ### wrapperUseSimple @@ -43,7 +43,7 @@ We wrapped some options in a specific condition and we call it `wrapperUseSimple ### wrapperUseSimpleShowControl -This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-components-options-in-my-block). +This attribute controls whether you are going to see options in the block editor to use the simple option. It behaves the same way as described in [this chapter](blocks-component-in-block#i-dont-want-my-editor-to-be-able-to-change-component-options-in-my-block). ### wrapperDisable diff --git a/website/forms/addons/create/intro.md b/website/forms/addons/create/intro.md new file mode 100644 index 000000000..8cd7a5f72 --- /dev/null +++ b/website/forms/addons/create/intro.md @@ -0,0 +1,6 @@ +--- +id: intro +title: Intro +--- + +**Coming soon** diff --git a/website/forms/addons/premium/computed-fields/intro.md b/website/forms/addons/premium/computed-fields/intro.md new file mode 100644 index 000000000..8cd7a5f72 --- /dev/null +++ b/website/forms/addons/premium/computed-fields/intro.md @@ -0,0 +1,6 @@ +--- +id: intro +title: Intro +--- + +**Coming soon** diff --git a/website/forms/features/entries.md b/website/forms/features/entries.md index b97e47ce4..14cd1f7fe 100644 --- a/website/forms/features/entries.md +++ b/website/forms/features/entries.md @@ -3,4 +3,4 @@ id: entries title: Entries --- -Entries +**Coming soon** diff --git a/website/forms/javascript/events/available-events.mdx b/website/forms/javascript/events/available-events.mdx index fca8545b6..3b232c451 100644 --- a/website/forms/javascript/events/available-events.mdx +++ b/website/forms/javascript/events/available-events.mdx @@ -8,6 +8,10 @@ You can listen to these events by using the `on` method on the `Event` facade. Every event contains the whole window object inside the details property. This way you can be sure that everything is set and ready to be used. Additionally if an event is a part of the `after` event you can use the `additional` property to get the API response details. +:::note +List of all events can be found [here](https://github.com/infinum/eightshift-forms/blob/develop/src/Blocks/manifest.json). +::: + ### esFormsBeforeFormSubmit Triggered before form is submitted to the API-Rest endpoint. @@ -119,3 +123,11 @@ Triggered after multi-step/multi-flow form is used and the previous step is load :::tip This event is set on the form element. ::: + +### esFormsEnrichmentPrefill + +Triggered after enrichment profill data from localStorage. + +:::tip +This event is set on the form element. +::: diff --git a/website/forms/javascript/events/how-to-use.md b/website/forms/javascript/events/how-to-use.md index e8ed7036a..d32df349f 100644 --- a/website/forms/javascript/events/how-to-use.md +++ b/website/forms/javascript/events/how-to-use.md @@ -5,7 +5,7 @@ title: How to use? ### esFormsAfterCaptchaInit -In this example the event is hooked to the window object and in event details you have: +In this example the event is hooked to the `window`` object and in event details you have: * `esForms` - object. * `formId` - not available because this is a global event. * `additional` - object from the API response. @@ -35,19 +35,28 @@ window.addEventListener('esFormsAfterCaptchaInit', ({detail}) => { ### esFormsJsFormLoaded -In this example the event is hooked to the window object and in event details you have: +In this example the event is hooked to the `form` element and in event details you have: * `esForms` - object. * `formId` - form Id this event is a part of. -* `additional` - not available because this is a not API response event. ```js -window.addEventListener('esFormsJsFormLoaded', ({detail}) => { - const { - formId, - esForms, - } = detail; +import domReady from '@wordpress/dom-ready'; - // Do some actions with the form. +domReady(() => { + const element = document.querySelector('.js-es-block-form'); + + if (!element) { + return; + } + + element?.addEventListener('esFormsJsFormLoaded', ({detail}) => { + const { + formId, + esForms, + } = detail; + + // Do some actions with the form. + }); }); ``` @@ -61,8 +70,13 @@ In this example the event is hooked to the `form` element and in event details y ```js const { store } = window.esForms.store; -[...document.querySelectorAll(store.getStateSelectorsForm())].forEach((form) => { +[...document.querySelectorAll(store.getStateSelector('form'))].forEach((form) => { form.addEventListener('esFormsAfterFormSubmitReset', ({detail}) => { + const { + formId, + esForms, + additional + } = detail; // Do some actions with the form. }); }); diff --git a/website/forms/javascript/state/how-to-use.md b/website/forms/javascript/state/how-to-use.md index 7d0081b4c..6e548cb25 100644 --- a/website/forms/javascript/state/how-to-use.md +++ b/website/forms/javascript/state/how-to-use.md @@ -16,7 +16,9 @@ window.esForms or you can use built-in events which also contain all the state in the time of the event. :::caution -It's important to be careful when using a state outside of the `esFormsJsFormLoaded` event, as it may not be ready at the time of use. To ensure that the state is available, calling your JavaScript after the `domReady` event and with the `esFormsJsFormLoaded` event is necessary. +It's important to be careful when using a state outside of the `esFormsJsFormLoaded` event, as it may not be ready at the time of use. To ensure that the state is available, calling your JavaScript after the `domReady` event and with the `esFormsJsFormLoaded` event you will be safe. + +If your script is loaded before the main form script, you can use PHP hooks to make forms script dependent on you script to ensure that your script is loaded before the main form script and the events will fire. ::: ## Example @@ -27,7 +29,13 @@ In this example we are using the `esFormsJsFormLoaded` event to initialize our f import domReady from '@wordpress/dom-ready'; domReady(() => { - window.addEventListener('esFormsJsFormLoaded', ({detail}) => { + const element = document.querySelector('.js-es-block-form'); + + if (!element) { + return; + } + + element?.addEventListener('esFormsJsFormLoaded', ({detail}) => { const { formId, esForms = { @@ -35,9 +43,7 @@ domReady(() => { }, } = detail; - if (store?.getStateFormElement(formId)) { - // Do some actions with the form. - } + // Do some actions with the form. }); }); ``` diff --git a/website/forms/php/filters/block/form/pre-response-addon-data.md b/website/forms/php/filters/block/form/pre-response-addon-data.md index 5a786d803..68b7af718 100644 --- a/website/forms/php/filters/block/form/pre-response-addon-data.md +++ b/website/forms/php/filters/block/form/pre-response-addon-data.md @@ -2,3 +2,26 @@ id: pre-response-addon-data title: Pre-Response Addon Data --- + +This filter allows you to add additional data to the API response when form is submitted. + +```php +\add_filter('es_forms_block_form_pre_response_addon_data', [$this, 'getPreResponseAddonData'], 10, 2); + +/** + * Set additional data to API response for addon data. + * + * @param array $output Output data. + * @param array $formDetails Data passed from the `getFormDetailsApi` function. + * + * @return array + */ +public function getPreResponseAddonData(array $output, string $formDetails): array +{ + $output['addonData'] = [ + 'key' => 'value', + ]; + + return $output; +} +``` diff --git a/website/forms/php/filters/block/form/pre-response-success-redirect-data.md b/website/forms/php/filters/block/form/pre-response-success-redirect-data.md index faf7913ee..82a732222 100644 --- a/website/forms/php/filters/block/form/pre-response-success-redirect-data.md +++ b/website/forms/php/filters/block/form/pre-response-success-redirect-data.md @@ -2,3 +2,26 @@ id: pre-response-success-redirect-data title: Pre-Response Success Redirect Data --- + +This filter allows you to add additional data to the API response key that is used to pass data to the success redirect URL. + +```php +\add_filter('es_forms_block_form_pre_response_success_redirect_data', [$this, 'getPreResponseSuccessRedirectData'], 10, 2); + +/** + * Set additional data to API response for success redirect. + * + * @param array $output Output data. + * @param array $formDetails Data passed from the `getFormDetailsApi` function. + * + * @return array + */ +public function getPreResponseSuccessRedirectData(array $output, string $formDetails): array +{ + $output['successData'] = [ + 'key' => 'value', + ]; + + return $output; +} +``` diff --git a/website/forms/php/filters/blocks/allowed-blocks.md b/website/forms/php/filters/blocks/allowed-blocks.md index 381006dcb..2930f6377 100644 --- a/website/forms/php/filters/blocks/allowed-blocks.md +++ b/website/forms/php/filters/blocks/allowed-blocks.md @@ -2,3 +2,25 @@ id: allowed-blocks title: Allowed blocks --- + +This filter allows you to set the allowed blocks for the form builder as it will override the projects settings. This way you can be sure that the custom addon block is always available for the form builder. + +```php +\add_filter('es_forms_blocks_allowed_blocks', 'getAllowedBlocks'); + + /** + * Override the allowed blocks list and provide addon block. + * + * @return array List of blocks. + */ + public function getAllowedBlocks(): array + { + return [ + '/', + ]; + } +``` + +:::note +Blocks should be listed with their _fully qualified_ names, e.g. `eightshift-boilerplate/heading`. +::: diff --git a/website/forms/php/filters/blocks/media-breakpoints.md b/website/forms/php/filters/blocks/media-breakpoints.md index f9fdf7c7b..22d36db7a 100644 --- a/website/forms/php/filters/blocks/media-breakpoints.md +++ b/website/forms/php/filters/blocks/media-breakpoints.md @@ -19,5 +19,5 @@ add_filter('es_forms_blocks_media_breakpoints', function(): array { ``` :::note -Additional breakpoints cannot be provided, only the current values can be modified! +Additional breakpoints can't be provided, only the current values can be modified! ::: diff --git a/website/forms/php/filters/entries/pre-post-params.md b/website/forms/php/filters/entries/pre-post-params.md index 2ff5605f2..3752363c8 100644 --- a/website/forms/php/filters/entries/pre-post-params.md +++ b/website/forms/php/filters/entries/pre-post-params.md @@ -2,3 +2,34 @@ id: pre-post-params title: Pre-Post Params --- + +Change form fields data before it is stored to the WordPress database. This way you can manipulate data and provide additional mapping to the data sent to the WordPress database. + +```php +add_filter('es_forms_entries_pre_post_params', 'getIntegrationPrePostParams', 10, 3); + +/** + * Change form fields data before it is stored to the WordPress database + * + * @param array $params Array of params. + * @param string $formId Form ID. + * @param array $formDetails Data passed from the `getFormDetailsApi` function. + * + * @return array + */ +function getIntegrationPrePostParams(array $params, string $formId, array $formDetails): array +{ + $formSubmissionPageLt = $params['form_submission_page_lt']['value'] ?? ''; + + if ($formSubmissionPageLt) { + $params['ib-submission-source'] = [ + 'name' => 'ib-submission-source', + 'value' => $formSubmissionPageLt, + 'type' => 'text', + 'internalType' => '', + ]; + } + + return $params; +} +``` diff --git a/website/forms/php/filters/general/locale.md b/website/forms/php/filters/general/locale.md index e27870833..e2b7476b8 100644 --- a/website/forms/php/filters/general/locale.md +++ b/website/forms/php/filters/general/locale.md @@ -1,13 +1,27 @@ --- id: locale -title: locale +title: Locale --- This filter can be used to change the value of current locale. By default, WordPress sets the locale in the admin to `en_US`. With this filter it can be changed to any locale (e.g. when using a multilingual plugin). +Filter should return an array with two keys: `default` and `current`. Both keys should contain a string value of the locale for your project. + ```php -add_filter('es_forms_general_locale', function(string $locale): string { - // Get the custom locale (e.g. from the WPML plugin). - return $locale; -}) +add_filter('es_forms_general_locale', 'getFormsLocale'); + +/** + * Change the current locale. + * + * @return array + */ +public function getFormsLocale(): mixed +{ + // Get the default and current locale (e.g. from WPML plugin). + return [ + 'default' => '', + 'current' => '', + ]; +} +``` diff --git a/website/forms/php/filters/integrations/clearbit.md b/website/forms/php/filters/integrations/clearbit.md index a2ed973f6..17e5e1e4f 100644 --- a/website/forms/php/filters/integrations/clearbit.md +++ b/website/forms/php/filters/integrations/clearbit.md @@ -3,6 +3,8 @@ id: clearbit title: Clearbit --- +## Map + This filter provides you the ability to change how we map Clearbit fields so you can combine multiple fields in one and add some new ones. ```php diff --git a/website/forms/php/filters/integrations/mailer.mdx b/website/forms/php/filters/integrations/mailer.mdx index 50c4e5ac0..2d9aa6de7 100644 --- a/website/forms/php/filters/integrations/mailer.mdx +++ b/website/forms/php/filters/integrations/mailer.mdx @@ -3,4 +3,6 @@ id: mailer title: Mailer --- -*Coming soon* +import { IntegrationFilters } from './../../../../src/docs/filters'; + + diff --git a/website/forms/php/filters/scripts/dependency-admin.md b/website/forms/php/filters/scripts/dependency-admin.md index a2b40c536..2dd4850c0 100644 --- a/website/forms/php/filters/scripts/dependency-admin.md +++ b/website/forms/php/filters/scripts/dependency-admin.md @@ -2,3 +2,21 @@ id: dependency-admin title: Dependency admin --- + +This filter will allow you to change the order of scripts that are loaded in the admin area. Generally used when writing a addon plugin and you want to load you scripts before the main plugin scripts in order to listen to the forms custom event listeners. + +```php +\add_filter('es_forms_scripts_dependency_admin', 'getScriptsDependency'); + +/** + * Make addon scripts fired before main plugin scripts. + * + * @return array + */ +public function getScriptsDependency(): array +{ + return [ + '', + ]; +} +``` diff --git a/website/forms/php/filters/scripts/dependency-blocks-editor.md b/website/forms/php/filters/scripts/dependency-blocks-editor.md index 118b6ef0d..a9d53f7f0 100644 --- a/website/forms/php/filters/scripts/dependency-blocks-editor.md +++ b/website/forms/php/filters/scripts/dependency-blocks-editor.md @@ -2,3 +2,21 @@ id: dependency-blocks-editor title: Dependency blocks editor --- + +This filter will allow you to change the order of scripts that are loaded in the blocks editor area. Generally used when writing a addon plugin and you want to load you scripts before the main plugin scripts in order to listen to the forms custom event listeners. + +```php +\add_filter('es_forms_scripts_dependency_blocks_editor', 'getScriptsDependency'); + +/** + * Make addon scripts fired before main plugin scripts. + * + * @return array + */ +public function getScriptsDependency(): array +{ + return [ + '', + ]; +} +``` diff --git a/website/forms/php/filters/scripts/dependency-blocks-frontend.md b/website/forms/php/filters/scripts/dependency-blocks-frontend.md index 855403dbb..185f468b2 100644 --- a/website/forms/php/filters/scripts/dependency-blocks-frontend.md +++ b/website/forms/php/filters/scripts/dependency-blocks-frontend.md @@ -2,3 +2,21 @@ id: dependency-blocks-frontend title: Dependency blocks frontend --- + +This filter will allow you to change the order of scripts that are loaded in the blocks frontend area. Generally used when writing a addon plugin and you want to load you scripts before the main plugin scripts in order to listen to the forms custom event listeners. + +```php +\add_filter('es_forms_scripts_dependency_blocks_frontend', 'getScriptsDependency'); + +/** + * Make addon scripts fired before main plugin scripts. + * + * @return array + */ +public function getScriptsDependency(): array +{ + return [ + '', + ]; +} +``` diff --git a/website/forms/php/filters/scripts/dependency-theme.md b/website/forms/php/filters/scripts/dependency-theme.md index f1125bb14..3458c3812 100644 --- a/website/forms/php/filters/scripts/dependency-theme.md +++ b/website/forms/php/filters/scripts/dependency-theme.md @@ -2,3 +2,21 @@ id: dependency-theme title: Dependency theme --- + +This filter will allow you to change the order of scripts that are loaded in the theme area. Generally used when writing a addon plugin and you want to load you scripts before the main plugin scripts in order to listen to the forms custom event listeners. + +```php +\add_filter('es_forms_scripts_dependency_theme', 'getScriptsDependency'); + +/** + * Make addon scripts fired before main plugin scripts. + * + * @return array + */ +public function getScriptsDependency(): array +{ + return [ + '', + ]; +} +``` diff --git a/website/forms/php/filters/scripts/routes-private.md b/website/forms/php/filters/scripts/routes-private.md index f436de6dc..aabe195b0 100644 --- a/website/forms/php/filters/scripts/routes-private.md +++ b/website/forms/php/filters/scripts/routes-private.md @@ -2,3 +2,21 @@ id: routes-private title: Routes private --- + +This filter allows you to add additional routes to the private routes list passed to the JS via global variable. + +```php +\add_filter('es_forms_scripts_routes_private', 'getPrivateRoutes'); + +/** + * Add custom route to the private routes list passed to the JS via global variable. + * + * @return array + */ +public function getPrivateRoutes(): array +{ + return [ + '' => '', + ]; +} +``` diff --git a/website/forms/php/filters/scripts/routes-public.md b/website/forms/php/filters/scripts/routes-public.md index c2aae53d0..faa62e7f7 100644 --- a/website/forms/php/filters/scripts/routes-public.md +++ b/website/forms/php/filters/scripts/routes-public.md @@ -2,3 +2,21 @@ id: routes-public title: Routes public --- + +This filter allows you to add additional routes to the public routes list passed to the JS via global variable. + +```php +\add_filter('es_forms_scripts_routes_public', 'getPublicRoutes'); + +/** + * Add custom route to the public routes list passed to the JS via global variable. + * + * @return array + */ +public function getPublicRoutes(): array +{ + return [ + '' => '', + ]; +} +``` diff --git a/website/sidebars-forms.js b/website/sidebars-forms.js index 2ba461cda..bac2c766d 100644 --- a/website/sidebars-forms.js +++ b/website/sidebars-forms.js @@ -356,5 +356,27 @@ module.exports = { 'Tutorials': [ 'tutorials/playlist', ], + 'Addon plugins': [ + { + 'type': 'category', + 'label': 'Premium', + 'items': [ + { + 'type': 'category', + 'label': 'Computed fields', + 'items': [ + 'addons/premium/computed-fields/intro', + ], + }, + ], + }, + { + 'type': 'category', + 'label': 'Create an addon', + 'items': [ + 'addons/create/intro', + ], + }, + ], } }; diff --git a/website/src/docs/filters.jsx b/website/src/docs/filters.jsx index fe4c2a895..4dc4652da 100644 --- a/website/src/docs/filters.jsx +++ b/website/src/docs/filters.jsx @@ -167,17 +167,27 @@ function PrePostIdFilter ({ filter }) { } function PrePostParamsFilter ({ filter }) { + let text = ''; + + switch (filter) { + case 'mailer': + text = 'mailer system'; + break; + default: + text = 'external integration'; + break; + } return ( <>

Pre post params filter

-

Change form fields data before it is sent to the external integration. This way you can manipulate data and provide additional mapping to the data sent to the integration.

+

Change form fields data before it is sent to the {text}. This way you can manipulate data and provide additional mapping to the data sent to the {text}.

{reformatCode(` add_filter('es_forms_integrations_${filter}_pre_post_params', 'getIntegrationPrePostParams', 10, 2); /** - * Change form fields data before we send it to the external integration. + * Change form fields data before we send it to the ${text}. * * @param array $params Array of params. * @param string $formId Form ID. From 75a72e8dd8f456be5c74f6cb09bcc5e761f7d11b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Ruz=CC=8Cevic=CC=81?= Date: Fri, 19 Jan 2024 14:19:39 +0100 Subject: [PATCH 3/4] adding new docs --- website/forms/javascript/events/how-to-use.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/forms/javascript/events/how-to-use.md b/website/forms/javascript/events/how-to-use.md index d32df349f..506493595 100644 --- a/website/forms/javascript/events/how-to-use.md +++ b/website/forms/javascript/events/how-to-use.md @@ -5,7 +5,7 @@ title: How to use? ### esFormsAfterCaptchaInit -In this example the event is hooked to the `window`` object and in event details you have: +In this example the event is hooked to the `window` object and in event details you have: * `esForms` - object. * `formId` - not available because this is a global event. * `additional` - object from the API response. From e58d789aa45b9650478f18b3ab9160d5c36b52bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Ru=C5=BEevi=C4=87?= Date: Fri, 26 Jan 2024 08:09:18 +0100 Subject: [PATCH 4/4] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Goran Alković <77000136+goranalkovic-infinum@users.noreply.github.com> --- .../javascript/events/available-events.mdx | 2 +- website/forms/javascript/state/how-to-use.md | 2 +- .../forms/php/filters/admin/settings-data.md | 2 +- .../block/form/additional-hidden-fields.md | 2 +- .../block/form/pre-response-addon-data.md | 2 +- .../pre-response-success-redirect-data.md | 2 +- .../php/filters/blocks/allowed-blocks.md | 3 ++- .../php/filters/entries/pre-post-params.md | 2 +- website/forms/php/filters/general/locale.md | 2 +- .../php/filters/integrations/clearbit.md | 4 +-- .../php/filters/integrations/hubspot.mdx | 4 +-- .../php/filters/scripts/dependency-admin.md | 4 +-- .../scripts/dependency-blocks-editor.md | 4 +-- .../scripts/dependency-blocks-frontend.md | 4 +-- .../php/filters/scripts/dependency-theme.md | 4 +-- .../php/filters/scripts/routes-private.md | 4 +-- .../php/filters/scripts/routes-public.md | 4 +-- .../validation/force-mimetype-from-fs.md | 10 +++---- website/src/docs/filters.jsx | 26 +++++++++---------- 19 files changed, 42 insertions(+), 45 deletions(-) diff --git a/website/forms/javascript/events/available-events.mdx b/website/forms/javascript/events/available-events.mdx index 3b232c451..2c957151d 100644 --- a/website/forms/javascript/events/available-events.mdx +++ b/website/forms/javascript/events/available-events.mdx @@ -126,7 +126,7 @@ This event is set on the form element. ### esFormsEnrichmentPrefill -Triggered after enrichment profill data from localStorage. +Triggered after enrichment data is pre-filled from `localStorage`. :::tip This event is set on the form element. diff --git a/website/forms/javascript/state/how-to-use.md b/website/forms/javascript/state/how-to-use.md index 6e548cb25..c88c516d6 100644 --- a/website/forms/javascript/state/how-to-use.md +++ b/website/forms/javascript/state/how-to-use.md @@ -16,7 +16,7 @@ window.esForms or you can use built-in events which also contain all the state in the time of the event. :::caution -It's important to be careful when using a state outside of the `esFormsJsFormLoaded` event, as it may not be ready at the time of use. To ensure that the state is available, calling your JavaScript after the `domReady` event and with the `esFormsJsFormLoaded` event you will be safe. +Take caution when using state data outside of the `esFormsJsFormLoaded` event, as it may not be available at the time of use. To be sure the data is available, run code after the DOM is ready (`DOMContentLoaded` event), together with the `esFormsJsFormLoaded` event. If your script is loaded before the main form script, you can use PHP hooks to make forms script dependent on you script to ensure that your script is loaded before the main form script and the events will fire. ::: diff --git a/website/forms/php/filters/admin/settings-data.md b/website/forms/php/filters/admin/settings-data.md index d1b92bafa..8ade13ce7 100644 --- a/website/forms/php/filters/admin/settings-data.md +++ b/website/forms/php/filters/admin/settings-data.md @@ -3,7 +3,7 @@ id: settings-data title: Settings data --- -This filter allows you to add you own custom settings page in the WordPress admin area. Generally, it can be used when creating a custom addon plugin. +This filter allows adding a custom settings page in the WordPress admin area. Useful when creating custom option pages for Forms add-on plugins. ```php add_filter('es_forms_admin_settings_data', 'getSettingsConfig'); diff --git a/website/forms/php/filters/block/form/additional-hidden-fields.md b/website/forms/php/filters/block/form/additional-hidden-fields.md index 13482d99b..470a6681a 100644 --- a/website/forms/php/filters/block/form/additional-hidden-fields.md +++ b/website/forms/php/filters/block/form/additional-hidden-fields.md @@ -3,7 +3,7 @@ id: additional-hidden-fields title: Additional hidden fields --- -This filter allows you to add additional hidden fields to the form block. However this fields will not be visible in the Block Editor. +Allows adding custom hidden fields to the form block. These fields will **not** be visible in the Block Editor. Useful if external data needs to be passed through the form. ```php \add_filter('es_forms_block_form_additional_hidden_fields', [$this, 'getBlockFormAdditionalHiddenFields'], 10, 2); diff --git a/website/forms/php/filters/block/form/pre-response-addon-data.md b/website/forms/php/filters/block/form/pre-response-addon-data.md index 68b7af718..776c1d5a7 100644 --- a/website/forms/php/filters/block/form/pre-response-addon-data.md +++ b/website/forms/php/filters/block/form/pre-response-addon-data.md @@ -3,7 +3,7 @@ id: pre-response-addon-data title: Pre-Response Addon Data --- -This filter allows you to add additional data to the API response when form is submitted. +Allows adding custom data to the API response when the form is submitted. ```php \add_filter('es_forms_block_form_pre_response_addon_data', [$this, 'getPreResponseAddonData'], 10, 2); diff --git a/website/forms/php/filters/block/form/pre-response-success-redirect-data.md b/website/forms/php/filters/block/form/pre-response-success-redirect-data.md index 82a732222..9b16f6da3 100644 --- a/website/forms/php/filters/block/form/pre-response-success-redirect-data.md +++ b/website/forms/php/filters/block/form/pre-response-success-redirect-data.md @@ -3,7 +3,7 @@ id: pre-response-success-redirect-data title: Pre-Response Success Redirect Data --- -This filter allows you to add additional data to the API response key that is used to pass data to the success redirect URL. +Allows adding data to the API response key, which is used when passing data to the success redirect URL. ```php \add_filter('es_forms_block_form_pre_response_success_redirect_data', [$this, 'getPreResponseSuccessRedirectData'], 10, 2); diff --git a/website/forms/php/filters/blocks/allowed-blocks.md b/website/forms/php/filters/blocks/allowed-blocks.md index 2930f6377..f6ed215b0 100644 --- a/website/forms/php/filters/blocks/allowed-blocks.md +++ b/website/forms/php/filters/blocks/allowed-blocks.md @@ -3,7 +3,8 @@ id: allowed-blocks title: Allowed blocks --- -This filter allows you to set the allowed blocks for the form builder as it will override the projects settings. This way you can be sure that the custom addon block is always available for the form builder. +Allows setting a custom list of the allowed blocks within the form editor. It will override the project settings. +Useful if you want to ensure that a custom block (e.g. from an add-on) is visible in the form editor. ```php \add_filter('es_forms_blocks_allowed_blocks', 'getAllowedBlocks'); diff --git a/website/forms/php/filters/entries/pre-post-params.md b/website/forms/php/filters/entries/pre-post-params.md index 3752363c8..609b4e72e 100644 --- a/website/forms/php/filters/entries/pre-post-params.md +++ b/website/forms/php/filters/entries/pre-post-params.md @@ -3,7 +3,7 @@ id: pre-post-params title: Pre-Post Params --- -Change form fields data before it is stored to the WordPress database. This way you can manipulate data and provide additional mapping to the data sent to the WordPress database. +Allows modifying field data before storing it into the database. Useful if, for example, a field value needs to determine a custom output of a different field. ```php add_filter('es_forms_entries_pre_post_params', 'getIntegrationPrePostParams', 10, 3); diff --git a/website/forms/php/filters/general/locale.md b/website/forms/php/filters/general/locale.md index e2b7476b8..b50e7d545 100644 --- a/website/forms/php/filters/general/locale.md +++ b/website/forms/php/filters/general/locale.md @@ -3,7 +3,7 @@ id: locale title: Locale --- -This filter can be used to change the value of current locale. By default, WordPress sets the locale in the admin to `en_US`. With this filter it can be changed to any locale (e.g. when using a multilingual plugin). +Allows changing the current locale. By default, WordPress will use the locale that is set as the Site Language in settings. A plugin like WPML can also set this value. Filter should return an array with two keys: `default` and `current`. Both keys should contain a string value of the locale for your project. diff --git a/website/forms/php/filters/integrations/clearbit.md b/website/forms/php/filters/integrations/clearbit.md index 17e5e1e4f..0556aefa4 100644 --- a/website/forms/php/filters/integrations/clearbit.md +++ b/website/forms/php/filters/integrations/clearbit.md @@ -5,7 +5,7 @@ title: Clearbit ## Map -This filter provides you the ability to change how we map Clearbit fields so you can combine multiple fields in one and add some new ones. +Allows changing how Clearbit fields are mapped. Useful if you want to combine multiple fields, or add new ones. ```php add_filter('es_forms_integrations_clearbit_map', 'getClearbitMap'); @@ -13,7 +13,7 @@ add_filter('es_forms_integrations_clearbit_map', 'getClearbitMap'); /** * Change Clearbit integration fields map. * - * This filter provides you the ability to change how we map Clearbit fields so you can combine multiple fields in one add some new one. + * Allows changing how Clearbit fields are mapped. Useful if you want to combine multiple fields, or add new ones. * * @param array $params Default params provided by the forms. * diff --git a/website/forms/php/filters/integrations/hubspot.mdx b/website/forms/php/filters/integrations/hubspot.mdx index d779ee17f..53663cb1a 100644 --- a/website/forms/php/filters/integrations/hubspot.mdx +++ b/website/forms/php/filters/integrations/hubspot.mdx @@ -6,7 +6,7 @@ title: HubSpot import { IntegrationFilters } from './../../../../src/docs/filters'; ## Files options filter -This filter is used to change default file upload options set by forms and Hubspot. We use this [api](https://legacydocs.hubspot.com/docs/methods/files/v3/upload_new_file), and you can change any of these options. +Allows changing default file upload options set by Forms and Hubspot. For available options check the [HubSpot API reference](https://legacydocs.hubspot.com/docs/methods/files/v3/upload_new_file). ```php add_filter('es_forms_integrations_hubspot_files_options', 'getFileUploadCustomOptions'); @@ -14,7 +14,7 @@ add_filter('es_forms_integrations_hubspot_files_options', 'getFileUploadCustomOp /** * Change Hubspot file upload options. * - * This filter is used to change default file upload options set by forms and Hubspot. We use this [api](https://legacydocs.hubspot.com/docs/methods/files/v3/upload_new_file), and you can change any of these options. + * Allows changing default file upload options set by Forms and Hubspot. For available options check the [HubSpot API reference](https://legacydocs.hubspot.com/docs/methods/files/v3/upload_new_file). * * @return array */ diff --git a/website/forms/php/filters/scripts/dependency-admin.md b/website/forms/php/filters/scripts/dependency-admin.md index 2dd4850c0..4212b8727 100644 --- a/website/forms/php/filters/scripts/dependency-admin.md +++ b/website/forms/php/filters/scripts/dependency-admin.md @@ -3,13 +3,13 @@ id: dependency-admin title: Dependency admin --- -This filter will allow you to change the order of scripts that are loaded in the admin area. Generally used when writing a addon plugin and you want to load you scripts before the main plugin scripts in order to listen to the forms custom event listeners. +Allows changing the order in which the admin area scripts are loaded. Useful when creating a Forms add-on plugin, and your script needs to be loaded before the Forms scripts (e.g. for adding custom event listeners). ```php \add_filter('es_forms_scripts_dependency_admin', 'getScriptsDependency'); /** - * Make addon scripts fired before main plugin scripts. + * Fire add-on scripts before the Forms scripts. * * @return array */ diff --git a/website/forms/php/filters/scripts/dependency-blocks-editor.md b/website/forms/php/filters/scripts/dependency-blocks-editor.md index a9d53f7f0..bcdc4e219 100644 --- a/website/forms/php/filters/scripts/dependency-blocks-editor.md +++ b/website/forms/php/filters/scripts/dependency-blocks-editor.md @@ -3,13 +3,13 @@ id: dependency-blocks-editor title: Dependency blocks editor --- -This filter will allow you to change the order of scripts that are loaded in the blocks editor area. Generally used when writing a addon plugin and you want to load you scripts before the main plugin scripts in order to listen to the forms custom event listeners. +Allows changing the order in which the Block Editor scripts are loaded. Useful when creating a Forms add-on plugin, and your script needs to be loaded before the Forms scripts (e.g. for adding custom event listeners). ```php \add_filter('es_forms_scripts_dependency_blocks_editor', 'getScriptsDependency'); /** - * Make addon scripts fired before main plugin scripts. + * Load add-on scripts before Forms scripts. * * @return array */ diff --git a/website/forms/php/filters/scripts/dependency-blocks-frontend.md b/website/forms/php/filters/scripts/dependency-blocks-frontend.md index 185f468b2..6d6bdb33b 100644 --- a/website/forms/php/filters/scripts/dependency-blocks-frontend.md +++ b/website/forms/php/filters/scripts/dependency-blocks-frontend.md @@ -3,13 +3,13 @@ id: dependency-blocks-frontend title: Dependency blocks frontend --- -This filter will allow you to change the order of scripts that are loaded in the blocks frontend area. Generally used when writing a addon plugin and you want to load you scripts before the main plugin scripts in order to listen to the forms custom event listeners. +Allows changing the order in which the block frontend scripts are loaded. Useful when creating a Forms add-on plugin, and your script needs to be loaded before the Forms scripts (e.g. for adding custom event listeners). ```php \add_filter('es_forms_scripts_dependency_blocks_frontend', 'getScriptsDependency'); /** - * Make addon scripts fired before main plugin scripts. + * Load add-on scripts before the Forms scripts. * * @return array */ diff --git a/website/forms/php/filters/scripts/dependency-theme.md b/website/forms/php/filters/scripts/dependency-theme.md index 3458c3812..9d2d0b676 100644 --- a/website/forms/php/filters/scripts/dependency-theme.md +++ b/website/forms/php/filters/scripts/dependency-theme.md @@ -3,13 +3,13 @@ id: dependency-theme title: Dependency theme --- -This filter will allow you to change the order of scripts that are loaded in the theme area. Generally used when writing a addon plugin and you want to load you scripts before the main plugin scripts in order to listen to the forms custom event listeners. +Allows changing the order in which the theme area scripts are loaded. Useful when creating a Forms add-on plugin, and your script needs to be loaded before the Forms scripts (e.g. for adding custom event listeners). ```php \add_filter('es_forms_scripts_dependency_theme', 'getScriptsDependency'); /** - * Make addon scripts fired before main plugin scripts. + * Load add-on scripts before Forms scripts. * * @return array */ diff --git a/website/forms/php/filters/scripts/routes-private.md b/website/forms/php/filters/scripts/routes-private.md index aabe195b0..33e94ae68 100644 --- a/website/forms/php/filters/scripts/routes-private.md +++ b/website/forms/php/filters/scripts/routes-private.md @@ -3,13 +3,13 @@ id: routes-private title: Routes private --- -This filter allows you to add additional routes to the private routes list passed to the JS via global variable. +Allows adding custom routes to the private routes list, available from the Forms global window object. ```php \add_filter('es_forms_scripts_routes_private', 'getPrivateRoutes'); /** - * Add custom route to the private routes list passed to the JS via global variable. + * Adds custom routes to the private routes list, available from the Forms global window object. * * @return array */ diff --git a/website/forms/php/filters/scripts/routes-public.md b/website/forms/php/filters/scripts/routes-public.md index faa62e7f7..d52de523c 100644 --- a/website/forms/php/filters/scripts/routes-public.md +++ b/website/forms/php/filters/scripts/routes-public.md @@ -3,13 +3,13 @@ id: routes-public title: Routes public --- -This filter allows you to add additional routes to the public routes list passed to the JS via global variable. +Allows adding custom routes to the public routes list, available from the Forms global window object. ```php \add_filter('es_forms_scripts_routes_public', 'getPublicRoutes'); /** - * Add custom route to the public routes list passed to the JS via global variable. + * Adds custom routes to the public routes list, available from the Forms global window object. * * @return array */ diff --git a/website/forms/php/filters/validation/force-mimetype-from-fs.md b/website/forms/php/filters/validation/force-mimetype-from-fs.md index 8ed6124d5..337c1d11f 100644 --- a/website/forms/php/filters/validation/force-mimetype-from-fs.md +++ b/website/forms/php/filters/validation/force-mimetype-from-fs.md @@ -3,19 +3,15 @@ id: force-mimetype-from-fs title: Force mimetype from FS --- -Force mimetype validation from filesystem values. +Forces MIME type validation based on the filesystem values. This is the default behavior. In case the file does not exist, the behavior falls back to validating using the MIME type from the POST object. -By default, mime-types are validated from the filesystem mimetype. - -However, in case the file is not present on the filesystem for any reason, this will fall back to the POST-provided mimetype. - -Using this filter, you can force Eightshift Forms to fail every file upload where it can't validate the mimetype from the filesystem. +If `true` is returned from this filter, the Forms file upload will fail if the MIME type cannot be matched from the filesystem. ```php add_filter('es_forms_validation_force_mimetype_from_fs', 'forceMimetypeFs'); /** - * Force mimetype validation from filesystem values. + * Force MIME type validation based on the filesystem values. * * @return bool */ diff --git a/website/src/docs/filters.jsx b/website/src/docs/filters.jsx index 4dc4652da..8857beff9 100644 --- a/website/src/docs/filters.jsx +++ b/website/src/docs/filters.jsx @@ -35,7 +35,7 @@ export function IntegrationFilters({ export function AdditionalContentFilter({ filter }) { return ( <> -

This filter allows to add custom content before the closing tag of the field element. Can be useful for additional markup, styles, etc.

+

Allows adding custom content before the field element's closing tag. Useful for adding markup, styles, etc.

{reformatCode(` @@ -52,9 +52,9 @@ function DataFilter ({ filter }) { return ( <>

Data filter

-

This filter is used if you want to change form fields data before output. This way you can change components map before it is parsed inside Block Editor and on the frontend.

-

For example if you want to force set all fields to have 2 columns layout this will be the filter to use.

-

This field will override any Block Editor changes!

+

Allows modifying form field data before it's shown in the Block Editor or output on the frontend.

+

Useful if, for example, you want to ensure that all fields fit into a 2-column layout.

+

Overrides any Block Editor changes!

{reformatCode(` @@ -111,15 +111,15 @@ function OrderFilter ({ filter }) { return ( <>

Order filter

-

Forces a specific form fields order, regardless of one set in the editor. Fields that are not defined here will follow the natural in-editor order.

-

Not all fields need to have an order defined. For example, if you want to make sure firstname, lastname and email are displayed first, this filter can help.

+

Forces a form field order, regardless of how it's set in the Block editor. Fields not modified through the filter will use order in which they're set in the Block editor.

+

Not all fields need to have an order defined. For example, you may want to make sure firstname, lastname and email are displayed first, but other fields follow their Block editor order.

{reformatCode(` add_filter('es_forms_integrations_${filter}_order', 'getIntegrationOrder'); /** - * Manipulate form fields order before it is sent to the Block Editor. + * Forces form field order for the provided fields. For other fields, Block editor order is used. * * @return array */ @@ -140,15 +140,15 @@ function OrderFilter ({ filter }) { function PrePostIdFilter ({ filter }) { return ( <> -

Pre post id filter

-

This filter enables you to update the item ID for the external integration where your form data will be sent.

+

Pre-post ID filter

+

Allows updating item IDs sent to external integrations to which the form data is sent.

{reformatCode(` add_filter('es_forms_integrations_${filter}_pre_post_id', 'getIntegrationPrePostId', 10, 3); /** - * Manipulate form fields order before it is sent to the Block Editor. + * Modifies integration item ID. * * @param string $itemId Integration item ID. * @param array $params Params to be sent to the integration. @@ -179,15 +179,15 @@ function PrePostParamsFilter ({ filter }) { } return ( <> -

Pre post params filter

-

Change form fields data before it is sent to the {text}. This way you can manipulate data and provide additional mapping to the data sent to the {text}.

+

Pre-post parameters filter

+

Allows modifying form field data before it's sent to {text}. Useful if you want to make values derived from the sent data, or add new fields.

{reformatCode(` add_filter('es_forms_integrations_${filter}_pre_post_params', 'getIntegrationPrePostParams', 10, 2); /** - * Change form fields data before we send it to the ${text}. + * Modifies form field data before it's sent to ${text}. * * @param array $params Array of params. * @param string $formId Form ID.