diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index d12186f151..0000000000 --- a/.eslintignore +++ /dev/null @@ -1,27 +0,0 @@ -# Exclude auto generated files. -**/*.min.js -**/*.js.map -js/formidable_blocks.js -js/formidable_overlay.js -js/form-templates.js -js/formidable_dashboard.js -js/onboarding-wizard.js -js/addons-page.js -js/formidable_styles.js -js/formidable_admin.js -js/bootstrap-multiselect.js -js/formidable-settings-components.js -js/formidable-web-components.js -js/frm_testing_mode.js -js/welcome-tour.js - -# Config files -*.config.js -webpack*.js - -**/node_modules/** -**/vendor/** -build -coverage -node_modules -vendor diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 095acbd6e7..0000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,229 +0,0 @@ -{ - "root": true, - "parser": "@babel/eslint-parser", - "parserOptions": { - "requireConfigFile": false, - "sourceType": "module", - "babelOptions": { - "presets": ["@babel/preset-env", "@babel/preset-react"], - "plugins": ["@babel/plugin-syntax-jsx"] - }, - "ecmaFeatures": { - "jsx": true - } - }, - "extends": [ - "plugin:@wordpress/eslint-plugin/recommended-with-formatting", - "plugin:react/recommended", - "plugin:jsx-a11y/recommended", - "plugin:sonarjs/recommended", - "plugin:cypress/recommended", - "plugin:no-jquery/deprecated", - "plugin:compat/recommended", - "plugin:unicorn/all" - ], - "env": { - "browser": true, - "es6": true, - "node": true, - "mocha": true, - "cypress/globals": true - }, - "globals": { - "wp": true, - "wpApiSettings": true, - "window": true, - "document": true - }, - "plugins": ["react", "jsx-a11y", "sonarjs", "cypress", "no-jquery", "compat", "jsdoc", "unicorn"], - "settings": { - "import/resolver": { - "webpack": { - "config": "./webpack.config.js" - } - }, - "react": { - "pragma": "wp" - } - }, - "rules": { - "sonarjs/cognitive-complexity": "off", - "cypress/unsafe-to-chain-command": "off", - "cypress/no-assigning-return-values": "off", - "camelcase": [ - "error", - { - "properties": "never", - "allow": [ - "frm_admin_js", - "frm_stripe_vars", - "frm_trans_vars", - "formidable_form_selector", - "frm_js", - "frm_password_checks", - "formidable_block_calculator", - "formidable_view_selector", - "frmdates_admin_js", - "frm_abdn" - ] - } - ], - "lines-around-comment": "off", - "react/display-name": "off", - "react/jsx-curly-spacing": [ - "error", - { - "when": "always", - "children": true - } - ], - "react/jsx-equals-spacing": "error", - "react/jsx-indent": ["error", "tab"], - "react/jsx-indent-props": ["error", "tab"], - "react/jsx-key": "error", - "react/jsx-tag-spacing": "error", - "react/no-children-prop": "off", - "react/no-find-dom-node": "warn", - "react/prop-types": "off", - "vars-on-top": "warn", - "yoda": "off", - "linebreak-style": "off", - "prettier/prettier": "off", - "object-shorthand": "off", - "no-unused-vars": "off", - "no-console": "off", - "eqeqeq": "off", - "@wordpress/no-global-active-element": "off", - "no-alert": "off", - "no-undef": "off", - "jsdoc/check-tag-names": "error", - "no-shadow": "off", - "sonarjs/no-duplicate-string": "off", - "sonarjs/prefer-single-boolean-return": "off", - "sonarjs/no-collapsible-if": "off", - "sonarjs/no-duplicated-branches": "off", - "sonarjs/no-nested-template-literals": "off", - "no-jquery/no-ready-shorthand": "off", - "no-jquery/no-ajax-events": "error", - "no-jquery/no-animate-toggle": "error", - "no-jquery/no-bind": "error", - "no-jquery/no-box-model": "error", - "no-jquery/no-browser": "error", - "no-jquery/no-camel-case": "error", - "no-jquery/no-constructor-attributes": "error", - "no-jquery/no-contains": "error", - "no-jquery/no-deferred": "error", - "no-jquery/no-delegate": "error", - "no-jquery/no-error": "error", - "no-jquery/no-escape-selector": "error", - "no-jquery/no-extend": "error", - "no-jquery/no-fx-interval": "error", - "no-jquery/no-global-eval": "error", - "no-jquery/no-has": "error", - "no-jquery/no-hold-ready": "error", - "no-jquery/no-is-array": "error", - "no-jquery/no-is-empty-object": "error", - "no-jquery/no-is-function": "error", - "no-jquery/no-is-numeric": "error", - "no-jquery/no-is-plain-object": "error", - "no-jquery/no-is-window": "error", - "no-jquery/no-load": "error", - "no-jquery/no-load-shorthand": "error", - "no-jquery/no-map": "error", - "no-jquery/no-map-collection": "error", - "no-jquery/no-map-util": "error", - "no-jquery/no-merge": "error", - "no-jquery/no-node-name": "error", - "no-jquery/no-noop": "error", - "no-jquery/no-now": "error", - "no-jquery/no-other-utils": "error", - "no-jquery/no-param": "error", - "no-jquery/no-parse-json": "error", - "no-jquery/no-parse-xml": "error", - "no-jquery/no-proxy": "error", - "no-jquery/no-selector-prop": "error", - "no-jquery/no-sizzle": "error", - "no-jquery/no-sub": "error", - "no-jquery/no-trim": "error", - "no-jquery/no-type": "error", - "no-jquery/no-unique": "error", - "no-jquery/no-when": "error", - "react/jsx-no-target-blank": "off", - "comma-dangle": "off", - "arrow-parens": ["error", "as-needed"], - "unicorn/filename-case": "off", - "unicorn/prefer-query-selector": "off", - "unicorn/no-null": "off", - "unicorn/prefer-module": "off", - "unicorn/explicit-length-check": "off", - "unicorn/better-regex": "off", - "unicorn/no-keyword-prefix": "off", - "unicorn/no-array-for-each": "off", - "unicorn/prevent-abbreviations": "off", - "unicorn/no-this-assignment": "off", - "unicorn/no-document-cookie": "off", - "unicorn/prefer-number-properties": "off", - "unicorn/prefer-spread": "off", - "unicorn/consistent-function-scoping": "off", - "unicorn/prefer-export-from": "off", - "unicorn/no-array-callback-reference": "off", - "unicorn/prefer-ternary": "off", - "unicorn/no-for-loop": "off", - "unicorn/no-array-reduce": "off", - "unicorn/prefer-at": "off", - "unicorn/consistent-destructuring": "off", - "unicorn/prefer-string-slice": "off", - "unicorn/catch-error-name": "off", - "unicorn/no-static-only-class": "off", - "unicorn/prefer-optional-catch-binding": "off", - "unicorn/no-lonely-if": "off", - "unicorn/prefer-set-has": "off", - "unicorn/prefer-switch": "off", - "unicorn/no-useless-switch-case": "off", - "unicorn/prefer-prototype-methods": "off", - // Fix this soon - "unicorn/prefer-dom-node-dataset": "off", - // Look more into this one. - "unicorn/numeric-separators-style": "off", - // Look into this - "unicorn/no-unsafe-regex": "off", - // Consider this one. - "unicorn/prefer-regexp-test": "off", - "unicorn/prefer-logical-operator-over-ternary": "off", - // Maybe fix - "unicorn/prefer-dom-node-text-content": "off", - "unicorn/empty-brace-spaces": "off", - // Probably fix - "unicorn/no-array-push-push": "off", - "unicorn/prefer-array-find": "off", - "unicorn/prefer-add-event-listener": "off", - "unicorn/text-encoding-identifier-case": "off", - "unicorn/prefer-string-replace-all": "off", - "unicorn/no-useless-promise-resolve-reject": "off" - }, - "overrides": [ - { - "files": ["js/formidable.js"], - "rules": { - "no-jquery/no-find": "error", - "no-jquery/no-visibility": "error", - "no-jquery/no-slide": "error", - "no-jquery/no-css": "error", - "no-jquery/no-each": "error", - "no-jquery/no-append-html": "error", - "no-jquery/no-animate": "error", - "no-jquery/no-prop": "error", - "no-jquery/no-filter": "error", - "no-jquery/no-data": "error", - "no-jquery/no-parents": "error", - "no-jquery/no-val": "error", - "no-jquery/no-serialize": "error", - "no-jquery/no-class": "error", - "no-jquery/no-closest": "error", - "no-jquery/no-ajax": "error", - "no-jquery/no-fade": "error", - "no-jquery/no-is": "error" - } - } - ] -} diff --git a/.gitattributes b/.gitattributes index 7f0751e7c6..0b01cdfd6c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -17,6 +17,7 @@ .php-cs-fixer.cache export-ignore .wp-env.json export-ignore .coderabbit.yaml export-ignore +.windsurf export-ignore cypress.config.js export-ignore /bin/ export-ignore changelog.txt export-ignore @@ -45,6 +46,7 @@ mago.toml export-ignore /resources/ export-ignore webpack.dev.js export-ignore .browserslistrc export-ignore +/eslint-rules/ export-ignore /phpcs-sniffs/ export-ignore .deepsource.toml export-ignore .semgrepignore export-ignore diff --git a/.github/workflows/jscs.yml b/.github/workflows/jscs.yml index 0179fb89a7..821cfdc7a5 100644 --- a/.github/workflows/jscs.yml +++ b/.github/workflows/jscs.yml @@ -19,7 +19,7 @@ jobs: - name: Set up Node.js uses: actions/setup-node@v5 with: - node-version: "20.10.0" + node-version: "22" - name: Cache dependencies id: cache-npm @@ -34,7 +34,7 @@ jobs: - name: Install dependencies if: steps.cache-npm.outputs.cache-hit != 'true' - run: npm ci --include=dev + run: npm ci --include=dev --legacy-peer-deps - name: Run ESLint run: ./node_modules/.bin/eslint . diff --git a/.github/workflows/stylelint.yml b/.github/workflows/stylelint.yml new file mode 100644 index 0000000000..832552204b --- /dev/null +++ b/.github/workflows/stylelint.yml @@ -0,0 +1,40 @@ +name: Stylelint + +on: + push: + branches: + - master + pull_request: + types: [opened, labeled, synchronize] + +jobs: + runStylelintInspection: + if: contains(github.event.pull_request.labels.*.name, 'run analysis') + name: Run Stylelint + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v5 + + - name: Set up Node.js + uses: actions/setup-node@v5 + with: + node-version: "22" + + - name: Cache dependencies + id: cache-npm + uses: actions/cache@v4 + with: + path: | + ~/.npm + node_modules + key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node-modules- + + - name: Install dependencies + if: steps.cache-npm.outputs.cache-hit != 'true' + run: npm ci --include=dev --legacy-peer-deps + + - name: Run Stylelint + run: npx stylelint "**/*.{css,scss}" diff --git a/.stylelintrc.json b/.stylelintrc.json index 6601165993..0a295e6a78 100644 --- a/.stylelintrc.json +++ b/.stylelintrc.json @@ -1,5 +1,16 @@ { "extends": "@wordpress/stylelint-config/scss", + "ignoreFiles": [ + "**/vendor/**", + "**/node_modules/**", + "**/web-components/**", + "**/frm_admin.css", + "**/frm-settings-components.css", + "**/font_icons.css", + "**/frm_testing_mode.css", + "**/welcome-tour.css", + "**/css/formidableforms.css" + ], "rules": { "no-descending-specificity": null, "selector-class-pattern": null, @@ -13,6 +24,12 @@ "camelCaseSvgKeywords": true, "ignoreFunctions": ["currentColor"] } - ] + ], + "color-named": null, + "declaration-property-unit-allowed-list": null, + "no-invalid-position-at-import-rule": null, + "font-family-no-missing-generic-family-keyword": null, + "scss/at-import-no-partial-leading-underscore": null, + "scss/load-no-partial-leading-underscore": null } } diff --git a/.windsurf/rules/enterprise/code-change-principles.md b/.windsurf/rules/enterprise/code-change-principles.md index 84ed6ae031..1725730fe6 100644 --- a/.windsurf/rules/enterprise/code-change-principles.md +++ b/.windsurf/rules/enterprise/code-change-principles.md @@ -16,6 +16,7 @@ Critical principles for enterprise-level plugin development. 3. **Backward compatibility**: Maintain 100% compatibility with existing callers 4. **No custom solutions**: Never invent new patterns. Use existing ones or search the web to review best practices, then follow the official WordPress standards or VIP guidelines. 5. **User changes are final**: If user makes manual changes, treat as authoritative +6. **Multi-issue fixes**: When fixing multiple issues in one request, run all 6 phases independently for each issue. Findings from one issue's phases may inform the next, but every phase is mandatory for every issue, even when issues share a root cause. --- @@ -40,6 +41,7 @@ Before proposing solutions: - Trace execution flow from entry point to failure - **Analyze complete context** of the class or file being changed — all features, logic, and flows - **Trace parent hierarchy**: search parent classes and files up to plugin root +- **CSS-Specific Rules - Trace complete style cascade**: When debugging CSS on an element, identify ALL classes on the element and its ancestors, then search for ALL CSS rules affecting it (not just the obvious class). Understand the complete cascade before proposing changes - Identify ALL affected locations in the codebase - Map dependencies: what calls this code, what does this code call - Check plugin requirements: must code work standalone or require Pro/addons @@ -78,6 +80,8 @@ Before proposing solutions: - Never refactor unrelated code in the same commit - If a rule conflicts with existing code in the file being modified, follow the rule for new code but do not refactor unrelated existing code - Make the smallest change that completely solves the problem +- **CSS-Specific Rules - Never modify shared CSS classes**: If a CSS class is already used elsewhere in the plugin, do not change its behavior. Instead, add a new specific class for the feature and define new styles for it +- Use Big-O to compare algorithms and choose the most efficient one for large inputs and iterations - Never change method signatures, return types, or data structures - Add defensive checks where data comes in, not where used everywhere - Add PHPDoc/JSDoc for new methods/properties/functions and comments for complex logic diff --git a/.windsurf/rules/enterprise/conventional-commits.md b/.windsurf/rules/enterprise/conventional-commits.md index 51d6272958..84e34a50fd 100644 --- a/.windsurf/rules/enterprise/conventional-commits.md +++ b/.windsurf/rules/enterprise/conventional-commits.md @@ -36,16 +36,16 @@ All commit messages MUST follow the Conventional Commits 1.0.0 specification. The scope provides additional context about what part of the codebase the commit affects: -- `builder` - Form builder related changes -- `entries` - Entry management changes -- `fields` - Field types or field handling -- `api` - API endpoints or integrations -- `admin` - Admin UI changes -- `frontend` - Front-end form display -- `db` - Database operations -- `i18n` - Internationalization -- `security` - Security fixes or improvements -- `deps` - Dependencies +- `builder`: Form builder related changes +- `entries`: Entry management changes +- `fields`: Field types or field handling +- `api`: API endpoints or integrations +- `admin`: Admin UI changes +- `frontend`: Front-end form display +- `db`: Database operations +- `i18n`: Internationalization +- `security`: Security fixes or improvements +- `deps`: Dependencies ## Breaking Changes @@ -125,4 +125,3 @@ When generating commit messages: 2. Identify the scope from the files/directories changed. 3. Write a concise description in imperative mood. 4. Add body with details if the change is complex. -5. Do NOT include issue references in commit messages. Issue references (`Fixes URL`) go in the **PR body** only. diff --git a/.windsurf/rules/enterprise/principles.md b/.windsurf/rules/enterprise/principles.md index b889727570..7b99be3e95 100644 --- a/.windsurf/rules/enterprise/principles.md +++ b/.windsurf/rules/enterprise/principles.md @@ -9,9 +9,15 @@ Baseline rules that apply across the Formidable Forms plugin ecosystem. ## Writing Style for Generated Text -Applies to all generated text: PR titles, PR body, commit messages, branch names, and etc. +Applies to all generated text: PR titles, PR body, commit messages, comments, and etc. - **No em dashes** (`—` or `–`): use commas, periods, or rewrite the sentence - **No semicolons** (`;`): split into separate sentences instead - **Full GitHub URL** for issue references (e.g., `https://github.com/Strategy11/formidable-pro/issues/3030`), never shorthand `#number` (PRs may target a different repo than the issue) - **No hard-wrapping** in PR body text: let GitHub handle line wrapping. The 72-char wrap rule applies only to **commit message bodies** + +--- + +## PHPDoc/JSdoc Parameter Descriptions + +PHPDoc/JSdoc `@param` descriptions must be concise and describe what the parameter contains. Never document a parameter as "Unused", always describe its content, even when it is present only for hook/filter signature compatibility. diff --git a/.windsurf/rules/formidable/frm-css.md b/.windsurf/rules/formidable/frm-css.md index 688bfce593..503c8ef4e9 100644 --- a/.windsurf/rules/formidable/frm-css.md +++ b/.windsurf/rules/formidable/frm-css.md @@ -190,12 +190,12 @@ Maximum 3-4 levels deep. Group related properties: -1. **Display and Box Model** - display, box-sizing, width, height, padding, margin, border -2. **Positioning** - position, top, right, bottom, left, z-index -3. **Typography** - font-family, font-size, font-weight, line-height, text-align, color -4. **Visual** - background, box-shadow, opacity, border-radius -5. **Animation** - transition, transform, animation -6. **Miscellaneous** - cursor, overflow +1. **Display and Box Model**: display, box-sizing, width, height, padding, margin, border +2. **Positioning**: position, top, right, bottom, left, z-index +3. **Typography**: font-family, font-size, font-weight, line-height, text-align, color +4. **Visual**: background, box-shadow, opacity, border-radius +5. **Animation**: transition, transform, animation +6. **Miscellaneous**: cursor, overflow ### Shorthand Properties diff --git a/.windsurf/rules/formidable/frm-javascript.md b/.windsurf/rules/formidable/frm-javascript.md new file mode 100644 index 0000000000..726107c51a --- /dev/null +++ b/.windsurf/rules/formidable/frm-javascript.md @@ -0,0 +1,956 @@ +--- +trigger: glob +globs: ["**/*.js", "**/*.jsx", "**/*.mjs"] +description: Formidable Forms JavaScript patterns, modern ES6+ practices, and architectural decisions. Auto-applies to JS files. +--- + +# Formidable Forms JavaScript Patterns + +JavaScript-specific patterns, coding standards, and architectural decisions for Formidable Forms. These extend the WordPress JavaScript Coding Standards with modern best practices. + +--- + +## Critical Rules for New Code + +### No jQuery + +New code must NOT use jQuery. Use native DOM APIs and modern JavaScript. + +```javascript +// INCORRECT: jQuery +$( '.my-element' ).addClass( 'active' ); +$( '.my-element' ).on( 'click', handler ); +$.ajax( { url: '/api' } ); + +// CORRECT: Native +document.querySelector( '.my-element' ).classList.add( 'active' ); +document.querySelector( '.my-element' ).addEventListener( 'click', handler ); +fetch( '/api' ); +``` + +### Functional Over Class-Based + +Prefer functional and modular implementations over classes. + +```javascript +// INCORRECT: Class-based +class TemplateManager { + constructor() { + this.templates = []; + } + + addTemplate( template ) { + this.templates.push( template ); + } +} + +// CORRECT: Functional/Modular +const createTemplateManager = () => { + const templates = []; + + const addTemplate = ( template ) => { + templates.push( template ); + }; + + const getTemplates = () => [ ...templates ]; + + return { addTemplate, getTemplates }; +}; +``` + +### ES6+ Modern Syntax + +All new code must use ES6+ features. Target stable ECMAScript features only. + +--- + +## 1. Variables and Declarations + +### Use const and let + +Never use `var`. Use `const` by default. Use `let` only when reassignment is needed. + +```javascript +// CORRECT +const MAX_COUNT = 100; +const config = { timeout: 30 }; +let currentIndex = 0; + +// INCORRECT +var count = 0; +``` + +### One Variable Per Declaration + +Each variable gets its own declaration statement. + +```javascript +// CORRECT +const a = 1; +const b = 2; +let c = 3; + +// INCORRECT +const a = 1, + b = 2; +``` + +### Declare Close to First Use + +Declare variables close to where they are first used, not at the top of functions. + +```javascript +// CORRECT +function processItems( items ) { + if ( ! items.length ) { + return []; + } + + const processed = []; + for ( const item of items ) { + const result = transform( item ); + processed.push( result ); + } + + return processed; +} +``` + +--- + +## 2. Functions + +### Prefer Arrow Functions + +Use arrow functions for callbacks and short functions. + +```javascript +// CORRECT +const numbers = [ 1, 2, 3 ]; +const doubled = numbers.map( ( n ) => n * 2 ); + +elements.forEach( ( element ) => { + element.classList.add( 'active' ); +} ); + +// Named function for complex logic +function processComplexData( data ) { + // Multiple statements +} +``` + +### Pure Functions + +Prefer pure functions without side effects. + +```javascript +// CORRECT: Pure function +const calculateTotal = ( items ) => + items.reduce( ( sum, item ) => sum + item.price, 0 ); + +// INCORRECT: Impure function with side effects +let total = 0; +const calculateTotal = ( items ) => { + items.forEach( ( item ) => { + total += item.price; // Mutates external state + } ); +}; +``` + +### Default Parameters + +Use default parameters instead of conditional logic. + +```javascript +// CORRECT +function createUser( name, role = 'subscriber' ) { + return { name, role }; +} + +// INCORRECT +function createUser( name, role ) { + role = role || 'subscriber'; + return { name, role }; +} +``` + +### Rest Parameters + +Use rest parameters instead of `arguments` object. + +```javascript +// CORRECT +function sum( ...numbers ) { + return numbers.reduce( ( total, n ) => total + n, 0 ); +} + +// INCORRECT +function sum() { + return Array.prototype.slice.call( arguments ).reduce( ( t, n ) => t + n, 0 ); +} +``` + +### Early Returns + +Use early returns to avoid deep nesting. + +```javascript +// CORRECT +function processUser( user ) { + if ( ! user ) { + return null; + } + + if ( ! user.isActive ) { + return { error: 'User inactive' }; + } + + // Do something else + + return { data: user.profile }; +} + +// INCORRECT +function processUser( user ) { + if ( user ) { + if ( user.isActive ) { + // Do something else + + return { data: user.profile }; + } else { + return { error: 'User inactive' }; + } + } else { + return null; + } +} +``` + +--- + +## 3. Objects and Arrays + +### Object Shorthand + +Use shorthand property and method syntax. + +```javascript +// CORRECT +const name = 'John'; +const age = 30; +const user = { + name, + age, + greet() { + return `Hello, ${ this.name }`; + }, +}; + +// INCORRECT +const user = { + name: name, + age: age, + greet: function () { + return 'Hello, ' + this.name; + }, +}; +``` + +### Destructuring + +Use destructuring for objects and arrays. + +```javascript +// CORRECT +const { name, email } = user; +const [ first, second ] = items; +const { data: userData } = response; + +function processUser( { name, email, role = 'user' } ) { + // Use destructured values +} + +// INCORRECT +const name = user.name; +const email = user.email; +const first = items[ 0 ]; +``` + +### Spread Operator + +Use spread for copying and merging. + +```javascript +// CORRECT +const newArray = [ ...oldArray, newItem ]; +const newObject = { ...oldObject, newProperty: value }; +const merged = { ...defaults, ...options }; + +// INCORRECT +const newArray = oldArray.concat( [ newItem ] ); +const newObject = Object.assign( {}, oldObject, { newProperty: value } ); +``` + +### Computed Property Names + +Use computed property names when needed. + +```javascript +// CORRECT +const key = 'dynamicKey'; +const obj = { + [ key ]: value, + [ `prefix_${ key }` ]: otherValue, +}; +``` + +--- + +## 4. Modules + +### ES Modules Only + +Use ES modules (import/export) for all new code. + +```javascript +// CORRECT +import { getState, setState } from './shared'; +import defaultExport from './module'; +export const myFunction = () => {}; +export default mainFunction; + +// INCORRECT +const module = require( './module' ); +module.exports = myFunction; +``` + +**Exception:** `js/src/admin/admin.js` uses `require()` syntax. This is mandatory for that file due to its build configuration. All other files should use ES modules. + +### Named Exports Preferred + +Prefer named exports over default exports for better refactoring. + +```javascript +// CORRECT +export const processData = ( data ) => {}; +export const validateData = ( data ) => {}; + +// Use +import { processData, validateData } from './utils'; +``` + +### Single Import Per Module + +Import from a module only once per file. + +```javascript +// CORRECT +import { foo, bar, baz } from './utils'; + +// INCORRECT +import { foo } from './utils'; +import { bar } from './utils'; +``` + +### No Wildcard Imports + +Avoid wildcard imports in production code. + +```javascript +// CORRECT +import { specificFunction } from './utils'; + +// INCORRECT +import * as utils from './utils'; +``` + +--- + +## 5. DOM Manipulation + +### Query Selectors + +Use native query selectors. + +```javascript +// Single element +const element = document.querySelector( '.my-class' ); +const byId = document.getElementById( 'my-id' ); + +// Multiple elements +const elements = document.querySelectorAll( '.my-class' ); + +// Scoped query +const child = parent.querySelector( '.child' ); +``` + +### Element Creation with frmDom + +Use `frmDom` helpers for creating DOM elements. These are available globally via `window.frmDom`. + +```javascript +const { div, span, tag, a, img, svg } = frmDom; + +// Create a div with class and text +const myDiv = div( { + className: 'my-class', + text: 'Hello' +} ); + +// Create a div with children +const container = div( { + className: 'container', + children: [ + span( { text: 'Label:' } ), + span( { className: 'value', text: 'Content' } ) + ] +} ); + +// Create any element with tag() +const input = tag( 'input', { + id: 'my-input', + className: 'frm-input' +} ); +input.type = 'text'; +input.setAttribute( 'name', 'field_name' ); + +// Create anchor with href +const link = a( { + href: 'https://example.com', + text: 'Click here', + target: '_blank' +} ); + +// Create image +const image = img( { + src: '/path/to/image.png', + alt: 'Description' +} ); + +// Create SVG icon +const icon = svg( { href: '#frm_close_icon' } ); + +// Append to container +container.appendChild( myDiv ); +``` + +### Event Handling with frmDom.util + +Use `frmDom.util` helpers for common event patterns. + +```javascript +const { util } = frmDom; + +// Click with preventDefault +util.onClickPreventDefault( element, ( event ) => { + // Handler logic +} ); + +// Event delegation (like jQuery's document.on) +util.documentOn( 'click', '.my-selector', ( event ) => { + // Handler logic: 'this' refers to matched element +} ); + +// Debounced function +const debouncedSearch = util.debounce( handleSearch, 300 ); +input.addEventListener( 'input', debouncedSearch ); +``` + +### Native Event Handling + +For cases not covered by `frmDom.util`, use native APIs: + +```javascript +// Add listener +element.addEventListener( 'click', handleClick ); + +// Remove listener +element.removeEventListener( 'click', handleClick ); + +// Custom events +element.dispatchEvent( new CustomEvent( 'custom-event', { detail: data } ) ); +``` + +### Class Manipulation + +```javascript +element.classList.add( 'active' ); +element.classList.remove( 'active' ); +element.classList.toggle( 'active' ); +element.classList.contains( 'active' ); +element.classList.replace( 'old', 'new' ); +``` + +### DOM Sanitization + +Use `frmDom.cleanNode` for sanitizing DOM nodes. + +```javascript +// CORRECT: Use existing Formidable helper +frmDom.cleanNode( element ); + +// INCORRECT: Do not add new dependencies +import DOMPurify from 'dompurify'; +element.innerHTML = DOMPurify.sanitize( userData ); +``` + +--- + +## 6. Async Operations + +### AJAX with frmDom.ajax + +Use `frmDom.ajax` helpers for WordPress AJAX requests. These automatically handle nonces. + +```javascript +const { ajax } = frmDom; + +// GET request: action becomes 'frm_' + action +try { + const data = await ajax.doJsonFetch( 'get_template&template_id=123' ); + // data is the response from WordPress +} catch ( error ) { + console.error( 'Request failed:', error ); +} + +// POST request with FormData +const formData = new FormData(); +formData.append( 'template_id', templateId ); +formData.append( 'name', templateName ); + +try { + const data = await ajax.doJsonPost( 'save_template', formData ); + // data is the response from WordPress +} catch ( error ) { + console.error( 'Request failed:', error ); +} + +// POST with abort signal +const controller = new AbortController(); +try { + const data = await ajax.doJsonPost( 'search', formData, { + signal: controller.signal + } ); +} catch ( error ) { + if ( error.name === 'AbortError' ) { + // Request was cancelled + } +} +// To cancel: controller.abort(); +``` + +### Native Fetch API + +For non-WordPress AJAX or external APIs, use native Fetch: + +```javascript +// GET request +const response = await fetch( '/api/data' ); +const data = await response.json(); + +// POST request +const response = await fetch( '/api/submit', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify( payload ), +} ); +``` + +### Async/Await + +Prefer async/await over Promise chains. + +```javascript +// CORRECT +async function loadData() { + try { + const data = await frmDom.ajax.doJsonFetch( 'get_data' ); + return processData( data ); + } catch ( error ) { + handleError( error ); + return null; + } +} + +// INCORRECT: Promise chain for simple operations +function loadData() { + return fetch( url ) + .then( ( response ) => response.json() ) + .then( ( data ) => processData( data ) ) + .catch( ( error ) => handleError( error ) ); +} +``` + +### Parallel Async Operations + +Use Promise.all for independent parallel operations. + +```javascript +// CORRECT: Parallel execution +const [ templates, categories ] = await Promise.all( [ + frmDom.ajax.doJsonFetch( 'get_templates' ), + frmDom.ajax.doJsonFetch( 'get_categories' ), +] ); + +// INCORRECT: Sequential when parallel is possible +const templates = await frmDom.ajax.doJsonFetch( 'get_templates' ); +const categories = await frmDom.ajax.doJsonFetch( 'get_categories' ); +``` + +--- + +## 7. Error Handling + +### Narrow Try-Catch Scope + +Wrap only operations that can actually fail. Avoid wrapping logic that does not need error handling. + +```javascript +// CORRECT: Narrow scope around async operation +async function fetchData() { + let response; + try { + response = await fetch( url ); + } catch ( error ) { + console.error( 'Fetch failed:', error.message ); + return null; + } + + // Parsing logic outside try-catch (let errors surface if data is malformed) + return response.json(); +} + +// INCORRECT: Overly broad try-catch +async function fetchData() { + try { + const response = await fetch( url ); + const data = await response.json(); + const processed = transformData( data ); // This doesn't need try-catch + updateUI( processed ); // This doesn't need try-catch + return processed; + } catch ( error ) { + // Catches everything, including non-network errors + console.error( error ); + return null; + } +} +``` + +### When to Use Try-Catch + +- **Use for:** Network requests, file operations, JSON parsing, external API calls +- **Avoid for:** Simple logic, DOM operations, array methods, synchronous code that should fail loudly + +### Meaningful Error Messages + +Provide context in error messages. + +```javascript +// CORRECT +throw new Error( `Failed to load template: ${ templateId }` ); + +// INCORRECT +throw new Error( 'Error' ); +``` + +--- + +## 8. State Management + +### Encapsulated State + +Use closures or modules for state management. + +```javascript +// CORRECT: Module pattern from codebase +import { + getState, + getSingleState, + setState, + setSingleState, +} from 'core/page-skeleton'; + +// Initialize state +setState( { + currentView: 'list', + selectedItem: null, + isLoading: false, +} ); + +// Update state +setSingleState( 'isLoading', true ); + +// Read state +const { currentView, selectedItem } = getState(); +``` + +### Immutable Updates + +Never mutate state directly. + +```javascript +// CORRECT +const newState = { + ...state, + items: [ ...state.items, newItem ], +}; + +// INCORRECT +state.items.push( newItem ); +``` + +--- + +## 9. No Inline Event Handlers + +Do **not** use inline event handlers (`onclick`, `onkeydown`, etc.) in HTML. Keep all JS logic in JS files using `addEventListener`. + +```html + +
+ Custom Button +
+ + +
+ Custom Button +
+``` + +```javascript +// Attach events in JS files +const button = document.querySelector( '.js-custom-button' ); +button.addEventListener( 'click', handleClick ); +button.addEventListener( 'keydown', ( event ) => { + if ( event.key === 'Enter' || event.key === ' ' ) { + event.preventDefault(); + handleClick(); + } +} ); +``` + +--- + +## 10. Anti-Patterns to Avoid + +### Global Variable Pollution + +```javascript +// INCORRECT +myGlobalVar = 'value'; +window.myApp = {}; + +// CORRECT: Use modules +export const myValue = 'value'; +``` + +**Note:** Some `window` variables exist in `js/src/admin/admin.js` and other legacy files as architectural decisions. New code and updates should avoid this practice and use modules instead. + +### Callback Hell + +```javascript +// INCORRECT +getData( ( data ) => { + processData( data, ( result ) => { + saveData( result, ( response ) => { + // Deeply nested + } ); + } ); +} ); + +// CORRECT +const data = await getData(); +const result = await processData( data ); +const response = await saveData( result ); +``` + +### Modifying Built-in Prototypes + +```javascript +// NEVER DO THIS +Array.prototype.customMethod = function () {}; +String.prototype.myHelper = function () {}; +``` + +### Using eval() or Function() + +```javascript +// NEVER DO THIS +eval( userInput ); +new Function( userInput )(); +``` + +### Magic Numbers/Strings + +```javascript +// INCORRECT +if ( 3 === status ) { +} +element.style.width = '768px'; + +// CORRECT +const STATUS_COMPLETE = 3; +const TABLET_BREAKPOINT = '768px'; + +if ( STATUS_COMPLETE === status ) { +} +element.style.width = TABLET_BREAKPOINT; +``` + +### Excessive DOM Queries + +```javascript +// INCORRECT +document.querySelector( '.item' ).classList.add( 'active' ); +document.querySelector( '.item' ).textContent = 'Updated'; +document.querySelector( '.item' ).dataset.id = '123'; + +// CORRECT: Cache the reference +const item = document.querySelector( '.item' ); +item.classList.add( 'active' ); +item.textContent = 'Updated'; +item.dataset.id = '123'; +``` + +### DOM Manipulation in Loops + +```javascript +// INCORRECT: Causes reflow on each iteration +items.forEach( ( item ) => { + container.appendChild( createItem( item ) ); +} ); + +// CORRECT: Use DocumentFragment +const fragment = document.createDocumentFragment(); +items.forEach( ( item ) => { + fragment.appendChild( createItem( item ) ); +} ); +container.appendChild( fragment ); +``` + +--- + +## 11. Performance Patterns + +### Cache Function Results + +```javascript +// Module-level cache +const cache = new Map(); + +function expensiveOperation( key ) { + if ( cache.has( key ) ) { + return cache.get( key ); + } + + const result = /* expensive computation */; + cache.set( key, result ); + return result; +} +``` + +### Use Set/Map for Lookups + +```javascript +// CORRECT: O(1) lookup +const selectedIds = new Set( selectedItems.map( ( item ) => item.id ) ); +const isSelected = ( id ) => selectedIds.has( id ); + +// INCORRECT: O(n) lookup +const isSelected = ( id ) => selectedItems.some( ( item ) => item.id === id ); +``` + +--- + +## 12. Optional Chaining Best Practices + +Use optional chaining (`?.`) judiciously. Overuse can hide bugs and make code harder to debug. + +### When to Use + +```javascript +// CORRECT: Accessing deeply nested optional properties +const userName = response?.data?.user?.name; + +// CORRECT: Calling methods that may not exist +callback?.(); + +// CORRECT: Accessing properties on potentially null DOM elements +const value = document.getElementById( 'my-input' )?.value; +``` + +### When NOT to Use + +```javascript +// INCORRECT: NodeList.forEach already handles empty lists +const elements = document.querySelectorAll( '.item' ); +elements?.forEach( handleItem ); // Unnecessary - forEach on empty NodeList is safe +elements.forEach( handleItem ); // CORRECT + +// INCORRECT: Excessive chaining when explicit checks are clearer +if ( user?.profile?.settings?.notifications?.email ) { + // Hard to debug which part is null +} + +// CORRECT: Explicit checks for complex logic +if ( ! user || ! user.profile ) { + return handleMissingUser(); +} +const { settings } = user.profile; +if ( settings?.notifications?.email ) { + // Clear where the optional access starts +} + +// INCORRECT: Using ?. on values you control/expect to exist +const form = document.getElementById( 'main-form' ); +form?.submit(); // If form should exist, let it error so you know something is wrong + +// CORRECT: Let expected values error if missing +const form = document.getElementById( 'main-form' ); +form.submit(); // Errors if form doesn't exist (which is a bug to fix) +``` + +### Guidelines + +- **Do not use** `?.` on `querySelectorAll` results. Empty `NodeList` is safe to iterate. +- **Do not use** `?.` to silence errors on values that should always exist. +- **Use** `?.` for external data, API responses, and optional configurations. +- **Prefer** explicit `if` checks when null handling requires different logic paths. + +--- + +## ESLint + +ESLint is the linting tool used for this project. It statically analyzes code to catch errors and enforce coding standards. + +### ESLint Plugins + +The following ESLint plugins are active: + +- **`sonarjs`**: detects bugs and code smells (e.g., duplicated code, cognitive complexity) +- **`no-jquery`**: flags jQuery usage to enforce native DOM APIs +- **`jsdoc`**: enforces JSDoc comment format and completeness +- **`unicorn`**: enforces modern JavaScript best practices and consistent style + +### Running ESLint + +```bash +npm run lint +``` + +To auto-fix fixable issues: + +```bash +npm run lint:fix +``` diff --git a/.windsurf/rules/formidable/frm-php.md b/.windsurf/rules/formidable/frm-php.md index 4e3767e914..d8f7aa399a 100644 --- a/.windsurf/rules/formidable/frm-php.md +++ b/.windsurf/rules/formidable/frm-php.md @@ -17,7 +17,6 @@ Target **PHP 7.0** as the minimum version. Write code using PHP 7.0 features and ### PHP 7.0 Features (Allowed) - **Scalar type declarations**: `string`, `int`, `float`, `bool` for parameters -- **Return type declarations**: Specify return types after `)` - **Null coalescing operator**: `$value = $input ?? 'default';` - **Spaceship operator**: `$a <=> $b` returns -1, 0, or 1 - **Constant arrays with define()**: `define( 'ITEMS', array( 'a', 'b' ) );` @@ -31,7 +30,7 @@ Target **PHP 7.0** as the minimum version. Write code using PHP 7.0 features and | Feature | Version | Why Avoid | | ---------------------------------- | ------- | ---------------------- | | Nullable types (`?string`) | 7.1 | Syntax not available | -| `void` return type | 7.1 | Type not available | +| Return type declarations | 7.1 | Type not available | | `iterable` pseudo-type | 7.1 | Type not available | | Class constant visibility | 7.1 | Syntax not available | | Multi-catch exceptions (`\|`) | 7.1 | Syntax not available | @@ -48,11 +47,33 @@ Target **PHP 7.0** as the minimum version. Write code using PHP 7.0 features and | Union types | 8.0 | Syntax not available | | Attributes | 8.0 | Syntax not available | +### WordPress-Polyfilled Functions + +WordPress polyfills some newer PHP functions. The following are safe to use with **WordPress 6.3+** (our minimum version): + +| Function | PHP Version | WP Since | Safe to Use | +| ------------------- | ----------- | -------- | ----------- | +| `str_contains()` | 8.0 | 5.9 | ✓ | +| `str_starts_with()` | 8.0 | 5.9 | ✓ | +| `str_ends_with()` | 8.0 | 5.9 | ✓ | + +The following are polyfilled in **newer WordPress versions only** (do NOT use without version checks): + +| Function | PHP Version | WP Since | Notes | +| ------------------ | ----------- | -------- | ------------- | +| `array_is_list()` | 8.1 | 6.5 | Not in WP 6.3 | +| `array_find()` | 8.4 | 6.8 | Not in WP 6.3 | +| `array_find_key()` | 8.4 | 6.8 | Not in WP 6.3 | +| `array_any()` | 8.4 | 6.8 | Not in WP 6.3 | +| `array_all()` | 8.4 | 6.8 | Not in WP 6.3 | + +**Note:** `array_key_first()` and `array_key_last()` (PHP 7.3) are NOT polyfilled by WordPress. Do not use them without a manual fallback. + --- ## WordPress Version Requirement -Target **WordPress 5.5** as the minimum version. +Target **WordPress 6.3** as the minimum version. ### Version Compatibility @@ -64,8 +85,8 @@ When using newer WordPress functions or features: ```php // Example: Using a newer function with fallback -if ( version_compare( get_bloginfo( 'version' ), '5.9', '>=' ) ) { - // Use WordPress 5.9+ feature +if ( version_compare( get_bloginfo( 'version' ), '6.3', '>=' ) ) { + // Use WordPress 6.3+ feature $result = wp_new_function(); } else { // Fallback for older versions @@ -78,6 +99,7 @@ if ( version_compare( get_bloginfo( 'version' ), '5.9', '>=' ) ) { ## Class Naming - **Lite plugin:** `FrmClassName` (e.g., `FrmAppHelper`, `FrmDb`, `FrmField`) +- **Lite subfolders:** Classes in `/stripe/`, `/square/`, and similar subfolders also use the `Frm` prefix (e.g., `FrmStrpLiteConnectHelper`, `FrmSquareLiteAppHelper`) - **Pro plugin:** `FrmProClassName` (e.g., `FrmProAppHelper`, `FrmProField`) --- @@ -85,9 +107,14 @@ if ( version_compare( get_bloginfo( 'version' ), '5.9', '>=' ) ) { ## Hook Naming - **Lite hooks:** `frm_hook_name` -- **Pro hooks:** `frm_pro_hook_name` +- **Pro hooks:** Use `frm_hook_name` when the hook exists only in Pro (no need for a `pro` prefix). Use `frm_pro_hook_name` only if a Lite equivalent exists. - **Addons hooks:** `frm_addon_hook_name` +### Naming Rules + +- Names should be **descriptive enough** that there is no ambiguity +- Names should be **short**, removing anything redundant + --- ## PHPCS Sniffs Rules diff --git a/.windsurf/rules/formidable/frm-react.md b/.windsurf/rules/formidable/frm-react.md new file mode 100644 index 0000000000..8a01664a7b --- /dev/null +++ b/.windsurf/rules/formidable/frm-react.md @@ -0,0 +1,468 @@ +--- +trigger: glob +globs: ["**/*.jsx", "**/blocks/**/*.js"] +description: Formidable Forms React patterns and best practices for WordPress blocks and admin pages. Auto-applies to JSX files and block editor code. +--- + +# Formidable Forms React Patterns + +React-specific patterns for WordPress blocks, admin pages, and other React components in Formidable Forms. + +--- + +## Functional Components Only + +Never use class components. Use functional components with hooks. + +```jsx +// CORRECT +function MyComponent( { title, onSave } ) { + const [ isLoading, setIsLoading ] = useState( false ); + + return
{ title }
; +} + +// INCORRECT +class MyComponent extends Component { + render() { + return
{ this.props.title }
; + } +} +``` + +--- + +## Hooks Rules + +Here’s a cleaner, more concise version: + +--- + +## Hook & WordPress Packages Rules + +1. Call hooks only at the top level of React functions. +2. Use hooks only inside React function components or custom hooks. +3. Import React hooks from `@wordpress/element`. +4. Use `@wordpress/i18n` for internationalization. +5. Use `@wordpress/api-fetch` for REST API requests. +6. Use `@wordpress/components` for WordPress-styled UI components. +7. Use `@wordpress/data` for state and data management. +8. Use `@wordpress/blocks` for block utilities. +9. Use `@wordpress/editor` for Block Editor functionality. + +```jsx +import { useState, useEffect, useCallback, useMemo } from '@wordpress/element'; + +function MyComponent( { items } ) { + // CORRECT: Hooks at top level + const [ selected, setSelected ] = useState( null ); + + // INCORRECT: Conditional hook + if ( items.length ) { + const [ count, setCount ] = useState( 0 ); // Error! + } +} +``` + +--- + +## Memoization + +Use `useMemo` for expensive computations and `useCallback` for stable function references. + +```jsx +import { useMemo, useCallback } from '@wordpress/element'; + +function ItemList( { items, onSelect } ) { + // Memoize expensive computation + const processedItems = useMemo( () => { + return items.map( ( item ) => expensiveProcess( item ) ); + }, [ items ] ); + + // Stable callback reference + const handleSelect = useCallback( + ( id ) => { + onSelect( id ); + }, + [ onSelect ], + ); + + return ( + + ); +} +``` + +--- + +## Avoid Unnecessary Re-renders + +```jsx +// INCORRECT: Creates new object every render + + i.active ) } /> + handleClick() } /> + +// CORRECT: Stable references +const style = useMemo( () => ( { color: 'red' } ), [] ); +const activeItems = useMemo( () => items.filter( ( i ) => i.active ), [ items ] ); +const handleClick = useCallback( () => { /* ... */ }, [] ); + + + + +``` + +--- + +## Derived State + +Derive values during render instead of syncing with effects. + +```jsx +// CORRECT: Derived during render +function FilteredList( { items, filter } ) { + const filteredItems = items.filter( ( item ) => item.type === filter ); + + return ; +} + +// INCORRECT: Unnecessary state and effect +function FilteredList( { items, filter } ) { + const [ filteredItems, setFilteredItems ] = useState( [] ); + + useEffect( () => { + setFilteredItems( items.filter( ( item ) => item.type === filter ) ); + }, [ items, filter ] ); + + return ; +} +``` + +--- + +## State Initialization + +Use lazy initialization for expensive values. + +```jsx +// CORRECT: Lazy initialization (function only called once) +const [ state, setState ] = useState( () => computeExpensiveValue( props ) ); + +// INCORRECT: Runs on every render +const [ state, setState ] = useState( computeExpensiveValue( props ) ); +``` + +--- + +## Functional setState + +Use functional updates when new state depends on previous state. + +```jsx +// CORRECT: Functional update +setCount( ( prevCount ) => prevCount + 1 ); +setItems( ( prevItems ) => [ ...prevItems, newItem ] ); + +// INCORRECT: May use stale state +setCount( count + 1 ); +``` + +--- + +## useRef for Transient Values + +Use refs for values that change frequently but do not need re-renders. + +```jsx +function Draggable() { + const positionRef = useRef( { x: 0, y: 0 } ); + + const handleMouseMove = ( event ) => { + // Update ref without re-render + positionRef.current = { x: event.clientX, y: event.clientY }; + }; + + return
; +} +``` + +--- + +## Early Returns in Components + +```jsx +function UserProfile( { user, isLoading } ) { + if ( isLoading ) { + return ; + } + + if ( ! user ) { + return ; + } + + return ( +
+

{ user.name }

+ { /* Rest of component */ } +
+ ); +} +``` + +--- + +## Composition Patterns + +### Compound Components + +Instead of boolean props, use composition. + +```jsx +// INCORRECT: Boolean prop proliferation + + +// CORRECT: Compound components + + Title + + Content + + + + +``` + +### Children Over Render Props + +```jsx +// CORRECT: Children for composition + + Title + { content } + + +// AVOID: Render props when children work +
Title
} + renderContent={ () => content } +/> +``` + +### Context for Shared State + +```jsx +import { createContext, useContext, useState } from '@wordpress/element'; + +const FormContext = createContext(); + +function FormProvider( { children } ) { + const [ values, setValues ] = useState( {} ); + const [ errors, setErrors ] = useState( {} ); + + const setValue = ( name, value ) => { + setValues( ( prev ) => ( { ...prev, [ name ]: value } ) ); + }; + + return ( + + { children } + + ); +} + +function useForm() { + const context = useContext( FormContext ); + if ( ! context ) { + throw new Error( 'useForm must be used within FormProvider' ); + } + return context; +} +``` + +--- + +## WordPress Data Layer (wp.data) + +The `@wordpress/data` package provides centralized state management for WordPress applications, inspired by Redux but tailored for the WordPress ecosystem. + +### Creating Custom Data Stores + +Use `createReduxStore` and `register` to define and register custom stores: + +```jsx +import { createReduxStore, register } from '@wordpress/data'; + +const DEFAULT_STATE = { + items: [], + isLoading: false, +}; + +const actions = { + addItem( item ) { + return { type: 'ADD_ITEM', item }; + }, + setLoading( isLoading ) { + return { type: 'SET_LOADING', isLoading }; + }, +}; + +function reducer( state = DEFAULT_STATE, action ) { + switch ( action.type ) { + case 'ADD_ITEM': + return { ...state, items: [ ...state.items, action.item ] }; + case 'SET_LOADING': + return { ...state, isLoading: action.isLoading }; + default: + return state; + } +} + +const selectors = { + getItems( state ) { + return state.items; + }, + isLoading( state ) { + return state.isLoading; + }, +}; + +const store = createReduxStore( 'formidable/my-feature', { + reducer, + actions, + selectors, +} ); + +register( store ); +``` + +### Using Selectors with useSelect + +```jsx +import { useSelect } from '@wordpress/data'; + +function ItemList() { + const { items, isLoading } = useSelect( ( select ) => ( { + items: select( 'formidable/my-feature' ).getItems(), + isLoading: select( 'formidable/my-feature' ).isLoading(), + } ), [] ); + + if ( isLoading ) { + return ; + } + + return ( +
    + { items.map( ( item ) => ( +
  • { item.name }
  • + ) ) } +
+ ); +} +``` + +### Dispatching Actions with useDispatch + +```jsx +import { useDispatch } from '@wordpress/data'; + +function AddItemButton() { + const { addItem } = useDispatch( 'formidable/my-feature' ); + + const handleClick = () => { + addItem( { id: Date.now(), name: 'New Item' } ); + }; + + return ; +} +``` + +### Resolvers for Async Data + +Resolvers fetch data asynchronously when a selector is first called: + +```jsx +const resolvers = { + getItems() { + return async ( { dispatch } ) => { + dispatch( actions.setLoading( true ) ); + try { + const items = await apiFetch( { path: '/formidable/v1/items' } ); + dispatch( { type: 'SET_ITEMS', items } ); + } finally { + dispatch( actions.setLoading( false ) ); + } + }; + }, +}; + +const store = createReduxStore( 'formidable/my-feature', { + reducer, + actions, + selectors, + resolvers, +} ); +``` + +### Thunks for Complex Actions + +Use thunks for actions that need async logic or access to other actions: + +```jsx +const actions = { + fetchAndProcessItems() { + return async ( { dispatch, select } ) => { + dispatch( { type: 'FETCH_START' } ); + try { + const response = await apiFetch( { path: '/api/items' } ); + const items = response.json(); + dispatch( { type: 'FETCH_SUCCESS', items } ); + } catch ( error ) { + dispatch( { type: 'FETCH_ERROR', error: error.message } ); + } + }; + }, +}; +``` + +### Batching Dispatches + +Use `registry.batch()` to avoid unnecessary re-renders when dispatching multiple actions: + +```jsx +import { useRegistry } from '@wordpress/data'; + +function BulkActions() { + const registry = useRegistry(); + + const handleBulkUpdate = () => { + registry.batch( () => { + registry.dispatch( 'formidable/my-feature' ).setLoading( true ); + registry.dispatch( 'formidable/my-feature' ).clearItems(); + registry.dispatch( 'formidable/my-feature' ).setLoading( false ); + } ); + }; + + return ; +} +``` + +### Store Naming Convention + +Use namespaced store names following the pattern `formidable/{feature-name}`: + +- `formidable/form-builder` +- `formidable/entries` +- `formidable/templates` diff --git a/.windsurf/rules/formidable/frm-security.md b/.windsurf/rules/formidable/frm-security.md new file mode 100644 index 0000000000..5f77abe623 --- /dev/null +++ b/.windsurf/rules/formidable/frm-security.md @@ -0,0 +1,170 @@ +--- +trigger: glob +globs: ['**/*.php', '**/*.js'] +description: Formidable Forms security patterns and helper functions. Auto-applies to PHP and JS files. +--- + +# Formidable Forms Security Patterns + +Formidable-specific security helpers and patterns that extend WordPress VIP security standards. + +--- + +## Input Handling + +### Use Formidable Input Helpers + +Prefer these Formidable functions over accessing `$_POST` or `$_GET` directly: + +| Function | Use Case | +| -------- | -------- | +| `FrmAppHelper::get_post_param( $param, $default, $sanitize )` | Read from `$_POST` | +| `FrmAppHelper::simple_get( $param, $sanitize, $default )` | Read from `$_GET` | +| `FrmAppHelper::get_param( $param, $default, $src, $sanitize )` | Read from `$_GET` or `$_POST` | + +**Important:** You must explicitly specify the `$sanitize` parameter or the value will not be sanitized. + +### Examples + +```php +// Read from $_POST with sanitization +$title = FrmAppHelper::get_post_param( 'title', '', 'sanitize_text_field' ); +$email = FrmAppHelper::get_post_param( 'email', '', 'sanitize_email' ); +$url = FrmAppHelper::get_post_param( 'url', '', 'sanitize_url' ); +$key = FrmAppHelper::get_post_param( 'key', '', 'sanitize_key' ); + +// Read from $_GET with sanitization +$page = FrmAppHelper::simple_get( 'page', 'sanitize_text_field' ); + +// Read from either $_GET or $_POST (checks both) +$action = FrmAppHelper::get_param( 'action', '', 'get', 'sanitize_text_field' ); +``` + +### Common Sanitization Functions + +| Function | Use Case | +| -------- | -------- | +| `sanitize_text_field()` | Single line text | +| `sanitize_textarea_field()` | Multi-line text | +| `sanitize_email()` | Email addresses | +| `sanitize_file_name()` | File names | +| `sanitize_key()` | Keys and slugs | +| `sanitize_title()` | Titles and slugs | +| `sanitize_url()` | URLs | +| `absint()` | Positive integers | +| `intval()` | Integers | +| `wp_kses()` | HTML with allowed tags | + +--- + +## Nonce Verification + +Use Formidable helpers to read nonce values: + +```php +// In form +wp_nonce_field( 'my_action', 'my_nonce' ); + +// On submission: Use Formidable helper +$nonce = FrmAppHelper::get_post_param( 'my_nonce', '', 'sanitize_text_field' ); +if ( ! $nonce || ! wp_verify_nonce( $nonce, 'my_action' ) ) { + wp_die( 'Security check failed' ); +} +``` + +--- + +## Serialization + +### serialize() vs unserialize() + +- `serialize()` is safe to use +- `unserialize()` has object injection risk: **never use on user data** + +### Safe Alternatives + +```php +// CORRECT: Use Formidable helper +$data = FrmAppHelper::maybe_unserialize_array( $serialized_data ); + +// CORRECT: Use JSON instead +$data = json_decode( $json_string, true ); + +// INCORRECT: Security risk +$data = unserialize( $user_input ); +``` + +--- + +## DOM Sanitization (JavaScript) + +Use `frmDom.cleanNode` for sanitizing DOM nodes. Do **not** introduce DOMPurify as a dependency. + +```javascript +// CORRECT: Use existing Formidable helper +frmDom.cleanNode( element ); + +// INCORRECT: Do not add new dependencies +import DOMPurify from 'dompurify'; +element.innerHTML = DOMPurify.sanitize( userData ); +``` + +### Unsafe JavaScript Patterns + +```javascript +// UNSAFE: Never use +element.innerHTML = userData; +$( element ).html( userData ); +eval( userInput ); + +// SAFE: Programmatic DOM manipulation +const text = document.createTextNode( userData ); +element.appendChild( text ); +``` + +--- + +## Authorization + +### Capability Checks + +Formidable provides helper methods for permission checks: + +```php +// Check if user has a Formidable capability +if ( ! FrmAppHelper::current_user_can( 'frm_edit_forms' ) ) { + wp_die( esc_html( FrmAppHelper::get_settings()->admin_permission ) ); +} + +// Check permission and nonce together +$error = FrmAppHelper::permission_nonce_error( 'frm_edit_forms', 'frm_ajax', 'nonce' ); +if ( $error ) { + wp_die( esc_html( $error ) ); +} + +// Check if user has any of multiple roles +if ( ! FrmAppHelper::user_has_permission( array( 'frm_edit_forms', 'frm_view_forms' ) ) ) { + wp_die( 'Unauthorized access' ); +} +``` + +### Formidable Capabilities + +| Capability | Description | +| ---------- | ----------- | +| `frm_view_forms` | View forms list | +| `frm_edit_forms` | Create and edit forms | +| `frm_delete_forms` | Delete forms | +| `frm_change_settings` | Modify plugin settings | +| `frm_view_entries` | View form entries | +| `frm_edit_entries` | Edit form entries | +| `frm_delete_entries` | Delete form entries | + +--- + +## Forbidden Functions + +| Function | Reason | Alternative | +| -------- | ------ | ----------- | +| `unserialize()` | Object injection risk | `FrmAppHelper::maybe_unserialize_array()` or `json_decode()` | +| Direct `$_POST`/`$_GET` | Unsanitized input | Use `FrmAppHelper::get_post_param()`, `simple_get()`, `get_param()` | diff --git a/.windsurf/rules/formidable/testing.md b/.windsurf/rules/formidable/frm-testing.md similarity index 97% rename from .windsurf/rules/formidable/testing.md rename to .windsurf/rules/formidable/frm-testing.md index aaf7b17e8d..d15f344652 100644 --- a/.windsurf/rules/formidable/testing.md +++ b/.windsurf/rules/formidable/frm-testing.md @@ -80,14 +80,14 @@ Follow **Arrange-Act-Assert** pattern: ```php public function test_entry_creation_with_valid_data() { - // Arrange - Set up test data and conditions + // Arrange: Set up test data and conditions $form = $this->factory->form->create_and_get(); $field = $this->factory->field->create_and_get( array( 'form_id' => $form->id, 'type' => 'text', ) ); - // Act - Execute the code being tested + // Act: Execute the code being tested $entry_id = FrmEntry::create( array( 'form_id' => $form->id, 'item_meta' => array( @@ -95,7 +95,7 @@ public function test_entry_creation_with_valid_data() { ), ) ); - // Assert - Verify the results + // Assert: Verify the results $this->assertIsNumeric( $entry_id, 'Entry ID should be numeric.' ); $this->assertGreaterThan( 0, $entry_id, 'Entry ID should be positive.' ); } @@ -182,13 +182,13 @@ public function test_subscriber_cannot_delete_form() { ### Use Specific Assertions ```php -// CORRECT - Specific assertions +// CORRECT: Specific assertions $this->assertSame( $expected, $actual, 'Values should be identical.' ); $this->assertIsArray( $result, 'Result should be an array.' ); $this->assertArrayHasKey( 'id', $data, 'Data should have id key.' ); $this->assertStringContainsString( 'error', $message, 'Message should contain error.' ); -// INCORRECT - Generic assertions +// INCORRECT: Generic assertions $this->assertTrue( $expected === $actual ); $this->assertTrue( is_array( $result ) ); ``` diff --git a/.windsurf/rules/wordpress-vip/wpvip-block-editor.md b/.windsurf/rules/wordpress-vip/wpvip-block-editor.md index 94789bb62c..21b74a0859 100644 --- a/.windsurf/rules/wordpress-vip/wpvip-block-editor.md +++ b/.windsurf/rules/wordpress-vip/wpvip-block-editor.md @@ -36,7 +36,7 @@ Dynamic blocks generate content server-side using PHP, ideal for frequently upda ```php
> @@ -313,7 +313,7 @@ module.exports = { import { useSelect } from '@wordpress/data'; import { store as coreStore } from '@wordpress/core-data'; -// CORRECT - Minimal dependencies, automatic caching +// CORRECT: Minimal dependencies, automatic caching const postTitle = useSelect( ( select ) => { return select( coreStore ).getEntityRecord( 'postType', 'post', postId )?.title; @@ -321,18 +321,3 @@ const postTitle = useSelect( [ postId ] ); ``` - ---- - -## Tooling - -```bash -# Create new block -npx @wordpress/create-block my-block - -# Build with modules support -npm run build -- --experimental-modules - -# Install VIP-compatible packages -npm install @wordpress/scripts --save-dev -``` diff --git a/.windsurf/rules/wordpress-vip/wpvip-performance.md b/.windsurf/rules/wordpress-vip/wpvip-performance.md index 416ebecf40..352431e71d 100644 --- a/.windsurf/rules/wordpress-vip/wpvip-performance.md +++ b/.windsurf/rules/wordpress-vip/wpvip-performance.md @@ -26,7 +26,7 @@ Each SQL query adds overhead and latency. Reduce the number of queries. ### Query Design ```php -// CORRECT - Efficient query with proper limits +// CORRECT: Efficient query with proper limits $posts = $wpdb->get_results( $wpdb->prepare( "SELECT ID, post_title FROM $wpdb->posts @@ -39,7 +39,7 @@ $posts = $wpdb->get_results( ) ); -// INCORRECT - Unbounded query +// INCORRECT: Unbounded query $posts = $wpdb->get_results( "SELECT * FROM $wpdb->posts" ); ``` @@ -143,14 +143,14 @@ add_action( 'save_post', function( $post_id ) { Each template requires additional processing and database queries. ```php -// CAUTION - Too many template parts +// CAUTION: Too many template parts get_template_part( 'header' ); get_template_part( 'nav' ); get_template_part( 'sidebar' ); get_template_part( 'content' ); get_template_part( 'footer' ); -// BETTER - Cache reusable partials +// BETTER: Cache reusable partials $nav = wp_cache_get( 'main_nav', 'partials' ); if ( false === $nav ) { ob_start(); @@ -170,10 +170,10 @@ echo $nav; Only use necessary hooks and avoid excessive callbacks. ```php -// INCORRECT - Running on every admin request +// INCORRECT: Running on every admin request add_action( 'admin_init', 'expensive_operation' ); -// CORRECT - Conditional execution +// CORRECT: Conditional execution add_action( 'admin_init', function() { if ( ! isset( $_GET['my_action'] ) ) { return; @@ -216,7 +216,7 @@ define( 'DISABLE_WP_CRON', true ); ### Use Server Cron ```bash -# Crontab entry - run every minute +# Crontab entry: run every minute * * * * * cd /path/to/wordpress && wp cron event run --due-now ``` @@ -231,19 +231,21 @@ On WordPress VIP, cron is handled by Automattic Cron Control plugin automaticall ### Avoid Loading All Posts ```php -// INCORRECT - Loads all posts into memory +// INCORRECT: Loads all posts into memory $posts = get_posts( array( 'numberposts' => -1 ) ); foreach ( $posts as $post ) { process( $post ); } -// CORRECT - Batch processing +// CORRECT: Batch processing $paged = 1; do { - $posts = get_posts( array( - 'numberposts' => 100, - 'paged' => $paged, - ) ); + $posts = get_posts( + array( + 'numberposts' => 100, + 'paged' => $paged, + ) + ); foreach ( $posts as $post ) { process( $post ); @@ -256,12 +258,12 @@ do { ### Avoid Remote Requests in Loops ```php -// INCORRECT - Multiple requests +// INCORRECT: Multiple requests foreach ( $items as $item ) { $data = wp_remote_get( $item['url'] ); } -// CORRECT - Batch or background process +// CORRECT: Batch or background process wp_schedule_single_event( time(), 'process_items_batch', array( $items ) ); ``` @@ -299,18 +301,3 @@ add_filter( 'script_loader_tag', function( $tag, $handle ) { return $tag; }, 10, 2 ); ``` - ---- - -## Tooling - -```bash -# Query Monitor - Identify slow queries -# Install Query Monitor plugin - -# New Relic - Performance monitoring -# Available on VIP platform - -# VIP Code Analysis -vip @mysite.production -- wp vip migration analyze -``` diff --git a/.windsurf/rules/wordpress-vip/wpvip-security.md b/.windsurf/rules/wordpress-vip/wpvip-security.md index d23e91ad93..0a2edea83f 100644 --- a/.windsurf/rules/wordpress-vip/wpvip-security.md +++ b/.windsurf/rules/wordpress-vip/wpvip-security.md @@ -1,6 +1,6 @@ --- trigger: glob -globs: ['**/*.php', '**/*.js'] +globs: ["**/*.php", "**/*.js"] description: WordPress VIP security standards based on OWASP guidelines. Auto-applies to PHP and JS files. --- @@ -19,10 +19,10 @@ Enterprise-level security for WordPress VIP platform based on OWASP Top 10. Escape data immediately before output, not at assignment. ```php -// CORRECT - Escape at output +// CORRECT: Escape at output echo esc_html( $title ); -// INCORRECT - Escape at assignment +// INCORRECT: Escape at assignment $title = esc_html( $raw_title ); // ... later echo $title; // May be double-escaped or bypassed @@ -30,15 +30,15 @@ echo $title; // May be double-escaped or bypassed ### Escaping Functions -| Function | Use Case | -| -------- | -------- | -| `esc_html()` | HTML element content | -| `esc_attr()` | HTML attributes | -| `esc_url()` | URLs and links | -| `esc_js()` | Inline JavaScript | -| `esc_textarea()` | Textarea content | -| `wp_kses_post()` | Allow safe HTML | -| `wp_kses()` | Custom allowed HTML | +| Function | Use Case | +| ---------------- | -------------------- | +| `esc_html()` | HTML element content | +| `esc_attr()` | HTML attributes | +| `esc_url()` | URLs and links | +| `esc_js()` | Inline JavaScript | +| `esc_textarea()` | Textarea content | +| `wp_kses_post()` | Allow safe HTML | +| `wp_kses()` | Custom allowed HTML | ### Output Examples @@ -65,18 +65,17 @@ wp_localize_script( 'my-script', 'myData', array( ``` ```javascript -// UNSAFE - Never use +// UNSAFE: Never use element.innerHTML = userData; -$( element ).html( userData ); -eval( userInput ); +$(element).html(userData); +eval(userInput); -// SAFE - Programmatic DOM manipulation -const text = document.createTextNode( userData ); -element.appendChild( text ); +// SAFE: Programmatic DOM manipulation +const text = document.createTextNode(userData); +element.appendChild(text); -// SAFE - Use DOMPurify for HTML -import DOMPurify from 'dompurify'; -element.innerHTML = DOMPurify.sanitize( userData ); +// SAFE: Use textContent for text +element.textContent = userData; ``` --- @@ -97,23 +96,23 @@ $wpdb->query( ### Prepare Placeholders -| Placeholder | Type | -| ----------- | ---- | -| `%d` | Integer | -| `%f` | Float | -| `%s` | String | -| `%i` | Identifier (table/field names) | +| Placeholder | Type | +| ----------- | ------------------------------ | +| `%d` | Integer | +| `%f` | Float | +| `%s` | String | +| `%i` | Identifier (table/field names) | ### Use WordPress APIs ```php -// PREFERRED - WordPress functions +// PREFERRED: WordPress functions $posts = get_posts( array( 'post_type' => 'post', 'posts_per_page' => 10, ) ); -// AVOID - Direct queries when possible +// AVOID: Direct queries when possible $posts = $wpdb->get_results( "SELECT * FROM $wpdb->posts LIMIT 10" ); ``` @@ -123,27 +122,24 @@ $posts = $wpdb->get_results( "SELECT * FROM $wpdb->posts LIMIT 10" ); ### Sanitize Early -```php -$title = sanitize_text_field( wp_unslash( $_POST['title'] ) ); -$email = sanitize_email( $_POST['email'] ); -$url = esc_url_raw( $_POST['url'] ); -$key = sanitize_key( $_POST['key'] ); -$ids = array_map( 'absint', $_POST['ids'] ); -``` +Sanitize all input immediately when reading from superglobals. + +**For Formidable:** Use `FrmAppHelper::get_post_param()`, `FrmAppHelper::simple_get()`, or `FrmAppHelper::get_param()` instead of direct `$_POST`/`$_GET` access. See `formidable/frm-security.md` for details. ### Sanitization Functions -| Function | Use Case | -| -------- | -------- | -| `sanitize_text_field()` | Single line text | -| `sanitize_textarea_field()` | Multi-line text | -| `sanitize_email()` | Email addresses | -| `sanitize_file_name()` | File names | -| `sanitize_key()` | Keys and slugs | -| `sanitize_title()` | Titles and slugs | -| `absint()` | Positive integers | -| `intval()` | Integers | -| `wp_kses()` | HTML with allowed tags | +| Function | Use Case | +| --------------------------- | ---------------------- | +| `sanitize_text_field()` | Single line text | +| `sanitize_textarea_field()` | Multi-line text | +| `sanitize_email()` | Email addresses | +| `sanitize_file_name()` | File names | +| `sanitize_key()` | Keys and slugs | +| `sanitize_title()` | Titles and slugs | +| `sanitize_url()` | URLs | +| `absint()` | Positive integers | +| `intval()` | Integers | +| `wp_kses()` | HTML with allowed tags | --- @@ -152,7 +148,7 @@ $ids = array_map( 'absint', $_POST['ids'] ); ### Validate Against Trusted Values ```php -// CORRECT - Validate against allowed list +// CORRECT: Validate against allowed list $allowed = array( 'draft', 'publish', 'pending' ); if ( ! in_array( $status, $allowed, true ) ) { wp_die( 'Invalid status' ); @@ -166,52 +162,6 @@ if ( $value === 'expected' ) { --- -## Authentication & Authorization - -### Nonce Verification - -```php -// In form -wp_nonce_field( 'my_action', 'my_nonce' ); - -// On submission -if ( ! isset( $_POST['my_nonce'] ) || - ! wp_verify_nonce( $_POST['my_nonce'], 'my_action' ) ) { - wp_die( 'Security check failed' ); -} -``` - -### AJAX Nonce - -```php -// Enqueue with nonce -wp_localize_script( 'my-script', 'myAjax', array( - 'ajaxurl' => admin_url( 'admin-ajax.php' ), - 'nonce' => wp_create_nonce( 'my_ajax_action' ), -) ); - -// Verify in handler -add_action( 'wp_ajax_my_action', function() { - check_ajax_referer( 'my_ajax_action', 'nonce' ); - // Process request -} ); -``` - -### Capability Checks - -```php -if ( ! current_user_can( 'edit_posts' ) ) { - wp_die( 'Unauthorized access' ); -} - -// Check specific post -if ( ! current_user_can( 'edit_post', $post_id ) ) { - wp_die( 'You cannot edit this post' ); -} -``` - ---- - ## File Operations ### Use WP_Filesystem @@ -259,7 +209,7 @@ if ( isset( $upload['error'] ) ) { ### Use WordPress HTTP API ```php -$response = wp_remote_get( 'https://api.example.com/data', array( +$response = wp_safe_remote_get( 'https://api.example.com/data', array( 'timeout' => 15, ) ); @@ -285,14 +235,16 @@ $response = wp_remote_get( $url, array( ## Forbidden Functions -| Function | Reason | Alternative | -| -------- | ------ | ----------- | -| `extract()` | Unpredictable | Access array keys directly | -| `eval()` | Security vulnerability | Refactor code logic | -| `create_function()` | Deprecated, insecure | Anonymous functions | -| `serialize()` for user data | Security risk | `json_encode()` | -| `file_get_contents()` for URLs | Unreliable | `wp_remote_get()` | -| `curl_*` functions | Inconsistent | WP HTTP API | +| Function | Reason | Alternative | +| ------------------------------ | ---------------------- | -------------------------------------- | +| `extract()` | Unpredictable | Access array keys directly | +| `eval()` | Security vulnerability | Refactor code logic | +| `create_function()` | Deprecated, insecure | Anonymous functions | +| `unserialize()` | Object injection risk | `json_decode()` or validate input type | +| `file_get_contents()` for URLs | Unreliable | `wp_safe_remote_get()` | +| `curl_*` functions | Inconsistent | WP HTTP API | + +**For Formidable:** Use `FrmAppHelper::maybe_unserialize_array()` instead of `unserialize()`. Note that `serialize()` is safe to use. --- @@ -334,18 +286,3 @@ error_log( 'Login: ' . $username . ' / ' . $password ); // CORRECT error_log( 'Login attempt: ' . $username ); ``` - ---- - -## Tooling - -```bash -# VIP PHPCS -composer require automattic/vipwpcs - -# Run check -./vendor/bin/phpcs --standard=WordPress-VIP-Go path/to/file.php - -# Snyk for vulnerability scanning -snyk test -``` diff --git a/.windsurf/rules/wordpress/accessibility.md b/.windsurf/rules/wordpress/accessibility.md index 5966e58815..dae10590de 100644 --- a/.windsurf/rules/wordpress/accessibility.md +++ b/.windsurf/rules/wordpress/accessibility.md @@ -167,24 +167,27 @@ All functionality must be available via keyboard. Link - +
Custom Button
``` +Do **not** use inline event handlers (`onclick`, `onkeydown`). Attach all events in JavaScript files. + ```javascript -function handleKeydown( event ) { +const button = document.querySelector( '.js-custom-button' ); +button.addEventListener( 'click', handleClick ); +button.addEventListener( 'keydown', function( event ) { if ( event.key === 'Enter' || event.key === ' ' ) { event.preventDefault(); handleClick(); } -} +} ); ``` **Focus Trap Prevention** diff --git a/.windsurf/rules/wordpress/block-editor.md b/.windsurf/rules/wordpress/block-editor.md index 69dd84ac2e..949b8148a6 100644 --- a/.windsurf/rules/wordpress/block-editor.md +++ b/.windsurf/rules/wordpress/block-editor.md @@ -717,28 +717,3 @@ function MyBlock() { ); } ``` - ---- - -## VIP Standards - -For WordPress VIP-specific block editor standards including dynamic blocks, block bindings, Script Modules API, and enterprise performance patterns, see `wordpress-vip/wpvip-block-editor.md`. - ---- - -## Tooling - -```bash -# Create new block -npx @wordpress/create-block my-block - -# Create block in existing plugin -npx @wordpress/create-block my-block --no-plugin - -# With interactive mode -npx @wordpress/create-block - -# Install packages -npm install @wordpress/scripts --save-dev -npm install @wordpress/block-editor @wordpress/blocks @wordpress/components @wordpress/i18n -``` diff --git a/.windsurf/rules/wordpress/javascript.md b/.windsurf/rules/wordpress/javascript.md index a9d366ae85..ea068cbe54 100644 --- a/.windsurf/rules/wordpress/javascript.md +++ b/.windsurf/rules/wordpress/javascript.md @@ -1,738 +1,448 @@ --- trigger: glob globs: ["**/*.js", "**/*.jsx", "**/*.mjs"] -description: WordPress JavaScript coding standards with modern ES6+ best practices. Auto-applies when working with JS files. +description: WordPress JavaScript coding standards based on WordPress Core Official Standards. Auto-applies when working with JS files. --- # WordPress JavaScript Coding Standards -Based on WordPress Core Official Standards and modern best practices from Google, Airbnb, and major tech companies. +Based on WordPress Core Official Standards. -**References:** - -- [WordPress JavaScript Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/javascript/) -- [Google JavaScript Style Guide](https://google.github.io/styleguide/jsguide.html) -- [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript) +**Reference:** [WordPress JavaScript Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/javascript/) --- -## Critical Rules for New Code - -### No jQuery - -New code must NOT use jQuery. Use native DOM APIs and modern JavaScript. +## Code Refactoring -```javascript -// INCORRECT - jQuery -$( '.my-element' ).addClass( 'active' ); -$( '.my-element' ).on( 'click', handler ); -$.ajax( { url: '/api' } ); - -// CORRECT - Native -document.querySelector( '.my-element' ).classList.add( 'active' ); -document.querySelector( '.my-element' ).addEventListener( 'click', handler ); -fetch( '/api' ); -``` +While coding standards are important, refactoring older `.js` files simply to conform to the standards is not an urgent issue. "Whitespace-only" patches for older files are strongly discouraged. -### Functional Over Class-Based +--- -Prefer functional and modular implementations over classes. +## 1. Spacing -```javascript -// INCORRECT - Class-based -class TemplateManager { - constructor() { - this.templates = []; - } +Use spaces liberally throughout your code. "When in doubt, space it out." - addTemplate( template ) { - this.templates.push( template ); - } -} +### General Rules -// CORRECT - Functional/Modular -const createTemplateManager = () => { - const templates = []; +- Indentation with tabs +- No whitespace at the end of line or on blank lines +- Lines should usually be no longer than 80 characters, and should not exceed 100 +- `if`/`else`/`for`/`while`/`try` blocks should always use braces, and always go on multiple lines +- Unary special-character operators (e.g., `++`, `--`) must not have space next to their operand +- Any `,` and `;` must not have preceding space +- Any `;` used as a statement terminator must be at the end of the line +- Any `:` after a property name in an object definition must not have preceding space +- The `?` and `:` in a ternary conditional must have space on both sides +- No filler spaces in empty constructs (e.g., `{}`, `[]`, `fn()`) +- There should be a new line at the end of each file +- Any `!` negation operator should have a following space +- All function bodies are indented by one tab, even if the entire file is wrapped in a closure +- Spaces may align code within documentation blocks or within a line, but only tabs should be used at the start of a line - const addTemplate = ( template ) => { - templates.push( template ); - }; +### Object Declarations - const getTemplates = () => [ ...templates ]; +Object declarations can be made on a single line if they are short. When an object declaration is too long to fit on one line, there must be one property per line and each line ended by a comma. - return { addTemplate, getTemplates }; +```javascript +// Preferred +const obj = { + ready: 9, + when: 4, + 'you are': 15, }; -``` - -### ES6+ Modern Syntax -All new code must use ES6+ features. Target stable ECMAScript features only. - ---- - -## 1. Variables and Declarations +// Acceptable for small objects +const obj = { ready: 9, when: 4, 'you are': 15 }; +``` -### Use const and let +### Arrays and Function Calls -Never use `var`. Use `const` by default. Use `let` only when reassignment is needed. +Always include extra spaces around elements and arguments: ```javascript -// CORRECT -const MAX_COUNT = 100; -const config = { timeout: 30 }; -let currentIndex = 0; +array = [ a, b ]; -// INCORRECT -var count = 0; -``` +foo( arg ); +foo( 'string', object ); +foo( options, object[ property ] ); +foo( node, 'property', 2 ); -### One Variable Per Declaration +prop = object[ 'default' ]; +firstArrayElement = arr[ 0 ]; +``` -Each variable gets its own declaration statement. +### Examples of Good Spacing ```javascript -// CORRECT -const a = 1; -const b = 2; -let c = 3; - -// INCORRECT -const a = 1, - b = 2; -let c = 3, - d = 4; -``` +let i; -### Declare Close to First Use +if ( condition ) { + doSomething( 'with a string' ); +} else if ( otherCondition ) { + otherThing( { + key: value, + otherKey: otherValue, + } ); +} else { + somethingElse( true ); +} -Declare variables close to where they are first used, not at the top of functions. +// WordPress prefers a space after the ! negation operator. +while ( ! condition ) { + iterating++; +} -```javascript -// CORRECT -function processItems( items ) { - if ( ! items.length ) { - return []; - } +for ( i = 0; i < 100; i++ ) { + object[ array[ i ] ] = someFn( i ); +} - const processed = []; - for ( const item of items ) { - const result = transform( item ); - processed.push( result ); - } - return processed; +try { + // Expressions +} catch ( e ) { + // Expressions } ``` --- -## 2. Naming Conventions +## 2. Semicolons -| Type | Convention | Example | -| -------------- | ---------------------- | ------------------------------ | -| Variables | camelCase | `currentUser`, `itemCount` | -| Functions | camelCase | `getUserData`, `handleClick` | -| Constants | SCREAMING_SNAKE_CASE | `MAX_ITEMS`, `API_URL` | -| Classes | PascalCase | `UserManager`, `FormValidator` | -| Private | Leading underscore | `_privateMethod` | -| Boolean | Prefix with is/has/can | `isActive`, `hasPermission` | -| Event handlers | Prefix with on/handle | `onClick`, `handleSubmit` | +Use them. Never rely on Automatic Semicolon Insertion (ASI). + +--- -### Descriptive Names +## 3. Indentation and Line Breaks -Use clear, descriptive names. Avoid abbreviations except well-known ones. +Tabs should be used for indentation. For legacy code wrapped in an IIFE (immediately invoked function expression), the contents should be indented by one tab: ```javascript -// CORRECT -const userAuthenticationToken = getToken(); -const isFormValid = validateForm( formData ); -const handleFormSubmit = ( event ) => {}; - -// INCORRECT -const uat = getToken(); -const valid = validateForm( formData ); -const submit = ( e ) => {}; -``` +// Legacy IIFE pattern (use ES6 modules for new code) +( function () { + // Expressions indented ---- + function doSomething() { + // Expressions indented + } +} )(); +``` -## 3. Functions +**Note:** New code should use ES6 modules instead of IIFEs. -### Prefer Arrow Functions +### Blocks and Curly Braces -Use arrow functions for callbacks and short functions. +`if`, `else`, `for`, `while`, and `try` blocks should always use braces, and always go on multiple lines. The opening brace should be on the same line as the function definition, the conditional, or the loop. The closing brace should be on the line directly following the last statement of the block. ```javascript -// CORRECT -const numbers = [ 1, 2, 3 ]; -const doubled = numbers.map( ( n ) => n * 2 ); +let a, b, c; -elements.forEach( ( element ) => { - element.classList.add( 'active' ); -} ); - -// Named function for complex logic -function processComplexData( data ) { - // Multiple statements +if ( myFunction() ) { + // Expressions +} else if ( ( a && b ) || c ) { + // Expressions +} else { + // Expressions } ``` -### Pure Functions +### Multi-line Statements -Prefer pure functions without side effects. +When a statement is too long to fit on one line, line breaks must occur after an operator. ```javascript -// CORRECT - Pure function -const calculateTotal = ( items ) => { - return items.reduce( ( sum, item ) => sum + item.price, 0 ); -}; +// Bad +const html = '

The sum of ' + a + ' and ' + b + ' plus ' + c + + ' is ' + ( a + b + c ) + '

'; -// INCORRECT - Impure function with side effects -let total = 0; -const calculateTotal = ( items ) => { - items.forEach( ( item ) => { - total += item.price; // Mutates external state - } ); -}; +// Good +const html = '

The sum of ' + a + ' and ' + b + ' plus ' + c + + ' is ' + ( a + b + c ) + '

'; ``` -### Default Parameters - -Use default parameters instead of conditional logic. +Lines should be broken into logical groups if it improves readability: ```javascript -// CORRECT -function createUser( name, role = 'subscriber' ) { - return { name, role }; -} +// Acceptable +const baz = ( true === conditionalStatement() ) ? 'thing 1' : 'thing 2'; -// INCORRECT -function createUser( name, role ) { - role = role || 'subscriber'; - return { name, role }; -} +// Better +const baz = firstCondition( foo ) && secondCondition( bar ) ? + qux( foo, bar ) : + foo; ``` -### Rest Parameters - -Use rest parameters instead of `arguments` object. +When a conditional is too long to fit on one line, each operand of a logical operator in the boolean expression must appear on its own line: ```javascript -// CORRECT -function sum( ...numbers ) { - return numbers.reduce( ( total, n ) => total + n, 0 ); -} - -// INCORRECT -function sum() { - return Array.prototype.slice.call( arguments ).reduce( ( t, n ) => t + n, 0 ); +if ( + firstCondition() && + secondCondition() && + thirdCondition() +) { + doStuff(); } ``` -### Early Returns +### Chained Method Calls -Use early returns to avoid deep nesting. +When a chain of method calls is too long to fit on one line, there must be one call per line, with the first call on a separate line from the object the methods are called on: ```javascript -// CORRECT -function processUser( user ) { - if ( ! user ) { - return null; - } - - if ( ! user.isActive ) { - return { error: 'User inactive' }; - } - - return { data: user.profile }; -} - -// INCORRECT -function processUser( user ) { - if ( user ) { - if ( user.isActive ) { - return { data: user.profile }; - } else { - return { error: 'User inactive' }; - } - } else { - return null; - } -} +elements + .addClass( 'foo' ) + .children() + .html( 'hello' ) + .end() + .appendTo( 'body' ); ``` --- -## 4. Objects and Arrays +## 4. Assignments and Globals -### Object Shorthand +### Declaring Variables with const and let -Use shorthand property and method syntax. +`const` and `let` should always be used in place of `var`. A declaration should use `const` unless its value will be reassigned, in which case `let` is appropriate. -```javascript -// CORRECT -const name = 'John'; -const age = 30; -const user = { - name, - age, - greet() { - return `Hello, ${ this.name }`; - }, -}; +Unlike `var`, it is not necessary to declare all variables at the top of a function. Instead, they are to be declared at the point at which they are first used. -// INCORRECT -const user = { - name: name, - age: age, - greet: function () { - return 'Hello, ' + this.name; - }, -}; -``` - -### Destructuring - -Use destructuring for objects and arrays. +**Global scope difference:** `var` declarations at the top level become implicit properties of the `window` object, but `let` and `const` do not. In legacy files like `js/src/admin/admin.js`, some top-level variables are intentionally exposed as globals and accessed elsewhere as `window.varName`. When refactoring those, do not replace `var` with `const` or `let` that silently removes the global. Use an explicit `window` assignment instead: ```javascript -// CORRECT -const { name, email } = user; -const [ first, second ] = items; -const { data: userData } = response; +// Legacy: top-level var is implicitly window.frmAdminBuild +var frmAdminBuild = frmAdminBuildJS(); -function processUser( { name, email, role = 'user' } ) { - // Use destructured values -} +// WRONG: removes it from window, other scripts lose access +const frmAdminBuild = frmAdminBuildJS(); -// INCORRECT -const name = user.name; -const email = user.email; -const first = items[ 0 ]; +// CORRECT: make the window assignment explicit +window.frmAdminBuild = frmAdminBuildJS(); ``` -### Spread Operator +### Globals -Use spread for copying and merging. +All globals used within a file should be documented at the top of that file. Multiple globals can be comma-separated. ```javascript -// CORRECT -const newArray = [ ...oldArray, newItem ]; -const newObject = { ...oldObject, newProperty: value }; -const merged = { ...defaults, ...options }; - -// INCORRECT -const newArray = oldArray.concat( [ newItem ] ); -const newObject = Object.assign( {}, oldObject, { newProperty: value } ); +/* global passwordStrength:true */ ``` -### Computed Property Names +The "true" after `passwordStrength` means that this global is being defined within this file. If you are accessing a global which is defined elsewhere, omit `:true` to designate the global as read-only. -Use computed property names when needed. +### Common Libraries -```javascript -// CORRECT -const key = 'dynamicKey'; -const obj = { - [ key ]: value, - [ `prefix_${ key }` ]: otherValue, -}; -``` - ---- - -## 5. Modules +The global `wp` object is registered as an allowed global. -### ES Modules Only +**Legacy Note:** Backbone, jQuery, and Underscore were common in older WordPress code but should be avoided in new code. Use native JavaScript and ES6+ features instead. -Use ES modules (import/export) for all new code. +Files which add to, or modify, the `wp` object must safely access the global: ```javascript -// CORRECT -import { getState, setState } from './shared'; -import defaultExport from './module'; -export const myFunction = () => {}; -export default mainFunction; - -// INCORRECT -const module = require( './module' ); -module.exports = myFunction; +// At the top of the file, set "wp" to its existing value (if present) +window.wp = window.wp || {}; ``` -### Named Exports Preferred +--- -Prefer named exports over default exports for better refactoring. +## 5. Naming Conventions -```javascript -// CORRECT -export const processData = ( data ) => {}; -export const validateData = ( data ) => {}; +Variable and function names should be full words, using camel case with a lowercase first letter. Names should be descriptive, but not excessively so. Exceptions are allowed for iterators, such as the use of `i` to represent the index in a loop. -// Use -import { processData, validateData } from './utils'; -``` +| Type | Convention | Example | +| ----------- | -------------------- | ---------------------------- | +| Variables | camelCase | `currentUser`, `itemCount` | +| Functions | camelCase | `getUserData`, `handleClick` | +| Classes | PascalCase | `UserManager`, `Earth` | +| Constants | SCREAMING_SNAKE_CASE | `MAX_ITEMS`, `API_URL` | -### Single Import Per Module +### Abbreviations and Acronyms -Import from a module only once per file. +Acronyms must be written with each of its composing letters capitalized. All other abbreviations must be written as camel case. ```javascript -// CORRECT -import { foo, bar, baz } from './utils'; - -// INCORRECT -import { foo } from './utils'; -import { bar } from './utils'; -``` +// "Id" is an abbreviation of "Identifier": +const userId = 1; -### No Wildcard Imports +// "DOM" is an acronym of "Document Object Model": +const currentDOMDocument = window.document; -Avoid wildcard imports in production code. - -```javascript -// CORRECT -import { specificFunction } from './utils'; - -// INCORRECT -import * as utils from './utils'; +// Acronyms at the start follow camelcase rules +const domDocument = window.document; +class DOMDocument {} +class IdCollection {} ``` ---- - -## 6. DOM Manipulation - -### Query Selectors +### Class Definitions -Use native query selectors. +Constructors intended for use with `new` should have a capital first letter (UpperCamelCase). A `class` definition must use the UpperCamelCase convention. ```javascript -// Single element -const element = document.querySelector( '.my-class' ); -const byId = document.getElementById( 'my-id' ); +class Earth { + static addHuman( human ) { + Earth.humans.push( human ); + } -// Multiple elements -const elements = document.querySelectorAll( '.my-class' ); + static getHumans() { + return Earth.humans; + } +} -// Scoped query -const child = parent.querySelector( '.child' ); +Earth.humans = []; ``` -### Element Creation +All `@wordpress/element` Components, including stateless function components, should be named using Class Definition naming rules. -```javascript -// Create element -const div = document.createElement( 'div' ); -div.className = 'my-class'; -div.textContent = 'Hello'; -div.dataset.id = '123'; +### Constants -// Append -container.appendChild( div ); +An exception to camel case is made for constant values which are never intended to be reassigned or mutated. Such variables must use the SCREAMING_SNAKE_CASE convention. -// Insert HTML (use with caution, escape user input) -container.insertAdjacentHTML( 'beforeend', '
' ); -``` +--- + +## 6. Comments -### Event Handling +Comments come before the code to which they refer, and should always be preceded by a blank line. Capitalize the first letter of the comment, and include a period at the end when writing full sentences. There must be a single space between the comment token (`//`) and the comment text. ```javascript -// Add listener -element.addEventListener( 'click', handleClick ); +someStatement(); -// Remove listener -element.removeEventListener( 'click', handleClick ); +// Explanation of something complex on the next line +document.querySelector( 'p' ).doSomething(); -// Event delegation -container.addEventListener( 'click', ( event ) => { - if ( event.target.matches( '.button' ) ) { - handleButtonClick( event ); - } -} ); - -// Custom events -element.dispatchEvent( new CustomEvent( 'custom-event', { detail: data } ) ); +// This is a comment that is long enough to warrant being stretched +// over the span of multiple lines. ``` -### Class Manipulation +JSDoc comments should use the `/**` multi-line comment opening. + +Inline comments are allowed as an exception when used to annotate special arguments: ```javascript -element.classList.add( 'active' ); -element.classList.remove( 'active' ); -element.classList.toggle( 'active' ); -element.classList.contains( 'active' ); -element.classList.replace( 'old', 'new' ); +function foo( types, selector, data, fn, /* INTERNAL */ one ) { + // Do stuff +} ``` --- -## 7. Async Operations - -### Fetch API - -Use Fetch API instead of XMLHttpRequest or jQuery.ajax. - -```javascript -// GET request -const response = await fetch( '/api/data' ); -const data = await response.json(); - -// POST request -const response = await fetch( '/api/submit', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify( payload ), -} ); -``` +## 7. Equality -### Async/Await +Strict equality checks (`===`) must be used in favor of abstract equality checks (`==`). -Prefer async/await over Promise chains. - -```javascript -// CORRECT -async function loadData() { - try { - const response = await fetch( url ); - if ( ! response.ok ) { - throw new Error( 'Network error' ); - } - const data = await response.json(); - return processData( data ); - } catch ( error ) { - handleError( error ); - return null; - } -} +--- -// INCORRECT - Promise chain for simple operations -function loadData() { - return fetch( url ) - .then( ( response ) => response.json() ) - .then( ( data ) => processData( data ) ) - .catch( ( error ) => handleError( error ) ); -} -``` +## 8. Type Checks -### Parallel Async Operations +These are the preferred ways of checking the type of an object: -Use Promise.all for independent parallel operations. - -```javascript -// CORRECT - Parallel execution -const [ users, posts, comments ] = await Promise.all( [ - fetchUsers(), - fetchPosts(), - fetchComments(), -] ); - -// INCORRECT - Sequential when parallel is possible -const users = await fetchUsers(); -const posts = await fetchPosts(); -const comments = await fetchComments(); -``` +| Type | Check | +| --------- | -------------------------------------------- | +| String | `typeof object === 'string'` | +| Number | `typeof object === 'number'` | +| Boolean | `typeof object === 'boolean'` | +| Object | `typeof object === 'object'` | +| Function | `typeof object === 'function'` | +| Array | `Array.isArray( object )` | +| Element | `object.nodeType` | +| null | `object === null` | +| undefined | `typeof variable === 'undefined'` (globals) | +| undefined | `variable === undefined` (local) | --- -## 8. Error Handling - -### Try-Catch for Async +## 9. Strings -Always wrap async operations in try-catch. +Use single-quotes for string literals: ```javascript -async function fetchData() { - try { - const response = await fetch( url ); - return await response.json(); - } catch ( error ) { - console.error( 'Fetch failed:', error.message ); - return null; - } -} +const myStr = 'strings should be contained in single quotes'; ``` -### Meaningful Error Messages - -Provide context in error messages. +When a string contains single quotes, they need to be escaped with a backslash (`\`): ```javascript -// CORRECT -throw new Error( `Failed to load template: ${ templateId }` ); - -// INCORRECT -throw new Error( 'Error' ); +// Escape single quotes within strings: +'Note the backslash before the \'single quotes\''; ``` --- -## 9. State Management +## 10. Switch Statements -### Encapsulated State +The usage of `switch` statements is generally discouraged, but can be useful when there are a large number of cases. -Use closures or modules for state management. +When using `switch` statements: -```javascript -// CORRECT - Module pattern from codebase -import { - getState, - getSingleState, - setState, - setSingleState, -} from 'core/page-skeleton'; - -// Initialize state -setState( { - currentView: 'list', - selectedItem: null, - isLoading: false, -} ); +- Use a `break` for each case other than `default`. When allowing statements to "fall through," note that explicitly. +- Indent `case` statements one tab within the `switch`. -// Update state -setSingleState( 'isLoading', true ); - -// Read state -const { currentView, selectedItem } = getState(); -``` - -### Immutable Updates +```javascript +switch ( event.key ) { -Never mutate state directly. + // ENTER and SPACE both trigger x() + case 'Enter': + case ' ': + x(); + break; -```javascript -// CORRECT -const newState = { - ...state, - items: [ ...state.items, newItem ], -}; + case 'Escape': + y(); + break; -// INCORRECT -state.items.push( newItem ); + default: + z(); +} ``` ---- - -## 10. Anti-Patterns to Avoid +It is not recommended to return a value from within a switch statement: use the `case` blocks to set values, then `return` those values at the end. -### Global Variable Pollution +--- -```javascript -// INCORRECT -myGlobalVar = 'value'; -window.myApp = {}; +## 11. Best Practices -// CORRECT - Use modules -export const myValue = 'value'; -``` +### Arrays -### Callback Hell +Creating arrays in JavaScript should be done using the shorthand `[]` constructor rather than the `new Array()` notation. ```javascript -// INCORRECT -getData( ( data ) => { - processData( data, ( result ) => { - saveData( result, ( response ) => { - // Deeply nested - } ); - } ); -} ); - -// CORRECT -const data = await getData(); -const result = await processData( data ); -const response = await saveData( result ); +const myArray = []; +const myArray = [ 1, 'WordPress', 2, 'Blog' ]; ``` -### Modifying Built-in Prototypes +### Objects -```javascript -// NEVER DO THIS -Array.prototype.customMethod = function () {}; -String.prototype.myHelper = function () {}; -``` - -### Using eval() or Function() +Object literal notation, `{}`, is both the most performant, and also the easiest to read. ```javascript -// NEVER DO THIS -eval(userInput); -new Function(userInput)(); +const myObj = {}; ``` -### Magic Numbers/Strings - -```javascript -// INCORRECT -if ( status === 3 ) { -} -element.style.width = '768px'; - -// CORRECT -const STATUS_COMPLETE = 3; -const TABLET_BREAKPOINT = '768px'; - -if ( status === STATUS_COMPLETE ) { -} -element.style.width = TABLET_BREAKPOINT; -``` +Object literal notation should be used unless the object requires a specific prototype, in which case the object should be created by calling a constructor function with `new`. -### Excessive DOM Queries +Object properties should be accessed via dot notation, unless the key is a variable or a string that would not be a valid identifier: ```javascript -// INCORRECT -document.querySelector( '.item' ).classList.add( 'active' ); -document.querySelector( '.item' ).textContent = 'Updated'; -document.querySelector( '.item' ).dataset.id = '123'; - -// CORRECT - Cache the reference -const item = document.querySelector( '.item' ); -item.classList.add( 'active' ); -item.textContent = 'Updated'; -item.dataset.id = '123'; +prop = object.propertyName; +prop = object[ variableKey ]; +prop = object[ 'key-with-hyphens' ]; ``` -### DOM Manipulation in Loops +### Iteration -```javascript -// INCORRECT - Causes reflow on each iteration -items.forEach( ( item ) => { - container.appendChild( createItem( item ) ); -} ); +When iterating over a large collection using a `for` loop, it is recommended to store the loop's max value as a variable rather than re-computing the maximum every time: -// CORRECT - Use DocumentFragment -const fragment = document.createDocumentFragment(); -items.forEach( ( item ) => { - fragment.appendChild( createItem( item ) ); -} ); -container.appendChild( fragment ); -``` +```javascript +// Good & Efficient +const max = getItemCount(); ---- +// getItemCount() gets called once +for ( let i = 0; i < max; i++ ) { + // Do stuff +} -## 11. Project Structure - -Follow modular folder structure as in form-templates and onboarding-wizard. - -```text -module-name/ -├── index.js # Entry point, exports public API -├── initializeModule.js # Initialization logic -├── elements/ # DOM element references -│ ├── elements.js -│ └── index.js -├── events/ # Event listeners -│ ├── clickListener.js -│ └── index.js -├── shared/ # Shared state and constants -│ ├── constants.js -│ ├── pageState.js -│ └── index.js -├── ui/ # UI manipulation functions -│ ├── showModal.js -│ └── index.js -└── utils/ # Utility functions - ├── validation.js - └── index.js +// Bad & Potentially Inefficient: +// getItemCount() gets called every time +for ( let i = 0; i < getItemCount(); i++ ) { + // Do stuff +} ``` --- @@ -743,7 +453,7 @@ module-name/ ```javascript // Actions -wp.hooks.doAction( 'myPlugin.beforeInit', { getState, setState } ); +wp.hooks.doAction( 'myPlugin.beforeInit', { data } ); wp.hooks.addAction( 'myPlugin.afterSave', 'myPlugin', handleAfterSave ); // Filters @@ -756,371 +466,9 @@ wp.hooks.addFilter( 'myPlugin.filterValue', 'myPlugin', modifyValue ); ```javascript import domReady from '@wordpress/dom-ready'; import { __ } from '@wordpress/i18n'; -import apiFetch from '@wordpress/api-fetch'; domReady( () => { initializeModule(); } ); ``` ---- - -## Formatting - -### Spacing - -- Use tabs for indentation -- Space inside parentheses for function calls with arguments -- Space after `!` negation operator -- Spaces around operators - -```javascript -if ( condition ) { - doSomething( arg1, arg2 ); -} - -const isValid = ! isEmpty && hasValue; -const total = a + b * c; -``` - -### Line Length - -Keep lines under 100 characters. Break after operators. - -```javascript -const result = - veryLongVariableName + anotherLongVariableName + yetAnotherVariable; -``` - -### Trailing Commas - -Use trailing commas in multiline structures. - -```javascript -const obj = { - property1: 'value1', - property2: 'value2', -}; - -const arr = [ 'item1', 'item2' ]; -``` - ---- - -## 13. React Best Practices - -These patterns apply when writing React components for WordPress (blocks, admin pages, etc.). - -### Functional Components Only - -Never use class components. Use functional components with hooks. - -```jsx -// CORRECT -function MyComponent( { title, onSave } ) { - const [ isLoading, setIsLoading ] = useState( false ); - - return
{ title }
; -} - -// INCORRECT -class MyComponent extends Component { - render() { - return
{ this.props.title }
; - } -} -``` - -### Hooks Rules - -1. Only call hooks at the top level -2. Only call hooks from React functions -3. Use `@wordpress/element` for React hooks in WordPress - -```jsx -import { useState, useEffect, useCallback, useMemo } from '@wordpress/element'; - -function MyComponent( { items } ) { - // CORRECT - Hooks at top level - const [ selected, setSelected ] = useState( null ); - - // INCORRECT - Conditional hook - if ( items.length ) { - const [ count, setCount ] = useState( 0 ); // Error! - } -} -``` - -### Memoization - -Use `useMemo` for expensive computations and `useCallback` for stable function references. - -```jsx -import { useMemo, useCallback } from '@wordpress/element'; - -function ItemList( { items, onSelect } ) { - // Memoize expensive computation - const processedItems = useMemo( () => { - return items.map( ( item ) => expensiveProcess( item ) ); - }, [ items ] ); - - // Stable callback reference - const handleSelect = useCallback( - ( id ) => { - onSelect( id ); - }, - [ onSelect ], - ); - - return ( -
    - { processedItems.map( ( item ) => ( -
  • handleSelect( item.id ) }> - { item.name } -
  • - ) ) } -
- ); -} -``` - -### Avoid Unnecessary Re-renders - -```jsx -// INCORRECT - Creates new object every render - - i.active ) } /> - handleClick() } /> - -// CORRECT - Stable references -const style = useMemo( () => ( { color: 'red' } ), [] ); -const activeItems = useMemo( () => items.filter( ( i ) => i.active ), [ items ] ); -const handleClick = useCallback( () => { /* ... */ }, [] ); - - - - -``` - -### Derived State - -Derive values during render instead of syncing with effects. - -```jsx -// CORRECT - Derived during render -function FilteredList( { items, filter } ) { - const filteredItems = items.filter( ( item ) => item.type === filter ); - - return ; -} - -// INCORRECT - Unnecessary state and effect -function FilteredList( { items, filter } ) { - const [ filteredItems, setFilteredItems ] = useState( [] ); - - useEffect( () => { - setFilteredItems( items.filter( ( item ) => item.type === filter ) ); - }, [ items, filter ] ); - - return ; -} -``` - -### State Initialization - -Use lazy initialization for expensive values. - -```jsx -// CORRECT - Lazy initialization (function only called once) -const [ state, setState ] = useState( () => computeExpensiveValue( props ) ); - -// INCORRECT - Runs on every render -const [ state, setState ] = useState( computeExpensiveValue( props ) ); -``` - -### Functional setState - -Use functional updates when new state depends on previous state. - -```jsx -// CORRECT - Functional update -setCount( ( prevCount ) => prevCount + 1 ); -setItems( ( prevItems ) => [ ...prevItems, newItem ] ); - -// INCORRECT - May use stale state -setCount( count + 1 ); -``` - -### useRef for Transient Values - -Use refs for values that change frequently but do not need re-renders. - -```jsx -function Draggable() { - const positionRef = useRef( { x: 0, y: 0 } ); - - const handleMouseMove = ( event ) => { - // Update ref without re-render - positionRef.current = { x: event.clientX, y: event.clientY }; - }; - - return
; -} -``` - -### Early Returns in Components - -```jsx -function UserProfile( { user, isLoading } ) { - if ( isLoading ) { - return ; - } - - if ( ! user ) { - return ; - } - - return ( -
-

{ user.name }

- { /* Rest of component */ } -
- ); -} -``` - ---- - -## 14. Performance Patterns - -### Cache Function Results - -```jsx -// Module-level cache -const cache = new Map(); - -function expensiveOperation( key ) { - if ( cache.has( key ) ) { - return cache.get( key ); - } - - const result = /* expensive computation */; - cache.set( key, result ); - return result; -} -``` - -### Use Set/Map for Lookups - -```jsx -// CORRECT - O(1) lookup -const selectedIds = new Set( selectedItems.map( ( item ) => item.id ) ); -const isSelected = ( id ) => selectedIds.has( id ); - -// INCORRECT - O(n) lookup -const isSelected = ( id ) => selectedItems.some( ( item ) => item.id === id ); -``` - -### Content Visibility for Long Lists - -```css -.long-list-item { - content-visibility: auto; - contain-intrinsic-size: 0 50px; -} -``` - ---- - -## 15. Composition Patterns - -### Compound Components - -Instead of boolean props, use composition. - -```jsx -// INCORRECT - Boolean prop proliferation - - -// CORRECT - Compound components - - Title - - Content - - - - -``` - -### Children Over Render Props - -```jsx -// CORRECT - Children for composition - - Title - { content } - - -// AVOID - Render props when children work -
Title
} - renderContent={ () => content } -/> -``` - -### Context for Shared State - -```jsx -import { createContext, useContext, useState } from '@wordpress/element'; - -const FormContext = createContext(); - -function FormProvider( { children } ) { - const [ values, setValues ] = useState( {} ); - const [ errors, setErrors ] = useState( {} ); - - const setValue = ( name, value ) => { - setValues( ( prev ) => ( { ...prev, [ name ]: value } ) ); - }; - - return ( - - { children } - - ); -} - -function useForm() { - const context = useContext( FormContext ); - if ( ! context ) { - throw new Error( 'useForm must be used within FormProvider' ); - } - return context; -} -``` - ---- - -## Tooling - -```bash -# Install ESLint with WordPress config -npm install --save-dev @wordpress/eslint-plugin - -# .eslintrc.json -{ - "extends": [ "plugin:@wordpress/eslint-plugin/recommended" ], - "rules": { - "no-var": "error", - "prefer-const": "error", - "no-unused-vars": "error" - } -} -``` diff --git a/.windsurf/skills/eslint-rules/SKILL.md b/.windsurf/skills/eslint-rules/SKILL.md new file mode 100644 index 0000000000..8b6f3c00d2 --- /dev/null +++ b/.windsurf/skills/eslint-rules/SKILL.md @@ -0,0 +1,193 @@ +--- +name: eslint-rules +description: Creating and maintaining custom ESLint rules for Formidable Forms. Use when adding new custom ESLint rules, modifying existing ones, or debugging rule behavior. +--- + +# Custom ESLint Rules + +Workflow for creating and maintaining custom ESLint rules in the Formidable Forms plugin. + +## When to Use + +- Adding a new custom ESLint rule +- Modifying an existing custom rule +- Debugging why a custom rule is not catching a pattern +- Running ESLint with custom rules + +--- + +## Architecture + +Custom ESLint rules live in `/eslint-rules/` at the project root. + +``` +eslint-rules/ +├── index.js # Plugin entry point, exports all rules +└── rules/ # Individual rule files + ├── prefer-strict-comparison.js + ├── no-redundant-undefined-check.js + ├── prefer-includes.js + └── no-typeof-undefined.js +``` + +The plugin is imported in `eslint.config.mjs` as `formidable` and rules are referenced as `formidable/`. + +### Release Exclusions + +The `/eslint-rules/` directory is excluded from releases via: +- `.gitattributes`: `export-ignore` +- `bin/zip-plugin.sh`: `-x "*/eslint-rules/*"` + +This mirrors the pattern used for `/phpcs-sniffs/`. + +--- + +## Existing Rules + +### formidable/prefer-strict-comparison + +Enforces `===` and `!==` instead of `==` and `!=` when comparing against non-empty, non-numeric string literals. Mirrors the PHP sniff `PreferStrictComparisonSniff`. + +- **Fixable:** Yes +- **Safe strings:** Non-empty and non-numeric (e.g., `'string'`, `'post'`) +- **Unsafe strings (skipped):** `''`, `'0'`, `'123'`, `'1.5'` + +### formidable/no-redundant-undefined-check + +Detects `x !== undefined && x` patterns where the undefined check is redundant because the truthy check already covers it. + +- **Fixable:** Yes +- **Pattern:** `expr !== undefined && expr` becomes just `expr` + +### formidable/prefer-includes + +Detects `.indexOf()` comparisons with `-1` and suggests `.includes()` instead. Catches yoda-style patterns that `unicorn/prefer-includes` misses (e.g., `-1 !== [].indexOf(x)`). + +- **Fixable:** Yes +- **Patterns caught:** + - `arr.indexOf(x) !== -1` and yoda `-1 !== arr.indexOf(x)` + - `arr.indexOf(x) === -1` and yoda `-1 === arr.indexOf(x)` + - `arr.indexOf(x) > -1` and yoda `-1 < arr.indexOf(x)` + - `arr.indexOf(x) >= 0` + +### formidable/no-typeof-undefined + +Detects `typeof x === 'undefined'` and yoda `'undefined' === typeof x` patterns. Replaces with direct `x === undefined` comparison. Catches yoda-style patterns that `unicorn/no-typeof-undefined` misses. + +- **Fixable:** Yes +- **Patterns caught:** + - `typeof x === 'undefined'` / `typeof x == 'undefined'` + - `'undefined' === typeof x` / `'undefined' == typeof x` (yoda) + - Both `===`/`!==` and `==`/`!=` variants + +--- + +## Adding a New Rule + +### Step 1: Create the Rule File + +Create a new file in `eslint-rules/rules/.js`. Follow the existing pattern: + +```javascript +'use strict'; + +module.exports = { + meta: { + type: 'suggestion', // 'suggestion', 'problem', or 'layout' + docs: { + description: 'Description of what the rule enforces.', + }, + fixable: 'code', // 'code' if auto-fixable, null otherwise + schema: [], // JSON Schema for rule options + messages: { + messageId: 'Error message with {{placeholder}}.', + }, + }, + + create( context ) { + const sourceCode = context.sourceCode; + + return { + // AST node visitor(s) + BinaryExpression( node ) { + // Rule logic + context.report({ + node, + messageId: 'messageId', + data: { placeholder: 'value' }, + fix( fixer ) { + return fixer.replaceText( node, 'replacement' ); + }, + }); + }, + }; + }, +}; +``` + +### Step 2: Register the Rule + +Add the rule to `eslint-rules/index.js`: + +```javascript +const newRule = require( './rules/new-rule' ); + +module.exports = { + rules: { + // ... existing rules + 'new-rule': newRule, + }, +}; +``` + +### Step 3: Enable in Config + +Add to the rules section in `eslint.config.mjs`: + +```javascript +'formidable/new-rule': 'error', +``` + +### Step 4: Verify + +```bash +# Check for violations (requires nvm for node) +export PATH="$HOME/.nvm/versions/node/v20.19.2/bin:$PATH" +./node_modules/.bin/eslint . + +# Auto-fix all violations +./node_modules/.bin/eslint . --fix +``` + +Or use the npm scripts: + +```bash +npm run lint +npm run lint:fix +``` + +--- + +## Design Principles + +1. **All rules must support `--fix`** so they can be applied to the existing codebase automatically +2. **Handle yoda-style comparisons** since the WordPress coding standard historically used yoda conditions +3. **Only enforce safe transformations** (e.g., prefer-strict-comparison skips empty and numeric strings) +4. **Complement existing plugins** by catching patterns that unicorn, sonarjs, etc. miss +5. **Mirror PHP sniffs where applicable** to maintain consistency between PHP and JS linting (see `/phpcs-sniffs/`) + +--- + +## AST Explorer + +Use https://astexplorer.net/ with the `espree` parser to inspect AST node types when developing rules. This helps identify the correct node visitors and property names. + +## Invocation + +Cascade automatically invokes this skill when your request involves custom ESLint rules. + +To manually invoke: + +```text +@eslint-rules +``` diff --git a/bin/zip-plugin.sh b/bin/zip-plugin.sh index b946e1afdf..806171a9cb 100755 --- a/bin/zip-plugin.sh +++ b/bin/zip-plugin.sh @@ -121,6 +121,7 @@ zip -r $zipname $destination \ -x "*/mago.toml" \ -x "formidable-ai/resources/*" \ -x "*/webpack.dev.js" \ + -x "*/eslint-rules/*" \ -x "*/phpcs-sniffs/*" \ -x "$source/venv/*" \ -x "formidable/resources/*" \ diff --git a/classes/models/FrmUsage.php b/classes/models/FrmUsage.php index 1626ff7118..7054422427 100644 --- a/classes/models/FrmUsage.php +++ b/classes/models/FrmUsage.php @@ -202,6 +202,11 @@ private function clean_before_send( &$data ) { continue; } + if ( is_object( $value ) ) { + $value = '{{object}}'; + continue; + } + if ( is_array( $value ) ) { $this->clean_before_send( $value ); continue; diff --git a/css/admin/addons-page.css b/css/admin/addons-page.css index 481f4bacc5..0e03db3387 100644 --- a/css/admin/addons-page.css +++ b/css/admin/addons-page.css @@ -59,7 +59,7 @@ } .plugin-card-campaign-monitor .frm-border-icon svg { - color: #7856FF; + color: #7856ff; } .plugin-card-constant-contact .frm-border-icon svg { @@ -95,11 +95,11 @@ } .plugin-card-twilio .frm-border-icon svg { - color: #F22F46; + color: #f22f46; } .plugin-card-n8n .frm-border-icon svg { - color: #EA4B71; + color: #ea4b71; } .plugin-card-formidable-pro.frm-addon-active .frm_toggle_block { @@ -127,23 +127,21 @@ .frm_loading_button ~ .frm_toggle .frm_toggle_slider { opacity: 0.7; - background: linear-gradient( - 90deg, - var(--grey-200) 25%, - var(--grey-300) 50%, - var(--grey-200) 75% - ); + background: linear-gradient(90deg, var(--grey-200) 25%, var(--grey-300) 50%, var(--grey-200) 75%); background-size: 400% 100%; animation: skeleton-animation 3s infinite ease-in-out; } @keyframes skeleton-animation { + 0% { background-position: 0% 0%; } + 50% { background-position: 100% 100%; } + 100% { background-position: 0% 0%; } diff --git a/css/admin/animations.css b/css/admin/animations.css index e5a48c26af..2942a90817 100644 --- a/css/admin/animations.css +++ b/css/admin/animations.css @@ -8,7 +8,7 @@ } .frm-fadein-up-back { - animation: fadeInUpBack 500ms cubic-bezier( 0.34, 1.56, 0.64, 1 ) forwards; + animation: fadeInUpBack 500ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards; } .frm-fadein-down-short { @@ -18,6 +18,7 @@ .frm-fadeout { animation: fadeOut var(--fadeout-time, 400ms) ease-in-out forwards; } + /* END fadeIn */ /* pulse */ @@ -26,7 +27,7 @@ } .frm-pulse::after { - content: ''; + content: ""; position: absolute; top: 0; left: 0; @@ -38,6 +39,7 @@ animation: pulse 2s ease-out 650ms infinite; will-change: transform, opacity; } + /* END pulse */ /* slide down */ @@ -45,38 +47,45 @@ .frm-collapse-me { animation: slideDown var(--slide-time, 2000ms) cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; } + /* END slide down */ /* cascadeFadeIn */ .frm-init-cascade-animation { - transform: translateY( 0px ); - opacity: 1.0 !important; + transform: translateY(0); + opacity: 1 !important; transition: 0.35s transform, 0.35s opacity linear; will-change: transform; } + .frm-init-cascade-animation > * { transition: 0.3s opacity linear; transition-delay: 0.1s; } + .frm-init-cascade-animation.frm-animate { - transform: translateY( 7px ); - opacity: 0.0 !important; + transform: translateY(7px); + opacity: 0 !important; } + .frm-init-cascade-animation.frm-animate > * { - opacity: 0.0; + opacity: 0; } + /* End cascadeFadeIn */ /* FadeIn 3d */ .frm-init-fadein-3d.frm-animate { - opacity:0.0!important; - transform: matrix3d( 1,0,0,0,0,1,0,-0.00095,0,0,1,0,0,0,0,1 ) translateY( 15px ) scale3d( 0.92, 0.92, 1 ); + opacity: 0 !important; + transform: matrix3d(1, 0, 0, 0, 0, 1, 0, -0.00095, 0, 0, 1, 0, 0, 0, 0, 1) translateY(15px) scale3d(0.92, 0.92, 1); } + .frm-init-fadein-3d { - opacity:1!important; - transform: matrix3d( 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1 ) translateY( 0px ) scale3d( 1, 1, 1 ); + opacity: 1 !important; + transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1) translateY(0) scale3d(1, 1, 1); transition: 0.35s transform, 0.5s opacity linear; } + /* END FadeIn 3d */ .frm-background-highlight { @@ -84,6 +93,7 @@ } @keyframes fadeIn { + 0% { opacity: 0; } @@ -94,6 +104,7 @@ } @keyframes fadeOut { + 0% { opacity: 1; } @@ -104,6 +115,7 @@ } @keyframes fadeInUp { + 0% { opacity: 0; transform: translateY(10px); @@ -116,6 +128,7 @@ } @keyframes fadeInUpBack { + 0% { opacity: 0; transform: translateY(32px); @@ -128,6 +141,7 @@ } @keyframes fadeInDownShort { + 0% { opacity: 0.4; transform: translateY(-2px); @@ -140,6 +154,7 @@ } @keyframes slideDown { + 0% { max-height: 0; opacity: 0; @@ -161,6 +176,7 @@ } @keyframes backgroundHighlight { + 0% { background-color: var(--primary-25); } @@ -175,6 +191,7 @@ } @keyframes pulse { + 0% { transform: scale(1); opacity: 0.8; diff --git a/css/admin/applications.css b/css/admin/applications.css index d72311e28a..f7ee25aa50 100644 --- a/css/admin/applications.css +++ b/css/admin/applications.css @@ -76,7 +76,7 @@ } .frm-application-card h3 .frm-inner-text { - max-width: calc( 100% - 50px ); + max-width: calc(100% - 50px); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; @@ -105,7 +105,7 @@ align-items: center; } -.frm-application-card:hover .frm-new-pill{ +.frm-application-card:hover .frm-new-pill { display: none; } @@ -113,6 +113,7 @@ #frm_application_templates_grid .frm-application-card .frm-button-secondary { display: none; } + #frm_application_templates_grid .frm-application-card:hover .frm-button-secondary { display: inline-block; } @@ -174,7 +175,7 @@ } #frm_view_application_modal .frm-application-image-wrapper { - background-color: #F6F7FB; + background-color: #f6f7fb; padding: 20px var(--gap-md) 15px; } @@ -243,10 +244,10 @@ padding: 11px 8px; } -#frm_custom_applications_placeholder:before { - content: ''; +#frm_custom_applications_placeholder::before { + content: ""; display: block; - background: linear-gradient(90deg, #1961D5 0.76%, #E8ABEF 100%); + background: linear-gradient(90deg, #1961d5 0.76%, #e8abef 100%); height: 4px; margin: auto; position: absolute; @@ -285,12 +286,14 @@ ul.frm-application-item-list { } @media only screen and (max-width: 1200px) { + .frm-application-card { grid-column: span 6/span 6; /* treat as frm6 */ } } @media only screen and (max-width: 600px) { + #frm_application_category_filter { display: block; margin-left: 0; diff --git a/css/admin/dashboard.css b/css/admin/dashboard.css index 295ff78980..eecae286fd 100644 --- a/css/admin/dashboard.css +++ b/css/admin/dashboard.css @@ -1,4 +1,5 @@ .frm-white-body #wpbody-content { + /* clear float - fix the full auto height with frm-dashboard-container */ float: none; } @@ -19,7 +20,7 @@ } .frm-dashboard-container .frm-dashboard-widget { - opacity: 0.0; + opacity: 0; position: relative; flex-direction: column; padding-left: var(--gap-md); @@ -32,8 +33,8 @@ .frm-counter-card-wrapper.frm-payments-placeholder p, .frm-counter-card-wrapper.frm-payments-placeholder .frm-counter-card a { - margin: 0px; - padding: 0px; + margin: 0; + padding: 0; } .frm-counter-card-wrapper.frm-payments-placeholder .frm-counter-card h3, @@ -81,7 +82,7 @@ box-sizing: border-box; position: relative; overflow: hidden; - background: #4199FD; + background: #4199fd; border-radius: var(--small-radius); } @@ -96,9 +97,9 @@ } .frm-dashboard-banner .frm-dashboard-banner-close svg { - width:100%; + width: 100%; color: white; - opacity: .5; + opacity: 0.5; } .frm-dashboard-banner > div { @@ -109,6 +110,7 @@ } .frm-dashboard-banner .frm-shrink-0 { + /* position at end of flex row */ margin-left: auto; margin-right: var(--gap-lg); @@ -125,7 +127,7 @@ line-height: 21px; color: white; font-weight: 400; - margin: 0px; + margin: 0; } .frm-dashboard-banner > div > div:last-child { @@ -137,13 +139,13 @@ opacity: 0.4; } -.frm-dashboard-banner:before { - content: ''; +.frm-dashboard-banner::before { + content: ""; display: block; width: 628px; height: 628px; border-radius: 628px; - background: #4199FD; + background: #4199fd; filter: blur(50px); position: absolute; bottom: 0; @@ -151,10 +153,10 @@ z-index: 1; } -.frm-dashboard-banner:after { - content: ''; +.frm-dashboard-banner::after { + content: ""; border-radius: 463px; - background: #F15A24; + background: #f15a24; mix-blend-mode: screen; filter: blur(50px); width: 463px; @@ -174,29 +176,33 @@ width: 469px; height: 247px; border-radius: 469px; - background: #8B5CF6; + background: #8b5cf6; mix-blend-mode: overlay; filter: blur(50px); } .frm-dashboard-container.frm-flex-box { max-width: 1480px; - width: calc( 100% - var(--gap-md) * 2 ); + width: calc(100% - var(--gap-md) * 2); padding-bottom: var(--gap-2xl); box-sizing: border-box; gap: var(--gap-md); flex-wrap: wrap; } + #frm_top_bar + .wrap.frm-dashboard-container { margin-left: auto; margin-right: auto; } + .frm-dashboard-container > .frm-flex-box { row-gap: var(--gap-md); } + .frm-dashboard-container > div:first-child { overflow: hidden; } + .frm-dashboard-container > div:last-child { width: max(29%, var(--big-sidebar)); } @@ -223,6 +229,7 @@ .frm-counter-card-wrapper .frm-counter-card a { font-weight: 500; } + /* END Counter Card */ /* License Management */ @@ -237,15 +244,16 @@ align-items: center; gap: var(--gap-xs); } + /* END License Management */ /* Entries Widget */ .frm-white-body .frm-dashboard-widget table.wp-list-table { - margin-bottom: 0px; + margin-bottom: 0; table-layout: auto; } -.frm-white-body .frm-dashboard-widget table.wp-list-table .row-actions{ +.frm-white-body .frm-dashboard-widget table.wp-list-table .row-actions { display: none; } @@ -271,8 +279,9 @@ color: var(--grey-500); font-size: var(--text-xs); text-transform: uppercase; - border-bottom: 1px solid #E9EAEA; + border-bottom: 1px solid #e9eaea; } + /* End Entries Widget */ /* Chart Placeholder */ @@ -285,13 +294,13 @@ } .frm-widget-placeholder[data-background="chart-placeholder"] { - background: url( '../../images/dashboard/chart-placeholder.jpg' ) no-repeat; + background: url("../../images/dashboard/chart-placeholder.jpg") no-repeat; background-size: 100%; height: 314px; } .frm-widget-placeholder[data-background="entries-placeholder"] { - background: url( '../../images/dashboard/entries-placeholder.jpg' ) no-repeat; + background: url("../../images/dashboard/entries-placeholder.jpg") no-repeat; background-size: 100%; background-position: left -15px; height: 385px; @@ -301,6 +310,7 @@ max-width: 337px; text-align: center; } + /* END Chart Placeholder */ /* Pro Features List */ @@ -311,14 +321,15 @@ gap: var(--gap-2xl); } -.frm-pro-features-list:before { - content: ''; +.frm-pro-features-list::before { + content: ""; display: block; width: 100%; height: 8px; - background: linear-gradient(90deg, #1961D5 0.76%, #E8ABEF 100%); + background: linear-gradient(90deg, #1961d5 0.76%, #e8abef 100%); position: absolute; - top: 0; left: 0; + top: 0; + left: 0; border-top-right-radius: var(--small-radius); border-top-left-radius: var(--small-radius); } @@ -347,18 +358,18 @@ .frm-testimonial { border-radius: 16px; - border: 1px solid #EAECF0; + border: 1px solid #eaecf0; position: relative; padding: 24px; } -.frm-testimonial:before { - content: ''; +.frm-testimonial::before { + content: ""; display: block; height: 12px; width: calc(100% - 30px); border-radius: 0 0 12px 12px; - border: 1px solid #EAECF0; + border: 1px solid #eaecf0; border-top: 0; position: absolute; left: 15px; @@ -391,6 +402,7 @@ } @media (max-width: 1280px) { + .frm-pro-features-list { padding-left: var(--gap-lg); padding-right: var(--gap-lg); @@ -399,6 +411,7 @@ } @media (max-width: 1025px) { + .frm-pro-features-list { flex-direction: column; } @@ -407,6 +420,7 @@ right: -10px; } } + /* END Pro Features List */ /* Inbox */ @@ -421,11 +435,11 @@ } .frm-tabs-navs ul li { - color: var( --grey-500 ); + color: var(--grey-500); font-weight: 400; font-size: var(--text-md); cursor: pointer; - margin-bottom: 0px; + margin-bottom: 0; } .frm-tabs-navs ul li.frm-active { @@ -444,7 +458,8 @@ height: 2px; background: var(--primary-500); position: absolute; - left: 24px; bottom: 0; + left: 24px; + bottom: 0; width: 45px; transition: 0.4s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); } @@ -487,16 +502,16 @@ div.frm-inbox-subscribe:not(.frm_hidden) { margin: 0; } -.frm-inbox-subscribe h2:before { - content:''; - display:block; - background: url( '../../images/dashboard/bell-cross.svg' ) no-repeat; +.frm-inbox-subscribe h2::before { + content: ""; + display: block; + background: url("../../images/dashboard/bell-cross.svg") no-repeat; width: 40px; height: 40px; margin: auto auto var(--gap-sm); } -.frm-inbox-subscribe #frmapi-email-form + img{ +.frm-inbox-subscribe #frmapi-email-form + img { display: none; } @@ -521,7 +536,7 @@ div.frm-inbox-subscribe:not(.frm_hidden) { .frm-tabs-slide-track > div { flex: 0 0 100%; - opacity: 0.0; + opacity: 0; transition: 0.25s opacity linear; position: relative; height: auto; @@ -533,7 +548,7 @@ div.frm-inbox-subscribe:not(.frm_hidden) { .frm-tabs-slide-track > div > div { overflow: auto; position: relative; - width:100%; + width: 100%; padding: 0 var(--gap-md); box-sizing: border-box; } @@ -543,7 +558,7 @@ div.frm-inbox-subscribe:not(.frm_hidden) { } .frm-tabs-slide-track > div.frm-active { - opacity: 1.0; + opacity: 1; transition: 0.35s opacity linear; } @@ -562,9 +577,11 @@ div.frm-inbox-subscribe:not(.frm_hidden) { .frm-admin-page-dashboard .frm-inbox-message-container p { margin: 0; } + /* END Inbox */ @media only screen and ( max-width: 1250px ) { + .frm-dashboard-container > div { width: 100% !important; } diff --git a/css/admin/deactivation-feedback.css b/css/admin/deactivation-feedback.css index e18ae44c9a..21f939715d 100644 --- a/css/admin/deactivation-feedback.css +++ b/css/admin/deactivation-feedback.css @@ -3,6 +3,7 @@ overflow-y: auto; } + .frm_screen_reader { border: 0; clip-path: inset(50%); @@ -14,6 +15,7 @@ width: 1px; word-wrap: normal !important; /* many screen reader and browser combinations announce broken words as they would appear visually */ } + #frm-deactivation-modal-icon { position: absolute; top: calc(var(--padding) - 1px); @@ -21,12 +23,14 @@ width: 20px; height: 20px; } + #frm-deactivation-modal .frm-modal-close { position: absolute; top: 20px; right: var(--padding); z-index: 1000; } + #frm-deactivation-modal .frm_form_title { padding: 20px var(--padding) 12px calc(28px + var(--padding)); margin-top: 0; @@ -35,27 +39,35 @@ font-size: 14px; line-height: 26px; } + #frm-deactivation-modal .frm_description, #frm-deactivation-modal .frm_form_field { padding-left: var(--padding); padding-right: var(--padding); } + #frm-deactivation-modal .frm_description p { font-size: 12px; margin-top: 16px; margin-bottom: 16px; color: #667085; } + #frm-deactivation-modal .inside { padding-left: 0; padding-right: 0; } -#frm-deactivation-modal .frm_radio { margin-bottom: 15px; } + +#frm-deactivation-modal .frm_radio { + margin-bottom: 15px; +} + #frm-deactivation-modal .frm_radio .frm_form_field { padding-left: 0; padding-right: 0; margin-bottom: -5px; } + #frm-deactivation-modal .frm_radio .frm_form_field textarea { margin-top: 5px; height: 65px; @@ -63,27 +75,47 @@ padding: 5px 12px; font-size: 14px; } -#frm-deactivation-modal .frm_radio .frm_form_field textarea:focus { border-color: #4199FD; box-shadow: none; } -#frm-deactivation-modal .frm_radio .frm_form_field textarea::placeholder { color: #98A2B3; } + +#frm-deactivation-modal .frm_radio .frm_form_field textarea:focus { + border-color: #4199fd; + box-shadow: none; +} + +#frm-deactivation-modal .frm_radio .frm_form_field textarea::placeholder { + color: #98a2b3; +} + #frm-deactivation-modal .frm_radio .frm_html_container { padding: 6px; - background-color: #F9FAFB; + background-color: #f9fafb; margin-top: 8px; margin-bottom: 15px; border-radius: 8px; } + #frm-deactivation-modal .frm_radio .frm_html_container p { margin: 0; font-size: 14px; line-height: 20px; color: #667085; } + #frm-deactivation-modal input[name="item_key"] + div, -#frm-deactivation-modal .frm_primary_label { display: none; } -#frm-deactivation-modal .frm_submit { text-align: right; margin-top: 38px; } -#frm-deactivation-modal .frm_button_submit { margin-right: 0; } +#frm-deactivation-modal .frm_primary_label { + display: none; +} + +#frm-deactivation-modal .frm_submit { + text-align: right; + margin-top: 38px; +} + +#frm-deactivation-modal .frm_button_submit { + margin-right: 0; +} + #frm-deactivation-modal .frm-skip-link { - color: #98A2B3; + color: #98a2b3; display: inline-block; font-size: 14px; line-height: 40px; diff --git a/css/admin/form-templates.css b/css/admin/form-templates.css index 0a0a82b7bb..5c0a62ee3f 100644 --- a/css/admin/form-templates.css +++ b/css/admin/form-templates.css @@ -18,6 +18,7 @@ * * Focuses on the main content area, laying out the various elements and components. */ + /* Create a blank form */ .frm-form-templates-create-button { gap: 10px; @@ -183,6 +184,7 @@ p.frm-form-templates-item-description { * * Customizes the look of modals on the Form Templates page. */ + /* Upgrade Modal */ #frm-form-upgrade-modal .frm-upgrade-modal-plan-icon { color: var(--error-500); diff --git a/css/admin/frm_admin_global.css b/css/admin/frm_admin_global.css index 8fa5c1645a..992532e945 100644 --- a/css/admin/frm_admin_global.css +++ b/css/admin/frm_admin_global.css @@ -1,5 +1,5 @@ .frm-new-pill { - background: #F47449; + background: #f47449; border-radius: 13px; padding: 2px 6px; color: #fff; @@ -9,7 +9,7 @@ } #adminmenu .frm-new-pill { - color: #F47449; + color: #f47449; background: none; margin-left: 5px; font-size: 85%; @@ -19,5 +19,5 @@ } #adminmenu .frm-orange-text { - color: #F47449; + color: #f47449; } diff --git a/css/admin/onboarding-wizard.css b/css/admin/onboarding-wizard.css index 291d65e3d3..28eb917704 100644 --- a/css/admin/onboarding-wizard.css +++ b/css/admin/onboarding-wizard.css @@ -91,7 +91,7 @@ html.wp-toolbar { } .frm-rootline::before { - content: ''; + content: ""; position: absolute; width: calc(100% - 32px); border: 1px solid var(--grey-300); diff --git a/css/admin/style.css b/css/admin/style.css index 16c9c7c381..dd34328c63 100644 --- a/css/admin/style.css +++ b/css/admin/style.css @@ -25,12 +25,14 @@ This file is added to the visual styler admin page, accessed from the style tab. #frm_active_style_form:not(.frm_hidden), #frm_sample_form { + /* Without this a small form with a max-width of 480px for example doesn't get centered in the preview space. */ display: flex; } #frm_active_style_form > .frm_forms, #frm_sample_form > .frm_forms { + /* This gives small form containers more space. */ flex: 1; padding: 0 10px; /* Match the extra padding around fields on builder */ @@ -44,7 +46,6 @@ This file is added to the visual styler admin page, accessed from the style tab. cursor: pointer; box-sizing: border-box; border: 1px solid transparent; /* Add a transparent border so an active style card doesn't cause the box to resize. */ - background-color: #fff; margin-bottom: 15px; width: 100%; padding: 14px; @@ -59,6 +60,7 @@ This file is added to the visual styler admin page, accessed from the style tab. } .frm-style-card.frm-currently-set-style-card .frm-style-card-title-wrapper svg { + /* The checkmark circle should be blue. */ color: var(--primary-500); } @@ -112,6 +114,7 @@ This file is added to the visual styler admin page, accessed from the style tab. } .frm-style-card-preview + div .dropdown { + /* Give it a z-index boost to avoid the border from the bottom of the card from overlapping the dropdown */ z-index: 1; } @@ -122,7 +125,7 @@ This file is added to the visual styler admin page, accessed from the style tab. } .frm-style-card-title { - max-width: calc( 100% - 20px ); + max-width: calc(100% - 20px); text-overflow: ellipsis; overflow: hidden; display: inline-block; @@ -179,6 +182,7 @@ This file is added to the visual styler admin page, accessed from the style tab. .frm_pro_form .frm_form_field.frm_lite_style, .frm_pro_form .frm_lite_style { + /* Hide textarea, radio buttons, and checkboxes in the sample form in Pro. Instead these elements are rendered again in Pro inside of a repeater. @@ -220,11 +224,13 @@ This file is added to the visual styler admin page, accessed from the style tab. /* Style the hamburger menu (used in Style cards, and on the Style "Edit" page beside the Style name. */ .frm-style-options-menu { + /* The long "Reset to defaults" option name requires extra space. There's normally a 160px min-width. */ min-width: 200px; } #frm_style_preview .with_frm_style :not(.ui-datepicker-title) > select:not(.flatpickr-monthDropdown-months) { + /* Prevent back end styles from shrinking dropdowns. But leave datepicker dropdowns alone. */ width: var(--auto-width); max-width: 100%; @@ -235,13 +241,14 @@ This file is added to the visual styler admin page, accessed from the style tab. } #frm_style_preview select:not(.ui-datepicker-month):not(.ui-datepicker-year):not(.frm-ranking-position) { + /* The styler preview doesn't use .wp-core-ui which results in a funny looking dropdown arrow. Restore the WordPress background image defined in /wp-admin/css/forms.css for preview selects so they appear nicer and more consistent with other dropdowns. The SVG is arrow-down-alt2 from Dashicons. This needs to be important because of a background-image: none !important rule that gets applied in front end CSS. */ - background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E') !important; + background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E") !important; background-repeat: no-repeat !important; background-position: right 5px top 55% !important; @@ -253,7 +260,7 @@ This file is added to the visual styler admin page, accessed from the style tab. background-color: unset; } -#frm_style_preview input[type="checkbox"]:checked:before { +#frm_style_preview input[type="checkbox"]:checked::before { content: ""; position: relative; left: 1px; @@ -264,14 +271,14 @@ Avoid a conflict with the .frm_form_field > label:first-child rule in frm_admin. The label in the preview should use the label color setting. */ #frm_style_preview .frm_form_field > label:first-child { - color: var(--label-color); + color: var(--label-color); font-size: var(--font-size); } .frm-color-blocks { display: grid; justify-content: center; - grid-template-columns: repeat(auto-fit, minmax(20px, max-content)); + grid-template-columns: repeat(auto-fit, minmax(20px, max-content)); max-width: 60px; } @@ -295,6 +302,7 @@ The label in the preview should use the label color setting. position: relative; bottom: 2px; } + .frm-style-card-separator { background-color: var(--grey-300); width: 2px; @@ -343,15 +351,14 @@ The label in the preview should use the label color setting. .frm-input-style-example > div { max-width: 46px; - width: calc( 100% - 8px ); + width: calc(100% - 8px); height: 2px; background-color: var(--text-color); } #frm_loading_style_placeholder, #frm_style_preview.frm-loading-style-template .frm_forms, -.frm-currently-set-style-card .dropdown-item.frm-apply-style -{ +.frm-currently-set-style-card .dropdown-item.frm-apply-style { display: none; } @@ -359,7 +366,7 @@ The label in the preview should use the label color setting. display: block; text-align: center; position: absolute; - top: calc( 50% - 35px ); + top: calc(50% - 35px); left: 50%; transform: translateX(-50%) translateY(-50%); } @@ -373,7 +380,7 @@ The label in the preview should use the label color setting. } #frm_style_template_modal .frm_warning_style span { - flex: 1; + flex: 1; } #frm_style_template_modal .frm_warning_style a:focus { @@ -400,6 +407,7 @@ body.rtl .frm-input-style-example { body.rtl .frm-style-card-separator { margin: 0 6px 0 0; } + /* End RTL Styling */ .frm-styles-globally-disabled #frm_new_style_trigger, @@ -410,13 +418,15 @@ body.rtl .frm-style-card-separator { opacity: 0.5; } -.formidable_page_formidable-styles .frm-right-panel .accordion-section-title:before, -.formidable_page_formidable-styles .frm-right-panel .accordion-section-title:after { - content: '' !important; +.formidable_page_formidable-styles .frm-right-panel .accordion-section-title::before, +.formidable_page_formidable-styles .frm-right-panel .accordion-section-title::after { + content: "" !important; } + .formidable_page_formidable-styles .frm-right-panel .open .accordion-section-title > .frmsvg:last-child { transform: rotate(180deg); } + .formidable_page_formidable-styles .frm-right-panel .accordion-section-title > .frmsvg:last-child { position: absolute; top: 0; @@ -425,14 +435,16 @@ body.rtl .frm-style-card-separator { margin: auto; color: var(--grey); } + .control-section:hover .accordion-section-title { background: transparent !important; border-bottom-color: transparent; } + .frm-style-settings-hover { width: 100%; position: absolute; - top:0; + top: 0; left: 0; height: 58px; background: white; @@ -441,9 +453,11 @@ body.rtl .frm-style-card-separator { z-index: 0; transition: 0.25s opacity ease, 0.3s transform cubic-bezier(0.165, 0.84, 0.44, 1); } + .frm-style-settings-hover.frm-animating { opacity: 0.45; } + .frm-right-panel .accordion-section-content { background: transparent; padding: 0; @@ -453,10 +467,12 @@ body.rtl .frm-style-card-separator { .frm-right-panel .accordion-section-content > .inside { padding: 15px; } + .frm-quick-settings .frm_form_field .frm-style-item-heading, .frm-right-panel .accordion-section-content > .inside .frm-style-item-heading { line-height: 36px; } + .frm-right-panel .accordion-section-content > .inside .frm-style-item-heading .frm_help { display: inline-block; line-height: 13px; @@ -465,6 +481,7 @@ body.rtl .frm-style-card-separator { .frm-right-panel .accordion-section-content .inside a { font-size: inherit; } + .frm-right-panel .control-section.open h3 { border-bottom: none; } @@ -473,36 +490,44 @@ body.rtl .frm-style-card-separator { .js .frm-right-panel .control-section .accordion-section-title:hover { color: var(--grey-900); } + .js .frm-right-panel .control-section.open h3.accordion-section-title { box-shadow: var(--button-shadow); background: white !important; border-radius: var(--small-radius); } -.js .frm-right-panel .control-section .accordion-section-title:hover:before { +.js .frm-right-panel .control-section .accordion-section-title:hover::before { color: var(--grey-700); } + .frm-right-panel .accordion-section { border: none; position: relative; padding-bottom: 2px; } + .frm-right-panel .accordion-section-title > .frmsvg:first-child { margin: 0 10px 0 0; color: var(--grey); } + .frm-right-panel .accordion-section-title:hover > .frmsvg:first-child { color: var(--grey-900); } + .frm-right-panel .accordion-section-title > .frmsvg:last-child { margin-right: 15px !important; } + .frm-right-panel .open .accordion-section-title > .frmsvg:last-child { transform: rotate(180deg); } + .frm-right-panel .open.accordion-section { border-bottom: 1px solid var(--grey-300); } + .frm-right-panel h3.accordion-section-title { padding: 17px 15px !important; background: transparent; @@ -511,21 +536,26 @@ body.rtl .frm-style-card-separator { font-size: var(--text-md); font-weight: 400; } + .styling_settings .accordion-container { position: relative; } + .styling_settings .accordion-container .outer-border { position: relative; z-index: 1; } + .styling_settings .accordion-section-title button { border: none; background: none; float: right; } + @media only screen and (max-width: 782px) { - #frm_style_preview .with_frm_style .frm_radio input[type=radio], - #frm_style_preview .with_frm_style .frm_checkbox input[type=checkbox] { + + #frm_style_preview .with_frm_style .frm_radio input[type="radio"], + #frm_style_preview .with_frm_style .frm_checkbox input[type="checkbox"] { width: 18px !important; } } diff --git a/css/frm_admin.css b/css/frm_admin.css index 954338ab52..831533bd1c 100644 --- a/css/frm_admin.css +++ b/css/frm_admin.css @@ -1,3 +1,3 @@ -@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_tooltip_icon::before{content:"\e611"}.frm_delete_icon::before{content:"\e610" !important}.frm_arrowdown6_icon::before{content:"\e62a"}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}@font-face{font-family:"Inter";src:url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype")}.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{-webkit-font-smoothing:antialiased}}}.frm-sm-z-index{z-index:1}.frm-md-z-index{z-index:5}.frm-white-body,.frm-white-body p,.frm_wrap,.frm_wrap p,.frm-modal,.frm-white-body .postbox .inside{font-size:var(--text-sm);color:var(--grey-500);line-height:var(--leading)}.frm-white-body p,.frm_wrap p{margin:var(--gap-sm) 0}body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields>fieldset{--fieldset-padding: 15px 0}a,.widget .widget-top,.stuffbox h3,.frm-collapsed{cursor:pointer;text-decoration:none}.post-type-frm_display .wrap>#posts-filter,.wrap.frm-with-margin,.frm_wrap>.wrap{margin:var(--gap-sm) var(--gap-md) var(--gap-md)}#frm_top_bar+.wrap{margin:var(--gap-xl)}.frm-full-screen #wpbody-content>.wrap{margin:0}.post-type-frm_display .wrap{margin:0}.toplevel_page_formidable #post-body-content{overflow-x:visible}.frm-full-screen{height:100%;overflow:hidden}.frm-full-screen.frm-admin-page-reports,.frm-full-screen.frm-admin-page-entries,.frm-full-screen.post-type-frm_display{overflow:auto}.frm-full-screen #wpadminbar,.frm-full-screen #adminmenumain,.frm-full-screen .wp-header-end{display:none}body.frm-white-body:not(.frm-full-screen) .mce-fullscreen{top:32px;left:160px}.frm-full-screen #wpbody-content,.frm-full-screen #wpbody,.frm-full-screen #wpcontent{padding:0;overflow:hidden;margin:0 !important}.frm-white-body #wpbody-content{position:relative;padding-bottom:0}.post-new-php.post-type-frm_display #screen-meta-links,.post-php.post-type-frm_display #screen-meta-links{display:none}.frm-white-body #screen-meta-links{position:fixed;bottom:0;right:20px}.frm-full-screen #screen-meta-links .screen-meta-toggle{right:55px}.frm-white-body #screen-meta-links .show-settings{border-radius:var(--small-radius) var(--small-radius) 0 0;border:1px solid var(--grey-300);border-bottom:none}.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle{right:125px}.frm-white-body #screen-meta{margin:0}.frm-white-body #screen-meta-links .show-settings::after{color:var(--grey)}.frm-white-body .columns-2{border-bottom:1px solid var(--grey-300)}.frm-full-screen .columns-2{border:none}body.post-type-frm_display.edit-php,body.frm-white-body{background:#fff}body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after,body.frm-white-body ul#adminmenu>li.current>a.current::after{border-right-color:#fff}.frm-white-body #wpcontent{padding-left:0;padding-right:0}.frm-white-body .wrap #post-body{padding:0 20px}.frm-grey-body #wpbody{background:var(--grey-100)}.frm-grey-body #frm_top_bar{background:#fff}.post-type-frm_display .tablenav,.frm_wrap .tablenav{margin-bottom:10px}.frm-white-body .tablenav .actions select,.wp-admin .frm_wrap .tablenav select{margin-right:var(--gap-xs)}.tablenav .actions .button{margin-top:1px}.frm-white-body table.widefat{background:var(--lightest-grey);border-width:0;box-shadow:none;margin:20px 0}.frm-white-body table.widefat tfoot,.frm-white-body table.widefat thead{background:#fff}.frm-white-body table.widefat th{font-size:var(--text-md)}.frm-white-body table.widefat th a{color:var(--grey-700)}.frm-white-body table.widefat strong a{color:var(--primary-700)}.frm-scroll-box{clear:both;overflow:auto;max-height:405px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm_form_field.frm_scroll_box .frm_opt_container{height:100px;overflow:auto;border:1px solid var(--grey-300)}.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 6/span 6;align-content:center}.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 12/span 12 !important;align-content:center}.frm_form_field.frm-phone-type~[id*=frm-field-format-custom-]>label,.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]>label{opacity:0}.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]{grid-column:span 6/span 6}.frm-single-settings.frm-type-textarea>.frm_grid_container [id*=frm-field-format-custom-]+p{grid-column:span 12/span 12}.frm-single-settings .frm_grid_container{column-gap:var(--gap-sm)}.frm-content-center{align-content:center}.frm-self-end{align-self:end}.frm-short-list{overflow:auto;max-height:190px}.frm-white-body table.frm-border td{font-size:var(--text-sm)}.frm-white-body .striped>tbody>:nth-child(odd){background-color:#fff}.frm_wrap td.column-title strong{display:inline}#frm_top_bar{display:flex;gap:var(--gap-sm);width:100%;height:72px;margin:0;box-sizing:border-box;text-align:center;padding:0 var(--gap-md)}#frm_top_bar>.frm-full-close:last-child,#frm_top_bar>#frm-publishing:last-child{margin-left:auto}#frm_top_bar{border-bottom:1px solid var(--grey-300);padding:0 var(--gap-md);overflow:visible}.frm-white-body h1,.frm-white-body h2,.frm-white-body h3,.frm-white-body h4{color:var(--grey-900);font-weight:400;line-height:var(--leading) !important}.frm-white-body .wrap h1,.frm-white-body h1{font-size:var(--text-xl)}.frm-white-body .wrap h2,.frm-white-body h2{font-size:var(--text-lg);font-weight:500}.frm-white-body .wrap h3,.frm-white-body h3{font-size:var(--text-md)}.frm-white-body .wrap h4,.frm-white-body h4{font-size:var(--text-sm);font-weight:500}#frm_error_modal .frm_lock_simple{padding:20px;border-radius:50%;background-color:var(--primary-25);display:inline-block}#frm_error_modal #frm_lock_simple{color:var(--primary-500)}#frm_error_modal .frm-modal-title{display:block}#frm_error_modal .frm-modal-title h2{font-weight:600;font-size:var(--text-xl);margin:0}#frm_error_modal .frm_modal_content{padding:var(--gap-md);color:var(--grey-900)}.frm-views-editor-body .frm_page_container #frm_top_bar h1{padding:0 !important;color:var(--grey-900);font-size:var(--text-xl) !important}.post-type-frm_display .frm_top_left{padding-bottom:0 !important}.frm-new-table-view-option.frm-selected-table-view-option{border-radius:var(--small-radius);background:var(--primary-25)}.frm-views-editor-body #frm_adv_info .tabs-panel{padding-left:4px;padding-right:4px}#frm_edit_box_content_modal .frm_modal_footer{padding-top:var(--gap-sm);border-top:1px solid var(--grey-300)}#frm_edit_box_content_modal .frm_modal_footer>div{display:flex;justify-content:space-between}#frm_edit_box_content_modal #frm_modal_box_select_area,#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper,#frm_edit_box_content_modal .frm_modal_content{max-height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #frm_modal_box_select_area{height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #wp-content-editor-tools{padding-top:0}#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title+div:last-child{right:var(--gap-md)}.frm_code_list.frm-full-hover .frm-dropdown-view a{flex-direction:row-reverse}#frm_view_editor_left.frm-right-panel .accordion-section-title::before{content:"" !important;margin:0}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}a h1 .frmsvg{color:var(--grey-400);vertical-align:middle;min-width:var(--text-sm)}a .frmsvg{color:currentColor}.frm_wrap .view-switch a.current::before,.frm-white-body a,.frm_wrap a,.frm_wrap a i{color:var(--primary-color)}.frm_wrap a:active,.frm_wrap a:hover{color:var(--primary-700);box-shadow:none}.post-type-frm_display a:focus,.frm_wrap a:focus{box-shadow:none}.frm_top_left{text-align:left;float:left;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;align-self:center}.post-type-frm_display .frm_top_left,.frm_top_left.frm_top_wide{max-width:100%}.post-type-frm_display .frm_nav_bar .frm-header-logo,.frm_nav_bar .frm-header-logo{margin:18px 0 10px}#frm_top_bar .frm_form_nav{flex:1}ul.frm_form_nav{margin:0 auto;padding-top:18px;display:block;min-width:240px}.nav-tab-wrapper.frm_form_nav{padding:0 25px}ul.frm_form_nav>li{margin:0 min(3.5%,32px) 0 0;display:inline-block}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle,.post-type-frm_display .frm_form_nav .nav-tab-active,.frm_form_nav>li>a{font-size:1.3em;text-decoration:none;display:block;padding:6px 2px 4px;font-weight:500;color:var(--grey-700);border-bottom:2px solid rgba(0,0,0,0)}.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before{margin-top:10px}.frm-nav-tabs a:focus,.frm-nav-tabs a:active,.frm_form_nav a:active,.frm_form_nav a:focus{outline:none;box-shadow:none}.frm_form_nav>li>a{font-size:var(--text-md);font-weight:400;color:var(--grey-500)}.frm_form_nav>li>a:hover{border-color:var(--primary-700)}.frm_form_nav .frm-dropdown-menu a:hover{background-color:#eaf2fa}.post-type-frm_display .frm_form_nav .nav-tab-active,.post-type-frm_display .frm_form_nav .nav-tab-active:hover,.frm_form_nav>li a.current_page{color:var(--primary-500);border-color:var(--primary-500);background:rgba(0,0,0,0);opacity:1;font-weight:600}.frm-full-close{display:none;padding-left:var(--gap-md);border:0 solid var(--grey-300);border-left-width:1px;height:100%;box-sizing:border-box}.frm-full-screen .frm-full-close{display:flex;align-items:center}.frm-full-close a{display:block}.frm-full-close .frmsvg{font-size:20px;width:20px;height:20px;color:var(--grey-500)}#frm_top_bar h1{font-weight:400;padding:0;margin:0;color:var(--grey-900);display:inline-flex;gap:var(--gap-sm);align-items:center;text-align:left;min-width:200px}#frm_top_bar h1 span{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;vertical-align:bottom}#frm_top_bar ul.frm_form_nav,#frm_top_bar .frm-header-logo,#frm_top_bar #frm_bs_dropdown{align-self:center;margin-top:0;margin-bottom:0;padding-top:0}#frm_top_bar .frm-header-logo{display:flex}#frm_top_bar h2{float:left;margin:0 0 0 var(--gap-sm);padding:2px 0 2px var(--gap-sm);font-weight:400;border-left:2px solid var(--grey)}.frm_wrap>#frm_top_bar #frm-publishing{margin-top:0}#frm-publishing{min-width:225px;align-self:center;align-items:center;display:flex;flex-direction:row-reverse;gap:0 var(--gap-sm);flex-wrap:wrap}.frm_wrap .postbox{border-color:var(--grey-300);border-radius:6px;box-shadow:none}.frm_wrap .postbox h3.hndle{cursor:default;padding:10px 20px;margin:0;line-height:1.4em;border-color:var(--grey-300)}.frm-pre-hndle{font-size:15px;padding:5px;margin:9px 15px}.frm-empty-row{display:none}.frm-child-row{box-shadow:5px 0 0 0 inset var(--sidebar-hover)}.frm_animate_bg{transition:background 200ms linear,color 200ms linear}.wrap>.subsubsub{clear:both;margin:0}.frm_wrap .subsubsub a{line-height:var(--leading);font-size:var(--text-sm)}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-top:0;position:fixed;top:32px;bottom:0;left:0;right:0}.frm-admin-page-translate .frm_wrap .frm_page_container,.frm-admin-page-update_translations .frm_wrap .frm_page_container{position:static}.auto-fold.frm-admin-page-styles .frm_page_container,.auto-fold .frm_wrap .frm_page_container,.frm-unfold.frm-admin-page-styles .frm_page_container,.frm-unfold .frm_wrap .frm_page_container{left:160px}.folded.frm-admin-page-styles .frm_page_container,.folded .frm_wrap .frm_page_container{left:38px}.frm-full-screen.frm-admin-page-styles .frm_page_container,.frm-full-screen .frm_wrap .frm_page_container{height:100vh;top:0;left:0}.frm-full-screen.frm-admin-page-entries .frm_page_container,.frm-new-entry .frm_page_container,.frm-admin-page-reports .frm_page_container,.frm_list_entry_page .frm_page_container{height:auto;display:block}.frm-new-entry .columns-2{border:none}.frm-white-body #frm_top_bar,.frm-white-body .columns-2{flex:0 0 auto}.columns-2 .frm-right-panel+div{padding-bottom:var(--gap-md);border-left:1px solid var(--grey-300)}.columns-2 .frm-right-panel+div,.frm_wrap #post-body-content{padding-bottom:0;padding-top:var(--gap-sm);margin-bottom:0;background:#fff;width:auto;float:none;flex:2}.frm-white-body .columns-2{flex:1;display:flex;overflow:hidden}.frm-white-body .columns-2>div{overflow-y:auto;box-sizing:border-box}.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{flex:0 0 var(--biggest-sidebar);float:none;width:var(--biggest-sidebar);min-width:var(--biggest-sidebar);background-color:var(--sidebar-color);margin:0;box-shadow:none;border:none;padding-bottom:25px}.frm-right-panel .frm_field_list,.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{box-shadow:none;border:none;margin-bottom:26px}#new_fields,.frm-has-modal,p.frm_has_shortcodes{position:relative}.frm-inline-modal.postbox{background:#fff;border-color:var(--grey-100);border-radius:var(--small-radius);box-shadow:var(--box-shadow-lg)}.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg),.frm_has_shortcodes i:not([class*=mce-]){position:absolute;color:var(--primary-500);border-radius:50%;border:1px solid rgba(0,0,0,0);z-index:100;text-align:center}.frm_has_shortcodes .frmsvg.frm-show-box{border-radius:6px !important}.frm_has_shortcodes input,.frm_has_shortcodes textarea{padding-left:18px;box-sizing:border-box}#form_settings_page #frm_adv_info,#frm_builder_page #frm_adv_info{display:none;top:0;width:310px;max-height:315px;min-height:200px;overflow-y:scroll;z-index:100}#form_global_settings .columns-2>div{overflow:auto;height:calc(100vh - 32px)}#form_global_settings .columns-2 .frm-right-panel,#form_settings_page .columns-2 .frm-right-panel,#wpbody-content .frm-page-skeleton .frm-right-panel{flex:0 0 var(--small-sidebar);width:var(--small-sidebar);min-width:var(--small-sidebar)}#form_global_settings .frm_grid_container{gap:0 var(--gap-md)}.frm-inner-content{padding:var(--gap-md)}.post-type-frm_display #poststuff{padding:0 0 10px 40px}#postbox-container-2 .postbox .inside{padding:15px 25px}#postbox-container-2 #frm_advanced .inside h3{margin:15px -25px;font-weight:600}#form_settings_page .frm-inner-content{padding-top:0;padding-bottom:150px;position:relative}.frm_wrap #submitdiv{margin-bottom:0;border-width:0 0 1px;width:100%;min-width:unset}.frm_wrap #frm_adv_info .handlediv,.frm_wrap #frm_adv_info .hndle{display:none}.frm_wrap .menu-settings{border:none;margin-top:0}.nodrag a{cursor:pointer}.frm_wrap #frm_adv_info .inside{margin:0}#frm_adv_info>.inside{padding:0}#frm_adv_info ul.subsubsub{padding-bottom:var(--gap-xs) !important}#frm_adv_info ul.subsubsub a{font-weight:500}#frm_adv_info ul.subsubsub .frm-vertical-separator{display:inline-block;width:1px;height:8px;background-color:var(--grey-300)}#frm_adv_info #frm-insert-condition{background-color:var(--primary-50)}#frm_adv_info #frm-insert-condition:hover{background-color:var(--primary-25)}#frm_builder_page #frm_adv_info{width:322px;max-height:356px;border-radius:var(--small-radius);overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory{height:356px;overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div{max-height:286px;padding:0}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*{padding-bottom:var(--gap-sm);max-height:unset}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*:last-child{padding-bottom:var(--gap-xs)}#frm_builder_page #frm_adv_info #frm-nav-tabs{display:flex;gap:var(--gap-xs);background-color:var(--grey-100);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:var(--gap-xs) var(--gap-2xs) var(--gap-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li{flex:1;text-align:center}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a{font-weight:500;line-height:1;color:var(--grey-500);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:0}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a:hover{background-color:#eaecf0;color:var(--grey-500) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li.frm-tabs a{background-color:#fff;color:var(--grey-900) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info .frm-search,#frm_builder_page #frm_adv_info .frm-with-search{padding-top:0;margin:0}.frm-right-panel .frm-inline-modal.postbox .inside{margin:0;padding:0 14px 14px}.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line,.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4{margin-left:-14px;margin-right:-14px}.frm-right-panel .frm-inline-modal .inside p:not(.howto),.frm-right-panel .frm-inline-modal .inside a{font-size:15px}.frm-inline-modal .inside a.frm_icon_font{font-size:18px}.frm-nav-tabs{margin:10px 0 20px;padding:0 var(--gap-sm);display:block;border-bottom:1px solid var(--grey-300)}#frm-nav-tabs{position:-webkit-sticky;position:sticky;top:0;background-color:var(--sidebar-color);z-index:98;margin-top:0;padding-top:5px}.frm_form_settings #frm_adv_info #frm-nav-tabs{background-color:#fff;margin:0 -4px}.frm_form_settings span.frm-with-right-icon,#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden){display:block}.frm-inline-modal .frm-nav-tabs,#frm_adv_info .frm-nav-tabs{margin:5px 0 0}#frm_adv_info .frm-nav-tabs.frm-compact-nav{padding-right:0;padding-left:20px}.frm-nav-tabs li{display:inline-block;margin:0}.frm-nav-tabs a{color:var(--grey-700);padding:10px 1px;margin:0 9px;border-bottom:2px solid rgba(0,0,0,0)}.frm_form_settings #frm_adv_info .frm-nav-tabs a{padding:5px 1px;color:var(--grey-500)}.frm-nav-tabs.frm-compact-nav a{margin:0 5px}.frm-nav-tabs a{display:block;opacity:.9}#frm_adv_info .frm-nav-tabs a{color:var(--grey-700)}.frm-nav-tabs a:hover,.frm-nav-tabs .frm-tabs a{color:var(--primary-500) !important;border-color:var(--primary-500)}.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a{font-weight:500}.frm-payments-tabs{margin-bottom:var(--gap-md);display:flex}.frm-payments-tabs .frm-payments-tab{font-weight:600;font-size:14px;color:var(--grey-900);display:inline-block;border-width:1px;border-style:solid;border-color:#eaecf0;padding:8px 12px;border-radius:6px 6px 0 0;background-color:#f9fafb}.frm-payments-tabs .frm-payments-tab-filler{border-bottom:1px solid #eaecf0;min-width:var(--gap-xs)}.frm-payments-tabs .frm-payments-tab-filler:last-child{flex:1}.frm-payments-tab.frm-active{background-color:#fff;border-bottom:none}.frm-payments-tab a{text-decoration:none;color:var(--grey-900)}#frm-bulk-modal .howto,#frm-bulk-modal h3{font-size:var(--text-sm);font-weight:400;margin:5px 0 10px;color:var(--grey)}#frm-bulk-modal h3{margin-left:20px}.frm-right-panel a.frm_add_logic_link,.frm-right-panel h3{color:var(--grey-700);font-size:var(--text-lg);font-weight:400;margin:0}.frm-right-panel h3 i{color:var(--grey-700);float:right;width:16px;cursor:pointer}.frm-settings-panel{padding:var(--gap-sm);padding-right:var(--gap-xs)}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter{top:var(--gap-xs);left:var(--gap-xs);width:calc(100% - var(--gap-sm))}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs{padding:var(--gap-xs) var(--gap-xs) 0}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div{max-height:0;visibility:hidden}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div.frm-active{max-height:unset;visibility:visible}.frm-settings-panel .frm-embed-field-placeholder{height:unset}.frm-settings-panel .frm-embed-field-placeholder img{height:100px}.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-sm);max-width:unset;color:var(--grey-800);padding:var(--gap-lg);border:0;box-shadow:var(--box-shadow-sm);margin:1px}.frm-single-settings .frm-default-value-wrapper>p{margin-bottom:0}.frm-single-settings .frm-default-value-wrapper+p:empty{display:none}.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p{margin-top:0 !important}.frm-single-settings .frm_single_option[id^=frm_watch_lookup_]{margin-bottom:var(--gap-xs) !important}.frm-single-settings>h3:first-of-type{position:relative;background-color:rgba(0,0,0,0) !important;border-top:none;padding-top:0 !important;margin-top:0 !important}.frm-single-settings>h3:first-of-type::after{content:"";position:absolute;left:var(--gap-sm);right:var(--gap-sm);bottom:0;height:1px;background-color:var(--sidebar-hover)}.frm-flex-justify,.frm-right-panel .frm-single-settings h3{display:flex;justify-content:space-between;align-items:center}#post-body-content+.frm-right-panel{flex:0 0 var(--medium-sidebar);width:var(--medium-sidebar);min-width:var(--medium-sidebar);border-left:1px solid var(--sidebar-hover)}.frm-new-entry #post-body-content+.frm-right-panel,.frm-new-entry .frm-right-panel{background:none;border:none}#post-body-content+.frm-right-panel h3{padding:20px 20px 0;font-size:17px}#post-body-content+.frm-right-panel .frm_with_icons:first-of-type h3{border:none}#frm-insert-fields h3{color:var(--grey);font-size:15px;font-weight:400;border-top:none;border-bottom:1px solid var(--sidebar-hover);margin:0;padding:10px 10px 10px 25px}.frm_wrap #frm_adv_info ul.category-tabs{margin:0;padding:10px 0 9px;font-size:15px;background:rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li{padding:10px;background-color:rgba(0,0,0,0) !important}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{border:none}.frm_wrap #frm_adv_info .categorydiv div.tabs-panel{border:none;background:rgba(0,0,0,0)}.frm_wrap #frm-categorydiv{border-right:none}#frm_adv_info #frm-conditionals{padding-top:var(--gap-sm)}#postbox-container-1 #taxonomy-linkcategory #frm-html-tags{display:none;max-height:none}#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown{position:relative}.frm-white-body #footer-upgrade{display:none}.frm-admin-footer-links,.frm-admin-footer-links-nav,.frm-admin-footer-links-socials{display:flex;justify-content:center}.frm-admin-footer-links{gap:var(--gap-2xs);flex-direction:column;text-align:center;padding:var(--gap-xl) 0 var(--gap-lg);font-size:var(--text-xs);color:var(--grey-400)}body.frm-hidden-overflow{height:100%;overflow:hidden}.frm-admin-footer-links-nav{gap:var(--gap-2xs);margin-bottom:var(--gap-xs)}.frm-admin-footer-links-socials{gap:var(--gap-xs)}.frm-admin-footer-links-socials a{color:var(--grey-400)}.frm_list_entry_page h2{float:left}.frm_list_entry_page h2+.error{clear:both}.frm_sidebar select{width:100%;margin-left:0;margin-right:0}.frm_sidebar #search-submit{float:right}.frm_single_entry_page #submitdiv{margin:0}.frm_single_entry_page .hndle a{font-size:13px}.frm-right-panel #publishing-action{float:none}.frm-right-panel #major-publishing-actions{border-top:none;height:32px;background:rgba(0,0,0,0)}#major-publishing-actions .frm_submit_form{float:right;margin-left:5px}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}.wp-admin .frm-review-notice{position:fixed !important;bottom:var(--gap-2xl);right:var(--gap-lg);width:380px;text-align:center;border-color:var(--grey-100);padding:var(--gap-lg);border-radius:var(--medium-radius);box-shadow:var(--box-shadow-lg) !important;z-index:999;box-sizing:border-box;--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 48px}.wp-admin .frm-review-notice *{box-sizing:border-box}.frm-review-notice-icon{display:inline-flex;margin-bottom:var(--gap-sm)}.wp-admin .frm-review-notice-title{font-weight:600;margin-top:0;margin-bottom:var(--gap-xs)}.wp-admin .frm-review-notice-text{margin-top:0;margin-bottom:var(--gap-md)}.frm-review-notice-signature{text-align:left;margin:var(--gap-md) 0}.frm-review-notice-signature img{width:40px;height:40px;padding:3px;box-shadow:var(--box-shadow-md);border-radius:100%}#wpwrap .frm-dismiss-review-notice{top:16px;right:19px}.frm-review-notice #frmapi-feedback [class^=frm__]{display:none}.frm-review-notice #frmapi-feedback input,.frm-review-notice #frmapi-feedback textarea{border-color:var(--grey-300);border-radius:var(--small-radius)}.frm-review-notice #frmapi-feedback input{min-height:unset;max-height:36px}.frm-review-notice #frmapi-feedback textarea{max-height:80px;padding-top:var(--gap-xs)}.frm-review-notice #frmapi-feedback .frm_message{color:var(--success-900);background-color:var(--success-25);border:1px solid var(--success-200);padding:var(--gap-sm) var(--gap-md);margin:0}.frm-review-notice #frmapi-feedback .frm_message p{margin:0}.frm-review-notice #frmapi-feedback .frm_button_submit{background-color:var(--primary-500);border-color:var(--primary-500) !important;cursor:pointer}.frm-review-notice #frmapi-feedback .frm_button_submit:hover,.frm-review-notice #frmapi-feedback .frm_button_submit:focus{color:#fff;background-color:var(--primary-700);border-color:var(--primary-700) !important}.frm-review-notice .frm_error,.frm-review-notice label{color:#444;text-align:left}.frm-review-notice label{font-size:var(--text-sm)}.frm-floating-success-message{position:fixed;z-index:999;border-radius:4px;right:10px;bottom:10px}.frm-box-shadow-xxl{box-shadow:var(--box-shadow-xxl) !important}.frm-text-white{color:#fff !important}.frm-text-primary-500{color:var(--primary-500)}.frm-text-grey-400{color:var(--grey-400) !important}.frm-text-grey-500{color:var(--grey-500) !important}.frm-text-grey-600{color:var(--grey-600) !important}.frm-text-grey-700{color:var(--grey-700)}.frm-text-grey-800{color:var(--grey-800)}.frm-text-grey-900{color:var(--grey-900)}.frm-text-success-500{color:var(--success-500)}.frm-text-warning-500{color:var(--warning-500)}.frm-underline{text-decoration:underline}.frm_no_margin,.frm-m-0{margin:0 !important}.frm-m-12{margin:var(--gap-2xl)}.frm-m-2xs{margin:var(--gap-2xs) !important}.frm_no_top_margin,.frm-mt-0{margin-top:0 !important}.frm-mt-2xs{margin-top:var(--gap-2xs) !important}.-frm-mt-2xs{margin-top:calc(-1*var(--gap-2xs)) !important}.frm-mt-xs{margin-top:var(--gap-xs) !important}.frm-mt-sm{margin-top:var(--gap-sm) !important}.frm-mt-md{margin-top:var(--gap-md) !important}.frm-mt-lg{margin-top:var(--gap-lg) !important}.frm-mt-2xl{margin-top:var(--gap-2xl) !important}.frm-mt-auto{margin-top:auto !important}.frm_no_bottom_margin,.frm-mb-0{margin-bottom:0 !important}.frm-mb-2xs{margin-bottom:var(--gap-2xs) !important}.frm-mb-6{margin-bottom:6px !important}.frm-mb-sm{margin-bottom:var(--gap-sm) !important}.frm-mb-12{margin-bottom:12px !important}.frm-mb-xs{margin-bottom:var(--gap-xs) !important}.frm-mb-md{margin-bottom:var(--gap-md) !important}.frm-mb-lg{margin-bottom:var(--gap-lg) !important}.frm-ml-2xs{margin-left:var(--gap-2xs) !important}.frm-ml-xs{margin-left:var(--gap-xs) !important}.frm-ml-auto{margin-left:auto}.-frm-ml-2xs{margin-left:calc(-1*var(--gap-2xs)) !important}.frm-mr-auto{margin-right:auto}.frm-force-mr-auto{margin-right:auto !important}.frm-mr-2xs{margin-right:var(--gap-2xs) !important}.frm-mr-xs{margin-right:var(--gap-xs) !important}.frm-mr-2{margin-right:2px !important}.frm-mx-0{margin-left:0 !important;margin-right:0 !important}.frm-mx-xs{margin-left:var(--gap-xs) !important;margin-right:var(--gap-xs) !important}.frm-mx-sm{margin-left:var(--gap-sm) !important;margin-right:var(--gap-sm) !important}.frm-my-sm{margin-top:var(--gap-sm) !important;margin-bottom:var(--gap-sm) !important}.frm-my-xs{margin-top:var(--gap-xs) !important;margin-bottom:var(--gap-xs) !important}.frm-p-0{padding:0 !important}.frm-p-1,.frm-p-2xs{padding:var(--gap-2xs)}.frm-p-sm,.frm-p-4{padding:var(--gap-sm) !important}.frm-p-xs{padding:var(--gap-xs) !important}.frm-p-sm{padding:var(--gap-sm) !important}.frm-p-6,.frm-p-md{padding:var(--gap-md) !important}.frm-p-xl{padding:var(--gap-xl) !important}.frm-px-0{padding-left:0 !important;padding-right:0 !important}.frm-py-0{padding-top:0 !important;padding-bottom:0 !important}.frm-py-2xs{padding-top:var(--gap-2xs) !important;padding-bottom:var(--gap-2xs) !important}.frm-py-sm{padding-top:var(--gap-sm) !important;padding-bottom:var(--gap-sm) !important}.frm-pt-0{padding-top:0 !important}.frm-pt-2xs{padding-top:var(--gap-2xs) !important}.frm-pt-xs{padding-top:var(--gap-xs) !important}.frm-pt-sm{padding-top:var(--gap-sm) !important}.frm-pt-md{padding-top:var(--gap-md) !important}.frm-pt-xl{padding-top:var(--gap-xl) !important}.frm-pr-lg{padding-right:var(--gap-lg) !important}.frm-pb-md{padding-bottom:var(--gap-md) !important}.frm-pb-sm{padding-bottom:var(--gap-sm) !important}.frm-pb-xs{padding-bottom:var(--gap-xs) !important}.frm-pb-2xs{padding-bottom:var(--gap-2xs) !important}.frm-pb-0{padding-bottom:0 !important}.frm-px-sm{padding-right:var(--gap-sm) !important;padding-left:var(--gap-sm) !important}.frm-px-xs{padding-right:var(--gap-xs) !important;padding-left:var(--gap-xs) !important}.frm-px-md{padding-right:var(--gap-md) !important;padding-left:var(--gap-md) !important}.frm-text-xs{font-size:var(--text-xs) !important}.frm-text-sm{font-size:var(--text-sm) !important}.frm-text-md{font-size:var(--text-md) !important}.frm-text-lg{font-size:var(--text-lg) !important}.frm-text-xl{font-size:var(--text-xl) !important}.frm-leading-none{line-height:1}.frm-italic{font-style:italic}.frm-no-italic{font-style:normal}.frm-capitalize{text-transform:capitalize}.frm-font-normal{font-weight:400 !important}.frm-font-medium{font-weight:500 !important}.frm-font-semibold{font-weight:600 !important}.frm-font-bold{font-weight:700 !important}.frm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=frm-line-clamp-]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.frm-line-clamp-2{-webkit-line-clamp:2}.frm-white-space-nowrap{white-space:nowrap}.frm-rounded-6{border-radius:6px !important}.frm-rounded-sm{border-radius:var(--small-radius) !important}.frm-rounded-12{border-radius:12px !important}.frm-rounded-md{border-radius:var(--medium-radius) !important}.frm-w-auto{width:auto !important}.frm-w-full{width:100% !important}.frm-w-half{width:50% !important}.frm-w-fit{width:fit-content !important}.frm-max-w-fit{max-width:fit-content}.frm-h-auto{height:auto !important}#wpwrap .frm-force-hidden,.frm-force-hidden{display:none !important}.frm_block,.frm-block{display:block}.frm_inline{display:inline}.frm-force-inline{display:inline !important}.frm_inline_block{display:inline-block !important}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-transition-ease{transition:all .2s ease}.frm_invisible{visibility:hidden;transition:all .2s ease}.frm_disabled{opacity:.5;cursor:default;pointer-events:none}.frm_disabled .frm-show-inline-modal{pointer-events:none !important}.frm_no_float{float:none}.frm-text-right{text-align:right}.frm-text-left{text-align:left}.frm-border-b{border-bottom:1px solid var(--grey-300)}.frm-no-border{border:none !important}.frm-hr{display:block;height:1px;background-color:var(--grey-200);margin:var(--gap-xs) 0}.frm-opacity-100{opacity:1}.frm-on-bottom{z-index:-1}.frm-rotate-90{transform:rotate(90deg)}.frm-cursor-pointer{cursor:pointer}.frm-align-baseline{vertical-align:baseline !important}.frm-fields p>label.frm_hidden,#wpbody-content label.frm_hidden,.frm-lookup-modal .dismiss,.frm-right-panel .inside a.frm_hidden,#form_global_settings .frm_hidden,ul.frm_form_nav>li.frm_hidden,a.frm_hidden,.button.frm_hidden,.wp-core-ui .button.frm_hidden{display:none}.postbox .inside>p.frm_no_bottom_margin:last-child{margin-bottom:0 !important}.frm_no_section_fields.frm_block{display:block}.actions.frm_visible_overflow{overflow:visible !important}.frm_full_opacity,.frm_submit .frm_full_opacity,.frm_submit .frm-opacity-100{opacity:1}.frm-dropdown-menu.frm-on-top{z-index:99999}.frm-vertical-line{display:inline-block;width:1px;height:12px;background-color:var(--grey-300)}.frm-admin-full-screen #adminmenumain,.frm-admin-full-screen #wpadminbar,.frm-admin-full-screen #adminmenuback,.frm-admin-full-screen #adminmenuwrap,.frm-admin-full-screen #wpfooter{display:none}.frm-admin-full-screen #wpcontent,.frm-admin-full-screen.auto-fold #wpcontent{margin:0;padding:0}.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content{padding:0}.frm_forms.with_frm_style{max-width:100%}.post-type-frm_display .wrap>.subsubsub,.post-type-frm_display .wrap>.icl_subsubsub,.frm_form_settings>p{margin:6px var(--gap-md);padding:0}.frm-entry-container{margin:0 40px 40px;padding:0}#form_reports_page .frm-inner-content{width:calc(100% - 40px);max-width:900px;margin:20px auto;padding:20px}.frm_inner_field_container>.frm_form_fields{clear:both}.post-type-frm_display h2,.frm_wrap h2{margin-top:0 !important;font-size:var(--text-lg);line-height:var(--leading)}.post-type-frm_display .wrap>h2:first-child,.frm_wrap .wrap>h2:first-child{padding-top:0;margin-top:0 !important;font-size:var(--text-lg)}#frm_form_editor_container{position:relative;margin-top:28px}.form-field p{background:none;border:none}.form-field label.frm_primary_label{display:block;float:none;width:auto}#frm_view_editor_left label,#frm_view_editor_left .frm_primary_label,.frm-dialog .frm-sub-label,.frm-dialog label,.dropdown .frm_primary_label,.accordion-container label,.frm-fields td>label,.frm-fields td>div>label,.frm_form_field>label:first-child,.frm-fields p>label,.frm_on_submit_type>label,.post-type-frm_display .frm_form_field>label,#new_fields .frm_primary_label,#form_global_settings .frm_primary_label,#frm_form_editor_container .frm_primary_label,#permissions_settings_settings .frm_primary_label{color:var(--grey-700);margin:0 0 6px;padding:0;width:auto;font-size:var(--text-sm);display:block;line-height:var(--leading)}#frm_form_editor_container #frm-show-fields .frm_primary_label{min-height:21px}.frm-fields td input+label{display:inline}#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label,#frm_form_editor_container .edit_field_type_break .frm_primary_label{display:none}form .frm_primary_label input{font-size:12px}.with_frm_style form .form-field{margin-bottom:20px}#frm_builder_page .with_frm_style form .frm_combo_inputs_container>.form-field{margin-bottom:0}.frm_description,.with_frm_style form div.description,.frm_error,.with_frm_style form div.description textarea{padding:0;font-size:11px}.with_frm_style .description{color:inherit}#frm_form_editor_container .divider_section_only .frm_primary_label{display:flex;align-items:center;gap:var(--gap-xs);font-size:20px}#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label{padding:0}#frm-show-fields ul:has(>li:nth-child(7)) .frm-sub-label.frm-field-id{display:none}.frm-token-container{position:relative;display:block;direction:ltr}.frm-token-container .frm-tokens{position:absolute;top:0;left:0;max-width:calc(100% - var(--gap-xl));display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-2xs);padding:6px var(--gap-xs);margin:0}.frm-token-container .frm-token{position:relative;display:flex;align-items:center;gap:var(--gap-xs);min-height:24px;height:auto;color:var(--grey-900);background:var(--grey-100);border-radius:4px;padding:0 var(--gap-xs);font-size:var(--text-md);margin:0;z-index:2}.frm-token-container .frm-token .frm-token-value{line-height:var(--leading);white-space:normal;word-break:break-word}.frm-token-container .frm-token .frm-token-remove{display:flex;flex-shrink:0;cursor:pointer}.frm-token-container .frm-token .frm-token-remove .frmsvg{color:var(--grey-900);position:static;width:12px;height:12px;padding:0}.frm-token-container .frm-token .frm-token-remove:hover .frmsvg{color:var(--error-500)}.frm-token-container .frm-show-inline-modal{z-index:3 !important}.frm-token-container .frm-token-proxy-input{position:relative;z-index:1;padding-right:var(--gap-xl) !important}form .form-field.frm_field_loading{margin-bottom:0;min-height:0;padding:0;text-align:center}.frm_sorting>.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:10px}.frm_sorting>.frm_field_loading~.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:0;display:none}.frm_description,.with_frm_style form div.description,.frm_error{margin:0}.frm_error{color:#f04438}form .frm_blank_field input,form .frm_blank_field textarea,form .frm_blank_field select,form .frm_blank_field .frm-g-recaptcha iframe,form .frm_blank_field .g-recaptcha iframe{border-color:#f04438}form .frm_blank_field label{color:#f04438}.frm_required{color:#f04438}.with_frm_style .wp-editor-container textarea,.postbox .wp-editor-container textarea,.frm_remove_border{border:none}.with_frm_style .mceIframeContainer,.postbox .mceIframeContainer{background-color:#fff}.frm_pro_license_msg{clear:left;margin-top:10px}.frm-license-input{position:relative}.frm-license-input span{font-size:var(--text-sm)}.frm-license-input .frmsvg{width:20px;height:20px;margin-left:5px;vertical-align:text-top}.frm-license-input .frmsvg,.frm-license-input span,.frm-license-input i{color:#00831a}.upgrade_to_pro{padding:10px 25px 25px;max-width:700px;margin:20px auto !important}.upgrade_to_pro .error{display:none}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.upgrade_to_pro a{color:var(--orange)}.upgrade_to_pro table .frmsvg{height:var(--text-xl);width:var(--text-xl)}.upgrade_to_pro table.widefat{background-color:#fff;border-collapse:collapse}.frm-white-body .upgrade_to_pro table th,.upgrade_to_pro table td{padding:10px 15px;border:1px solid var(--grey-300);line-height:var(--leading);font-size:var(--text-sm)}.upgrade_to_pro table th.frmcenter{text-align:center}.widefat th.frm_table_break{background-color:var(--sidebar-color)}h2.frm-h2+.howto{color:var(--medium-grey);max-width:850px;margin:5px 0 20px}.frm-card{width:100%;border-radius:10px;border:1px solid var(--grey-300);opacity:1;transition:opacity 1s}.frm-card-box{max-width:524px;background-color:#fff;border-radius:var(--medium-radius);padding:var(--gap-xl);border:1px solid var(--grey-200);box-shadow:var(--box-shadow-md)}.frm-card-box.frm-has-progress-bar{position:relative;overflow:hidden;border-radius:var(--medium-radius)}.frm-card-box-progress-bar{position:absolute;top:0;left:0;right:0;height:var(--gap-xs);background-color:var(--primary-25)}.frm-card-box-progress-bar>span{position:absolute;top:0;left:0;bottom:0;width:33%;background-color:var(--primary-500)}.frm-card-box-header{display:flex;justify-content:center;margin-bottom:var(--gap-sm)}.frm-card-box.frm-has-progress-bar .frm-card-box-header{margin-top:var(--gap-xs)}.frm-card-box-content>:last-child{margin-bottom:0}.frm-card-box-footer{display:flex;justify-content:end;gap:var(--gap-sm);margin-top:var(--gap-lg)}.frm-card-box-title{font-size:var(--text-xl) !important;font-weight:600 !important;margin-bottom:var(--gap-xs)}.frm-card-box-text{font-size:var(--text-md) !important;color:var(--grey-600) !important;margin-top:0 !important}.frm-fade{opacity:0;transition:all 1s}.frm-addons .frm-card.frm-addon-not-installed{position:relative}.frm-addons .plugin-card-top{min-height:155px;padding-top:var(--gap-lg);overflow:hidden}.frm-addons .plugin-card-top h2{margin-top:0;font-weight:400}.frm-template-row p,.frm-addons .plugin-card-top p{opacity:.8}.frm-addons .plugin-card-top>:not(p):not(h2){display:none}.frm-addons .plugin-card-bottom{padding:5px 20px 20px;text-align:center;background:rgba(0,0,0,0);border-top:none}.frm-addons .plugin-card-bottom,.frm-addons .plugin-card-bottom .button{font-size:15px}.frm-addons .button,.frm-addons .frm-button-tertiary{float:right}.frm-addons .addon-status{float:left;padding-top:4px}.frm-addon-not-installed .frm-activate-addon,.frm-addon-not-installed .frm-deactivate-addon,.frm-addon-not-installed .frm-uninstall-addon,.frm-addon-installed .frm-install-addon,.frm-addon-installed .frm-deactivate-addon,.frm-addon-active .frm-activate-addon,.frm-addon-active .frm-install-addon,.frm-addon-active .frm-uninstall-addon,.plugin-card-pro.frm-addon-active .button,.plugin-card-pro.frm-addon-active .frm-button-tertiary{display:none !important}.frm-save-and-reload-options{margin-top:10px;font-size:13px}.frm-save-and-reload,.frm-save-and-reload+.frm-button-secondary{visibility:visible !important}.addon-status-label{opacity:.7}.frm-addon-active .addon-status-label{color:var(--green);opacity:1}.frm-addon-error{position:absolute;top:55px;left:10px;right:10px;font-weight:700;text-align:center}.frm-new-template.plugin-card-bottom{overflow:visible}#frm-new-template p:first-child{margin-top:0}.frm-admin-page-formidableedit #wpbody-content>*:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack),#wpbody-content>.updated,#wpbody-content>#update-nag,#wpbody-content>.update-nag,#wpbody-content>.notice,#wpbody-content>.error:not(.frm_previous_install),.frm-white-body .updated,.frm-white-body .notice,.frm_wrap>.wrap>.notice,.frm-white-body .error:not(.frm_previous_install){display:none}.frm-admin-page-formidableedit #frm_builder_page{display:block !important}.frm-white-body .updated,.frm-white-body .error{margin:0;padding:10px 20px}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-templates-list{margin-top:0}.frm-templates-list.frm_grid_container li{margin-bottom:0}.frm-templates-list li{vertical-align:top;position:relative;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,0);text-align:left}.frm-templates-list li:not(.frm_hidden){display:inline-block}.frm-templates-list.frm-categories-list li{width:100%}.frm-templates-list li.frm-selectable{cursor:pointer}.frm-templates-list li.frm-selectable:hover{background:var(--light-blue);border-color:rgba(65,153,253,.5)}.frm-templates-list li.frm-selectable:hover h3,.frm-templates-list li.frm-selectable:hover p{max-width:calc(100% - 65px)}.frm-templates-list .frm-featured-form{display:flex;width:100%}.frm-templates-list li .frm-featured-form{padding:7px 5px}.frm-templates-list li li>div{padding-left:0}.frm-templates-list li>div>div{vertical-align:middle}.frm-category-icon,.frm-icon-wrapper{background:var(--primary-500);border-radius:var(--small-radius);color:#fff;width:32px;height:32px;font-size:18px;box-sizing:border-box;align-self:center;justify-content:center;align-items:center;display:inline-flex}.frm-templates-list li .frm-category-icon{overflow:hidden}.frm-templates-list li h3,.frm-templates-list li p{text-align:left;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.frm-templates-list li h3,.frm-templates-list .frm-install-template h3{font-size:var(--text-sm) !important}.frm-templates-list .frm-install-template div{text-align:left}#frm_leave_email,#frm_code_from_email{width:480px;max-width:100%}.frm-templates-list.frm-categories-list li>div>div:last-child{padding-left:0}.frm-hover-icons{position:absolute;right:0;top:17px;max-width:91px;height:100%;box-sizing:border-box;padding:0 10px 0 5px !important;border-radius:var(--small-radius);text-align:right;display:flex;gap:5px}.frm-ready-made-solution .frm-hover-icons{visibility:hidden}.frm-ready-made-solution:hover .frm-hover-icons{visibility:visible}.frm-hover-icons a{width:22px;height:22px;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;line-height:var(--leading);text-align:center}.frm-hover-icons>.frm-preview-form,.frm-hover-icons>.frm-delete-form{border:1px solid var(--primary-500)}.frm-hover-icons>.frm-create-form,.frm-ready-made-solution .frm-hover-icons a{background-color:var(--primary-500)}.frm-hover-icons>a .frmsvg{width:14px;height:14px;vertical-align:baseline}.frm-hover-icons>.frm-preview-form .frmsvg,.frm-hover-icons>.frm-delete-form .frmsvg{color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form{background-color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form .frmsvg{background-color:var(--primary-500)}.frm-ready-made-solution .frmsvg{width:14px;height:14px}.frm-hover-icons .frm-create-form svg,.frm-ready-made-solution .frm-hover-icons svg{color:#fff}.frm-hover-icons .frm-create-form:hover,.frm-ready-made-solution .frm-hover-icons a:hover,.frm-hover-icons>.frm-unlock-form:hover,.frm-hover-icons>.frm-unlock-form:hover .frmsvg{background-color:var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover,.frm-hover-icons .frm-delete-form:hover{border:1px solid var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover .frmsvg,.frm-hover-icons .frm-delete-form:hover .frmsvg{color:var(--primary-700) !important}.frm-application-card h4 .frmsvg,.frm-locked-template h3 .frmsvg{height:var(--text-sm);width:var(--text-sm);vertical-align:text-top;color:var(--grey-500)}.frm-modal-back{cursor:pointer;margin-right:4px}.frm-modal-cancel{float:left}.frm-meta-tag,.frm-meta-tag:hover{padding:var(--gap-2xs) var(--gap-xs);border-radius:var(--small-radius);font-weight:600;display:inline-flex;background-color:#d9ebff;gap:2px}.frm-meta-tag.frm-grey-tag,.frm-meta-tag.frm-grey-tag:hover{background-color:var(--sidebar-hover);color:var(--grey-900)}.frm-meta-tag.frm-red-tag,.frm-meta-tag.frm-red-tag:hover{background:var(--error-100);color:var(--error-700)}.frm-meta-tag.frm-orange-tag,.frm-meta-tag.frm-orange-tag:hover{background-color:#fef7f4;color:var(--orange)}.frm-meta-tag.frm-green-tag,.frm-meta-tag.frm-green-tag:hover{background-color:var(--success-500);color:#fff}.frm-entry-status-0,.frm-meta-tag.frm-lt-green-tag,.frm-meta-tag.frm-lt-green-tag:hover{background-color:var(--success-100);color:var(--success-800)}.frm-meta-tag.frm-new-pill{background-color:var(--success-500);vertical-align:text-bottom}.frm_add_field span+.frm-meta-tag{margin-left:0}.dropdown-item .frm-meta-tag{margin-left:0}.frm-entry-status{font-weight:500}.frm-entry-status-1{color:#7a4d05;background:#fff2d2}#frm-create-footer{padding:15px 20px}li .frm-hover-icons .frm-preview-form,.frm-hover-icons .frm-unlock-form,.frm-locked-template .frm-hover-icons .frm-create-form,.frm-modal-back{display:none}.frm-locked-template .frm-hover-icons .frm-unlock-form,li[data-preview] .frm-hover-icons .frm-preview-form{display:inline-flex}.frm-modal-back svg{color:#7f7f7f}#frm-upgrade-body-list-wrapper>div{display:inline-block;width:33.3333333333%;vertical-align:top;text-align:left;margin-bottom:10px}#frm-upgrade-body-list-wrapper ul{padding-left:40px}#frm-upgrade-body-list-wrapper ul li::before{content:"\2022";color:var(--primary-500);display:inline-block;width:1em;margin-left:-1em}.frm-embed-modal-content{padding:var(--gap-md)}.frm-embed-modal-content.frm-loading-page-options{display:flex;justify-content:center}#frm_embed_modal .frm_embed_example{background:var(--sidebar-color);border:1px solid var(--sidebar-hover);border-radius:var(--small-radius);color:var(--grey-900);font-size:var(--text-sm);padding-right:var(--gap-lg);width:100%;height:auto !important;resize:none}#frm_embed_modal textarea.frm_embed_example{padding-bottom:0}.frm-embed-modal-content>div a{position:absolute;right:0;top:0}.frm-embed-modal-content>div{position:relative;margin-bottom:var(--gap-sm)}.frm-embed-modal-content>div:last-child{margin-bottom:0}.frm-embed-modal-content svg[id^=frm_copy_embed_]{position:absolute;bottom:10px;right:10px;cursor:pointer;opacity:.5}.frm-border-info-box,.frm-embed-modal-option{border-radius:var(--small-radius);border:1px solid var(--grey-300);padding:var(--gap-sm);cursor:pointer;display:flex;gap:var(--gap-sm);font-size:var(--text-sm)}.frm-embed-modal-option+.frm-embed-modal-option{margin-top:var(--gap-sm)}.caret.rotate-270,.frm-embed-modal-option .caret{align-self:center;margin-left:auto;transform:rotate(-90deg)}#frm_embed_modal .frm_modal_footer{display:none}#frm_embed_modal.frm-on-page-2 .frm_modal_footer{display:block}.frm-embed-modal-content ul{max-height:300px;overflow-y:scroll}.frm-embed-modal-wrapper.frm-dialog{overflow:visible}#frm-bulk-modal .frm_grid_container{grid-template-columns:repeat(12, 8.33%);grid-gap:0}#frm-bulk-modal .frm8{border-right:1px solid var(--grey-300);padding:10px 20px 10px var(--gap-lg)}#frm-bulk-modal .frm4{padding:10px 0}.frm-inline-modal .howto{margin:5px 0 10px;color:var(--grey)}.frm-inline-modal .frm_code_list+.howto{margin-bottom:0}#frm_bulk_options{height:240px;width:100%;border:none;box-shadow:none;padding:0}.frm-bulk-edit-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-2xs);font-size:var(--text-sm);margin:12px 0 12px auto}.frm-bulk-edit-link .frm-bulk-edit-link{margin:0}.frm-small-add{font-size:var(--text-sm) !important}.frm-small-add span{color:var(--primary-500);font-size:12px;height:12px;width:12px}.frm_no_captcha_text{font-weight:700;color:#a00}.frm_image_from_url{height:50px}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_scale{text-align:center;float:left;margin-right:10px}.frm_scale input{display:block;margin:5px}.frm_multi_fields_container{float:left}.frm_multi_fields_container,.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range],.frm_form_builder .frm_form_fields input[type=text]{width:100%;height:auto}.frm_form_builder .frm_time_wrap .frm_time_sep{vertical-align:sub;vertical-align:-webkit-baseline-middle}.frm_form_builder input[type=range]::-webkit-slider-runnable-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-moz-range-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-lower{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-upper{background-color:var(--blue-border)}.frm-embed-field-placeholder{text-align:center;height:145px;display:flex;align-items:center;justify-content:center}.frm-fake-field{display:block;height:25px;background-color:var(--light-blue);border:1px solid var(--grey-300);margin:10px 0;border-radius:var(--small-radius)}.frm-embed-message{position:absolute;background:#fff;border:1px solid var(--grey-300);color:var(--grey-700);padding:var(--gap-md);font-size:var(--text-lg);max-width:200px;min-width:50%;margin:0 var(--gap-md);overflow:hidden;text-overflow:ellipsis}.frm-summary-message{top:50%;left:50%;padding:15px 0;font-size:var(--text-md);transform:translate(-50%, -50%)}.frm-summary-learn-more{font-size:inherit !important}.frm-single-settings .frm-embed-message{width:100%;position:static;border-radius:var(--small-radius)}#new_fields input[type=text],#new_fields input[type=number],.frm_field_box .frm_form_fields>textarea,.frm_form_fields .frm_form_field>textarea,.frm_form_fields .frm_form_field>input[type=email],.frm_form_fields .frm_form_field>input[type=url],.frm_form_fields .frm_form_field>input[type=number],.frm_form_fields .frm_form_field>input[type=tel],.frm_form_fields .frm_form_field>input[type=text],.frm_form_fields .frm_form_field>input[type=range]{width:100%}.frm_form_fields textarea.wp-editor-area{width:100%;border:none}.frm_form_fields input[type=file],.frm_form_fields input[type=file]:disabled{background:rgba(0,0,0,0);border:none;box-shadow:none;width:auto}.frm_form_fields select{width:auto;max-width:100%}input[type=radio],input[type=checkbox]{width:16px;padding:0}.frm_grid_container>p,.frm_grid_container>p.frm_form_field,.frm_grid_container>div.frm_form_field,#new_fields .frm_grid_container>p{margin-top:8px;margin-bottom:8px;margin-right:0}.frm_grid_container>p>label:only-child,.frm_grid_container>p.frm_form_field>label:only-child,.frm_grid_container>div.frm_form_field>label:only-child,#new_fields .frm_grid_container>p>label:only-child{margin-bottom:0}.frm_grid_container>.frm-has-modal>p:only-child{margin-bottom:var(--gap-xs)}#new_fields div.frm_grid_container>.frm_primary_label{margin-top:8px}#new_fields .frm_primary_label+p,#new_fields .frm_primary_label+.frm6+.frm6,#new_fields .frm_primary_label+.frm6+.frm-inline-modal+.frm6{margin-top:0}.frm_catlevel_2,.frm_catlevel_3,.frm_catlevel_4,.frm_catlevel_5{margin-left:18px}.frm_wrap .frm-fields .auto_width,.frm_form_fields input.auto_width,.frm_form_fields select.auto_width,.frm_form_fields textarea.auto_width{width:auto !important}.frm_form_fields select.auto_width{min-width:60px}.frm_form_fields input:focus,.frm_form_fields select:focus,.frm_form_fields textarea:focus,.frm_focus_field input{background-color:#fff;border-color:#ddd}.frm_form_builder .frm_radio,.frm_form_builder .frm_checkbox{display:block;margin-bottom:2px}.frm_form_builder .frm_radio label,.frm_form_builder .frm_checkbox label{font-size:var(--text-sm)}.horizontal_radio .frm_radio,.horizontal_radio .frm_checkbox{margin-right:5px;display:inline-block}.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label,.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label{display:flex;align-items:center;gap:9px;white-space:normal}.frm_form_field.frm_two_col .frm_opt_container,.frm_form_field.frm_three_col .frm_opt_container,.frm_form_field.frm_four_col .frm_opt_container{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:max-content;grid-gap:0 2.5%}.frm_form_field.frm_three_col .frm_opt_container{grid-template-columns:repeat(3, 1fr)}.frm_form_field.frm_four_col .frm_opt_container{grid-template-columns:repeat(4, 1fr)}.frm_form_field.frm_two_col .frm_radio,.frm_form_field.frm_two_col .frm_checkbox,.frm_form_field.frm_three_col .frm_radio,.frm_form_field.frm_three_col .frm_checkbox,.frm_form_field.frm_four_col .frm_radio,.frm_form_field.frm_four_col .frm_checkbox{grid-column-end:span 1}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap .with_frm_style .frm_radio input[type=radio],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_scale input[type=radio],.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{width:15px;min-width:15px;height:15px;border:1px solid var(--grey-300);box-shadow:var(--box-shadow-sm);-webkit-appearance:none}.frm_wrap input[type=radio]{border-color:var(--grey-300);box-shadow:var(--box-shadow-sm)}.frm_wrap input[type=radio]:checked::before{background-color:var(--primary-500)}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_checkbox input[type=checkbox]{border-radius:4px}.frm-white-body input[type=checkbox]:checked,.frm_wrap input[type=checkbox]:checked{background-color:var(--border-color-active, var(--primary-500)) !important;border-color:var(--border-color-active, var(--primary-500)) !important}.frm-white-body input[type=checkbox]:checked:focus,.frm_wrap input[type=checkbox]:checked:focus{border-color:var(--border-color-active, var(--primary-500))}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{content:"";display:block;width:100% !important;height:100% !important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;background-size:8px !important;background-repeat:no-repeat !important;background-position:center !important;margin:0}.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{margin-right:5px}.frm_inner_field_container{margin-bottom:10px}.frm_conf_inline .frm_inner_field_container,.frm_conf_inline .frm_inner_conf_container{width:49%;float:left}.frm_conf_inline .frm_inner_field_container{margin-right:2%;clear:both}.frm_inner_field_container>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>label,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>label,li.ui-state-default.selected>.frm_inner_field_container>label{max-width:calc(100% - 100px)}.frm-drag-fade{background-color:var(--lightest-grey) !important;border-radius:4px}.frm-drag-fade *{opacity:0}.frm-dragging .divider_section_only,.frm-dragging .frm_field_box{pointer-events:none}.frm_form_settings #op-popup,.frm_form_settings com-1password-op-button,.frm_conf_below .frm_conf_field_container .frm_primary_label,.frm_conf_inline .frm_inner_field_container .frm-show-click a,.frm_conf_below .frm_conf_field_container .frm-show-click a{display:none !important}.frm_conf_inline .frm_inner_field_container .frm-field-action-icons{position:absolute;right:5px}.frm_conf_below .frm_conf_field_container{margin-top:10px}.frm_calc_dec{width:50px}.frm_ext_sc{display:none}.frm_long_input{width:100% !important;box-sizing:border-box}.frmcenter{text-align:center}img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}label input[type=checkbox],label input[type=radio]{vertical-align:inherit}#editorcontainer #dyncontent{margin:0;width:100%;padding:6px;line-height:var(--leading);border:0 none;outline:none;box-sizing:border-box}.frm_postbox_icon{margin:-6px 0 0 -10px}.frm_form_builder a:hover{text-decoration:underline}.frm_form_builder .widget-title h4{padding:10px 15px}.frm_form_builder .widget-top a.widget-action::after{margin:7px 12px 0}.frmbutton.frm_tgateway{display:none !important}.frm_html_legend pre{display:inline}#ed_fullscreen{display:none !important}.frm_posttax_opt_list{overflow:auto;max-height:200px;background-color:#fff}.frm_posttax_opt_list p.howto{font-size:12px}.frm_border_bottom{border-bottom:1px solid var(--grey-300);margin-bottom:10px;padding-bottom:10px}.frm_posttax_opt_list .frm_border_bottom span.howto{padding-right:10px}.frm_posttax_opt_list .frm_border_bottom input{margin-right:1px}.frm_add_remove div.frm_form_field{padding-bottom:5px}.frm_field_opts_list{max-height:260px;overflow:auto}.frm_white_bg,.frm-bg-white{background-color:#fff}.frm-bg-grey-50{background-color:var(--grey-50)}.frm-bg-grey-200{background-color:var(--grey-200)}.frm-bg-grey-800{background-color:var(--grey-800)}.frm-bg-primary-500{background-color:var(--primary-500)}.frm_border_light{border:solid 1px #ddd}#new_fields .form-table input[type=text],#new_fields .form-table select,.form-table .form-field input,.form-table .form-field .quicktags-toolbar input,.form-field input,.form-field .quicktags-toolbar input{width:auto}.frm_aff_link{float:right}.frm_select_box{text-align:center;font-weight:700;width:100%;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box{text-align:left;font-weight:400;font-size:inherit !important;border:none;padding:0 !important;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box:focus{outline:none;box-shadow:none}.wp-list-table .frm_no_items.frm_select_box{text-align:center;font-weight:700;width:500px;max-width:100%;font-size:inherit}#frm-options-panel{padding:0 var(--gap-sm);color:var(--grey-900);overflow:hidden}.frm-right-panel a.frm_add_logic_link,#frm-options-panel h3,.frm-collapsible{font-size:var(--text-md);font-weight:500;background-color:#fff;border-radius:var(--small-radius);padding:18px var(--gap-sm);margin:2px calc(-1*var(--gap-sm));transition:background-color 200ms ease-out,box-shadow 200ms ease-out,color 200ms ease-out}.frm-right-panel a.frm_add_logic_link .frmsvg,#frm-options-panel h3 .frmsvg,.frm-collapsible .frmsvg{width:13px;height:13px;color:var(--grey-500);transition:transform 300ms ease-in}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type),.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type),#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child,.frm-collapsible:not(.frm-collapsed):not(:first-of-type),.frm-collapsible:not(.frm-collapsed):first-of-type:first-child{color:var(--grey-700);box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg,#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg,.frm-collapsible:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-collapsible:not(.frm-collapsed):first-of-type:first-child .frmsvg{transform:rotate(-180deg)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div,#frm-options-panel h3:not(.frm-collapsed)+div,.frm-collapsible:not(.frm-collapsed)+div{padding-top:6px;padding-bottom:6px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container,.frm-collapsible:not(.frm-collapsed)+div.frm_grid_container{padding-bottom:14px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child,.frm-collapsible:not(.frm-collapsed)+div.frm_grid_container>p:first-child{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,.frm-collapsible:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link.frm-collapsed,#frm-options-panel h3.frm-collapsed,.frm-collapsible.frm-collapsed{color:var(--grey-500);background-color:rgba(0,0,0,0)}.frm-right-panel a.frm_add_logic_link:hover,#frm-options-panel h3:hover,.frm-collapsible:hover{color:var(--grey-700);background-color:#fff;box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:focus-visible,#frm-options-panel h3:focus-visible,.frm-collapsible:focus-visible{outline:1px solid var(--primary-500) !important;outline-offset:-1px}.frm-right-panel a.frm_add_logic_link:focus{outline:auto}.frm_field_key{background-color:#f7f7f7}#frm_form_editor_container #edit-slug-box{padding:0}.frm-alt-table{position:relative;width:100%;border-collapse:collapse;margin-top:.5em;font-size:15px}#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}.frm-alt-table th{width:200px}.frm-alt-table tr,.frm-alt-table tr.frm-odd{background-color:rgba(0,0,0,0)}.frm-alt-table tr.frm-even{background-color:var(--sidebar-color)}.frm-alt-table th,.frm-alt-table td{background-color:rgba(0,0,0,0);vertical-align:top;text-align:left;padding:20px}.frm-alt-table h3{margin-bottom:0}.form-field .frm_cb_button{height:22px;line-height:20px;margin-bottom:10px;margin-right:5px}.edit_field_type_select .frm_option_val_label{margin-left:12px}.frm_rte{background:url(../images/rte.png) no-repeat}.frm_rte .howto{margin:10px 0 46px}.subform_section{margin:25px}.subform_section,.subform_section label,.subform_section input{opacity:80}.subform_section .frm_sortable_field_opts{display:none}#frm_form_editor_container .subform_section .frm_primary_label{display:block}.subform_section.subform_break{border-top:1px dashed #ccc}.button-secondary.frm_html_field{background-color:#ededed;padding:10px 20px;line-height:inherit;width:auto;height:auto !important;border-radius:0;box-sizing:content-box}.frm_html_field_placeholder{margin-bottom:10px;text-align:center}.recaptcha_placeholder{border:1px solid #d3d3d3;width:300px}.turnstile_placeholder{width:300px}.frm_sorting .frm_rte textarea{width:653px;background:#fff;margin:1px 0 0;border:1px solid #dfdfdf;border-top:none;border-radius:0;float:none !important}.frm_full_rte textarea{width:98%;padding:0}.frm_field_box{padding:5px;min-height:20px;margin:10px 0}.frm_indent_opt,td.frm_indent_opt{padding-left:25px}.frm_charts object{background:rgba(0,0,0,0)}.frm_charts h2{height:34px}.frm_single_option.ui-sortable-placeholder,li.sortable-placeholder{border:none;margin:0;visibility:visible !important;box-shadow:2px -10px 0 2px var(--primary-500)}#frm_form_editor_container>ul>.frm_single_option.ui-sortable-placeholder,#frm_form_editor_container>ul>li.sortable-placeholder{width:calc(100% - 5px) !important;height:0 !important}#frm_form_editor_container>ul>li>ul{position:relative}#frm_form_editor_container>ul>li>ul>li.sortable-placeholder,#frm_form_editor_container ul.start_divider>li>ul>li.sortable-placeholder{position:absolute;top:20px;bottom:0}.edit_field_type_divider+li.sortable-placeholder{box-shadow:2px 5px 0 2px var(--primary-500)}.start_divider li.sortable-placeholder{box-shadow:2px -5px 0 2px var(--primary-500)}.frm-is-collapsed+.sortable-placeholder{box-shadow:2px 15px 0 2px var(--primary-500)}.frm_single_option.ui-sortable-placeholder{box-shadow:0 0 1px 1px var(--primary-500)}.frm_sorting>li.edit_field_type_end_divider:first-child,.frm-show-click,li.ui-state-default.edit_field_type_divider .frm-show-click{display:none}.frm_form_field.ui-sortable-helper .frm-field-action-icons,.frm_form_field.ui-sortable-helper .frm_form_fields,.frm_form_field.ui-sortable-helper .frm_description,.frm_form_field.ui-sortable-helper .description{display:none}.frm_form_field.ui-sortable-helper .frm_primary_label,.frm_form_field.ui-sortable-helper .frm_inner_field_container{margin:0 !important}.frm-single-settings .frm-show-click{display:block !important}.frm-show-hover,.frm_single_visible_hover,li.ui-state-default.edit_field_type_divider .frm-show-hover{opacity:0;transition:opacity .15s ease-in-out}#frm-show-fields .frm-field-settings-open .frm-show-hover{opacity:1}.frm_sortable_field_opts{margin-top:5px}.frm_single_option{clear:both;margin:0 !important;padding-bottom:5px}.frm_single_option input[type=radio],.frm_single_option input[type=checkbox]{margin-top:0}.frm_single_option .frm-with-right-icon input[type=text]+.frmsvg{position:relative;right:27px;width:14px;height:14px;padding:0;margin:var(--gap-2xs) 0 0}.frm_product_price_wrapper,.frm_image_preview_wrapper,#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 106px) !important;flex-grow:1}.frm-right-panel .frm_single_option a.frm_remove_tag,.frm_single_option a{padding-left:7px}.frm_single_option:hover .frm_single_visible_hover{opacity:100}.frm_single_option .frm-drag{font-size:23px;width:24px;height:24px;margin-left:-6px;margin-right:var(--gap-xs);color:var(--grey-500)}.frm_single_option .frm-drag::before{vertical-align:middle}.frm-drag,.frm_single_option.ui-sortable-helper{cursor:move}.frm_single_option .frm_option_key.frm_image_preview_wrapper,.frm-type-ranking .frm_single_option .frm_option_key{margin-left:21px !important}.frm_option_key input[type=text]{margin-top:var(--gap-xs) !important;margin-left:11px !important}.frm_option_key input[type=checkbox]+input[type=text],.frm_option_key input[type=radio]+input[type=text]{margin-left:30px !important}.frm-type-ranking .frm_option_key input[id*=field_key_]{margin-left:30px !important}li.ui-state-default.selected .frm-show-click,li.ui-state-default.selected.edit_field_type_divider .frm-show-click{display:inline;vertical-align:top}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>.frm-show-hover,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{opacity:100}li.frm_field_box>ul.frm_grid_container{position:relative}.frm_sorting span.ui-icon{width:16px}body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container{--field-border-width: 1px;--border-color: var(--grey-300);--border-color-active: var(--primary-500);--border-radius: var(--small-radius)}#form_show_entry_page .frm_file_link,#form_show_entry_page .frm_image_option_container{display:inline-flex;flex-wrap:nowrap;flex-direction:column;text-align:center;align-items:center;width:150px;margin-right:10px;margin-bottom:10px}#form_show_entry_page .frm_image_option_container img{width:150px;height:150px;object-fit:cover}#form_show_entry_page .frm_file_link img{max-width:150px;height:auto}#form_show_entry_page .frm_file_link~br{display:none}#form_show_entry_page .frm_upload_label{padding:10px}#form_show_entry_page.frm_wrap .postbox{overflow:hidden}.frm_image_option_container .frm_image_placeholder_icon svg{height:150px}.frm_list_entry_page .frm_file_link,.frm_list_entry_page .frm_image_option_container.frm_label_with_image{display:block;text-align:center}.frm_list_entry_page .frm_image_option_container img{width:75px;height:75px;object-fit:cover}.frm_list_entry_page img{max-width:100%;height:auto}.frm_image_option_container .frm_empty_url{background-color:var(--sidebar-color)}.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image{display:block;padding:5px 0 10px}.frm_list_entry_page .frm_upload_label,.frm-summary-page-wrapper .frm_text_label_for_image{display:block}#frm-welcome .frm_image_options .frm_image_option_container,#form_global_settings .frm_image_options .frm_image_option_container{background:var(--sidebar-color)}#frm-welcome .frm_image_option_container svg,#form_global_settings .frm_image_option_container svg{max-width:calc(100% - 20px)}#frm-new-template .frm_image_option_container svg{height:50px;margin:10px auto 0}.frm_image_option_container{position:relative}.frm_text_label_for_image>svg{width:30px;position:absolute;top:5px;right:calc(50% - 15px)}.frm_single_option .frm_option_key{margin-top:17px}.frm_single_option .frm_option_key.frm_image_preview_wrapper{margin-top:var(--gap-xs)}.frm_image_data{margin-left:var(--gap-sm);display:flex;flex-direction:column;font-size:var(--text-sm);justify-content:space-around;min-width:0}.frm_image_styling_frame{display:flex;align-items:stretch;margin-left:36px;margin-bottom:var(--gap-xs);width:100%}.frm_image_styling_frame img{height:54px;width:54px;min-width:auto;min-height:auto;border-radius:3px;object-fit:cover;object-position:center}.frm_image_styling_frame .frm_email_attachment_icon img{height:auto;width:auto;max-width:54px}.frm_image_preview_title{color:var(--grey-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.frm_wrap .frm_choose_image_box{cursor:pointer;color:var(--primary-500);background-color:#fff;margin-left:32px;text-align:center;width:100%}.frm-type-ranking .frm_option_key .frm_choose_image_box{margin-left:11px !important}.frm_wrap .frm_choose_image_box:hover{background:#fff}a.frm_remove_image_option,.frm_remove_image_option{color:var(--grey-400);cursor:pointer}a.frm_remove_image_option:hover .frmsvg,a.frm_remove_image_option:hover,.frm_remove_image_option:hover{color:rgba(40,47,54,.8)}.frm-form-setting-tabs{margin-top:var(--gap-sm) !important}.frm-right-panel>.postbox{background-color:rgba(0,0,0,0);border:none;box-shadow:none;margin:0}.frm-right-panel .postbox.frm_with_icons .inside,.frm-right-panel .postbox .inside,.frm-right-panel .inside{font-size:var(--text-md);padding:15px 20px 20px;color:var(--grey-700)}.frm-right-panel .misc-pub-section{padding:var(--gap-xs) 0;position:relative}.frm-right-panel .inside a,.frm-form-setting-tabs a{font-size:var(--text-md);color:var(--grey-700);padding:var(--gap-sm);display:block}.frm-form-setting-tabs a{color:var(--grey-900);padding:var(--gap-sm) var(--gap-md)}.frm-right-panel .inside a{padding:0;color:var(--primary-500);display:inline-block}.frm-right-panel .inside a:hover{color:var(--primary-700)}.frm-form-setting-tabs a:hover{background:var(--sidebar-hover);color:var(--grey-900)}.frm-right-panel .inside i,.frm-form-setting-tabs a i,.frm-form-setting-tabs a .frmsvg{margin:0 5px;display:inline-block;width:20px;height:20px;color:var(--grey-500)}.frm-form-setting-tabs a .frmsvg{margin:0}.frm-right-panel .inside a:hover i,.frm-right-panel .inside a:hover .frmsvg,.frm-form-setting-tabs a:hover .frmsvg,.frm-form-setting-tabs a:hover span{color:var(--grey-700)}.frm_settings_form .tabs-panel{padding:0 25px}#form_settings_page .tabs-panel,.frm_settings_form .tabs-panel{max-height:initial !important;min-height:50px !important}#frm_adv_info .tabs-panel{min-height:0 !important;overflow-x:hidden;padding:0;border:none;background:rgba(0,0,0,0)}select.frm_cancelnew,input.frm_enternew{width:175px}.frm_posttax_opt_list{border:1px solid var(--grey-300);padding:var(--gap-md);border-radius:var(--small-radius);margin:5px 0 5px var(--gap-md)}.frm_settings_form .wp-picker-open+.wp-picker-input-wrap,.frm-right-panel .wp-picker-open+.wp-picker-input-wrap{position:absolute;margin-left:calc((100% - 35px)*-1);margin-top:1px;width:calc(100% - 36px)}.frm_settings_form .wp-picker-container input[type=text].wp-color-picker,.frm-right-panel .wp-picker-container input[type=text].wp-color-picker{border:none;padding:5px 8px;font-family:inherit;color:var(--grey-700);font-size:var(--text-md);width:100%;line-height:var(--leading)}.frm_settings_form .wp-picker-input-wrap .wp-picker-clear,.frm-right-panel .wp-picker-input-wrap .wp-picker-clear{display:none !important}.frm_settings_form .wp-picker-holder,.frm-right-panel .wp-picker-holder{position:absolute;z-index:999}.frm_settings_form .wp-picker-input-wrap label,.frm-right-panel .wp-picker-input-wrap label{margin-bottom:0}.frm_settings_form .wp-picker-container .wp-color-result.button,.frm-right-panel .wp-picker-container .wp-color-result.button{width:100%;overflow:hidden;margin:0 !important;height:var(--h-md) !important;padding:0 0 0 var(--gap-lg) !important;border-radius:var(--small-radius);border-color:var(--grey-300)}.frm_settings_form .wp-color-result-text,.frm-right-panel .wp-color-result-text{line-height:var(--leading) !important;font-size:var(--text-md);background:#fff !important;color:var(--grey-900);padding:5px 8px;border-color:var(--grey-300);text-align:left}.frm_settings_form .color-alpha,.frm-right-panel .color-alpha{width:var(--gap-lg) !important}.frm_grid_container .wp-picker-container{width:100%;position:relative}.wp-picker-container button.wp-color-result{border:1px solid var(--grey-300) !important}.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker{max-width:100%;position:relative}.frm_end .wp-picker-holder{margin-left:-145px}.frm_end.frm6 .wp-picker-holder{margin-left:-86px}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.tabs-panel{height:auto !important;min-height:260px}.tabs-panel.panel_secondary{min-height:20px;margin-top:10px;margin-left:150px}label.frm-example-icon{margin-right:20px !important;display:inline-block !important}#frm_stripe_icon{border-radius:5px}#captcha_settings .frm_primary_label{margin-top:var(--gap-sm)}.frm-long-icon-buttons{display:flex;gap:var(--gap-md)}.frm-long-icon-buttons>label{border:1px solid var(--grey-300);color:var(--grey-700);border-radius:var(--small-radius);display:flex;padding:var(--gap-sm);gap:var(--gap-sm);justify-content:center;align-items:center;width:calc(33% - var(--gap-sm));box-sizing:border-box}.frm-long-icon-buttons>label:hover{color:var(--primary-500)}.frm-long-icon-buttons input[type=radio]{display:none}.frm-long-icon-buttons input[type=radio]:checked+label{border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-color)}.frm-long-icon-buttons label>svg{height:21px}.frm-example-icon .frmsvg,.frm-example-icon i{height:20px;width:20px;font-size:20px;color:var(--grey-700)}.frm_license_msg{margin-top:0}.frm_authorized_box .frm-show-unauthorized,.frm_unauthorized_box .frm-show-authorized{display:none}.edd_frm_status_icon.frmsvg{margin:0 5px}.edd_frm_license_row .frm_action_success .frmsvg{color:green}.edd_frm_license_row .frm_action_error .frmsvg{color:#d54e21}#form_global_settings .tabs-panel .num svg{display:none}.frm_no_items{margin:0 auto 50px;text-align:center;color:var(--grey-700);max-width:500px}.frm-subscribe{margin:var(--gap-lg) 0}.frm_inbox_count{color:#fff;border-radius:50%;display:inline-block;margin-right:8px;font-size:11px;text-align:center;min-width:18px;height:18px;margin-left:2px;vertical-align:text-bottom}#payments_settings .frm_payments_section .form-table td{padding-left:0;padding-right:0}#payments_settings .frm_payments_section .form-table{margin-top:0}#frm_authnet_general_settings>tr:first-of-type>td:first-of-type{padding-top:0}#frm_authnet_general_settings h3{margin-bottom:0}.frm_payment_settings_tab .frmsvg{height:22px}.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg{width:83px}.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg{width:99px}.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg{width:89px}.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg{width:53px}.frm-email-style{float:left;margin-right:var(--gap-md)}.frm-email-style:last-of-type{margin-right:0}.frm-email-style__card{position:relative}.frm-email-style__name{margin-top:var(--gap-xs);padding-top:var(--gap-2xs);text-align:center}.frm-email-style__name .frmsvg{vertical-align:sub}.frm-email-style__click{display:block;border-radius:12px;border:1px solid var(--grey-200);box-shadow:0px .47px .94px 0px rgba(16,24,40,.0588235294)}.frm-email-style__click:focus,.frm-email-style--selected .frm-email-style__click{border-color:var(--primary-500);outline:1px solid var(--primary-500)}.frm-email-style__click img{width:160px;display:block}.frm-email-style--disabled .frm-email-style__click:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--grey-100);opacity:.5}.frm-email-style__buttons{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;display:none;flex-direction:column;justify-content:center;align-items:center;gap:12px}.frm-email-style__button{cursor:pointer;display:block}.frm-email-style__button:disabled{cursor:not-allowed;display:none;background:var(--primary-700) !important;border-color:var(--primary-700) !important}.frm-email-style--selected .frm-email-style__button:disabled{display:block}.frm-email-style--selected .frm-email-style__button[data-action=choose]{display:none}.frm-email-style--disabled .frm-email-style__button[data-action=choose]{display:none}.frm-email-style:hover .frm-email-style__buttons,.frm-email-style__click:focus+.frm-email-style__buttons,.frm-email-style:focus-within .frm-email-style__buttons{display:flex}#frm-send-test-email,.frm-upload-image-btn,.frm-remove-image-btn,.frm-reset-colors-btn{cursor:pointer}#frm-send-test-email-modal .postbox{padding:var(--gap-sm) var(--gap-md)}#frm-send-test-email-modal .postbox *{box-sizing:border-box}#frm-send-test-email-modal .inside{margin:0;padding:0}.frm-lite .xml_opts .frm-export-xml-items{display:none}.csv_opts #frm_csv_col_sep{width:45px}#frm_advanced td.frm_left_label{width:20%;padding-right:2px}#frm_where_options select{max-width:200px}#frm_where_options select.frm_insert_where_options{width:30%}#frm_where_options select.frm_where_is_options{width:20%}#frm_where_options span.frm_where_val{width:32%;display:inline-block;position:relative}#frm_where_options span.frm_where_val .frm_tooltip_icon,#frm_where_options span.frm_where_val .frm_help{left:-4px;position:absolute}#frm_where_options span.frm_where_val.frm_hidden{display:none}#frm_where_options span.frm_where_val input,#frm_where_options span.frm_where_val select{width:90%;margin-left:10px}#frm_where_options{min-height:31px}.tabs-panel.active .tabs-panel,.frm_settings_form .tabs-panel .tabs-panel{border:none;padding:0}.frm-feature-banner{background:var(--grey-700);color:#fff;border-radius:var(--small-radius);padding:20px;margin:10px 0}.frm-feature-banner p{font-size:var(--text-sm)}.frm-feature-banner .dismiss{margin-top:-10px;margin-right:-10px}.frm-feature-banner .dismiss svg{color:#fff}.frm-feature-banner .frm-big-icon{padding-right:20px;float:left;min-height:60px}.frm-big-icon svg{height:60px;width:60px}.frm-feature-banner p{margin-top:0}.frm_98_width{width:100% !important}h2.frm-h2,.frm_form_settings h2{border-bottom:1px solid var(--grey-300);color:var(--grey-900);font-weight:400 !important;padding:9px 0 5px;margin:0}.frm_settings_form h3,.frm_form_settings h3,.frm_form_settings span.frm_add_logic_link{font-size:var(--text-md);border-top:1px solid var(--grey-300);padding-top:var(--gap-sm);margin:var(--gap-sm) 0;font-weight:400;text-transform:uppercase;color:var(--medium-grey);display:block}.frm_form_settings .howto{color:var(--grey-500);font-size:var(--text-sm);margin-top:8px}.frm_form_settings .advanced_settings .form-table{margin-top:0}.frm_form_settings td.frm_175_width{width:175px}.frm_form_settings #success_url{width:95%}.frm_wrap .ui-autocomplete{padding:3px 0;max-height:310px}.frm_wrap .ui-widget{font-family:inherit}.frm_wrap .ui-autocomplete li{padding:2px 4px;background:none;color:var(--grey-700);border:none;font-weight:400}.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active{border:none;font-weight:inherit}.frm_select_with_label{margin:7px 0 0}#frm-insert-fields-box,#frm-conditionals{max-height:none}#frm-conditionals,#frm-adv-info-tab{display:none;max-height:355px}#frm-insert-fields-box ul.subsubsub,#frm-conditionals ul.subsubsub{float:right;margin:0}#frm-insert-fields-box ul.alignleft,#frm-conditionals ul.alignleft{margin:4px 0 0}#frm_adv_info ul.frm_code_list.frm-full-hover{clear:both;max-height:215px;overflow:auto}#frm-insert-fields-box ul.frm_code_list li.clear.frm_block{height:10px}#frm_adv_info .frm_noallow{display:none}#frm_adv_info #frm-conditionals .frm_noallow{display:block}#frm_html_tab.frm_hidden{display:none}#frm_html_tab.active{display:inline}.frm_email_reply_container select,.frm_email_reply_container input,.form-table td.frm_150_width{width:170px}#frm_notification_settings .frm_no_top_padding{padding-top:0}.frm_email_settings.frm_email_settings.widgets-holder-wrap{overflow:auto;box-shadow:none}#frm_notification_settings .widget-top .widget-action,#frm_form_editor_container .widget-top .widget-action{border:0;margin:0;padding:8px;background:0 0;cursor:pointer;outline:0}#frm_notification_settings .widget-top .widget-action{padding-top:13.5px}#frm_email_addon_menu{border:1px solid var(--grey-300);padding:var(--gap-sm);border-radius:4px;margin:var(--gap-md) 0 var(--gap-sm)}#frm_email_addon_menu .frm-search{float:right;margin:0}#frm_email_addon_menu h3.frm-no-border{clear:none;padding-top:7px}.frm_email_settings .widget .widget-top{background-color:var(--sidebar-color)}.frm_email_settings .widget .widget-top,.frm_email_settings .widget .widget-top h3{cursor:pointer !important}.frm_email_settings .widget{margin-bottom:var(--gap-sm)}.frm_form_action_settings .widget-top{box-shadow:none;border-color:var(--grey-300);border-radius:var(--small-radius);background:var(--lightest-grey);color:var(--grey-700)}.frm_form_action_settings:hover .widget-top{border-color:var(--grey)}.frm_form_action_settings.open .widget-top{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.frm_form_action_settings.open:hover .widget-top{border-color:var(--grey-300)}.frm_form_action_settings>.widget-inside{display:none}.frm_form_action_settings.open>.widget-inside{display:block}.frm_form_action_settings .widget-inside{min-height:25px;padding:15px;border-color:var(--grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.frm_form_action_settings .widget-title h4,.frm_form_action_settings .widget-title h3{display:inline-block;border-bottom:none;padding:10px 10px 5px;font-size:var(--text-md);font-weight:500}#frm_email_addon_menu h3{margin:0 0 var(--gap-sm);clear:both}.frm_single_api_settings p>label{display:inline}.frm_form_action_icon{margin-right:5px}.frm_actions_list{margin:0;display:inline}.frm_actions_list li{float:left;width:15.6%;margin:10px .5% 15px;height:100px;text-align:center}.frm-limited-actions .frm-group-heading,.frm-limited-actions #frm-hide-groups,.frm-all-actions #frm-show-groups,.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show){display:none}label.frm_action_events{padding-left:15px}#frm-hide-groups,#frm-show-groups{font-size:var(--text-md);float:right}.frm_actions_list a:active,.frm_actions_list a:focus{outline:none}.frm_actions_list a{font-size:var(--text-sm);color:var(--grey-700);word-break:break-word}.frm_actions_list span.frm-outer-circle{background-color:var(--grey-100);padding:10px;text-align:center;border-radius:50%;display:block;width:30px;height:30px;margin:0 auto 15px;line-height:1}.frm_email_settings .widget-title h4{color:var(--grey-700)}.frm_disabled_action .widget-title h4{color:var(--grey)}.frm_actions_list a .frmsvg,.frm_actions_list a i{height:18px;width:18px;font-size:18px;padding:2px;color:var(--lightest-grey)}span.frm-inner-circle,.frm_email_settings .widget-title .frm_form_action_icon{background-color:var(--grey-400);border-radius:50%;display:inline-block;text-align:center;line-height:1}span.frm-inner-circle{background-color:var(--primary-700);height:22px;width:22px;padding:4px;color:#fff}.frm-inner-circle svg{fill:currentColor}.frm_email_settings .widget-title .frm_form_action_icon{height:15px;width:15px;padding:5px;color:#fff;vertical-align:middle}.frm_actions_list .frmsvg,.frm_actions_list i::before,.frm_email_settings .widget-title .frm_form_action_icon i,.frm_email_settings .widget-title .frm_form_action_icon .frmsvg{height:15px;width:15px;vertical-align:text-top}.frm_actions_list i::before{vertical-align:middle}.frm_email_settings .widget-title:hover .frm_form_action_icon{background-color:var(--grey)}span.frm-inner-circle.frm-inverse{background-color:rgba(0,0,0,0);color:var(--primary-700);padding:0;height:30px;width:100%}.frm_actions_list span.frm-inverse i,.frm_actions_list span.frm-inverse .frmsvg{color:var(--primary-700);height:30px;width:30px;font-size:30px;padding:0}.frm_actions_list i.frm-inverse::before{height:30px;width:100%;font-size:30px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse{background:#fff;padding:0;height:24px;width:24px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before{color:var(--grey-400);height:24px;width:24px;font-size:24px}.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before{color:var(--grey-500)}.frm_email_icons{padding:10px 0 5px 6px;font-size:20px}.frm_email_icons a{margin-left:8px;color:var(--grey);opacity:0;transition:all .2s ease}.frm_email_icons a .frmsvg{color:var(--grey)}.frm_email_icons a:hover,.widget-top:hover .frm_email_icons a{opacity:1}.frm_actions_list a.frm_inactive_action{color:var(--grey)}.frm_inactive_action .frm-inner-circle,.frm_actions_list .frm_inactive_action i{opacity:.4}table td,.form-table tr td{vertical-align:top}#new_fields .form-table tr td{display:block;padding:7px 0 0}#new_fields .form-table tr td:first-child{margin:0}#new_fields .form-table tr td:last-child{margin-bottom:9px}.form-table #list-table th{text-align:center}#form_settings_page th,#form_settings_page td,.frm_settings_form td,#frm_notification_settings .frm_form_action_settings td p{padding:7px 0}#permissions_settings_settings .frm_grid_container{align-items:center}#frm_notification_settings .form-table>tbody>tr>th{width:150px;font-weight:400;padding-right:10px}#frm_notification_settings .frm_single_email_settings .form-table>tbody>tr>th{width:80px}#frm_notification_settings table tr td:first-child{padding-left:0}#frm_notification_settings table tr td:last-child{padding-right:0}#frm_notification_settings .frm_left_label{float:none;width:auto !important}.frm-fields .frm_autoresponder_rows select{width:auto}#frm_notification_settings .frm_with_left_label,#frm_notification_settings .frm_left_label+textarea,#frm_notification_settings .frm_left_label+select,#frm_notification_settings .frm_left_label+input[type=text]{width:100%}#frm_notification_settings .frm_email_buttons{padding:var(--gap-2xs);background:var(--light-blue);color:var(--primary-700);border-radius:var(--small-radius);border-color:var(--blue-border);line-height:1;height:auto;min-height:12px;font-size:var(--text-xs);box-shadow:none}p.frm_bcc_cc_container,p.frm_reply_to_container{position:relative;float:right;margin:-4px 0 0;z-index:1}.frm_email_row .frm_cancel1_icon::before{vertical-align:bottom}.frm_cc_row.frm_email_row .frm-with-right-icon,.frm_bcc_row.frm_email_row .frm-with-right-icon,.frm_reply_to_row.frm_email_row .frm-with-right-icon{width:calc(100% - 20px);display:inline-block}.frm_email_row .frm_remove_field .frm_close_icon{position:relative;fill:var(--grey-500);vertical-align:middle}.frm-inline-select,p.frm-inline-select,.frm_logic_rows .frm-collapse-me{line-height:var(--h-md) !important}.frm_logic_row{padding:var(--gap-xs) 0 0}.frm-single-settings ul.frm_sortable_field_opts{border-bottom:1px solid var(--grey-200);padding-bottom:var(--gap-xs);margin-bottom:var(--gap-xs)}.frm-single-settings .frm-add-other svg.frm_add_tag{position:relative;top:5px;margin-right:4px}.frm-single-settings .frm_single_option .frm_remove_tag::before{content:""}.frm-single-settings input[type=checkbox][readonly]{opacity:.5;pointer-events:none}.advanced_settings .frm_logic_row{margin:14px 0}.advanced_settings .frm_logic_row select,.advanced_settings .frm_logic_row input{max-width:30% !important}.frm_form_action_settings .frm_logic_row p{margin-top:0;margin-bottom:0;padding:0}#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside{padding-bottom:0}#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside{padding-left:15px;padding-right:15px}#form_global_settings h3{font-size:var(--text-sm);margin-top:25px}#form_global_settings .tabs-panel+h3{margin-top:0;border:none}#poststuff .frm_form_settings .widget-inside h3,#poststuff .frm_form_settings .advanced_settings h3,#poststuff .frm_settings_form h3,#frm_advanced .inside h3{border-top:1px solid #eee;border-bottom:none;margin:15px -15px 0;padding:8px 15px;font-size:var(--text-sm)}#poststuff .frm_form_settings h3.frm_first_h3,#poststuff h3.frm_first_h3{border:none;margin-top:0}h3.frm_add_logic_link{margin-bottom:0 !important}a.frm_add_logic_link.frm_hidden{display:none}a.frm_add_logic_link.frm_hidden+.frm_logic_rows{height:auto}.frm_icon_font{color:#a0a0a0;color:var(--grey)}.frm-fields label .frm_icon_font{font-size:inherit}.misc-pub-revisions.frm_icon_font,.misc-pub-revisions.frm_icon_font:hover{color:inherit}.postbox.frm_with_icons .inside{padding:0;margin:0}.frm_add_tag::before{content:"\e602"}.frm_remove_tag::before{content:"\e600"}.frm_logic_row .frm1>.frm_remove_tag{padding:0}.frm_tooltip_icon::before{font-size:13px;vertical-align:top}.frm_help svg,.frm_help .frmsvg{height:13px;width:13px;vertical-align:top;color:var(--grey-400)}.form-field input[type=text].frm_other_input{width:30%;margin-left:10px}.frm-add-other{text-align:right}.frm-add-other .frm_add_tag{vertical-align:20%}.frm_action_icon{margin:5px 0 0 5px}span.frm_action_icon{margin:0 4px 0 0}.frm_action_icon:active{outline:none}a.frm_action_icon:hover{text-decoration:none}.frm_action_icon.frm_error_icon::before{content:"\e608"}.frm_inactive_icon.frm_action_icon.frm_error_icon::before{content:"\e606"}.frm-field-action-icons{text-align:right;position:absolute;top:2px;right:2px;max-width:100%}.frm-field-action-icons .frm-field-id{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:calc(100% - 50px);position:relative;top:2px}.frm-field-action-icons>a{font-size:var(--text-md);width:17px}.frm-field-action-icons a:hover{text-decoration:none}.frm-field-action-icons .dropdown{display:inline-block}.frm-field-action-icons>a .frmsvg{color:var(--grey-500) !important;font-size:17px;width:17px;height:17px}.frm-field-action-icons>a .frmsvg,.frm-field-action-icons>div>a .frmsvg{vertical-align:baseline}.edit_field_type_end_divider .frm-field-action-icons{display:none !important}.frm-move{cursor:grab}span.howto{display:inline}.frm_import_message{margin:15px 0;line-height:2.5}.frm_sorting .form-field .widget input[type=text],.frm_sorting .form-field .widget input[type=number],.frm_sorting .form-field .widget select,#wpcontent .frm_sorting .form-field .widget select,.frm_sorting .form-field .widget textarea{width:auto}.tagchecklist span.no_taglist{display:inline;float:none;line-height:15px;margin-right:0;font-size:inherit}.tagchecklist .frm_exclude_cat_list span{display:inline}.tagchecklist span a::before{line-height:23px;text-align:start}.frm_form_action_settings .frm_email_row .frm_tooltip_icon{position:relative;bottom:2px}.frm_no_entries_form{padding:60px 0}.frm_no_entries_form .frm_no_entries_header{font-size:20px;margin-bottom:10px}.frm_no_entries_form .frm_no_entries_text{line-height:var(--leading)}#form_entries_page #the-list .no-items{height:240px}#form_reports_page img.frm_no_reports{max-width:100%}.frm_wrap .google-visualization-table .gradient,.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-odd,.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over{background:var(--lightest-grey)}.frm_wrap .google-visualization-table-tr-over{background:#fff}.frm_wrap .google-visualization-table-table th,.frm_wrap .google-visualization-table-table td{border-right-width:0;padding:10px !important}.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-head th{white-space:pre-wrap;font-size:var(--text-md);font-weight:400 !important;text-align:left}.frm_wrap .google-visualization-table-td-number{text-align:inherit}#form_reports_page .postbox{text-align:center;float:none;display:inline-block;margin-right:2%;width:20%;min-width:175px}#form_views_page img.frm_no_views{max-width:100%}.frm_field_opts_popup{min-width:300px;background-color:#fff}.frm_field_opts_popup #wpadminbar{display:none}.frm_prepop{width:100%;list-style:none;overflow:auto;margin:0;max-height:295px}.frm_prepop li{margin:0}.frm_prepop li a{display:block;text-decoration:none;cursor:pointer;padding:5px 20px}.frm_prepop li a:hover{background:var(--sidebar-color)}#frm_form_editor_container #frm_form_key_box{width:13em;max-width:30%}#frm_form_editor_container #frm_form_desc{width:70%}#frm_form_editor_container .ui-widget-content{display:none;padding:15px}#frm_form_editor_container .ui-widget-content label{float:left;width:170px;text-align:right;padding-right:5px;clear:both}#frm_form_editor_container .ui-widget-content label.nofloat{clear:none;float:none;margin-left:10px}#frm_form_editor_container .ui-state-default{color:#333 !important}.frm_green{color:var(--green) !important}#frm_form_editor_container .ui-state-default a.frm_orange,.frm-right-panel a.frm_orange,#postbox-container-1 a.frm_orange{color:#d54e21}#styling_settings input[type=checkbox],#styling_settings input[type=radio]{border:solid 1px #bbb}#styling_settings .widget .widget-top,#frm_form_editor_container .widget .widget-top{cursor:pointer}.frm_sorting .widget,.frm_settings_page .widget{background:#fff}.frm_sorting .widget-title h4{font-weight:400}.frm_sorting .widget,#postbox-container-1 .widget,.frm-right-panel .widget,.frm_settings_page .widget{margin-bottom:0}.frm_settings_page .widget-inside{padding:0 5px 5px}.frm_sorting .widget,.widget-inside,.frm_sorting .form-field .widget{display:none}#frm-show-fields{min-height:350px;padding:0 0 35px;margin:0;position:relative}.frm-has-fields #frm-show-fields{min-height:50px}#frm_builder_page .frm-lite-credit-card-element,body.frm-admin-page-styles .frm-lite-credit-card-element{position:relative}#frm_builder_page .frm-lite-credit-card-element>div,body.frm-admin-page-styles .frm-lite-credit-card-element>div{position:absolute;top:calc(50% - 1px);transform:translateY(-50%);right:10px;color:#d0d4dd}#frm_builder_page #frm_field_group_controls{position:absolute;padding:5px;border-radius:4px 4px 0 0;text-align:right;box-sizing:border-box;right:0;top:-28px;height:28px;z-index:3}.frm-field-group-hover-target,.frm-has-open-field-group-popup,#frm_builder_page #frm_field_group_controls,.frm-selected-field-group{background:rgba(65,153,253,.04)}.frm-selected-field-group{position:relative}#frm_builder_page #frm_field_group_controls>span:first-child{margin-right:5px}#frm_builder_page #frm_field_group_controls svg{pointer-events:none}#frm_field_group_controls{visibility:hidden}.frm-field-group-hover-target #frm_field_group_controls{visibility:visible}#frm_field_group_controls .dropdown-item a span{color:var(--grey-700)}#frm_field_group_controls .dropdown-item a:hover{text-decoration:none}.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider{display:none !important}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default,.frm_sorting>li.ui-state-default,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{border:1px solid rgba(0,0,0,0);font-weight:400 !important;background-color:rgba(0,0,0,0);background-image:none;padding:5px;margin:0;box-shadow:none;display:block;text-align:inherit !important;overflow:visible;position:relative}#frm-show-fields li.frm_cancel_sort{display:none}.divider_drop{text-align:center}.divider_drop .howto .frm_icon_font{font-style:normal}.show_repeat_sec{display:none}.repeat_section .show_repeat_sec{display:inline-block;margin:5px 0 0}.repeat_section tr.show_repeat_sec{display:table-row}.repeat_format .frm_repeat_label,.repeat_formattext .frmsvg,.repeat_formattext i{display:none}.frm_button{text-decoration:none;border:1px solid #eee;padding:5px;color:#444;vertical-align:middle;box-shadow:none !important}a.frm_button:hover{text-decoration:none !important}.frm_button,.frm_button .frm_icon_font::before{font-size:13px;vertical-align:middle}.frm_button .frmsvg{width:13px;height:13px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{padding:0;margin:0}ul.start_divider{padding:8px 13px 0 8px;min-height:115px;transition:all .4s linear}.frm-section-collapsed .frm_no_section_fields,.frm-section-collapsed ul.start_divider{height:0;min-height:0 !important}.frm-section-collapsed ul.start_divider{overflow:hidden}.frm-section-collapsed .frm_no_section_fields{overflow:hidden;padding:0;opacity:0}.frm-section-collapsed .divider_section_only .frm-collapsed-label{display:inline}.frm-page-collapsed .frm_clone_icon,.frm-page-collapsed .frm_delete_field,.frm-page-collapsed .frm_clone_field,.frm-section-collapsed .frm_clone_icon{opacity:.5;cursor:not-allowed}.edit_field_type_summary .frm_more_options_li:nth-child(2){display:none !important}.edit_field_type_submit .frm_more_options_li:not(:last-child){display:none !important}.frm_no_section_fields:not(.frm_block)+ul.start_divider{padding:0;min-height:132px}.frm_sorting li.ui-state-default .divider_section_only{padding:6px;margin-top:-10px;border:2px solid rgba(0,0,0,0);border-radius:var(--small-radius);z-index:2;position:relative}.divider_section_only>.frm_inner_field_container{padding:5px 0;margin:0}.frm-collapsed-label,.divider_section_only>.frm_inner_field_container .frm_form_fields{display:none}.frm-section-collapsed .divider_section_only::after,.divider_section_only::before{content:"";display:block;padding:2px 0;line-height:1px;border-top:2px solid var(--grey-300);top:-2px;position:absolute;width:100%;transition:.5s border-color ease-in-out}.frm-section-collapsed .divider_section_only::after{top:auto;bottom:-6px}.frm-section-collapsed .divider_section_only:hover::after,li.selected.frm-section-collapsed .divider_section_only::before,li.selected.frm-section-collapsed .divider_section_only::after,.divider_section_only:hover::before,li.selected .divider_section_only::before{border-color:rgba(0,0,0,0)}.frm_sorting li.ui-state-default.edit_field_type_divider{overflow:visible;position:relative;padding:0 0 0 20px;margin:25px 0 0 -5px;border-left:1px solid var(--primary-700);transition:border .7s ease-out}.frm-section-collapsed{border-left-color:rgba(0,0,0,0) !important}.frm_sorting li.edit_field_type_end_divider,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{margin:0 0 var(--gap-sm)}.frm-first-page .frm_prev_page{display:none}#frm_builder_page .frm_remove_form_row.frm_button,#frm_builder_page .frm_add_form_row.frm_button{border-radius:var(--small-radius);border:1px solid var(--blue-border)}#frm_builder_page .frm_remove_form_row .frmsvg,#frm_builder_page .frm_remove_form_row i::before,#frm_builder_page .frm_add_form_row .frmsvg,#frm_builder_page .frm_add_form_row i::before{color:var(--primary-700)}.frm-preview-buttons .frm_button_submit{margin:0 5px}.frm-page-break{border-top:1px dashed var(--primary-700);margin-top:var(--gap-lg);position:relative}.frm-page-break::before,.frm-page-break::after{content:"";position:absolute;background-color:#fff;border-radius:50%;border:1px solid var(--primary-700);text-rendering:auto;-webkit-font-smoothing:antialiased}.edit_field_type_divider .frm-divider-icon.frmsvg{padding:2px;position:absolute;left:-12px;color:#fff;background-color:var(--primary-700);border-radius:50%}.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg{height:8px;width:8px;padding:0;bottom:-4px;left:-24.5px;color:var(--primary-700);background-color:#fff}.edit_field_type_divider.selected .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .frm-divider-icon.frmsvg{background:var(--primary-500)}.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg{background-color:#fff;color:var(--primary-500)}.frm-page-break::before,.frm-page-break::after{width:8px;height:8px;top:-6px;border-color:var(--grey)}.frm-page-break::after{right:0}#frm-fake-page .frm-page-break{border-color:var(--grey)}#frm-fake-page{padding:0 5px}.frm_sorting li.edit_field_type_divider:hover,.frm_sorting li.edit_field_type_divider.selected{border-left-color:var(--primary-500)}.frm-section-collapsed::after{border-color:rgba(0,0,0,0) !important;color:rgba(0,0,0,0)}.frm-page-break .frm-collapse-page.button{margin-left:46%;margin-top:-16px;padding:6px 12px !important}#frm-fake-page.frm-page-collapsed{margin-bottom:0}.frm-page-collapsed{position:relative;overflow:visible !important;margin-bottom:var(--gap-lg)}.frm-collapse-page .frmsvg,.frm-collapse-page .frm_arrowdown6_icon{width:var(--text-sm);height:var(--text-sm);font-size:var(--text-sm);text-align:center;margin-left:2px;color:currentColor;transition:transform 300ms ease-in-out}.frm-page-collapsed .frm-collapse-page .frmsvg{transform:rotate(180deg)}#frm-fake-page .frm_arrowdown6_icon{color:currentColor}.frm-collapsed i::before,.frm-page-collapsed .frm_arrowdown6_icon::before{content:"\e913"}.frm-collapse-section svg{fill:var(--primary-color);transition:transform .2s ease-out,fill .2s ease-out}.frm-collapse-section:hover svg{fill:var(--primary-700)}.frm-section-collapsed .frm-collapse-section svg{transform:rotate(-90deg)}.open .widget-top .widget-title-action button .frmsvg{transform:rotate(90deg)}.widget-top .widget-title-action button .frmsvg use{color:var(--grey)}.frm-collapsed+.frm-collapse-me{overflow:hidden !important}.frm-collapse-me{padding-bottom:10px}.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect){position:relative;z-index:1}.frm-collapsed+div{height:0;padding:0}.frm-collapsed+div.frm-collapse-me{display:none}.frm-collapsible{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:var(--gap-xs) 0;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frm-collapsible.frm-collapsed{font-weight:400}.frm-collapsible:not(.frm-collapsed) .frmsvg{transform:rotate(-180deg)}h4.frm-collapsible{font-size:var(--text-md)}.frm-collapsible+.frm-collapse-me{padding-bottom:0}.frm-collapsible:focus-visible{outline:1px solid var(--primary-500)}.frm_sorting .divider_section_only>.frm_ipe_field_label{font-size:116%}#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button{width:150px;text-align:center;margin-bottom:3px;display:block}tr.frm_options_heading td{padding-bottom:0}.frm_sorting .widget-inside .form-table td p,.frm_sorting .widget-inside .form-wrap label{padding:10px 0}.frm_no_fields,.frm_no_section_fields{text-align:center;position:absolute;color:var(--medium-grey);font-size:var(--text-md);box-sizing:border-box;border:1px dashed var(--grey-300);outline:2px solid rgba(0,0,0,0)}.frm-over-droppable+.frm_no_fields{border-style:solid;border-color:var(--primary-500);outline-color:var(--primary-500)}.frm_no_section_fields{display:none;margin:0;padding:20px 0 0;width:calc(100% - 20px);height:121px;transition:all .4s linear}.frm-empty-fields .frm_updated_message~.frm_no_fields{top:60px}#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields>.frm_field_box:last-child{visibility:hidden}.frm-has-fields .frm_no_fields{display:none}#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder{display:none}#frm-form-button{display:none;margin:0 7px 25px}.frm-has-fields #frm-form-button{display:block}.frm-large-plus.frmsvg{color:var(--primary-700);height:45px;width:45px}.frm_no_section_fields p{color:var(--grey);font-size:15px}.frm_no_fields{top:0;width:calc(100% - 24px);min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-md);padding:var(--gap-md);border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");border-radius:var(--medium-radius);margin:var(--gap-sm) 12px}.frm_no_fields img{margin-left:calc(-1*var(--gap-lg))}.frm_no_fields .frm_drag_inst{font-size:20px;font-weight:600;margin:0 0 12px}.frm_no_fields p{color:var(--grey-600);font-size:var(--text-md);margin:0}.frm_product_price_wrapper{display:inline-block;vertical-align:middle}.frm_prod_type_single .frm_product_price_wrapper{width:100%}#new_fields .frm_product_price_wrapper input:first-child{width:60% !important;float:left}#new_fields .frm_product_price_wrapper input:nth-child(2){width:37% !important;float:right}li.frm_single_option{padding-bottom:var(--gap-sm);border-bottom:0}.frm_prod_type_single input[type=radio],.frm_prod_type_single .frm_drag_icon,.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3),.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag,.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product),.frm_prod_type_single .frm-bulk-edit-link,.frm_prod_type_user_def.frm_grid_container,.frm_prod_options_heading.frm_prod_user_def{display:none}.frm_prod_type_single .frm-ai-generate-options-modal-trigger{display:none !important}.frm_prod_type_single .frm_option_key{margin-left:0 !important}.frm_prod_type_single .frm_option_key input[type=checkbox]+input[type=text],.frm_prod_type_single .frm_option_key input[type=radio]+input[type=text]{margin-left:0 !important}.plugin-card-bottom .frm-trash{color:#a00}.frm-fields p>.frm_inline_label,.frm_inline_label{padding-left:3px;margin-right:12px;display:inline-block}.frm_left_label{clear:both;float:left;width:32% !important;margin-right:2% !important;line-height:2em}table td.frm_left_label{float:none;line-height:inherit;padding:5px 0 5px 2%}.frm_left_label.frm_alignright{padding-right:10px;text-align:right}.frm-fields .frm_left_label+textarea,.frm-fields .frm_left_label+select,.frm-fields .frm_left_label+input[type=text],.frm_with_left_label{width:66%}td.frm_left_label+td{width:66%;padding-top:0}#html_settings label{display:block}#html_settings .frm_field_html_box{width:100%}.frm-has-required .frm-required{color:var(--error-500)}ul.frm-category-tabs{margin-top:2px}.frm-category-tabs>li a,.frm-category-tabs>li a:active{outline:none;box-shadow:none;display:flex;gap:var(--gap-xs);align-items:center}.frm-category-tabs>li.active .frmsvg,.frm-category-tabs>li.active i,.frm-category-tabs>li.active span,.frm-category-tabs>li.active a{color:var(--primary-500)}.frm_wrap .manage-menus{margin-top:0;border:none;border-bottom:1px solid var(--grey-300);background:var(--lightest-grey)}.general_settings .postbox .manage-menus{border-top:none;border-left:none;border-right:none}.frm-postbox-no-h3{padding-top:10px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{color:var(--grey-900)}.no_repeat_section .frm_sorting>li.ui-state-default.edit_field_type_end_divider:hover{box-shadow:none}.frm-selected-field-group li.ui-state-default,.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected,.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.ui-sortable-helper,.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover,.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only,.frm_update_msg,.frm_sorting li.ui-state-default.frm_not_divider.selected,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only{border-color:var(--primary-500);transition:.5s border-color ease-in-out}.frm_sorting li.ui-state-default.frm_not_divider.selected{box-shadow:0 0 1px 0 var(--primary-500)}.frm_sorting li.ui-state-default{transition:.7s box-shadow ease-in-out,.7s height linear}.frm_sorting li.ui-state-default.frm-newly-added{box-shadow:inset 0 0 2px 1px var(--blue-border)}.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{visibility:visible !important;display:inline !important}.edit_field_type_end_divider>label{display:none !important}.frm_email_actions.feature-filter{font-weight:700;border:1px solid #dfdfdf;background-color:#eee;padding:3px 5px 2px;font-size:var(--text-md);line-height:20px}.frm_update_msg{border-style:solid;margin:10px 0;color:#21759b;padding:8px 15px;border-radius:4px}.frm_update_msg.wrap{margin:10px 20px 0 2px}#frm-insert-fields-box .frm_update_msg{margin-right:.9em}.frm_update_msg a{font-weight:700}.widefat td{width:auto}.widefat .column-id{width:3.7em}.widefat .column-show_count{width:5em}.widefat .column-shortcode{width:9em}.toplevel_page_formidable .column-shortcode div{display:flex;gap:var(--gap-xs)}.widefat .column-entries,.widefat .column-link{width:10%;text-align:center}.widefat .column-form_key,.widefat .column-created_at{width:10%}.frm-white-body .search-box,.frm_wrap .frm-search{float:right;margin:0;clear:right}.frm-white-body .search-box,.frm-search{min-width:32%;position:relative;display:flex;gap:var(--gap-sm);align-items:center}.frm-inline-modal .frm-search,#frm_adv_info .frm-search{float:none;width:100%;clear:both;margin:var(--gap-xs) 0}.frm-button-group a{margin:0 7px !important}.frm_has_textarea .frm-with-right-icon{display:block}.frm-with-left-icon,.frm-with-right-icon{position:relative}i.frm-show-box,i.frm-show-inline-modal,.frm-with-left-icon i,.frm-with-right-icon i:not([class*=mce-]),.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,.frm-with-left-icon .frmsvg,.frm-with-right-icon .frmsvg,.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){position:absolute;padding:0 14px;pointer-events:none;left:0;color:var(--grey-400);font-size:var(--text-xs)}.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){padding-left:var(--gap-xs);padding-right:var(--gap-xs)}.frm-search>.frmsvg{box-sizing:unset}.frm-with-right-icon .frmsvg,.frm-with-right-icon i:not([class*=mce-]){right:0;top:-3px;left:auto;padding:0 10px 0 5px}.frm_form_settings .frm-with-right-icon .frmsvg{top:0}.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg{top:auto;bottom:var(--gap-sm)}.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg{bottom:var(--gap-lg)}.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg{top:auto;bottom:6px}.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,i.frm-show-box,i.frm-show-inline-modal{top:auto;background-color:var(--primary-50);color:var(--primary-500);border-radius:6px;padding:var(--gap-2xs);margin:5px;margin-bottom:0;z-index:1;cursor:pointer;pointer-events:initial}.frmsvg.frm-show-box:focus,.frmsvg.frm-show-inline-modal:focus,i.frm-show-box:focus,i.frm-show-inline-modal:focus{outline:1px solid var(--primary-500)}.frm_form_settings .frmsvg.frm-show-box,.frm_form_settings .frmsvg.frm-show-inline-modal,.frm_form_settings i.frm-show-box,.frm_form_settings i.frm-show-inline-modal{margin:4px 4px 0}.frm-open+.frm-inline-modal{top:-10px;margin-bottom:0}.frm-open+.frm-inline-modal.frm-modal-no-dismiss .inside>.frm-search:first-child{margin-top:var(--gap-sm)}.frm_grid_container>.frm-open+.frm-inline-modal{top:-4px}.frm_grid_container>.frm-open+.frm-inline-modal.frm-modal-no-dismiss{top:0 !important}.frm-with-left-icon input{padding-left:37px !important}.frm_wrap .frm-with-right-icon textarea,.frm_wrap .frm-with-right-icon input,.frm_wrap .frm-with-right-icon input[type=text]{padding-right:var(--gap-md)}#frm-show-fields .frm-with-left-icon .frmsvg,#frm-show-fields .frm-with-left-icon i{padding-top:10px}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm-not-set input{color:var(--primary-500) !important;font-size:13px}.frm-not-set .frmsvg,.frm-not-set i{color:var(--primary-700);opacity:1}.post-type-frm_display select[name=m]+#post-query-submit,select[name=m]{display:none}.frm_shortcode_select optgroup option{margin-left:1em}.frm_shortcode_select optgroup{padding-top:5px}.frm_shortcode_select .frm_subopt{margin-left:2em}.misc-pub-section a.edit-frm_shortcode,.misc-pub-section a.edit-form-status{float:none;font-size:13px}.frm-grid{border-collapse:collapse;border:none;margin-right:10px}.frm-grid td,.frm-grid th{padding:5px;border:1px solid #000}.post-type-frm_display #poststuff #post-body.columns-2{margin-right:var(--big-sidebar)}.post-type-frm_display #post-body.columns-2 #postbox-container-1{margin-right:calc(var(--big-sidebar)*-1);width:calc(var(--big-sidebar) - 40px)}.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables{width:100%}#frm_dyncontent .hndle,#frm_dyncontent .handlediv{display:none !important}.post-type-frm_display .meta-box-sortables .frm_form_nav>li>a,.post-type-frm_display .frm_form_nav .nav-tab-active{padding:0 2px 5px;line-height:1.4}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle{border-bottom:1px solid var(--grey-300);margin:10px 0 0 !important;padding:0 25px 8px}.post-type-frm_display #side-sortables h2.hndle{margin-top:0 !important;padding-top:10px}.post-type-frm_display #post-body-content{margin-top:var(--gap-lg)}.post-type-frm_display.edit-php #wpbody-content>.wrap{margin:0}.post-type-frm_display .postbox .hndle,.post-type-frm_display .postbox{border-color:var(--grey-300)}.post-type-frm_display #postbox-container-1 .postbox,.post-type-frm_display #postbox-container-2 .postbox{border-radius:var(--small-radius);border-color:var(--grey-300);box-shadow:none}.post-type-frm_display #side-sortables .postbox{border-radius:0;border-top-width:0;margin-bottom:0}.post-type-frm_display #side-sortables .misc-pub-section{padding:15px 20px 10px}.post-type-frm_display .misc-pub-section .frmsvg,.post-type-frm_display #post-body .misc-pub-post-status::before,.post-type-frm_display #post-body #visibility::before,.post-type-frm_display .curtime #timestamp::before,.post-type-frm_display #post-body .misc-pub-revisions::before,.post-type-frm_display span.wp-media-buttons-icon::before{color:var(--grey)}.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #publishing-action,.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #minor-publishing-actions,.post-type-frm_display #frm_top_bar+#poststuff #edit-slug-box,.post-type-frm_display .wrap h1.wp-heading-inline,.post-type-frm_display .wrap>.page-title-action{display:none}.post-type-frm_display #poststuff h2.nav-tab-wrapper{padding-left:10px;margin-bottom:0;padding-bottom:0}.post-type-frm_display .nav-menus-php .wrap{margin:10px 0 0}.post-type-frm_display .nav-menus-php .wrap p{padding-left:12px;padding-right:12px}.post-type-frm_display .nav-tab{display:inline-block;background-color:#f4f4f4}.post-type-frm_display .nav-tab.frm_hidden{display:none}.post-type-frm_display .nav-tab:hover{background-color:#e4e4e4}.frm_order_row,.frm_where_row{margin-bottom:7px;line-height:30px}.frm-single-settings .frm_prod_field_opt_cont{margin-top:initial;margin-bottom:20px}select.texture{display:none}.post-type-frm_display #wp-content-editor-tools,#wp-content-editor-tools{background-color:rgba(0,0,0,0)}.post-type-frm_display #major-publishing-actions{border-color:var(--grey-300);background:var(--sidebar-color)}.post-type-frm_display #frm_adv_info{width:calc(var(--big-sidebar) - 40px);height:calc(100vh - 32px);overflow:hidden}.post-type-frm_display #frm_adv_info:not(.frm_fixed){top:0 !important}.post-type-frm_display #frm_adv_info.frm_fixed{position:fixed;z-index:9999;top:32px}.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover{max-height:calc(100vh - 180px)}.frm_col_one{margin-right:4%;clear:both}ul .frm_col_one{float:left}ul .frm_col_two{float:right}ul.frm_two_col{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--gap-sm)}.frm_two_col li{margin-bottom:0}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}.frm_field_list #frm-insert-fields{max-height:none;font-size:var(--text-sm)}.frm_field_list #frm-insert-fields .button a{display:block;max-width:95%;overflow:hidden}#frm-insert-fields{padding:0 var(--gap-xs);overflow:hidden}#frm-insert-fields .frm-search{float:none;margin:0 0 var(--gap-md);width:auto}#frm-insert-fields li,#frm-insert-fields li a{text-decoration:none;font-weight:500;font-size:var(--text-md) !important;color:var(--grey-900)}#frm-insert-fields li.frm_show_upgrade{cursor:pointer;opacity:.5}#frm-insert-fields li span:not(.frm-new-pill){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#frm-insert-fields li a.disabled:hover{cursor:not-allowed}#frm-insert-fields li.ui-draggable-disabled{opacity:.5}#frm-insert-fields li a:not(.disabled):hover .frmsvg,#frm-insert-fields li a:not(.disabled):hover i{color:var(--grey-600)}#frm-insert-fields li.frm_show_upgrade,#frm-insert-fields li a{text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;color:var(--grey-900) !important}#frm-insert-fields li a{display:flex !important;transition:background-color .2s ease-out,box-shadow .2s ease-out}#frm-insert-fields li a:not(.disabled):hover{background:#fff;box-shadow:var(--box-shadow-md)}#frm-insert-fields li a:focus-visible{outline:1px solid var(--primary-500)}#frm-insert-fields li.frm_show_upgrade.frm_hidden{display:none !important}#frm-insert-fields .frm-with-line{padding:12px var(--gap-md);font-weight:500;font-size:var(--text-sm)}#frm-insert-fields .frm-with-line::before{margin-left:calc(-1*var(--gap-sm));width:calc(100% + var(--gap-md))}.frm_code_list{clear:both}.frm_code_list.frm-full-hover a.frm_hidden,.frm_code_list .frmkeys{display:none}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}.frmsvg svg{pointer-events:none}.frmsvg.frm_svg40{width:40px;height:40px}.frmsvg.frm_svg24{width:24px;height:24px}.frmsvg.frm_svg20{width:20px;height:20px}.frmsvg.frm_svg15{width:15px;height:15px}.frmsvg.frm_svg14{width:14px !important;height:14px !important}.frmsvg.frm_svg13{width:13px;height:13px}.frmsvg.frm_svg12{width:12px;height:12px}.frmsvg.frm_svg9{width:9px;height:9px}.frmsvg.frm_svg7{width:7px;height:7px}input[disabled]{pointer-events:none}.frmbutton.ui-sortable-helper .frmsvg,.field_type_list li.frmbutton .frmsvg,.frmbutton.ui-sortable-helper i,.field_type_list li.frmbutton i,.frm_code_list a .frmsvg,.frm_code_list a i{color:var(--grey-500);display:inline-block;vertical-align:middle;width:var(--text-md);font-size:var(--text-md)}.field_type_list.frm_grid_container{gap:10px;margin:13px 0}.field_type_list li{margin:0;padding:0}.field_type_list li.frmbutton .frmsvg{width:24px;height:24px;font-size:24px}.frm_code_list i::before{font-size:inherit}.frmbutton.ui-draggable-dragging{pointer-events:none}.frmbutton.ui-draggable-dragging a{color:var(--grey-900) !important;background:var(--grey-100);text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;box-shadow:var(--box-shadow-md)}.frmbutton.frm_at_limit{opacity:.5}.frmbutton.ui-draggable-dragging a{border:1px solid var(--grey-300);box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging span{font-size:15px}#frm-show-fields .frmbutton.ui-sortable-helper i,.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:#fff !important}.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:var(--grey-700) !important}.frm_sorting li.ui-state-default.ui-sortable-helper,.frmbutton.ui-sortable-helper{transition:opacity .2s;opacity:1;position:fixed;z-index:99999}#frm-insert-fields .frmbutton.ui-sortable-helper a,#frm-show-fields .frmbutton.ui-sortable-helper a{min-width:100px}.ui-draggable-dragging .frm-meta-tag.frm-new-pill{display:none}li.frm_noallow.button,.frm_noallow{opacity:.5}.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before,li.frm_noallow.button.frm_show_upgrade{cursor:pointer}.field_type_list li.frm_noallow.button.frm_show_upgrade:hover{border-color:inherit}.frm_noallow a{color:inherit}#frm_upgrade_modal_image{max-width:200px}#frm_upgrade_modal .cta-inside{display:flex;flex-direction:column;gap:var(--gap-sm)}#frm_upgrade_modal .frm-upgrade-message img{width:100%;margin:var(--gap-sm) 0 10px}#frm_upgrade_modal .frm-oneclick.frm_hidden{display:none !important}#frm_upgrade_modal .frm-oneclick-button{margin-left:auto}#frm_upgrade_modal .frm-upgrade-modal-actions{flex-direction:row-reverse;justify-content:flex-start;margin:0 !important}#frm_upgrade_modal .frm-upgrade-link{align-self:end}#frm_upgrade_modal.frm-success .frm-circled-icon svg{width:24px;height:24px}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-prefix,#frm_upgrade_modal.frm-success .frm_are_not_installed{display:none !important}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-suffix{display:inline !important}#frm_upgrade_modal.frm-success .frm-addon-status{margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options{display:flex;gap:var(--gap-xs);flex-direction:row-reverse;margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options .frm-save-and-reload{margin:0}.frm-dialog[aria-describedby=frm_upgrade_modal]{position:fixed !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important}.frm-tab-message{max-width:600px;margin:20px auto;color:rgba(63,75,91,.8)}.frm-settings-screenshot-toolbar{min-height:39px;display:flex}.frm-settings-screenshot-toolbar .frm-minmax-icon{height:8px;width:8px;border-radius:50%;align-self:center;margin-left:10px}.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type{margin-left:20px}.frm-settings-screenshot-toolbar img{object-fit:contain;align-self:flex-end;margin-left:25px}.frm-settings-screenshot-toolbar+div{background:#fff;padding-top:25px;border-radius:0 0 16px 16px}.frm-settings-screenshot-toolbar+div img{max-width:calc(100% - 40px)}.frm-settings-screenshot-wrapper{max-width:700px;margin:50px auto 0;box-shadow:0 4px 4px rgba(189,196,205,.25),0 12px 56px rgba(42,57,75,.25);border-radius:16px;background:#ebecf1}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}a.frm-link-secondary{color:#c4c4c4;font-size:var(--text-sm);text-decoration:underline}.field_type_list li.button.frm_noallow,.field_type_list li.button.frm_noallow:hover,.button.frm_noallow,.button.frm_noallow:hover{color:inherit;border-color:#ccc;background:inherit}iframe#dyncontent_ifr{min-height:150px}/*! +@font-face{font-family:"s11-fp";src:url("../fonts/s11-fp.woff?v=7") format("woff");font-weight:400;font-style:normal}.frm-submenu-highlight{background:#1da867}.frm-submenu-highlight a span{color:#fff;font-weight:600}.frmfont,.frm_icon_font{text-decoration:none;text-shadow:none;font-weight:400;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;line-height:1.5;transition:color .1s ease-in-out,opacity .1s ease-in-out;font-size:18px}i.frmfont,i.frm_icon_font{font-style:normal;font-variant:normal;speak:none}.frmfont::before,select.frmfont,.frm_icon_font::before,select.frm_icon_font{font-family:"s11-fp" !important;text-align:center}.frmfont,a.frmfont,.frmfont:hover,a.frmfont:hover .frm_icon_font,a.frm_icon_font,.frm_icon_font:hover,a.frm_icon_font:hover{text-decoration:none !important;box-shadow:none}.frmfont:focus,.frm_icon_font:focus{box-shadow:none}.frmfont:active,.frm_icon_font:active{outline:none}.frm_trigger .frm_icon_font{padding:0 5px}.frm_tooltip_icon::before{content:"\e611"}.frm_delete_icon::before{content:"\e610" !important}.frm_arrowdown6_icon::before{content:"\e62a"}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1d2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98a2b3;--grey-300: #d0d5dd;--grey-200: #eaecf0;--grey-100: #f2f4f7;--grey-50: #f9fafb;--grey-25: #fcfcfd;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, 0.65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2b66a9;--primary-500: #4199fd;--primary-300: #80bbfe;--primary-200: #c0ddfe;--primary-50: #ecf5ff;--primary-25: #f5faff;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #b42318;--error-500: #f04438;--error-300: #fecdca;--error-100: #fee4e2;--error-25: #fff5f4;--green: rgb(63, 172, 37);--orange: #f15a24;--warning-500: #f79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054f31;--success-800: #065f46;--success-500: #12b76a;--success-100: #d1fae5;--success-200: #a6f4c5;--success-50: #ecfdf3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}@font-face{font-family:"Inter";src:url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype")}.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.with_frm_style,.frm-white-body .wpbody-content,.frm_wrap{-webkit-font-smoothing:antialiased}}}.frm-sm-z-index{z-index:1}.frm-md-z-index{z-index:5}.frm-white-body,.frm-white-body p,.frm_wrap,.frm_wrap p,.frm-modal,.frm-white-body .postbox .inside{font-size:var(--text-sm);color:var(--grey-500);line-height:var(--leading)}.frm-white-body p,.frm_wrap p{margin:var(--gap-sm) 0}body:not(.frm-admin-page-styles):not(.frm-admin-page-style) .with_frm_style .frm_form_fields>fieldset{--fieldset-padding: 15px 0}a,.widget .widget-top,.stuffbox h3,.frm-collapsed{cursor:pointer;text-decoration:none}.post-type-frm_display .wrap>#posts-filter,.wrap.frm-with-margin,.frm_wrap>.wrap{margin:var(--gap-sm) var(--gap-md) var(--gap-md)}#frm_top_bar+.wrap{margin:var(--gap-xl)}.frm-full-screen #wpbody-content>.wrap{margin:0}.post-type-frm_display .wrap{margin:0}.toplevel_page_formidable #post-body-content{overflow-x:visible}.frm-full-screen{height:100%;overflow:hidden}.frm-full-screen.frm-admin-page-reports,.frm-full-screen.frm-admin-page-entries,.frm-full-screen.post-type-frm_display{overflow:auto}.frm-full-screen #wpadminbar,.frm-full-screen #adminmenumain,.frm-full-screen .wp-header-end{display:none}body.frm-white-body:not(.frm-full-screen) .mce-fullscreen{top:32px;left:160px}.frm-full-screen #wpbody-content,.frm-full-screen #wpbody,.frm-full-screen #wpcontent{padding:0;overflow:hidden;margin:0 !important}.frm-white-body #wpbody-content{position:relative;padding-bottom:0}.post-new-php.post-type-frm_display #screen-meta-links,.post-php.post-type-frm_display #screen-meta-links{display:none}.frm-white-body #screen-meta-links{position:fixed;bottom:0;right:20px}.frm-full-screen #screen-meta-links .screen-meta-toggle{right:55px}.frm-white-body #screen-meta-links .show-settings{border-radius:var(--small-radius) var(--small-radius) 0 0;border:1px solid var(--grey-300);border-bottom:none}.frm-white-body.frm-lite #screen-meta-links .screen-meta-toggle{right:125px}.frm-white-body #screen-meta{margin:0}.frm-white-body #screen-meta-links .show-settings::after{color:var(--grey)}.frm-white-body .columns-2{border-bottom:1px solid var(--grey-300)}.frm-full-screen .columns-2{border:none}body.post-type-frm_display.edit-php,body.frm-white-body{background:#fff}body.frm-white-body ul#adminmenu a.wp-has-current-submenu::after,body.frm-white-body ul#adminmenu>li.current>a.current::after{border-right-color:#fff}.frm-white-body #wpcontent{padding-left:0;padding-right:0}.frm-white-body .wrap #post-body{padding:0 20px}.frm-grey-body #wpbody{background:var(--grey-100)}.frm-grey-body #frm_top_bar{background:#fff}.post-type-frm_display .tablenav,.frm_wrap .tablenav{margin-bottom:10px}.frm-white-body .tablenav .actions select,.wp-admin .frm_wrap .tablenav select{margin-right:var(--gap-xs)}.tablenav .actions .button{margin-top:1px}.frm-white-body table.widefat{background:var(--lightest-grey);border-width:0;box-shadow:none;margin:20px 0}.frm-white-body table.widefat tfoot,.frm-white-body table.widefat thead{background:#fff}.frm-white-body table.widefat th{font-size:var(--text-md)}.frm-white-body table.widefat th a{color:var(--grey-700)}.frm-white-body table.widefat strong a{color:var(--primary-700)}.frm-scroll-box{clear:both;overflow:auto;max-height:405px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm_form_field.frm_scroll_box .frm_opt_container{height:100px;overflow:auto;border:1px solid var(--grey-300)}.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm6_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 6/span 6;align-content:center}.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+p,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+div,.frm_form_field.frm12_followed:not(.frm_hidden):not(.frm-force-hidden)+span{grid-column:span 12/span 12 !important;align-content:center}.frm_form_field.frm-phone-type~[id*=frm-field-format-custom-]>label,.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]>label{opacity:0}.frm_form_field.frm-format-dropdown~[id*=frm-field-format-custom-]{grid-column:span 6/span 6}.frm-single-settings.frm-type-textarea>.frm_grid_container [id*=frm-field-format-custom-]+p{grid-column:span 12/span 12}.frm-single-settings .frm_grid_container{column-gap:var(--gap-sm)}.frm-content-center{align-content:center}.frm-self-end{align-self:end}.frm-short-list{overflow:auto;max-height:190px}.frm-white-body table.frm-border td{font-size:var(--text-sm)}.frm-white-body .striped>tbody>:nth-child(odd){background-color:#fff}.frm_wrap td.column-title strong{display:inline}#frm_top_bar{display:flex;gap:var(--gap-sm);width:100%;height:72px;margin:0;box-sizing:border-box;text-align:center;padding:0 var(--gap-md)}#frm_top_bar>.frm-full-close:last-child,#frm_top_bar>#frm-publishing:last-child{margin-left:auto}#frm_top_bar{border-bottom:1px solid var(--grey-300);padding:0 var(--gap-md);overflow:visible}.frm-white-body h1,.frm-white-body h2,.frm-white-body h3,.frm-white-body h4{color:var(--grey-900);font-weight:400;line-height:var(--leading) !important}.frm-white-body .wrap h1,.frm-white-body h1{font-size:var(--text-xl)}.frm-white-body .wrap h2,.frm-white-body h2{font-size:var(--text-lg);font-weight:500}.frm-white-body .wrap h3,.frm-white-body h3{font-size:var(--text-md)}.frm-white-body .wrap h4,.frm-white-body h4{font-size:var(--text-sm);font-weight:500}#frm_error_modal .frm_lock_simple{padding:20px;border-radius:50%;background-color:var(--primary-25);display:inline-block}#frm_error_modal #frm_lock_simple{color:var(--primary-500)}#frm_error_modal .frm-modal-title{display:block}#frm_error_modal .frm-modal-title h2{font-weight:600;font-size:var(--text-xl);margin:0}#frm_error_modal .frm_modal_content{padding:var(--gap-md);color:var(--grey-900)}.frm-views-editor-body .frm_page_container #frm_top_bar h1{padding:0 !important;color:var(--grey-900);font-size:var(--text-xl) !important}.post-type-frm_display .frm_top_left{padding-bottom:0 !important}.frm-new-table-view-option.frm-selected-table-view-option{border-radius:var(--small-radius);background:var(--primary-25)}.frm-views-editor-body #frm_adv_info .tabs-panel{padding-left:4px;padding-right:4px}#frm_edit_box_content_modal .frm_modal_footer{padding-top:var(--gap-sm);border-top:1px solid var(--grey-300)}#frm_edit_box_content_modal .frm_modal_footer>div{display:flex;justify-content:space-between}#frm_edit_box_content_modal #frm_modal_box_select_area,#frm_edit_box_content_modal #frm_box_content_wysiwyg_wrapper,#frm_edit_box_content_modal .frm_modal_content{max-height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #frm_modal_box_select_area{height:calc(100vh - 176px) !important}#frm_edit_box_content_modal #wp-content-editor-tools{padding-top:0}#frm_edit_box_content_modal.frm-modal .postbox .frm-modal-title+div:last-child{right:var(--gap-md)}.frm_code_list.frm-full-hover .frm-dropdown-view a{flex-direction:row-reverse}#frm_view_editor_left.frm-right-panel .accordion-section-title::before{content:"" !important;margin:0}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388cf3, #1961d5, #8c7fd8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961d5, #816cfa) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}a h1 .frmsvg{color:var(--grey-400);vertical-align:middle;min-width:var(--text-sm)}a .frmsvg{color:currentColor}.frm_wrap .view-switch a.current::before,.frm-white-body a,.frm_wrap a,.frm_wrap a i{color:var(--primary-color)}.frm_wrap a:active,.frm_wrap a:hover{color:var(--primary-700);box-shadow:none}.post-type-frm_display a:focus,.frm_wrap a:focus{box-shadow:none}.frm_top_left{text-align:left;float:left;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis;align-self:center}.post-type-frm_display .frm_top_left,.frm_top_left.frm_top_wide{max-width:100%}.post-type-frm_display .frm_nav_bar .frm-header-logo,.frm_nav_bar .frm-header-logo{margin:18px 0 10px}#frm_top_bar .frm_form_nav{flex:1}ul.frm_form_nav{margin:0 auto;padding-top:18px;display:block;min-width:240px}.nav-tab-wrapper.frm_form_nav{padding:0 25px}ul.frm_form_nav>li{margin:0 min(3.5%,32px) 0 0;display:inline-block}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle,.post-type-frm_display .frm_form_nav .nav-tab-active,.frm_form_nav>li>a{font-size:1.3em;text-decoration:none;display:block;padding:6px 2px 4px;font-weight:500;color:var(--grey-700);border-bottom:2px solid rgba(0,0,0,0)}.post-type-frm_display.js .postbox .handlediv .toggle-indicator::before{margin-top:10px}.frm-nav-tabs a:focus,.frm-nav-tabs a:active,.frm_form_nav a:active,.frm_form_nav a:focus{outline:none;box-shadow:none}.frm_form_nav>li>a{font-size:var(--text-md);font-weight:400;color:var(--grey-500)}.frm_form_nav>li>a:hover{border-color:var(--primary-700)}.frm_form_nav .frm-dropdown-menu a:hover{background-color:#eaf2fa}.post-type-frm_display .frm_form_nav .nav-tab-active,.post-type-frm_display .frm_form_nav .nav-tab-active:hover,.frm_form_nav>li a.current_page{color:var(--primary-500);border-color:var(--primary-500);background:rgba(0,0,0,0);opacity:1;font-weight:600}.frm-full-close{display:none;padding-left:var(--gap-md);border:0 solid var(--grey-300);border-left-width:1px;height:100%;box-sizing:border-box}.frm-full-screen .frm-full-close{display:flex;align-items:center}.frm-full-close a{display:block}.frm-full-close .frmsvg{font-size:20px;width:20px;height:20px;color:var(--grey-500)}#frm_top_bar h1{font-weight:400;padding:0;margin:0;color:var(--grey-900);display:inline-flex;gap:var(--gap-sm);align-items:center;text-align:left;min-width:200px}#frm_top_bar h1 span{max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;vertical-align:bottom}#frm_top_bar ul.frm_form_nav,#frm_top_bar .frm-header-logo,#frm_top_bar #frm_bs_dropdown{align-self:center;margin-top:0;margin-bottom:0;padding-top:0}#frm_top_bar .frm-header-logo{display:flex}#frm_top_bar h2{float:left;margin:0 0 0 var(--gap-sm);padding:2px 0 2px var(--gap-sm);font-weight:400;border-left:2px solid var(--grey)}.frm_wrap>#frm_top_bar #frm-publishing{margin-top:0}#frm-publishing{min-width:225px;align-self:center;align-items:center;display:flex;flex-direction:row-reverse;gap:0 var(--gap-sm);flex-wrap:wrap}.frm_wrap .postbox{border-color:var(--grey-300);border-radius:6px;box-shadow:none}.frm_wrap .postbox h3.hndle{cursor:default;padding:10px 20px;margin:0;line-height:1.4em;border-color:var(--grey-300)}.frm-pre-hndle{font-size:15px;padding:5px;margin:9px 15px}.frm-empty-row{display:none}.frm-child-row{box-shadow:5px 0 0 0 inset var(--sidebar-hover)}.frm_animate_bg{transition:background 200ms linear,color 200ms linear}.wrap>.subsubsub{clear:both;margin:0}.frm_wrap .subsubsub a{line-height:var(--leading);font-size:var(--text-sm)}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-top:0;position:fixed;top:32px;bottom:0;left:0;right:0}.frm-admin-page-translate .frm_wrap .frm_page_container,.frm-admin-page-update_translations .frm_wrap .frm_page_container{position:static}.auto-fold.frm-admin-page-styles .frm_page_container,.auto-fold .frm_wrap .frm_page_container,.frm-unfold.frm-admin-page-styles .frm_page_container,.frm-unfold .frm_wrap .frm_page_container{left:160px}.folded.frm-admin-page-styles .frm_page_container,.folded .frm_wrap .frm_page_container{left:38px}.frm-full-screen.frm-admin-page-styles .frm_page_container,.frm-full-screen .frm_wrap .frm_page_container{height:100vh;top:0;left:0}.frm-full-screen.frm-admin-page-entries .frm_page_container,.frm-new-entry .frm_page_container,.frm-admin-page-reports .frm_page_container,.frm_list_entry_page .frm_page_container{height:auto;display:block}.frm-new-entry .columns-2{border:none}.frm-white-body #frm_top_bar,.frm-white-body .columns-2{flex:0 0 auto}.columns-2 .frm-right-panel+div{padding-bottom:var(--gap-md);border-left:1px solid var(--grey-300)}.columns-2 .frm-right-panel+div,.frm_wrap #post-body-content{padding-bottom:0;padding-top:var(--gap-sm);margin-bottom:0;background:#fff;width:auto;float:none;flex:2}.frm-white-body .columns-2{flex:1;display:flex;overflow:hidden}.frm-white-body .columns-2>div{overflow-y:auto;box-sizing:border-box}.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{flex:0 0 var(--biggest-sidebar);float:none;width:var(--biggest-sidebar);min-width:var(--biggest-sidebar);background-color:var(--sidebar-color);margin:0;box-shadow:none;border:none;padding-bottom:25px}.frm-right-panel .frm_field_list,.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{box-shadow:none;border:none;margin-bottom:26px}#new_fields,.frm-has-modal,p.frm_has_shortcodes{position:relative}.frm-inline-modal.postbox{background:#fff;border-color:var(--grey-100);border-radius:var(--small-radius);box-shadow:var(--box-shadow-lg)}.frm_has_shortcodes .frmsvg:not(.frm_help .frmsvg),.frm_has_shortcodes i:not([class*=mce-]){position:absolute;color:var(--primary-500);border-radius:50%;border:1px solid rgba(0,0,0,0);z-index:100;text-align:center}.frm_has_shortcodes .frmsvg.frm-show-box{border-radius:6px !important}.frm_has_shortcodes input,.frm_has_shortcodes textarea{padding-left:18px;box-sizing:border-box}#form_settings_page #frm_adv_info,#frm_builder_page #frm_adv_info{display:none;top:0;width:310px;max-height:315px;min-height:200px;overflow-y:scroll;z-index:100}#form_global_settings .columns-2>div{overflow:auto;height:calc(100vh - 32px)}#form_global_settings .columns-2 .frm-right-panel,#form_settings_page .columns-2 .frm-right-panel,#wpbody-content .frm-page-skeleton .frm-right-panel{flex:0 0 var(--small-sidebar);width:var(--small-sidebar);min-width:var(--small-sidebar)}#form_global_settings .frm_grid_container{gap:0 var(--gap-md)}.frm-inner-content{padding:var(--gap-md)}.post-type-frm_display #poststuff{padding:0 0 10px 40px}#postbox-container-2 .postbox .inside{padding:15px 25px}#postbox-container-2 #frm_advanced .inside h3{margin:15px -25px;font-weight:600}#form_settings_page .frm-inner-content{padding-top:0;padding-bottom:150px;position:relative}.frm_wrap #submitdiv{margin-bottom:0;border-width:0 0 1px;width:100%;min-width:unset}.frm_wrap #frm_adv_info .handlediv,.frm_wrap #frm_adv_info .hndle{display:none}.frm_wrap .menu-settings{border:none;margin-top:0}.nodrag a{cursor:pointer}.frm_wrap #frm_adv_info .inside{margin:0}#frm_adv_info>.inside{padding:0}#frm_adv_info ul.subsubsub{padding-bottom:var(--gap-xs) !important}#frm_adv_info ul.subsubsub a{font-weight:500}#frm_adv_info ul.subsubsub .frm-vertical-separator{display:inline-block;width:1px;height:8px;background-color:var(--grey-300)}#frm_adv_info #frm-insert-condition{background-color:var(--primary-50)}#frm_adv_info #frm-insert-condition:hover{background-color:var(--primary-25)}#frm_builder_page #frm_adv_info{width:322px;max-height:356px;border-radius:var(--small-radius);overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory{height:356px;overflow:hidden}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div{max-height:286px;padding:0}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*{padding-bottom:var(--gap-sm);max-height:unset}#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div>*:last-child{padding-bottom:var(--gap-xs)}#frm_builder_page #frm_adv_info #frm-nav-tabs{display:flex;gap:var(--gap-xs);background-color:var(--grey-100);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:var(--gap-xs) var(--gap-2xs) var(--gap-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li{flex:1;text-align:center}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a{font-weight:500;line-height:1;color:var(--grey-500);border-radius:var(--small-radius);border:0;padding:var(--gap-xs);margin:0}#frm_builder_page #frm_adv_info #frm-nav-tabs>li a:hover{background-color:#eaecf0;color:var(--grey-500) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info #frm-nav-tabs>li.frm-tabs a{background-color:#fff;color:var(--grey-900) !important;box-shadow:var(--box-shadow-sm)}#frm_builder_page #frm_adv_info .frm-search,#frm_builder_page #frm_adv_info .frm-with-search{padding-top:0;margin:0}.frm-right-panel .frm-inline-modal.postbox .inside{margin:0;padding:0 14px 14px}.frm-right-panel .frm-inline-modal.postbox .inside .frm-with-line,.frm-right-panel .frm-inline-modal.postbox .inside .accordion-section-content h4{margin-left:-14px;margin-right:-14px}.frm-right-panel .frm-inline-modal .inside p:not(.howto),.frm-right-panel .frm-inline-modal .inside a{font-size:15px}.frm-inline-modal .inside a.frm_icon_font{font-size:18px}.frm-nav-tabs{margin:10px 0 20px;padding:0 var(--gap-sm);display:block;border-bottom:1px solid var(--grey-300)}#frm-nav-tabs{position:-webkit-sticky;position:sticky;top:0;background-color:var(--sidebar-color);z-index:98;margin-top:0;padding-top:5px}.frm_form_settings #frm_adv_info #frm-nav-tabs{background-color:#fff;margin:0 -4px}.frm_form_settings span.frm-with-right-icon,#frm_builder_page .frm_has_shortcodes span.frm-with-right-icon:not(.frm_hidden){display:block}.frm-inline-modal .frm-nav-tabs,#frm_adv_info .frm-nav-tabs{margin:5px 0 0}#frm_adv_info .frm-nav-tabs.frm-compact-nav{padding-right:0;padding-left:20px}.frm-nav-tabs li{display:inline-block;margin:0}.frm-nav-tabs a{color:var(--grey-700);padding:10px 1px;margin:0 9px;border-bottom:2px solid rgba(0,0,0,0)}.frm_form_settings #frm_adv_info .frm-nav-tabs a{padding:5px 1px;color:var(--grey-500)}.frm-nav-tabs.frm-compact-nav a{margin:0 5px}.frm-nav-tabs a{display:block;opacity:.9}#frm_adv_info .frm-nav-tabs a{color:var(--grey-700)}.frm-nav-tabs a:hover,.frm-nav-tabs .frm-tabs a{color:var(--primary-500) !important;border-color:var(--primary-500)}.frm_form_settings #frm_adv_info .frm-nav-tabs .frm-tabs a{font-weight:500}.frm-payments-tabs{margin-bottom:var(--gap-md);display:flex}.frm-payments-tabs .frm-payments-tab{font-weight:600;font-size:14px;color:var(--grey-900);display:inline-block;border-width:1px;border-style:solid;border-color:#eaecf0;padding:8px 12px;border-radius:6px 6px 0 0;background-color:#f9fafb}.frm-payments-tabs .frm-payments-tab-filler{border-bottom:1px solid #eaecf0;min-width:var(--gap-xs)}.frm-payments-tabs .frm-payments-tab-filler:last-child{flex:1}.frm-payments-tab.frm-active{background-color:#fff;border-bottom:none}.frm-payments-tab a{text-decoration:none;color:var(--grey-900)}#frm-bulk-modal .howto,#frm-bulk-modal h3{font-size:var(--text-sm);font-weight:400;margin:5px 0 10px;color:var(--grey)}#frm-bulk-modal h3{margin-left:20px}.frm-right-panel a.frm_add_logic_link,.frm-right-panel h3{color:var(--grey-700);font-size:var(--text-lg);font-weight:400;margin:0}.frm-right-panel h3 i{color:var(--grey-700);float:right;width:16px;cursor:pointer}.frm-settings-panel{padding:var(--gap-sm);padding-right:var(--gap-xs)}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-delimiter{top:var(--gap-xs);left:var(--gap-xs);width:calc(100% - var(--gap-sm))}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-navs{padding:var(--gap-xs) var(--gap-xs) 0}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div{max-height:0;visibility:hidden}.frm-settings-panel .frm-style-tabs-wrapper .frm-tabs-slide-track>div.frm-active{max-height:unset;visibility:visible}.frm-settings-panel .frm-embed-field-placeholder{height:unset}.frm-settings-panel .frm-embed-field-placeholder img{height:100px}.frm-settings-panel .frm-embed-field-placeholder .frm-embed-message{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-sm);max-width:unset;color:var(--grey-800);padding:var(--gap-lg);border:0;box-shadow:var(--box-shadow-sm);margin:1px}.frm-single-settings .frm-default-value-wrapper>p{margin-bottom:0}.frm-single-settings .frm-default-value-wrapper+p:empty{display:none}.frm-single-settings [class*=frm-lookup-box-] .frm_grid_container p{margin-top:0 !important}.frm-single-settings .frm_single_option[id^=frm_watch_lookup_]{margin-bottom:var(--gap-xs) !important}.frm-single-settings>h3:first-of-type{position:relative;background-color:rgba(0,0,0,0) !important;border-top:none;padding-top:0 !important;margin-top:0 !important}.frm-single-settings>h3:first-of-type::after{content:"";position:absolute;left:var(--gap-sm);right:var(--gap-sm);bottom:0;height:1px;background-color:var(--sidebar-hover)}.frm-flex-justify,.frm-right-panel .frm-single-settings h3{display:flex;justify-content:space-between;align-items:center}#post-body-content+.frm-right-panel{flex:0 0 var(--medium-sidebar);width:var(--medium-sidebar);min-width:var(--medium-sidebar);border-left:1px solid var(--sidebar-hover)}.frm-new-entry #post-body-content+.frm-right-panel,.frm-new-entry .frm-right-panel{background:none;border:none}#post-body-content+.frm-right-panel h3{padding:20px 20px 0;font-size:17px}#post-body-content+.frm-right-panel .frm_with_icons:first-of-type h3{border:none}#frm-insert-fields h3{color:var(--grey);font-size:15px;font-weight:400;border-top:none;border-bottom:1px solid var(--sidebar-hover);margin:0;padding:10px 10px 10px 25px}.frm_wrap #frm_adv_info ul.category-tabs{margin:0;padding:10px 0 9px;font-size:15px;background:rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li{padding:10px;background-color:rgba(0,0,0,0) !important}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{border:none}.frm_wrap #frm_adv_info .categorydiv div.tabs-panel{border:none;background:rgba(0,0,0,0)}.frm_wrap #frm-categorydiv{border-right:none}#frm_adv_info #frm-conditionals{padding-top:var(--gap-sm)}#postbox-container-1 #taxonomy-linkcategory #frm-html-tags{display:none;max-height:none}#postbox-container-1 .frm_field_list #frm-insert-fields .frmbutton.dropdown{position:relative}.frm-white-body #footer-upgrade{display:none}.frm-admin-footer-links,.frm-admin-footer-links-nav,.frm-admin-footer-links-socials{display:flex;justify-content:center}.frm-admin-footer-links{gap:var(--gap-2xs);flex-direction:column;text-align:center;padding:var(--gap-xl) 0 var(--gap-lg);font-size:var(--text-xs);color:var(--grey-400)}body.frm-hidden-overflow{height:100%;overflow:hidden}.frm-admin-footer-links-nav{gap:var(--gap-2xs);margin-bottom:var(--gap-xs)}.frm-admin-footer-links-socials{gap:var(--gap-xs)}.frm-admin-footer-links-socials a{color:var(--grey-400)}.frm_list_entry_page h2{float:left}.frm_list_entry_page h2+.error{clear:both}.frm_sidebar select{width:100%;margin-left:0;margin-right:0}.frm_sidebar #search-submit{float:right}.frm_single_entry_page #submitdiv{margin:0}.frm_single_entry_page .hndle a{font-size:13px}.frm-right-panel #publishing-action{float:none}.frm-right-panel #major-publishing-actions{border-top:none;height:32px;background:rgba(0,0,0,0)}#major-publishing-actions .frm_submit_form{float:right;margin-left:5px}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129efd 0%, #a334fd 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}.wp-admin .frm-review-notice{position:fixed !important;bottom:var(--gap-2xl);right:var(--gap-lg);width:380px;text-align:center;border-color:var(--grey-100);padding:var(--gap-lg);border-radius:var(--medium-radius);box-shadow:var(--box-shadow-lg) !important;z-index:999;box-sizing:border-box;--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 48px}.wp-admin .frm-review-notice *{box-sizing:border-box}.frm-review-notice-icon{display:inline-flex;margin-bottom:var(--gap-sm)}.wp-admin .frm-review-notice-title{font-weight:600;margin-top:0;margin-bottom:var(--gap-xs)}.wp-admin .frm-review-notice-text{margin-top:0;margin-bottom:var(--gap-md)}.frm-review-notice-signature{text-align:left;margin:var(--gap-md) 0}.frm-review-notice-signature img{width:40px;height:40px;padding:3px;box-shadow:var(--box-shadow-md);border-radius:100%}#wpwrap .frm-dismiss-review-notice{top:16px;right:19px}.frm-review-notice #frmapi-feedback [class^=frm__]{display:none}.frm-review-notice #frmapi-feedback input,.frm-review-notice #frmapi-feedback textarea{border-color:var(--grey-300);border-radius:var(--small-radius)}.frm-review-notice #frmapi-feedback input{min-height:unset;max-height:36px}.frm-review-notice #frmapi-feedback textarea{max-height:80px;padding-top:var(--gap-xs)}.frm-review-notice #frmapi-feedback .frm_message{color:var(--success-900);background-color:var(--success-25);border:1px solid var(--success-200);padding:var(--gap-sm) var(--gap-md);margin:0}.frm-review-notice #frmapi-feedback .frm_message p{margin:0}.frm-review-notice #frmapi-feedback .frm_button_submit{background-color:var(--primary-500);border-color:var(--primary-500) !important;cursor:pointer}.frm-review-notice #frmapi-feedback .frm_button_submit:hover,.frm-review-notice #frmapi-feedback .frm_button_submit:focus{color:#fff;background-color:var(--primary-700);border-color:var(--primary-700) !important}.frm-review-notice .frm_error,.frm-review-notice label{color:#444;text-align:left}.frm-review-notice label{font-size:var(--text-sm)}.frm-floating-success-message{position:fixed;z-index:999;border-radius:4px;right:10px;bottom:10px}.frm-box-shadow-xxl{box-shadow:var(--box-shadow-xxl) !important}.frm-text-white{color:#fff !important}.frm-text-primary-500{color:var(--primary-500)}.frm-text-grey-400{color:var(--grey-400) !important}.frm-text-grey-500{color:var(--grey-500) !important}.frm-text-grey-600{color:var(--grey-600) !important}.frm-text-grey-700{color:var(--grey-700)}.frm-text-grey-800{color:var(--grey-800)}.frm-text-grey-900{color:var(--grey-900)}.frm-text-success-500{color:var(--success-500)}.frm-text-warning-500{color:var(--warning-500)}.frm-underline{text-decoration:underline}.frm_no_margin,.frm-m-0{margin:0 !important}.frm-m-12{margin:var(--gap-2xl)}.frm-m-2xs{margin:var(--gap-2xs) !important}.frm_no_top_margin,.frm-mt-0{margin-top:0 !important}.frm-mt-2xs{margin-top:var(--gap-2xs) !important}.-frm-mt-2xs{margin-top:calc(-1*var(--gap-2xs)) !important}.frm-mt-xs{margin-top:var(--gap-xs) !important}.frm-mt-sm{margin-top:var(--gap-sm) !important}.frm-mt-md{margin-top:var(--gap-md) !important}.frm-mt-lg{margin-top:var(--gap-lg) !important}.frm-mt-2xl{margin-top:var(--gap-2xl) !important}.frm-mt-auto{margin-top:auto !important}.frm_no_bottom_margin,.frm-mb-0{margin-bottom:0 !important}.frm-mb-2xs{margin-bottom:var(--gap-2xs) !important}.frm-mb-6{margin-bottom:6px !important}.frm-mb-sm{margin-bottom:var(--gap-sm) !important}.frm-mb-12{margin-bottom:12px !important}.frm-mb-xs{margin-bottom:var(--gap-xs) !important}.frm-mb-md{margin-bottom:var(--gap-md) !important}.frm-mb-lg{margin-bottom:var(--gap-lg) !important}.frm-ml-2xs{margin-left:var(--gap-2xs) !important}.frm-ml-xs{margin-left:var(--gap-xs) !important}.frm-ml-auto{margin-left:auto}.-frm-ml-2xs{margin-left:calc(-1*var(--gap-2xs)) !important}.frm-mr-auto{margin-right:auto}.frm-force-mr-auto{margin-right:auto !important}.frm-mr-2xs{margin-right:var(--gap-2xs) !important}.frm-mr-xs{margin-right:var(--gap-xs) !important}.frm-mr-2{margin-right:2px !important}.frm-mx-0{margin-left:0 !important;margin-right:0 !important}.frm-mx-xs{margin-left:var(--gap-xs) !important;margin-right:var(--gap-xs) !important}.frm-mx-sm{margin-left:var(--gap-sm) !important;margin-right:var(--gap-sm) !important}.frm-my-sm{margin-top:var(--gap-sm) !important;margin-bottom:var(--gap-sm) !important}.frm-my-xs{margin-top:var(--gap-xs) !important;margin-bottom:var(--gap-xs) !important}.frm-p-0{padding:0 !important}.frm-p-1,.frm-p-2xs{padding:var(--gap-2xs)}.frm-p-sm,.frm-p-4{padding:var(--gap-sm) !important}.frm-p-xs{padding:var(--gap-xs) !important}.frm-p-sm{padding:var(--gap-sm) !important}.frm-p-6,.frm-p-md{padding:var(--gap-md) !important}.frm-p-xl{padding:var(--gap-xl) !important}.frm-px-0{padding-left:0 !important;padding-right:0 !important}.frm-py-0{padding-top:0 !important;padding-bottom:0 !important}.frm-py-2xs{padding-top:var(--gap-2xs) !important;padding-bottom:var(--gap-2xs) !important}.frm-py-sm{padding-top:var(--gap-sm) !important;padding-bottom:var(--gap-sm) !important}.frm-pt-0{padding-top:0 !important}.frm-pt-2xs{padding-top:var(--gap-2xs) !important}.frm-pt-xs{padding-top:var(--gap-xs) !important}.frm-pt-sm{padding-top:var(--gap-sm) !important}.frm-pt-md{padding-top:var(--gap-md) !important}.frm-pt-xl{padding-top:var(--gap-xl) !important}.frm-pr-lg{padding-right:var(--gap-lg) !important}.frm-pb-md{padding-bottom:var(--gap-md) !important}.frm-pb-sm{padding-bottom:var(--gap-sm) !important}.frm-pb-xs{padding-bottom:var(--gap-xs) !important}.frm-pb-2xs{padding-bottom:var(--gap-2xs) !important}.frm-pb-0{padding-bottom:0 !important}.frm-px-sm{padding-right:var(--gap-sm) !important;padding-left:var(--gap-sm) !important}.frm-px-xs{padding-right:var(--gap-xs) !important;padding-left:var(--gap-xs) !important}.frm-px-md{padding-right:var(--gap-md) !important;padding-left:var(--gap-md) !important}.frm-text-xs{font-size:var(--text-xs) !important}.frm-text-sm{font-size:var(--text-sm) !important}.frm-text-md{font-size:var(--text-md) !important}.frm-text-lg{font-size:var(--text-lg) !important}.frm-text-xl{font-size:var(--text-xl) !important}.frm-leading-none{line-height:1}.frm-italic{font-style:italic}.frm-no-italic{font-style:normal}.frm-capitalize{text-transform:capitalize}.frm-font-normal{font-weight:400 !important}.frm-font-medium{font-weight:500 !important}.frm-font-semibold{font-weight:600 !important}.frm-font-bold{font-weight:700 !important}.frm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=frm-line-clamp-]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.frm-line-clamp-2{-webkit-line-clamp:2}.frm-white-space-nowrap{white-space:nowrap}.frm-rounded-6{border-radius:6px !important}.frm-rounded-sm{border-radius:var(--small-radius) !important}.frm-rounded-12{border-radius:12px !important}.frm-rounded-md{border-radius:var(--medium-radius) !important}.frm-w-auto{width:auto !important}.frm-w-full{width:100% !important}.frm-w-half{width:50% !important}.frm-w-fit{width:fit-content !important}.frm-max-w-fit{max-width:fit-content}.frm-h-auto{height:auto !important}#wpwrap .frm-force-hidden,.frm-force-hidden{display:none !important}.frm_block,.frm-block{display:block}.frm_inline{display:inline}.frm-force-inline{display:inline !important}.frm_inline_block{display:inline-block !important}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-transition-ease{transition:all .2s ease}.frm_invisible{visibility:hidden;transition:all .2s ease}.frm_disabled{opacity:.5;cursor:default;pointer-events:none}.frm_disabled .frm-show-inline-modal{pointer-events:none !important}.frm_no_float{float:none}.frm-text-right{text-align:right}.frm-text-left{text-align:left}.frm-border-b{border-bottom:1px solid var(--grey-300)}.frm-no-border{border:none !important}.frm-hr{display:block;height:1px;background-color:var(--grey-200);margin:var(--gap-xs) 0}.frm-opacity-100{opacity:1}.frm-on-bottom{z-index:-1}.frm-rotate-90{transform:rotate(90deg)}.frm-cursor-pointer{cursor:pointer}.frm-align-baseline{vertical-align:baseline !important}.frm-fields p>label.frm_hidden,#wpbody-content label.frm_hidden,.frm-lookup-modal .dismiss,.frm-right-panel .inside a.frm_hidden,#form_global_settings .frm_hidden,ul.frm_form_nav>li.frm_hidden,a.frm_hidden,.button.frm_hidden,.wp-core-ui .button.frm_hidden{display:none}.postbox .inside>p.frm_no_bottom_margin:last-child{margin-bottom:0 !important}.frm_no_section_fields.frm_block{display:block}.actions.frm_visible_overflow{overflow:visible !important}.frm_full_opacity,.frm_submit .frm_full_opacity,.frm_submit .frm-opacity-100{opacity:1}.frm-dropdown-menu.frm-on-top{z-index:99999}.frm-vertical-line{display:inline-block;width:1px;height:12px;background-color:var(--grey-300)}.frm-admin-full-screen #adminmenumain,.frm-admin-full-screen #wpadminbar,.frm-admin-full-screen #adminmenuback,.frm-admin-full-screen #adminmenuwrap,.frm-admin-full-screen #wpfooter{display:none}.frm-admin-full-screen #wpcontent,.frm-admin-full-screen.auto-fold #wpcontent{margin:0;padding:0}.frm-admin-full-screen.appearance_page_starter-templates #wpbody-content{padding:0}.frm_forms.with_frm_style{max-width:100%}.post-type-frm_display .wrap>.subsubsub,.post-type-frm_display .wrap>.icl_subsubsub,.frm_form_settings>p{margin:6px var(--gap-md);padding:0}.frm-entry-container{margin:0 40px 40px;padding:0}#form_reports_page .frm-inner-content{width:calc(100% - 40px);max-width:900px;margin:20px auto;padding:20px}.frm_inner_field_container>.frm_form_fields{clear:both}.post-type-frm_display h2,.frm_wrap h2{margin-top:0 !important;font-size:var(--text-lg);line-height:var(--leading)}.post-type-frm_display .wrap>h2:first-child,.frm_wrap .wrap>h2:first-child{padding-top:0;margin-top:0 !important;font-size:var(--text-lg)}#frm_form_editor_container{position:relative;margin-top:28px}.form-field p{background:none;border:none}.form-field label.frm_primary_label{display:block;float:none;width:auto}#frm_view_editor_left label,#frm_view_editor_left .frm_primary_label,.frm-dialog .frm-sub-label,.frm-dialog label,.dropdown .frm_primary_label,.accordion-container label,.frm-fields td>label,.frm-fields td>div>label,.frm_form_field>label:first-child,.frm-fields p>label,.frm_on_submit_type>label,.post-type-frm_display .frm_form_field>label,#new_fields .frm_primary_label,#form_global_settings .frm_primary_label,#frm_form_editor_container .frm_primary_label,#permissions_settings_settings .frm_primary_label{color:var(--grey-700);margin:0 0 6px;padding:0;width:auto;font-size:var(--text-sm);display:block;line-height:var(--leading)}#frm_form_editor_container #frm-show-fields .frm_primary_label{min-height:21px}.frm-fields td input+label{display:inline}#frm_form_editor_container .edit_field_type_end_divider .frm_primary_label,#frm_form_editor_container .edit_field_type_break .frm_primary_label{display:none}form .frm_primary_label input{font-size:12px}.with_frm_style form .form-field{margin-bottom:20px}#frm_builder_page .with_frm_style form .frm_combo_inputs_container>.form-field{margin-bottom:0}.frm_description,.with_frm_style form div.description,.frm_error,.with_frm_style form div.description textarea{padding:0;font-size:11px}.with_frm_style .description{color:inherit}#frm_form_editor_container .divider_section_only .frm_primary_label{display:flex;align-items:center;gap:var(--gap-xs);font-size:20px}#frm_form_editor_container .divider_section_only .frm_primary_label .frm-sub-label{padding:0}#frm-show-fields ul:has(>li:nth-child(7)) .frm-sub-label.frm-field-id{display:none}.frm-token-container{position:relative;display:block;direction:ltr}.frm-token-container .frm-tokens{position:absolute;top:0;left:0;max-width:calc(100% - var(--gap-xl));display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-2xs);padding:6px var(--gap-xs);margin:0}.frm-token-container .frm-token{position:relative;display:flex;align-items:center;gap:var(--gap-xs);min-height:24px;height:auto;color:var(--grey-900);background:var(--grey-100);border-radius:4px;padding:0 var(--gap-xs);font-size:var(--text-md);margin:0;z-index:2}.frm-token-container .frm-token .frm-token-value{line-height:var(--leading);white-space:normal;word-break:break-word}.frm-token-container .frm-token .frm-token-remove{display:flex;flex-shrink:0;cursor:pointer}.frm-token-container .frm-token .frm-token-remove .frmsvg{color:var(--grey-900);position:static;width:12px;height:12px;padding:0}.frm-token-container .frm-token .frm-token-remove:hover .frmsvg{color:var(--error-500)}.frm-token-container .frm-show-inline-modal{z-index:3 !important}.frm-token-container .frm-token-proxy-input{position:relative;z-index:1;padding-right:var(--gap-xl) !important}form .form-field.frm_field_loading{margin-bottom:0;min-height:0;padding:0;text-align:center}.frm_sorting>.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:10px}.frm_sorting>.frm_field_loading~.frm_field_loading .frm_visible_spinner.frm-wait{margin-bottom:0;display:none}.frm_description,.with_frm_style form div.description,.frm_error{margin:0}.frm_error{color:#f04438}form .frm_blank_field input,form .frm_blank_field textarea,form .frm_blank_field select,form .frm_blank_field .frm-g-recaptcha iframe,form .frm_blank_field .g-recaptcha iframe{border-color:#f04438}form .frm_blank_field label{color:#f04438}.frm_required{color:#f04438}.with_frm_style .wp-editor-container textarea,.postbox .wp-editor-container textarea,.frm_remove_border{border:none}.with_frm_style .mceIframeContainer,.postbox .mceIframeContainer{background-color:#fff}.frm_pro_license_msg{clear:left;margin-top:10px}.frm-license-input{position:relative}.frm-license-input span{font-size:var(--text-sm)}.frm-license-input .frmsvg{width:20px;height:20px;margin-left:5px;vertical-align:text-top}.frm-license-input .frmsvg,.frm-license-input span,.frm-license-input i{color:#00831a}.upgrade_to_pro{padding:10px 25px 25px;max-width:700px;margin:20px auto !important}.upgrade_to_pro .error{display:none}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961d5, #e8abef) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.upgrade_to_pro a{color:var(--orange)}.upgrade_to_pro table .frmsvg{height:var(--text-xl);width:var(--text-xl)}.upgrade_to_pro table.widefat{background-color:#fff;border-collapse:collapse}.frm-white-body .upgrade_to_pro table th,.upgrade_to_pro table td{padding:10px 15px;border:1px solid var(--grey-300);line-height:var(--leading);font-size:var(--text-sm)}.upgrade_to_pro table th.frmcenter{text-align:center}.widefat th.frm_table_break{background-color:var(--sidebar-color)}h2.frm-h2+.howto{color:var(--medium-grey);max-width:850px;margin:5px 0 20px}.frm-card{width:100%;border-radius:10px;border:1px solid var(--grey-300);opacity:1;transition:opacity 1s}.frm-card-box{max-width:524px;background-color:#fff;border-radius:var(--medium-radius);padding:var(--gap-xl);border:1px solid var(--grey-200);box-shadow:var(--box-shadow-md)}.frm-card-box.frm-has-progress-bar{position:relative;overflow:hidden;border-radius:var(--medium-radius)}.frm-card-box-progress-bar{position:absolute;top:0;left:0;right:0;height:var(--gap-xs);background-color:var(--primary-25)}.frm-card-box-progress-bar>span{position:absolute;top:0;left:0;bottom:0;width:33%;background-color:var(--primary-500)}.frm-card-box-header{display:flex;justify-content:center;margin-bottom:var(--gap-sm)}.frm-card-box.frm-has-progress-bar .frm-card-box-header{margin-top:var(--gap-xs)}.frm-card-box-content>:last-child{margin-bottom:0}.frm-card-box-footer{display:flex;justify-content:end;gap:var(--gap-sm);margin-top:var(--gap-lg)}.frm-card-box-title{font-size:var(--text-xl) !important;font-weight:600 !important;margin-bottom:var(--gap-xs)}.frm-card-box-text{font-size:var(--text-md) !important;color:var(--grey-600) !important;margin-top:0 !important}.frm-fade{opacity:0;transition:all 1s}.frm-addons .frm-card.frm-addon-not-installed{position:relative}.frm-addons .plugin-card-top{min-height:155px;padding-top:var(--gap-lg);overflow:hidden}.frm-addons .plugin-card-top h2{margin-top:0;font-weight:400}.frm-template-row p,.frm-addons .plugin-card-top p{opacity:.8}.frm-addons .plugin-card-top>:not(p):not(h2){display:none}.frm-addons .plugin-card-bottom{padding:5px 20px 20px;text-align:center;background:rgba(0,0,0,0);border-top:none}.frm-addons .plugin-card-bottom,.frm-addons .plugin-card-bottom .button{font-size:15px}.frm-addons .button,.frm-addons .frm-button-tertiary{float:right}.frm-addons .addon-status{float:left;padding-top:4px}.frm-addon-not-installed .frm-activate-addon,.frm-addon-not-installed .frm-deactivate-addon,.frm-addon-not-installed .frm-uninstall-addon,.frm-addon-installed .frm-install-addon,.frm-addon-installed .frm-deactivate-addon,.frm-addon-active .frm-activate-addon,.frm-addon-active .frm-install-addon,.frm-addon-active .frm-uninstall-addon,.plugin-card-pro.frm-addon-active .button,.plugin-card-pro.frm-addon-active .frm-button-tertiary{display:none !important}.frm-save-and-reload-options{margin-top:10px;font-size:13px}.frm-save-and-reload,.frm-save-and-reload+.frm-button-secondary{visibility:visible !important}.addon-status-label{opacity:.7}.frm-addon-active .addon-status-label{color:var(--green);opacity:1}.frm-addon-error{position:absolute;top:55px;left:10px;right:10px;font-weight:700;text-align:center}.frm-new-template.plugin-card-bottom{overflow:visible}#frm-new-template p:first-child{margin-top:0}.frm-admin-page-formidableedit #wpbody-content>*:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert):not(#frm-svg-icons-pack),#wpbody-content>.updated,#wpbody-content>#update-nag,#wpbody-content>.update-nag,#wpbody-content>.notice,#wpbody-content>.error:not(.frm_previous_install),.frm-white-body .updated,.frm-white-body .notice,.frm_wrap>.wrap>.notice,.frm-white-body .error:not(.frm_previous_install){display:none}.frm-admin-page-formidableedit #frm_builder_page{display:block !important}.frm-white-body .updated,.frm-white-body .error{margin:0;padding:10px 20px}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-templates-list{margin-top:0}.frm-templates-list.frm_grid_container li{margin-bottom:0}.frm-templates-list li{vertical-align:top;position:relative;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,0);text-align:left}.frm-templates-list li:not(.frm_hidden){display:inline-block}.frm-templates-list.frm-categories-list li{width:100%}.frm-templates-list li.frm-selectable{cursor:pointer}.frm-templates-list li.frm-selectable:hover{background:var(--light-blue);border-color:rgba(65,153,253,.5)}.frm-templates-list li.frm-selectable:hover h3,.frm-templates-list li.frm-selectable:hover p{max-width:calc(100% - 65px)}.frm-templates-list .frm-featured-form{display:flex;width:100%}.frm-templates-list li .frm-featured-form{padding:7px 5px}.frm-templates-list li li>div{padding-left:0}.frm-templates-list li>div>div{vertical-align:middle}.frm-category-icon,.frm-icon-wrapper{background:var(--primary-500);border-radius:var(--small-radius);color:#fff;width:32px;height:32px;font-size:18px;box-sizing:border-box;align-self:center;justify-content:center;align-items:center;display:inline-flex}.frm-templates-list li .frm-category-icon{overflow:hidden}.frm-templates-list li h3,.frm-templates-list li p{text-align:left;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.frm-templates-list li h3,.frm-templates-list .frm-install-template h3{font-size:var(--text-sm) !important}.frm-templates-list .frm-install-template div{text-align:left}#frm_leave_email,#frm_code_from_email{width:480px;max-width:100%}.frm-templates-list.frm-categories-list li>div>div:last-child{padding-left:0}.frm-hover-icons{position:absolute;right:0;top:17px;max-width:91px;height:100%;box-sizing:border-box;padding:0 10px 0 5px !important;border-radius:var(--small-radius);text-align:right;display:flex;gap:5px}.frm-ready-made-solution .frm-hover-icons{visibility:hidden}.frm-ready-made-solution:hover .frm-hover-icons{visibility:visible}.frm-hover-icons a{width:22px;height:22px;font-size:var(--text-md);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-sizing:border-box;line-height:var(--leading);text-align:center}.frm-hover-icons>.frm-preview-form,.frm-hover-icons>.frm-delete-form{border:1px solid var(--primary-500)}.frm-hover-icons>.frm-create-form,.frm-ready-made-solution .frm-hover-icons a{background-color:var(--primary-500)}.frm-hover-icons>a .frmsvg{width:14px;height:14px;vertical-align:baseline}.frm-hover-icons>.frm-preview-form .frmsvg,.frm-hover-icons>.frm-delete-form .frmsvg{color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form{background-color:var(--primary-500)}.frm-hover-icons>.frm-unlock-form .frmsvg{background-color:var(--primary-500)}.frm-ready-made-solution .frmsvg{width:14px;height:14px}.frm-hover-icons .frm-create-form svg,.frm-ready-made-solution .frm-hover-icons svg{color:#fff}.frm-hover-icons .frm-create-form:hover,.frm-ready-made-solution .frm-hover-icons a:hover,.frm-hover-icons>.frm-unlock-form:hover,.frm-hover-icons>.frm-unlock-form:hover .frmsvg{background-color:var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover,.frm-hover-icons .frm-delete-form:hover{border:1px solid var(--primary-700) !important}.frm-hover-icons .frm-preview-form:hover .frmsvg,.frm-hover-icons .frm-delete-form:hover .frmsvg{color:var(--primary-700) !important}.frm-application-card h4 .frmsvg,.frm-locked-template h3 .frmsvg{height:var(--text-sm);width:var(--text-sm);vertical-align:text-top;color:var(--grey-500)}.frm-modal-back{cursor:pointer;margin-right:4px}.frm-modal-cancel{float:left}.frm-meta-tag,.frm-meta-tag:hover{padding:var(--gap-2xs) var(--gap-xs);border-radius:var(--small-radius);font-weight:600;display:inline-flex;background-color:#d9ebff;gap:2px}.frm-meta-tag.frm-grey-tag,.frm-meta-tag.frm-grey-tag:hover{background-color:var(--sidebar-hover);color:var(--grey-900)}.frm-meta-tag.frm-red-tag,.frm-meta-tag.frm-red-tag:hover{background:var(--error-100);color:var(--error-700)}.frm-meta-tag.frm-orange-tag,.frm-meta-tag.frm-orange-tag:hover{background-color:#fef7f4;color:var(--orange)}.frm-meta-tag.frm-green-tag,.frm-meta-tag.frm-green-tag:hover{background-color:var(--success-500);color:#fff}.frm-entry-status-0,.frm-meta-tag.frm-lt-green-tag,.frm-meta-tag.frm-lt-green-tag:hover{background-color:var(--success-100);color:var(--success-800)}.frm-meta-tag.frm-new-pill{background-color:var(--success-500);vertical-align:text-bottom}.frm_add_field span+.frm-meta-tag{margin-left:0}.dropdown-item .frm-meta-tag{margin-left:0}.frm-entry-status{font-weight:500}.frm-entry-status-1{color:#7a4d05;background:#fff2d2}#frm-create-footer{padding:15px 20px}li .frm-hover-icons .frm-preview-form,.frm-hover-icons .frm-unlock-form,.frm-locked-template .frm-hover-icons .frm-create-form,.frm-modal-back{display:none}.frm-locked-template .frm-hover-icons .frm-unlock-form,li[data-preview] .frm-hover-icons .frm-preview-form{display:inline-flex}.frm-modal-back svg{color:#7f7f7f}#frm-upgrade-body-list-wrapper>div{display:inline-block;width:33.3333333333%;vertical-align:top;text-align:left;margin-bottom:10px}#frm-upgrade-body-list-wrapper ul{padding-left:40px}#frm-upgrade-body-list-wrapper ul li::before{content:"\2022";color:var(--primary-500);display:inline-block;width:1em;margin-left:-1em}.frm-embed-modal-content{padding:var(--gap-md)}.frm-embed-modal-content.frm-loading-page-options{display:flex;justify-content:center}#frm_embed_modal .frm_embed_example{background:var(--sidebar-color);border:1px solid var(--sidebar-hover);border-radius:var(--small-radius);color:var(--grey-900);font-size:var(--text-sm);padding-right:var(--gap-lg);width:100%;height:auto !important;resize:none}#frm_embed_modal textarea.frm_embed_example{padding-bottom:0}.frm-embed-modal-content>div a{position:absolute;right:0;top:0}.frm-embed-modal-content>div{position:relative;margin-bottom:var(--gap-sm)}.frm-embed-modal-content>div:last-child{margin-bottom:0}.frm-embed-modal-content svg[id^=frm_copy_embed_]{position:absolute;bottom:10px;right:10px;cursor:pointer;opacity:.5}.frm-border-info-box,.frm-embed-modal-option{border-radius:var(--small-radius);border:1px solid var(--grey-300);padding:var(--gap-sm);cursor:pointer;display:flex;gap:var(--gap-sm);font-size:var(--text-sm)}.frm-embed-modal-option+.frm-embed-modal-option{margin-top:var(--gap-sm)}.caret.rotate-270,.frm-embed-modal-option .caret{align-self:center;margin-left:auto;transform:rotate(-90deg)}#frm_embed_modal .frm_modal_footer{display:none}#frm_embed_modal.frm-on-page-2 .frm_modal_footer{display:block}.frm-embed-modal-content ul{max-height:300px;overflow-y:scroll}.frm-embed-modal-wrapper.frm-dialog{overflow:visible}#frm-bulk-modal .frm_grid_container{grid-template-columns:repeat(12, 8.33%);grid-gap:0}#frm-bulk-modal .frm8{border-right:1px solid var(--grey-300);padding:10px 20px 10px var(--gap-lg)}#frm-bulk-modal .frm4{padding:10px 0}.frm-inline-modal .howto{margin:5px 0 10px;color:var(--grey)}.frm-inline-modal .frm_code_list+.howto{margin-bottom:0}#frm_bulk_options{height:240px;width:100%;border:none;box-shadow:none;padding:0}.frm-bulk-edit-link{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-2xs);font-size:var(--text-sm);margin:12px 0 12px auto}.frm-bulk-edit-link .frm-bulk-edit-link{margin:0}.frm-small-add{font-size:var(--text-sm) !important}.frm-small-add span{color:var(--primary-500);font-size:12px;height:12px;width:12px}.frm_no_captcha_text{font-weight:700;color:#a00}.frm_image_from_url{height:50px}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_scale{text-align:center;float:left;margin-right:10px}.frm_scale input{display:block;margin:5px}.frm_multi_fields_container{float:left}.frm_multi_fields_container,.frm_form_builder .frm_form_fields input[type=tel] .frm_form_builder .frm_form_fields input[type=range],.frm_form_builder .frm_form_fields input[type=text]{width:100%;height:auto}.frm_form_builder .frm_time_wrap .frm_time_sep{vertical-align:sub;vertical-align:-webkit-baseline-middle}.frm_form_builder input[type=range]::-webkit-slider-runnable-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-moz-range-track{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-lower{background-color:var(--blue-border)}.frm_form_builder input[type=range]::-ms-fill-upper{background-color:var(--blue-border)}.frm-embed-field-placeholder{text-align:center;height:145px;display:flex;align-items:center;justify-content:center}.frm-fake-field{display:block;height:25px;background-color:var(--light-blue);border:1px solid var(--grey-300);margin:10px 0;border-radius:var(--small-radius)}.frm-embed-message{position:absolute;background:#fff;border:1px solid var(--grey-300);color:var(--grey-700);padding:var(--gap-md);font-size:var(--text-lg);max-width:200px;min-width:50%;margin:0 var(--gap-md);overflow:hidden;text-overflow:ellipsis}.frm-summary-message{top:50%;left:50%;padding:15px 0;font-size:var(--text-md);transform:translate(-50%, -50%)}.frm-summary-learn-more{font-size:inherit !important}.frm-single-settings .frm-embed-message{width:100%;position:static;border-radius:var(--small-radius)}#new_fields input[type=text],#new_fields input[type=number],.frm_field_box .frm_form_fields>textarea,.frm_form_fields .frm_form_field>textarea,.frm_form_fields .frm_form_field>input[type=email],.frm_form_fields .frm_form_field>input[type=url],.frm_form_fields .frm_form_field>input[type=number],.frm_form_fields .frm_form_field>input[type=tel],.frm_form_fields .frm_form_field>input[type=text],.frm_form_fields .frm_form_field>input[type=range]{width:100%}.frm_form_fields textarea.wp-editor-area{width:100%;border:none}.frm_form_fields input[type=file],.frm_form_fields input[type=file]:disabled{background:rgba(0,0,0,0);border:none;box-shadow:none;width:auto}.frm_form_fields select{width:auto;max-width:100%}input[type=radio],input[type=checkbox]{width:16px;padding:0}.frm_grid_container>p,.frm_grid_container>p.frm_form_field,.frm_grid_container>div.frm_form_field,#new_fields .frm_grid_container>p{margin-top:8px;margin-bottom:8px;margin-right:0}.frm_grid_container>p>label:only-child,.frm_grid_container>p.frm_form_field>label:only-child,.frm_grid_container>div.frm_form_field>label:only-child,#new_fields .frm_grid_container>p>label:only-child{margin-bottom:0}.frm_grid_container>.frm-has-modal>p:only-child{margin-bottom:var(--gap-xs)}#new_fields div.frm_grid_container>.frm_primary_label{margin-top:8px}#new_fields .frm_primary_label+p,#new_fields .frm_primary_label+.frm6+.frm6,#new_fields .frm_primary_label+.frm6+.frm-inline-modal+.frm6{margin-top:0}.frm_catlevel_2,.frm_catlevel_3,.frm_catlevel_4,.frm_catlevel_5{margin-left:18px}.frm_wrap .frm-fields .auto_width,.frm_form_fields input.auto_width,.frm_form_fields select.auto_width,.frm_form_fields textarea.auto_width{width:auto !important}.frm_form_fields select.auto_width{min-width:60px}.frm_form_fields input:focus,.frm_form_fields select:focus,.frm_form_fields textarea:focus,.frm_focus_field input{background-color:#fff;border-color:#ddd}.frm_form_builder .frm_radio,.frm_form_builder .frm_checkbox{display:block;margin-bottom:2px}.frm_form_builder .frm_radio label,.frm_form_builder .frm_checkbox label{font-size:var(--text-sm)}.horizontal_radio .frm_radio,.horizontal_radio .frm_checkbox{margin-right:5px;display:inline-block}.frm_form_builder .frm_opt_container .frm_radio.frm_image_option label,.frm_form_builder .frm_opt_container .frm_checkbox.frm_image_option label{display:flex;align-items:center;gap:9px;white-space:normal}.frm_form_field.frm_two_col .frm_opt_container,.frm_form_field.frm_three_col .frm_opt_container,.frm_form_field.frm_four_col .frm_opt_container{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:max-content;grid-gap:0 2.5%}.frm_form_field.frm_three_col .frm_opt_container{grid-template-columns:repeat(3, 1fr)}.frm_form_field.frm_four_col .frm_opt_container{grid-template-columns:repeat(4, 1fr)}.frm_form_field.frm_two_col .frm_radio,.frm_form_field.frm_two_col .frm_checkbox,.frm_form_field.frm_three_col .frm_radio,.frm_form_field.frm_three_col .frm_checkbox,.frm_form_field.frm_four_col .frm_radio,.frm_form_field.frm_four_col .frm_checkbox{grid-column-end:span 1}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap .with_frm_style .frm_radio input[type=radio],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_scale input[type=radio],.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{width:15px;min-width:15px;height:15px;border:1px solid var(--grey-300);box-shadow:var(--box-shadow-sm);-webkit-appearance:none}.frm_wrap input[type=radio]{border-color:var(--grey-300);box-shadow:var(--box-shadow-sm)}.frm_wrap input[type=radio]:checked::before{background-color:var(--primary-500)}.frm_wrap .with_frm_style .frm_checkbox input[type=checkbox],.frm_wrap input[type=checkbox],.frm-white-body input[type=checkbox],.field-group input[type=checkbox],.frm_checkbox input[type=checkbox]{border-radius:4px}.frm-white-body input[type=checkbox]:checked,.frm_wrap input[type=checkbox]:checked{background-color:var(--border-color-active, var(--primary-500)) !important;border-color:var(--border-color-active, var(--primary-500)) !important}.frm-white-body input[type=checkbox]:checked:focus,.frm_wrap input[type=checkbox]:checked:focus{border-color:var(--border-color-active, var(--primary-500))}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{content:"";display:block;width:100% !important;height:100% !important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;background-size:8px !important;background-repeat:no-repeat !important;background-position:center !important;margin:0}.frm_radio input[type=radio],.frm_checkbox input[type=checkbox]{margin-right:5px}.frm_inner_field_container{margin-bottom:10px}.frm_conf_inline .frm_inner_field_container,.frm_conf_inline .frm_inner_conf_container{width:49%;float:left}.frm_conf_inline .frm_inner_field_container{margin-right:2%;clear:both}.frm_inner_field_container>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>label,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>label,li.ui-state-default.selected>.frm_inner_field_container>label{max-width:calc(100% - 100px)}.frm-drag-fade{background-color:var(--lightest-grey) !important;border-radius:4px}.frm-drag-fade *{opacity:0}.frm-dragging .divider_section_only,.frm-dragging .frm_field_box{pointer-events:none}.frm_form_settings #op-popup,.frm_form_settings com-1password-op-button,.frm_conf_below .frm_conf_field_container .frm_primary_label,.frm_conf_inline .frm_inner_field_container .frm-show-click a,.frm_conf_below .frm_conf_field_container .frm-show-click a{display:none !important}.frm_conf_inline .frm_inner_field_container .frm-field-action-icons{position:absolute;right:5px}.frm_conf_below .frm_conf_field_container{margin-top:10px}.frm_calc_dec{width:50px}.frm_ext_sc{display:none}.frm_long_input{width:100% !important;box-sizing:border-box}.frmcenter{text-align:center}img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}label input[type=checkbox],label input[type=radio]{vertical-align:inherit}#editorcontainer #dyncontent{margin:0;width:100%;padding:6px;line-height:var(--leading);border:0 none;outline:none;box-sizing:border-box}.frm_postbox_icon{margin:-6px 0 0 -10px}.frm_form_builder a:hover{text-decoration:underline}.frm_form_builder .widget-title h4{padding:10px 15px}.frm_form_builder .widget-top a.widget-action::after{margin:7px 12px 0}.frmbutton.frm_tgateway{display:none !important}.frm_html_legend pre{display:inline}#ed_fullscreen{display:none !important}.frm_posttax_opt_list{overflow:auto;max-height:200px;background-color:#fff}.frm_posttax_opt_list p.howto{font-size:12px}.frm_border_bottom{border-bottom:1px solid var(--grey-300);margin-bottom:10px;padding-bottom:10px}.frm_posttax_opt_list .frm_border_bottom span.howto{padding-right:10px}.frm_posttax_opt_list .frm_border_bottom input{margin-right:1px}.frm_add_remove div.frm_form_field{padding-bottom:5px}.frm_field_opts_list{max-height:260px;overflow:auto}.frm_white_bg,.frm-bg-white{background-color:#fff}.frm-bg-grey-50{background-color:var(--grey-50)}.frm-bg-grey-200{background-color:var(--grey-200)}.frm-bg-grey-800{background-color:var(--grey-800)}.frm-bg-primary-500{background-color:var(--primary-500)}.frm_border_light{border:solid 1px #ddd}#new_fields .form-table input[type=text],#new_fields .form-table select,.form-table .form-field input,.form-table .form-field .quicktags-toolbar input,.form-field input,.form-field .quicktags-toolbar input{width:auto}.frm_aff_link{float:right}.frm_select_box{text-align:center;font-weight:700;width:100%;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box{text-align:left;font-weight:400;font-size:inherit !important;border:none;padding:0 !important;background-color:rgba(0,0,0,0) !important}.wp-list-table input.frm_select_box:focus{outline:none;box-shadow:none}.wp-list-table .frm_no_items.frm_select_box{text-align:center;font-weight:700;width:500px;max-width:100%;font-size:inherit}#frm-options-panel{padding:0 var(--gap-sm);color:var(--grey-900);overflow:hidden}.frm-right-panel a.frm_add_logic_link,#frm-options-panel h3,.frm-collapsible{font-size:var(--text-md);font-weight:500;background-color:#fff;border-radius:var(--small-radius);padding:18px var(--gap-sm);margin:2px calc(-1*var(--gap-sm));transition:background-color 200ms ease-out,box-shadow 200ms ease-out,color 200ms ease-out}.frm-right-panel a.frm_add_logic_link .frmsvg,#frm-options-panel h3 .frmsvg,.frm-collapsible .frmsvg{width:13px;height:13px;color:var(--grey-500);transition:transform 300ms ease-in}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type),.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type),#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child,.frm-collapsible:not(.frm-collapsed):not(:first-of-type),.frm-collapsible:not(.frm-collapsed):first-of-type:first-child{color:var(--grey-700);box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed):first-of-type:first-child .frmsvg,#frm-options-panel h3:not(.frm-collapsed):not(:first-of-type) .frmsvg,#frm-options-panel h3:not(.frm-collapsed):first-of-type:first-child .frmsvg,.frm-collapsible:not(.frm-collapsed):not(:first-of-type) .frmsvg,.frm-collapsible:not(.frm-collapsed):first-of-type:first-child .frmsvg{transform:rotate(-180deg)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div,#frm-options-panel h3:not(.frm-collapsed)+div,.frm-collapsible:not(.frm-collapsed)+div{padding-top:6px;padding-bottom:6px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container,.frm-collapsible:not(.frm-collapsed)+div.frm_grid_container{padding-bottom:14px}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child,.frm-collapsible:not(.frm-collapsed)+div.frm_grid_container>p:first-child{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,#frm-options-panel h3:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6,.frm-collapsible:not(.frm-collapsed)+div.frm_grid_container>p:first-child.frm6+.frm6{margin-top:var(--gap-sm)}.frm-right-panel a.frm_add_logic_link.frm-collapsed,#frm-options-panel h3.frm-collapsed,.frm-collapsible.frm-collapsed{color:var(--grey-500);background-color:rgba(0,0,0,0)}.frm-right-panel a.frm_add_logic_link:hover,#frm-options-panel h3:hover,.frm-collapsible:hover{color:var(--grey-700);background-color:#fff;box-shadow:var(--box-shadow-sm)}.frm-right-panel a.frm_add_logic_link:focus-visible,#frm-options-panel h3:focus-visible,.frm-collapsible:focus-visible{outline:1px solid var(--primary-500) !important;outline-offset:-1px}.frm-right-panel a.frm_add_logic_link:focus{outline:auto}.frm_field_key{background-color:#f7f7f7}#frm_form_editor_container #edit-slug-box{padding:0}.frm-alt-table{position:relative;width:100%;border-collapse:collapse;margin-top:.5em;font-size:15px}#form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}.frm-alt-table th{width:200px}.frm-alt-table tr,.frm-alt-table tr.frm-odd{background-color:rgba(0,0,0,0)}.frm-alt-table tr.frm-even{background-color:var(--sidebar-color)}.frm-alt-table th,.frm-alt-table td{background-color:rgba(0,0,0,0);vertical-align:top;text-align:left;padding:20px}.frm-alt-table h3{margin-bottom:0}.form-field .frm_cb_button{height:22px;line-height:20px;margin-bottom:10px;margin-right:5px}.edit_field_type_select .frm_option_val_label{margin-left:12px}.frm_rte{background:url(../images/rte.png) no-repeat}.frm_rte .howto{margin:10px 0 46px}.subform_section{margin:25px}.subform_section,.subform_section label,.subform_section input{opacity:80}.subform_section .frm_sortable_field_opts{display:none}#frm_form_editor_container .subform_section .frm_primary_label{display:block}.subform_section.subform_break{border-top:1px dashed #ccc}.button-secondary.frm_html_field{background-color:#ededed;padding:10px 20px;line-height:inherit;width:auto;height:auto !important;border-radius:0;box-sizing:content-box}.frm_html_field_placeholder{margin-bottom:10px;text-align:center}.recaptcha_placeholder{border:1px solid #d3d3d3;width:300px}.turnstile_placeholder{width:300px}.frm_sorting .frm_rte textarea{width:653px;background:#fff;margin:1px 0 0;border:1px solid #dfdfdf;border-top:none;border-radius:0;float:none !important}.frm_full_rte textarea{width:98%;padding:0}.frm_field_box{padding:5px;min-height:20px;margin:10px 0}.frm_indent_opt,td.frm_indent_opt{padding-left:25px}.frm_charts object{background:rgba(0,0,0,0)}.frm_charts h2{height:34px}.frm_single_option.ui-sortable-placeholder,li.sortable-placeholder{border:none;margin:0;visibility:visible !important;box-shadow:2px -10px 0 2px var(--primary-500)}#frm_form_editor_container>ul>.frm_single_option.ui-sortable-placeholder,#frm_form_editor_container>ul>li.sortable-placeholder{width:calc(100% - 5px) !important;height:0 !important}#frm_form_editor_container>ul>li>ul{position:relative}#frm_form_editor_container>ul>li>ul>li.sortable-placeholder,#frm_form_editor_container ul.start_divider>li>ul>li.sortable-placeholder{position:absolute;top:20px;bottom:0}.edit_field_type_divider+li.sortable-placeholder{box-shadow:2px 5px 0 2px var(--primary-500)}.start_divider li.sortable-placeholder{box-shadow:2px -5px 0 2px var(--primary-500)}.frm-is-collapsed+.sortable-placeholder{box-shadow:2px 15px 0 2px var(--primary-500)}.frm_single_option.ui-sortable-placeholder{box-shadow:0 0 1px 1px var(--primary-500)}.frm_sorting>li.edit_field_type_end_divider:first-child,.frm-show-click,li.ui-state-default.edit_field_type_divider .frm-show-click{display:none}.frm_form_field.ui-sortable-helper .frm-field-action-icons,.frm_form_field.ui-sortable-helper .frm_form_fields,.frm_form_field.ui-sortable-helper .frm_description,.frm_form_field.ui-sortable-helper .description{display:none}.frm_form_field.ui-sortable-helper .frm_primary_label,.frm_form_field.ui-sortable-helper .frm_inner_field_container{margin:0 !important}.frm-single-settings .frm-show-click{display:block !important}.frm-show-hover,.frm_single_visible_hover,li.ui-state-default.edit_field_type_divider .frm-show-hover{opacity:0;transition:opacity .15s ease-in-out}#frm-show-fields .frm-field-settings-open .frm-show-hover{opacity:1}.frm_sortable_field_opts{margin-top:5px}.frm_single_option{clear:both;margin:0 !important;padding-bottom:5px}.frm_single_option input[type=radio],.frm_single_option input[type=checkbox]{margin-top:0}.frm_single_option .frm-with-right-icon input[type=text]+.frmsvg{position:relative;right:27px;width:14px;height:14px;padding:0;margin:var(--gap-2xs) 0 0}.frm_product_price_wrapper,.frm_image_preview_wrapper,#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 106px) !important;flex-grow:1}.frm-right-panel .frm_single_option a.frm_remove_tag,.frm_single_option a{padding-left:7px}.frm_single_option:hover .frm_single_visible_hover{opacity:100}.frm_single_option .frm-drag{font-size:23px;width:24px;height:24px;margin-left:-6px;margin-right:var(--gap-xs);color:var(--grey-500)}.frm_single_option .frm-drag::before{vertical-align:middle}.frm-drag,.frm_single_option.ui-sortable-helper{cursor:move}.frm_single_option .frm_option_key.frm_image_preview_wrapper,.frm-type-ranking .frm_single_option .frm_option_key{margin-left:21px !important}.frm_option_key input[type=text]{margin-top:var(--gap-xs) !important;margin-left:11px !important}.frm_option_key input[type=checkbox]+input[type=text],.frm_option_key input[type=radio]+input[type=text]{margin-left:30px !important}.frm-type-ranking .frm_option_key input[id*=field_key_]{margin-left:30px !important}li.ui-state-default.selected .frm-show-click,li.ui-state-default.selected.edit_field_type_divider .frm-show-click{display:inline;vertical-align:top}.frm_field_box:not(.edit_field_type_divider):hover>.frm_inner_field_container>.frm-show-hover,.frm_field_box .divider_section_only:hover>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected>.frm_inner_field_container>.frm-show-hover,li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{opacity:100}li.frm_field_box>ul.frm_grid_container{position:relative}.frm_sorting span.ui-icon{width:16px}body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) .frm_image_options .frm_image_option_container{--field-border-width: 1px;--border-color: var(--grey-300);--border-color-active: var(--primary-500);--border-radius: var(--small-radius)}#form_show_entry_page .frm_file_link,#form_show_entry_page .frm_image_option_container{display:inline-flex;flex-wrap:nowrap;flex-direction:column;text-align:center;align-items:center;width:150px;margin-right:10px;margin-bottom:10px}#form_show_entry_page .frm_image_option_container img{width:150px;height:150px;object-fit:cover}#form_show_entry_page .frm_file_link img{max-width:150px;height:auto}#form_show_entry_page .frm_file_link~br{display:none}#form_show_entry_page .frm_upload_label{padding:10px}#form_show_entry_page.frm_wrap .postbox{overflow:hidden}.frm_image_option_container .frm_image_placeholder_icon svg{height:150px}.frm_list_entry_page .frm_file_link,.frm_list_entry_page .frm_image_option_container.frm_label_with_image{display:block;text-align:center}.frm_list_entry_page .frm_image_option_container img{width:75px;height:75px;object-fit:cover}.frm_list_entry_page img{max-width:100%;height:auto}.frm_image_option_container .frm_empty_url{background-color:var(--sidebar-color)}.frm_list_entry_page .frm_image_option_container .frm_text_label_for_image{display:block;padding:5px 0 10px}.frm_list_entry_page .frm_upload_label,.frm-summary-page-wrapper .frm_text_label_for_image{display:block}#frm-welcome .frm_image_options .frm_image_option_container,#form_global_settings .frm_image_options .frm_image_option_container{background:var(--sidebar-color)}#frm-welcome .frm_image_option_container svg,#form_global_settings .frm_image_option_container svg{max-width:calc(100% - 20px)}#frm-new-template .frm_image_option_container svg{height:50px;margin:10px auto 0}.frm_image_option_container{position:relative}.frm_text_label_for_image>svg{width:30px;position:absolute;top:5px;right:calc(50% - 15px)}.frm_single_option .frm_option_key{margin-top:17px}.frm_single_option .frm_option_key.frm_image_preview_wrapper{margin-top:var(--gap-xs)}.frm_image_data{margin-left:var(--gap-sm);display:flex;flex-direction:column;font-size:var(--text-sm);justify-content:space-around;min-width:0}.frm_image_styling_frame{display:flex;align-items:stretch;margin-left:36px;margin-bottom:var(--gap-xs);width:100%}.frm_image_styling_frame img{height:54px;width:54px;min-width:auto;min-height:auto;border-radius:3px;object-fit:cover;object-position:center}.frm_image_styling_frame .frm_email_attachment_icon img{height:auto;width:auto;max-width:54px}.frm_image_preview_title{color:var(--grey-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.frm_wrap .frm_choose_image_box{cursor:pointer;color:var(--primary-500);background-color:#fff;margin-left:32px;text-align:center;width:100%}.frm-type-ranking .frm_option_key .frm_choose_image_box{margin-left:11px !important}.frm_wrap .frm_choose_image_box:hover{background:#fff}a.frm_remove_image_option,.frm_remove_image_option{color:var(--grey-400);cursor:pointer}a.frm_remove_image_option:hover .frmsvg,a.frm_remove_image_option:hover,.frm_remove_image_option:hover{color:rgba(40,47,54,.8)}.frm-form-setting-tabs{margin-top:var(--gap-sm) !important}.frm-right-panel>.postbox{background-color:rgba(0,0,0,0);border:none;box-shadow:none;margin:0}.frm-right-panel .postbox.frm_with_icons .inside,.frm-right-panel .postbox .inside,.frm-right-panel .inside{font-size:var(--text-md);padding:15px 20px 20px;color:var(--grey-700)}.frm-right-panel .misc-pub-section{padding:var(--gap-xs) 0;position:relative}.frm-right-panel .inside a,.frm-form-setting-tabs a{font-size:var(--text-md);color:var(--grey-700);padding:var(--gap-sm);display:block}.frm-form-setting-tabs a{color:var(--grey-900);padding:var(--gap-sm) var(--gap-md)}.frm-right-panel .inside a{padding:0;color:var(--primary-500);display:inline-block}.frm-right-panel .inside a:hover{color:var(--primary-700)}.frm-form-setting-tabs a:hover{background:var(--sidebar-hover);color:var(--grey-900)}.frm-right-panel .inside i,.frm-form-setting-tabs a i,.frm-form-setting-tabs a .frmsvg{margin:0 5px;display:inline-block;width:20px;height:20px;color:var(--grey-500)}.frm-form-setting-tabs a .frmsvg{margin:0}.frm-right-panel .inside a:hover i,.frm-right-panel .inside a:hover .frmsvg,.frm-form-setting-tabs a:hover .frmsvg,.frm-form-setting-tabs a:hover span{color:var(--grey-700)}.frm_settings_form .tabs-panel{padding:0 25px}#form_settings_page .tabs-panel,.frm_settings_form .tabs-panel{max-height:initial !important;min-height:50px !important}#frm_adv_info .tabs-panel{min-height:0 !important;overflow-x:hidden;padding:0;border:none;background:rgba(0,0,0,0)}select.frm_cancelnew,input.frm_enternew{width:175px}.frm_posttax_opt_list{border:1px solid var(--grey-300);padding:var(--gap-md);border-radius:var(--small-radius);margin:5px 0 5px var(--gap-md)}.frm_settings_form .wp-picker-open+.wp-picker-input-wrap,.frm-right-panel .wp-picker-open+.wp-picker-input-wrap{position:absolute;margin-left:calc((100% - 35px)*-1);margin-top:1px;width:calc(100% - 36px)}.frm_settings_form .wp-picker-container input[type=text].wp-color-picker,.frm-right-panel .wp-picker-container input[type=text].wp-color-picker{border:none;padding:5px 8px;font-family:inherit;color:var(--grey-700);font-size:var(--text-md);width:100%;line-height:var(--leading)}.frm_settings_form .wp-picker-input-wrap .wp-picker-clear,.frm-right-panel .wp-picker-input-wrap .wp-picker-clear{display:none !important}.frm_settings_form .wp-picker-holder,.frm-right-panel .wp-picker-holder{position:absolute;z-index:999}.frm_settings_form .wp-picker-input-wrap label,.frm-right-panel .wp-picker-input-wrap label{margin-bottom:0}.frm_settings_form .wp-picker-container .wp-color-result.button,.frm-right-panel .wp-picker-container .wp-color-result.button{width:100%;overflow:hidden;margin:0 !important;height:var(--h-md) !important;padding:0 0 0 var(--gap-lg) !important;border-radius:var(--small-radius);border-color:var(--grey-300)}.frm_settings_form .wp-color-result-text,.frm-right-panel .wp-color-result-text{line-height:var(--leading) !important;font-size:var(--text-md);background:#fff !important;color:var(--grey-900);padding:5px 8px;border-color:var(--grey-300);text-align:left}.frm_settings_form .color-alpha,.frm-right-panel .color-alpha{width:var(--gap-lg) !important}.frm_grid_container .wp-picker-container{width:100%;position:relative}.wp-picker-container button.wp-color-result{border:1px solid var(--grey-300) !important}.wp-picker-container .wp-picker-input-wrap input.hex.wp-color-picker{max-width:100%;position:relative}.frm_end .wp-picker-holder{margin-left:-145px}.frm_end.frm6 .wp-picker-holder{margin-left:-86px}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.tabs-panel{height:auto !important;min-height:260px}.tabs-panel.panel_secondary{min-height:20px;margin-top:10px;margin-left:150px}label.frm-example-icon{margin-right:20px !important;display:inline-block !important}#frm_stripe_icon{border-radius:5px}#captcha_settings .frm_primary_label{margin-top:var(--gap-sm)}.frm-long-icon-buttons{display:flex;gap:var(--gap-md)}.frm-long-icon-buttons>label{border:1px solid var(--grey-300);color:var(--grey-700);border-radius:var(--small-radius);display:flex;padding:var(--gap-sm);gap:var(--gap-sm);justify-content:center;align-items:center;width:calc(33% - var(--gap-sm));box-sizing:border-box}.frm-long-icon-buttons>label:hover{color:var(--primary-500)}.frm-long-icon-buttons input[type=radio]{display:none}.frm-long-icon-buttons input[type=radio]:checked+label{border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-color)}.frm-long-icon-buttons label>svg{height:21px}.frm-example-icon .frmsvg,.frm-example-icon i{height:20px;width:20px;font-size:20px;color:var(--grey-700)}.frm_license_msg{margin-top:0}.frm_authorized_box .frm-show-unauthorized,.frm_unauthorized_box .frm-show-authorized{display:none}.edd_frm_status_icon.frmsvg{margin:0 5px}.edd_frm_license_row .frm_action_success .frmsvg{color:green}.edd_frm_license_row .frm_action_error .frmsvg{color:#d54e21}#form_global_settings .tabs-panel .num svg{display:none}.frm_no_items{margin:0 auto 50px;text-align:center;color:var(--grey-700);max-width:500px}.frm-subscribe{margin:var(--gap-lg) 0}.frm_inbox_count{color:#fff;border-radius:50%;display:inline-block;margin-right:8px;font-size:11px;text-align:center;min-width:18px;height:18px;margin-left:2px;vertical-align:text-bottom}#payments_settings .frm_payments_section .form-table td{padding-left:0;padding-right:0}#payments_settings .frm_payments_section .form-table{margin-top:0}#frm_authnet_general_settings>tr:first-of-type>td:first-of-type{padding-top:0}#frm_authnet_general_settings h3{margin-bottom:0}.frm_payment_settings_tab .frmsvg{height:22px}.frm_payment_settings_tab[for=frm_toggle_paypal_settings] .frmsvg{width:83px}.frm_payment_settings_tab[for=frm_toggle_authorize_net_settings] .frmsvg{width:99px}.frm_payment_settings_tab[for=frm_toggle_square_settings] .frmsvg{width:89px}.frm_payment_settings_tab[for=frm_toggle_stripe_settings] .frmsvg{width:53px}.frm-email-style{float:left;margin-right:var(--gap-md)}.frm-email-style:last-of-type{margin-right:0}.frm-email-style__card{position:relative}.frm-email-style__name{margin-top:var(--gap-xs);padding-top:var(--gap-2xs);text-align:center}.frm-email-style__name .frmsvg{vertical-align:sub}.frm-email-style__click{display:block;border-radius:12px;border:1px solid var(--grey-200);box-shadow:0 .47px .94px 0 rgba(16,24,40,.0588235294)}.frm-email-style__click:focus,.frm-email-style--selected .frm-email-style__click{border-color:var(--primary-500);outline:1px solid var(--primary-500)}.frm-email-style__click img{width:160px;display:block}.frm-email-style--disabled .frm-email-style__click::after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--grey-100);opacity:.5}.frm-email-style__buttons{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;display:none;flex-direction:column;justify-content:center;align-items:center;gap:12px}.frm-email-style__button{cursor:pointer;display:block}.frm-email-style__button:disabled{cursor:not-allowed;display:none;background:var(--primary-700) !important;border-color:var(--primary-700) !important}.frm-email-style--selected .frm-email-style__button:disabled{display:block}.frm-email-style--selected .frm-email-style__button[data-action=choose]{display:none}.frm-email-style--disabled .frm-email-style__button[data-action=choose]{display:none}.frm-email-style:hover .frm-email-style__buttons,.frm-email-style__click:focus+.frm-email-style__buttons,.frm-email-style:focus-within .frm-email-style__buttons{display:flex}#frm-send-test-email,.frm-upload-image-btn,.frm-remove-image-btn,.frm-reset-colors-btn{cursor:pointer}#frm-send-test-email-modal .postbox{padding:var(--gap-sm) var(--gap-md)}#frm-send-test-email-modal .postbox *{box-sizing:border-box}#frm-send-test-email-modal .inside{margin:0;padding:0}.frm-lite .xml_opts .frm-export-xml-items{display:none}.csv_opts #frm_csv_col_sep{width:45px}#frm_advanced td.frm_left_label{width:20%;padding-right:2px}#frm_where_options select{max-width:200px}#frm_where_options select.frm_insert_where_options{width:30%}#frm_where_options select.frm_where_is_options{width:20%}#frm_where_options span.frm_where_val{width:32%;display:inline-block;position:relative}#frm_where_options span.frm_where_val .frm_tooltip_icon,#frm_where_options span.frm_where_val .frm_help{left:-4px;position:absolute}#frm_where_options span.frm_where_val.frm_hidden{display:none}#frm_where_options span.frm_where_val input,#frm_where_options span.frm_where_val select{width:90%;margin-left:10px}#frm_where_options{min-height:31px}.tabs-panel.active .tabs-panel,.frm_settings_form .tabs-panel .tabs-panel{border:none;padding:0}.frm-feature-banner{background:var(--grey-700);color:#fff;border-radius:var(--small-radius);padding:20px;margin:10px 0}.frm-feature-banner p{font-size:var(--text-sm)}.frm-feature-banner .dismiss{margin-top:-10px;margin-right:-10px}.frm-feature-banner .dismiss svg{color:#fff}.frm-feature-banner .frm-big-icon{padding-right:20px;float:left;min-height:60px}.frm-big-icon svg{height:60px;width:60px}.frm-feature-banner p{margin-top:0}.frm_98_width{width:100% !important}h2.frm-h2,.frm_form_settings h2{border-bottom:1px solid var(--grey-300);color:var(--grey-900);font-weight:400 !important;padding:9px 0 5px;margin:0}.frm_settings_form h3,.frm_form_settings h3,.frm_form_settings span.frm_add_logic_link{font-size:var(--text-md);border-top:1px solid var(--grey-300);padding-top:var(--gap-sm);margin:var(--gap-sm) 0;font-weight:400;text-transform:uppercase;color:var(--medium-grey);display:block}.frm_form_settings .howto{color:var(--grey-500);font-size:var(--text-sm);margin-top:8px}.frm_form_settings .advanced_settings .form-table{margin-top:0}.frm_form_settings td.frm_175_width{width:175px}.frm_form_settings #success_url{width:95%}.frm_wrap .ui-autocomplete{padding:3px 0;max-height:310px}.frm_wrap .ui-widget{font-family:inherit}.frm_wrap .ui-autocomplete li{padding:2px 4px;background:none;color:var(--grey-700);border:none;font-weight:400}.frm_wrap .ui-autocomplete .ui-menu-item-wrapper.ui-state-active{border:none;font-weight:inherit}.frm_select_with_label{margin:7px 0 0}#frm-insert-fields-box,#frm-conditionals{max-height:none}#frm-conditionals,#frm-adv-info-tab{display:none;max-height:355px}#frm-insert-fields-box ul.subsubsub,#frm-conditionals ul.subsubsub{float:right;margin:0}#frm-insert-fields-box ul.alignleft,#frm-conditionals ul.alignleft{margin:4px 0 0}#frm_adv_info ul.frm_code_list.frm-full-hover{clear:both;max-height:215px;overflow:auto}#frm-insert-fields-box ul.frm_code_list li.clear.frm_block{height:10px}#frm_adv_info .frm_noallow{display:none}#frm_adv_info #frm-conditionals .frm_noallow{display:block}#frm_html_tab.frm_hidden{display:none}#frm_html_tab.active{display:inline}.frm_email_reply_container select,.frm_email_reply_container input,.form-table td.frm_150_width{width:170px}#frm_notification_settings .frm_no_top_padding{padding-top:0}.frm_email_settings.frm_email_settings.widgets-holder-wrap{overflow:auto;box-shadow:none}#frm_notification_settings .widget-top .widget-action,#frm_form_editor_container .widget-top .widget-action{border:0;margin:0;padding:8px;background:0 0;cursor:pointer;outline:0}#frm_notification_settings .widget-top .widget-action{padding-top:13.5px}#frm_email_addon_menu{border:1px solid var(--grey-300);padding:var(--gap-sm);border-radius:4px;margin:var(--gap-md) 0 var(--gap-sm)}#frm_email_addon_menu .frm-search{float:right;margin:0}#frm_email_addon_menu h3.frm-no-border{clear:none;padding-top:7px}.frm_email_settings .widget .widget-top{background-color:var(--sidebar-color)}.frm_email_settings .widget .widget-top,.frm_email_settings .widget .widget-top h3{cursor:pointer !important}.frm_email_settings .widget{margin-bottom:var(--gap-sm)}.frm_form_action_settings .widget-top{box-shadow:none;border-color:var(--grey-300);border-radius:var(--small-radius);background:var(--lightest-grey);color:var(--grey-700)}.frm_form_action_settings:hover .widget-top{border-color:var(--grey)}.frm_form_action_settings.open .widget-top{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.frm_form_action_settings.open:hover .widget-top{border-color:var(--grey-300)}.frm_form_action_settings>.widget-inside{display:none}.frm_form_action_settings.open>.widget-inside{display:block}.frm_form_action_settings .widget-inside{min-height:25px;padding:15px;border-color:var(--grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.frm_form_action_settings .widget-title h4,.frm_form_action_settings .widget-title h3{display:inline-block;border-bottom:none;padding:10px 10px 5px;font-size:var(--text-md);font-weight:500}#frm_email_addon_menu h3{margin:0 0 var(--gap-sm);clear:both}.frm_single_api_settings p>label{display:inline}.frm_form_action_icon{margin-right:5px}.frm_actions_list{margin:0;display:inline}.frm_actions_list li{float:left;width:15.6%;margin:10px .5% 15px;height:100px;text-align:center}.frm-limited-actions .frm-group-heading,.frm-limited-actions #frm-hide-groups,.frm-all-actions #frm-show-groups,.frm-limited-actions .frm-not-installed:not(.frm-search-result):not(.frm-default-show){display:none}label.frm_action_events{padding-left:15px}#frm-hide-groups,#frm-show-groups{font-size:var(--text-md);float:right}.frm_actions_list a:active,.frm_actions_list a:focus{outline:none}.frm_actions_list a{font-size:var(--text-sm);color:var(--grey-700);word-break:break-word}.frm_actions_list span.frm-outer-circle{background-color:var(--grey-100);padding:10px;text-align:center;border-radius:50%;display:block;width:30px;height:30px;margin:0 auto 15px;line-height:1}.frm_email_settings .widget-title h4{color:var(--grey-700)}.frm_disabled_action .widget-title h4{color:var(--grey)}.frm_actions_list a .frmsvg,.frm_actions_list a i{height:18px;width:18px;font-size:18px;padding:2px;color:var(--lightest-grey)}span.frm-inner-circle,.frm_email_settings .widget-title .frm_form_action_icon{background-color:var(--grey-400);border-radius:50%;display:inline-block;text-align:center;line-height:1}span.frm-inner-circle{background-color:var(--primary-700);height:22px;width:22px;padding:4px;color:#fff}.frm-inner-circle svg{fill:currentColor}.frm_email_settings .widget-title .frm_form_action_icon{height:15px;width:15px;padding:5px;color:#fff;vertical-align:middle}.frm_actions_list .frmsvg,.frm_actions_list i::before,.frm_email_settings .widget-title .frm_form_action_icon i,.frm_email_settings .widget-title .frm_form_action_icon .frmsvg{height:15px;width:15px;vertical-align:text-top}.frm_actions_list i::before{vertical-align:middle}.frm_email_settings .widget-title:hover .frm_form_action_icon{background-color:var(--grey)}span.frm-inner-circle.frm-inverse{background-color:rgba(0,0,0,0);color:var(--primary-700);padding:0;height:30px;width:100%}.frm_actions_list span.frm-inverse i,.frm_actions_list span.frm-inverse .frmsvg{color:var(--primary-700);height:30px;width:30px;font-size:30px;padding:0}.frm_actions_list i.frm-inverse::before{height:30px;width:100%;font-size:30px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse{background:#fff;padding:0;height:24px;width:24px}.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title .frm_form_action_icon.frm-inverse i::before{color:var(--grey-400);height:24px;width:24px;font-size:24px}.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse .frmsvg,.frm_email_settings .widget-title:hover .frm_form_action_icon.frm-inverse i::before{color:var(--grey-500)}.frm_email_icons{padding:10px 0 5px 6px;font-size:20px}.frm_email_icons a{margin-left:8px;color:var(--grey);opacity:0;transition:all .2s ease}.frm_email_icons a .frmsvg{color:var(--grey)}.frm_email_icons a:hover,.widget-top:hover .frm_email_icons a{opacity:1}.frm_actions_list a.frm_inactive_action{color:var(--grey)}.frm_inactive_action .frm-inner-circle,.frm_actions_list .frm_inactive_action i{opacity:.4}table td,.form-table tr td{vertical-align:top}#new_fields .form-table tr td{display:block;padding:7px 0 0}#new_fields .form-table tr td:first-child{margin:0}#new_fields .form-table tr td:last-child{margin-bottom:9px}.form-table #list-table th{text-align:center}#form_settings_page th,#form_settings_page td,.frm_settings_form td,#frm_notification_settings .frm_form_action_settings td p{padding:7px 0}#permissions_settings_settings .frm_grid_container{align-items:center}#frm_notification_settings .form-table>tbody>tr>th{width:150px;font-weight:400;padding-right:10px}#frm_notification_settings .frm_single_email_settings .form-table>tbody>tr>th{width:80px}#frm_notification_settings table tr td:first-child{padding-left:0}#frm_notification_settings table tr td:last-child{padding-right:0}#frm_notification_settings .frm_left_label{float:none;width:auto !important}.frm-fields .frm_autoresponder_rows select{width:auto}#frm_notification_settings .frm_with_left_label,#frm_notification_settings .frm_left_label+textarea,#frm_notification_settings .frm_left_label+select,#frm_notification_settings .frm_left_label+input[type=text]{width:100%}#frm_notification_settings .frm_email_buttons{padding:var(--gap-2xs);background:var(--light-blue);color:var(--primary-700);border-radius:var(--small-radius);border-color:var(--blue-border);line-height:1;height:auto;min-height:12px;font-size:var(--text-xs);box-shadow:none}p.frm_bcc_cc_container,p.frm_reply_to_container{position:relative;float:right;margin:-4px 0 0;z-index:1}.frm_email_row .frm_cancel1_icon::before{vertical-align:bottom}.frm_cc_row.frm_email_row .frm-with-right-icon,.frm_bcc_row.frm_email_row .frm-with-right-icon,.frm_reply_to_row.frm_email_row .frm-with-right-icon{width:calc(100% - 20px);display:inline-block}.frm_email_row .frm_remove_field .frm_close_icon{position:relative;fill:var(--grey-500);vertical-align:middle}.frm-inline-select,p.frm-inline-select,.frm_logic_rows .frm-collapse-me{line-height:var(--h-md) !important}.frm_logic_row{padding:var(--gap-xs) 0 0}.frm-single-settings ul.frm_sortable_field_opts{border-bottom:1px solid var(--grey-200);padding-bottom:var(--gap-xs);margin-bottom:var(--gap-xs)}.frm-single-settings .frm-add-other svg.frm_add_tag{position:relative;top:5px;margin-right:4px}.frm-single-settings .frm_single_option .frm_remove_tag::before{content:""}.frm-single-settings input[type=checkbox][readonly]{opacity:.5;pointer-events:none}.advanced_settings .frm_logic_row{margin:14px 0}.advanced_settings .frm_logic_row select,.advanced_settings .frm_logic_row input{max-width:30% !important}.frm_form_action_settings .frm_logic_row p{margin-top:0;margin-bottom:0;padding:0}#poststuff .widgets-holder-wrap .frm_form_action_settings .widget-inside{padding-bottom:0}#poststuff .frm_form_settings .widgets-holder-wrap .widget-inside{padding-left:15px;padding-right:15px}#form_global_settings h3{font-size:var(--text-sm);margin-top:25px}#form_global_settings .tabs-panel+h3{margin-top:0;border:none}#poststuff .frm_form_settings .widget-inside h3,#poststuff .frm_form_settings .advanced_settings h3,#poststuff .frm_settings_form h3,#frm_advanced .inside h3{border-top:1px solid #eee;border-bottom:none;margin:15px -15px 0;padding:8px 15px;font-size:var(--text-sm)}#poststuff .frm_form_settings h3.frm_first_h3,#poststuff h3.frm_first_h3{border:none;margin-top:0}h3.frm_add_logic_link{margin-bottom:0 !important}a.frm_add_logic_link.frm_hidden{display:none}a.frm_add_logic_link.frm_hidden+.frm_logic_rows{height:auto}.frm_icon_font{color:#a0a0a0;color:var(--grey)}.frm-fields label .frm_icon_font{font-size:inherit}.misc-pub-revisions.frm_icon_font,.misc-pub-revisions.frm_icon_font:hover{color:inherit}.postbox.frm_with_icons .inside{padding:0;margin:0}.frm_add_tag::before{content:"\e602"}.frm_remove_tag::before{content:"\e600"}.frm_logic_row .frm1>.frm_remove_tag{padding:0}.frm_tooltip_icon::before{font-size:13px;vertical-align:top}.frm_help svg,.frm_help .frmsvg{height:13px;width:13px;vertical-align:top;color:var(--grey-400)}.form-field input[type=text].frm_other_input{width:30%;margin-left:10px}.frm-add-other{text-align:right}.frm-add-other .frm_add_tag{vertical-align:20%}.frm_action_icon{margin:5px 0 0 5px}span.frm_action_icon{margin:0 4px 0 0}.frm_action_icon:active{outline:none}a.frm_action_icon:hover{text-decoration:none}.frm_action_icon.frm_error_icon::before{content:"\e608"}.frm_inactive_icon.frm_action_icon.frm_error_icon::before{content:"\e606"}.frm-field-action-icons{text-align:right;position:absolute;top:2px;right:2px;max-width:100%}.frm-field-action-icons .frm-field-id{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:calc(100% - 50px);position:relative;top:2px}.frm-field-action-icons>a{font-size:var(--text-md);width:17px}.frm-field-action-icons a:hover{text-decoration:none}.frm-field-action-icons .dropdown{display:inline-block}.frm-field-action-icons>a .frmsvg{color:var(--grey-500) !important;font-size:17px;width:17px;height:17px}.frm-field-action-icons>a .frmsvg,.frm-field-action-icons>div>a .frmsvg{vertical-align:baseline}.edit_field_type_end_divider .frm-field-action-icons{display:none !important}.frm-move{cursor:grab}span.howto{display:inline}.frm_import_message{margin:15px 0;line-height:2.5}.frm_sorting .form-field .widget input[type=text],.frm_sorting .form-field .widget input[type=number],.frm_sorting .form-field .widget select,#wpcontent .frm_sorting .form-field .widget select,.frm_sorting .form-field .widget textarea{width:auto}.tagchecklist span.no_taglist{display:inline;float:none;line-height:15px;margin-right:0;font-size:inherit}.tagchecklist .frm_exclude_cat_list span{display:inline}.tagchecklist span a::before{line-height:23px;text-align:start}.frm_form_action_settings .frm_email_row .frm_tooltip_icon{position:relative;bottom:2px}.frm_no_entries_form{padding:60px 0}.frm_no_entries_form .frm_no_entries_header{font-size:20px;margin-bottom:10px}.frm_no_entries_form .frm_no_entries_text{line-height:var(--leading)}#form_entries_page #the-list .no-items{height:240px}#form_reports_page img.frm_no_reports{max-width:100%}.frm_wrap .google-visualization-table .gradient,.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-odd,.frm_wrap .google-visualization-table-tr-odd.google-visualization-table-tr-over{background:var(--lightest-grey)}.frm_wrap .google-visualization-table-tr-over{background:#fff}.frm_wrap .google-visualization-table-table th,.frm_wrap .google-visualization-table-table td{border-right-width:0;padding:10px !important}.frm_wrap .google-visualization-table-tr-head,.frm_wrap .google-visualization-table-tr-head th{white-space:pre-wrap;font-size:var(--text-md);font-weight:400 !important;text-align:left}.frm_wrap .google-visualization-table-td-number{text-align:inherit}#form_reports_page .postbox{text-align:center;float:none;display:inline-block;margin-right:2%;width:20%;min-width:175px}#form_views_page img.frm_no_views{max-width:100%}.frm_field_opts_popup{min-width:300px;background-color:#fff}.frm_field_opts_popup #wpadminbar{display:none}.frm_prepop{width:100%;list-style:none;overflow:auto;margin:0;max-height:295px}.frm_prepop li{margin:0}.frm_prepop li a{display:block;text-decoration:none;cursor:pointer;padding:5px 20px}.frm_prepop li a:hover{background:var(--sidebar-color)}#frm_form_editor_container #frm_form_key_box{width:13em;max-width:30%}#frm_form_editor_container #frm_form_desc{width:70%}#frm_form_editor_container .ui-widget-content{display:none;padding:15px}#frm_form_editor_container .ui-widget-content label{float:left;width:170px;text-align:right;padding-right:5px;clear:both}#frm_form_editor_container .ui-widget-content label.nofloat{clear:none;float:none;margin-left:10px}#frm_form_editor_container .ui-state-default{color:#333 !important}.frm_green{color:var(--green) !important}#frm_form_editor_container .ui-state-default a.frm_orange,.frm-right-panel a.frm_orange,#postbox-container-1 a.frm_orange{color:#d54e21}#styling_settings input[type=checkbox],#styling_settings input[type=radio]{border:solid 1px #bbb}#styling_settings .widget .widget-top,#frm_form_editor_container .widget .widget-top{cursor:pointer}.frm_sorting .widget,.frm_settings_page .widget{background:#fff}.frm_sorting .widget-title h4{font-weight:400}.frm_sorting .widget,#postbox-container-1 .widget,.frm-right-panel .widget,.frm_settings_page .widget{margin-bottom:0}.frm_settings_page .widget-inside{padding:0 5px 5px}.frm_sorting .widget,.widget-inside,.frm_sorting .form-field .widget{display:none}#frm-show-fields{min-height:350px;padding:0 0 35px;margin:0;position:relative}.frm-has-fields #frm-show-fields{min-height:50px}#frm_builder_page .frm-lite-credit-card-element,body.frm-admin-page-styles .frm-lite-credit-card-element{position:relative}#frm_builder_page .frm-lite-credit-card-element>div,body.frm-admin-page-styles .frm-lite-credit-card-element>div{position:absolute;top:calc(50% - 1px);transform:translateY(-50%);right:10px;color:#d0d4dd}#frm_builder_page #frm_field_group_controls{position:absolute;padding:5px;border-radius:4px 4px 0 0;text-align:right;box-sizing:border-box;right:0;top:-28px;height:28px;z-index:3}.frm-field-group-hover-target,.frm-has-open-field-group-popup,#frm_builder_page #frm_field_group_controls,.frm-selected-field-group{background:rgba(65,153,253,.04)}.frm-selected-field-group{position:relative}#frm_builder_page #frm_field_group_controls>span:first-child{margin-right:5px}#frm_builder_page #frm_field_group_controls svg{pointer-events:none}#frm_field_group_controls{visibility:hidden}.frm-field-group-hover-target #frm_field_group_controls{visibility:visible}#frm_field_group_controls .dropdown-item a span{color:var(--grey-700)}#frm_field_group_controls .dropdown-item a:hover{text-decoration:none}.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider{display:none !important}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default,.frm_sorting>li.ui-state-default,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{border:1px solid rgba(0,0,0,0);font-weight:400 !important;background-color:rgba(0,0,0,0);background-image:none;padding:5px;margin:0;box-shadow:none;display:block;text-align:inherit !important;overflow:visible;position:relative}#frm-show-fields li.frm_cancel_sort{display:none}.divider_drop{text-align:center}.divider_drop .howto .frm_icon_font{font-style:normal}.show_repeat_sec{display:none}.repeat_section .show_repeat_sec{display:inline-block;margin:5px 0 0}.repeat_section tr.show_repeat_sec{display:table-row}.repeat_format .frm_repeat_label,.repeat_formattext .frmsvg,.repeat_formattext i{display:none}.frm_button{text-decoration:none;border:1px solid #eee;padding:5px;color:#444;vertical-align:middle;box-shadow:none !important}a.frm_button:hover{text-decoration:none !important}.frm_button,.frm_button .frm_icon_font::before{font-size:13px;vertical-align:middle}.frm_button .frmsvg{width:13px;height:13px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{padding:0;margin:0}ul.start_divider{padding:8px 13px 0 8px;min-height:115px;transition:all .4s linear}.frm-section-collapsed .frm_no_section_fields,.frm-section-collapsed ul.start_divider{height:0;min-height:0 !important}.frm-section-collapsed ul.start_divider{overflow:hidden}.frm-section-collapsed .frm_no_section_fields{overflow:hidden;padding:0;opacity:0}.frm-section-collapsed .divider_section_only .frm-collapsed-label{display:inline}.frm-page-collapsed .frm_clone_icon,.frm-page-collapsed .frm_delete_field,.frm-page-collapsed .frm_clone_field,.frm-section-collapsed .frm_clone_icon{opacity:.5;cursor:not-allowed}.edit_field_type_summary .frm_more_options_li:nth-child(2){display:none !important}.edit_field_type_submit .frm_more_options_li:not(:last-child){display:none !important}.frm_no_section_fields:not(.frm_block)+ul.start_divider{padding:0;min-height:132px}.frm_sorting li.ui-state-default .divider_section_only{padding:6px;margin-top:-10px;border:2px solid rgba(0,0,0,0);border-radius:var(--small-radius);z-index:2;position:relative}.divider_section_only>.frm_inner_field_container{padding:5px 0;margin:0}.frm-collapsed-label,.divider_section_only>.frm_inner_field_container .frm_form_fields{display:none}.frm-section-collapsed .divider_section_only::after,.divider_section_only::before{content:"";display:block;padding:2px 0;line-height:1px;border-top:2px solid var(--grey-300);top:-2px;position:absolute;width:100%;transition:.5s border-color ease-in-out}.frm-section-collapsed .divider_section_only::after{top:auto;bottom:-6px}.frm-section-collapsed .divider_section_only:hover::after,li.selected.frm-section-collapsed .divider_section_only::before,li.selected.frm-section-collapsed .divider_section_only::after,.divider_section_only:hover::before,li.selected .divider_section_only::before{border-color:rgba(0,0,0,0)}.frm_sorting li.ui-state-default.edit_field_type_divider{overflow:visible;position:relative;padding:0 0 0 20px;margin:25px 0 0 -5px;border-left:1px solid var(--primary-700);transition:border .7s ease-out}.frm-section-collapsed{border-left-color:rgba(0,0,0,0) !important}.frm_sorting li.edit_field_type_end_divider,.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider:hover{margin:0 0 var(--gap-sm)}.frm-first-page .frm_prev_page{display:none}#frm_builder_page .frm_remove_form_row.frm_button,#frm_builder_page .frm_add_form_row.frm_button{border-radius:var(--small-radius);border:1px solid var(--blue-border)}#frm_builder_page .frm_remove_form_row .frmsvg,#frm_builder_page .frm_remove_form_row i::before,#frm_builder_page .frm_add_form_row .frmsvg,#frm_builder_page .frm_add_form_row i::before{color:var(--primary-700)}.frm-preview-buttons .frm_button_submit{margin:0 5px}.frm-page-break{border-top:1px dashed var(--primary-700);margin-top:var(--gap-lg);position:relative}.frm-page-break::before,.frm-page-break::after{content:"";position:absolute;background-color:#fff;border-radius:50%;border:1px solid var(--primary-700);text-rendering:auto;-webkit-font-smoothing:antialiased}.edit_field_type_divider .frm-divider-icon.frmsvg{padding:2px;position:absolute;left:-12px;color:#fff;background-color:var(--primary-700);border-radius:50%}.edit_field_type_divider .start_divider .frm-divider-icon.frmsvg{height:8px;width:8px;padding:0;bottom:-4px;left:-24.5px;color:var(--primary-700);background-color:#fff}.edit_field_type_divider.selected .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .frm-divider-icon.frmsvg{background:var(--primary-500)}.edit_field_type_divider.selected .start_divider .frm-divider-icon.frmsvg,.edit_field_type_divider:hover .start_divider .frm-divider-icon.frmsvg{background-color:#fff;color:var(--primary-500)}.frm-page-break::before,.frm-page-break::after{width:8px;height:8px;top:-6px;border-color:var(--grey)}.frm-page-break::after{right:0}#frm-fake-page .frm-page-break{border-color:var(--grey)}#frm-fake-page{padding:0 5px}.frm_sorting li.edit_field_type_divider:hover,.frm_sorting li.edit_field_type_divider.selected{border-left-color:var(--primary-500)}.frm-section-collapsed::after{border-color:rgba(0,0,0,0) !important;color:rgba(0,0,0,0)}.frm-page-break .frm-collapse-page.button{margin-left:46%;margin-top:-16px;padding:6px 12px !important}#frm-fake-page.frm-page-collapsed{margin-bottom:0}.frm-page-collapsed{position:relative;overflow:visible !important;margin-bottom:var(--gap-lg)}.frm-collapse-page .frmsvg,.frm-collapse-page .frm_arrowdown6_icon{width:var(--text-sm);height:var(--text-sm);font-size:var(--text-sm);text-align:center;margin-left:2px;color:currentColor;transition:transform 300ms ease-in-out}.frm-page-collapsed .frm-collapse-page .frmsvg{transform:rotate(180deg)}#frm-fake-page .frm_arrowdown6_icon{color:currentColor}.frm-collapsed i::before,.frm-page-collapsed .frm_arrowdown6_icon::before{content:"\e913"}.frm-collapse-section svg{fill:var(--primary-color);transition:transform .2s ease-out,fill .2s ease-out}.frm-collapse-section:hover svg{fill:var(--primary-700)}.frm-section-collapsed .frm-collapse-section svg{transform:rotate(-90deg)}.open .widget-top .widget-title-action button .frmsvg{transform:rotate(90deg)}.widget-top .widget-title-action button .frmsvg use{color:var(--grey)}.frm-collapsed+.frm-collapse-me{overflow:hidden !important}.frm-collapse-me{padding-bottom:10px}.frm-collapse-me.frm_grid_container:has(.dropdown-toggle.multiselect){position:relative;z-index:1}.frm-collapsed+div{height:0;padding:0}.frm-collapsed+div.frm-collapse-me{display:none}.frm-collapsible{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:var(--gap-xs) 0;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.frm-collapsible.frm-collapsed{font-weight:400}.frm-collapsible:not(.frm-collapsed) .frmsvg{transform:rotate(-180deg)}h4.frm-collapsible{font-size:var(--text-md)}.frm-collapsible+.frm-collapse-me{padding-bottom:0}.frm-collapsible:focus-visible{outline:1px solid var(--primary-500)}.frm_sorting .divider_section_only>.frm_ipe_field_label{font-size:116%}#frm_form_editor_container .edit_field_type_break .frm_primary_label.frm_ipe_field_label.button{width:150px;text-align:center;margin-bottom:3px;display:block}tr.frm_options_heading td{padding-bottom:0}.frm_sorting .widget-inside .form-table td p,.frm_sorting .widget-inside .form-wrap label{padding:10px 0}.frm_no_fields,.frm_no_section_fields{text-align:center;position:absolute;color:var(--medium-grey);font-size:var(--text-md);box-sizing:border-box;border:1px dashed var(--grey-300);outline:2px solid rgba(0,0,0,0)}.frm-over-droppable+.frm_no_fields{border-style:solid;border-color:var(--primary-500);outline-color:var(--primary-500)}.frm_no_section_fields{display:none;margin:0;padding:20px 0 0;width:calc(100% - 20px);height:121px;transition:all .4s linear}.frm-empty-fields .frm_updated_message~.frm_no_fields{top:60px}#frm_form_editor_container:not(.frm-has-fields) #frm-show-fields>.frm_field_box:last-child{visibility:hidden}.frm-has-fields .frm_no_fields{display:none}#frm_form_editor_container:not(.frm-has-fields) #frm_drag_placeholder{display:none}#frm-form-button{display:none;margin:0 7px 25px}.frm-has-fields #frm-form-button{display:block}.frm-large-plus.frmsvg{color:var(--primary-700);height:45px;width:45px}.frm_no_section_fields p{color:var(--grey);font-size:15px}.frm_no_fields{top:0;width:calc(100% - 24px);min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap-md);padding:var(--gap-md);border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='99%25' height='99%25' fill='none' stroke='%23D0D5DD' stroke-width='1' stroke-dasharray='8,8' rx='8' ry='8' x='0.5%25' y='0.5%25' stroke-linecap='square' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");border-radius:var(--medium-radius);margin:var(--gap-sm) 12px}.frm_no_fields img{margin-left:calc(-1*var(--gap-lg))}.frm_no_fields .frm_drag_inst{font-size:20px;font-weight:600;margin:0 0 12px}.frm_no_fields p{color:var(--grey-600);font-size:var(--text-md);margin:0}.frm_product_price_wrapper{display:inline-block;vertical-align:middle}.frm_prod_type_single .frm_product_price_wrapper{width:100%}#new_fields .frm_product_price_wrapper input:first-child{width:60% !important;float:left}#new_fields .frm_product_price_wrapper input:nth-child(2){width:37% !important;float:right}li.frm_single_option{padding-bottom:var(--gap-sm);border-bottom:0}.frm_prod_type_single input[type=radio],.frm_prod_type_single .frm_drag_icon,.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n+3),.frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag,.frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product),.frm_prod_type_single .frm-bulk-edit-link,.frm_prod_type_user_def.frm_grid_container,.frm_prod_options_heading.frm_prod_user_def{display:none}.frm_prod_type_single .frm-ai-generate-options-modal-trigger{display:none !important}.frm_prod_type_single .frm_option_key{margin-left:0 !important}.frm_prod_type_single .frm_option_key input[type=checkbox]+input[type=text],.frm_prod_type_single .frm_option_key input[type=radio]+input[type=text]{margin-left:0 !important}.plugin-card-bottom .frm-trash{color:#a00}.frm-fields p>.frm_inline_label,.frm_inline_label{padding-left:3px;margin-right:12px;display:inline-block}.frm_left_label{clear:both;float:left;width:32% !important;margin-right:2% !important;line-height:2em}table td.frm_left_label{float:none;line-height:inherit;padding:5px 0 5px 2%}.frm_left_label.frm_alignright{padding-right:10px;text-align:right}.frm-fields .frm_left_label+textarea,.frm-fields .frm_left_label+select,.frm-fields .frm_left_label+input[type=text],.frm_with_left_label{width:66%}td.frm_left_label+td{width:66%;padding-top:0}#html_settings label{display:block}#html_settings .frm_field_html_box{width:100%}.frm-has-required .frm-required{color:var(--error-500)}ul.frm-category-tabs{margin-top:2px}.frm-category-tabs>li a,.frm-category-tabs>li a:active{outline:none;box-shadow:none;display:flex;gap:var(--gap-xs);align-items:center}.frm-category-tabs>li.active .frmsvg,.frm-category-tabs>li.active i,.frm-category-tabs>li.active span,.frm-category-tabs>li.active a{color:var(--primary-500)}.frm_wrap .manage-menus{margin-top:0;border:none;border-bottom:1px solid var(--grey-300);background:var(--lightest-grey)}.general_settings .postbox .manage-menus{border-top:none;border-left:none;border-right:none}.frm-postbox-no-h3{padding-top:10px}.frm-right-panel .ui-state-default,#postbox-container-1 .ui-state-default{color:var(--grey-900)}.no_repeat_section .frm_sorting>li.ui-state-default.edit_field_type_end_divider:hover{box-shadow:none}.frm-selected-field-group li.ui-state-default,.start_divider.frm_sorting li.ui-state-default.frm_not_divider.selected,.start_divider.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.frm_not_divider:hover,.frm_sorting li.ui-state-default.ui-sortable-helper,.frm_sorting li.ui-state-default.edit_field_type_divider .divider_section_only:hover,.frm_sorting .repeat_section li.ui-state-default.edit_field_type_end_divider:hover,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only,.frm_update_msg,.frm_sorting li.ui-state-default.frm_not_divider.selected,.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only{border-color:var(--primary-500);transition:.5s border-color ease-in-out}.frm_sorting li.ui-state-default.frm_not_divider.selected{box-shadow:0 0 1px 0 var(--primary-500)}.frm_sorting li.ui-state-default{transition:.7s box-shadow ease-in-out,.7s height linear}.frm_sorting li.ui-state-default.frm-newly-added{box-shadow:inset 0 0 2px 1px var(--blue-border)}.frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-show-hover{visibility:visible !important;display:inline !important}.edit_field_type_end_divider>label{display:none !important}.frm_email_actions.feature-filter{font-weight:700;border:1px solid #dfdfdf;background-color:#eee;padding:3px 5px 2px;font-size:var(--text-md);line-height:20px}.frm_update_msg{border-style:solid;margin:10px 0;color:#21759b;padding:8px 15px;border-radius:4px}.frm_update_msg.wrap{margin:10px 20px 0 2px}#frm-insert-fields-box .frm_update_msg{margin-right:.9em}.frm_update_msg a{font-weight:700}.widefat td{width:auto}.widefat .column-id{width:3.7em}.widefat .column-show_count{width:5em}.widefat .column-shortcode{width:9em}.toplevel_page_formidable .column-shortcode div{display:flex;gap:var(--gap-xs)}.widefat .column-entries,.widefat .column-link{width:10%;text-align:center}.widefat .column-form_key,.widefat .column-created_at{width:10%}.frm-white-body .search-box,.frm_wrap .frm-search{float:right;margin:0;clear:right}.frm-white-body .search-box,.frm-search{min-width:32%;position:relative;display:flex;gap:var(--gap-sm);align-items:center}.frm-inline-modal .frm-search,#frm_adv_info .frm-search{float:none;width:100%;clear:both;margin:var(--gap-xs) 0}.frm-button-group a{margin:0 7px !important}.frm_has_textarea .frm-with-right-icon{display:block}.frm-with-left-icon,.frm-with-right-icon{position:relative}i.frm-show-box,i.frm-show-inline-modal,.frm-with-left-icon i,.frm-with-right-icon i:not([class*=mce-]),.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,.frm-with-left-icon .frmsvg,.frm-with-right-icon .frmsvg,.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){position:absolute;padding:0 14px;pointer-events:none;left:0;color:var(--grey-400);font-size:var(--text-xs)}.frm-search>.frmsvg,.frm-search span:not(.multiselect-selected-text):not(.multiselect-native-select){padding-left:var(--gap-xs);padding-right:var(--gap-xs)}.frm-search>.frmsvg{box-sizing:unset}.frm-with-right-icon .frmsvg,.frm-with-right-icon i:not([class*=mce-]){right:0;top:-3px;left:auto;padding:0 10px 0 5px}.frm_form_settings .frm-with-right-icon .frmsvg{top:0}.frm_form_settings .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .wp-editor-container .frm-with-right-icon .frmsvg{top:auto;bottom:var(--gap-sm)}.frm_form_settings .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg,#frm_builder_page .tmce-active .wp-editor-container .frm-with-right-icon .frmsvg{bottom:var(--gap-lg)}.frm_form_settings .frm_has_textarea .frm-with-right-icon .frmsvg{top:auto;bottom:6px}.frmsvg.frm-show-box,.frmsvg.frm-show-inline-modal,i.frm-show-box,i.frm-show-inline-modal{top:auto;background-color:var(--primary-50);color:var(--primary-500);border-radius:6px;padding:var(--gap-2xs);margin:5px;margin-bottom:0;z-index:1;cursor:pointer;pointer-events:initial}.frmsvg.frm-show-box:focus,.frmsvg.frm-show-inline-modal:focus,i.frm-show-box:focus,i.frm-show-inline-modal:focus{outline:1px solid var(--primary-500)}.frm_form_settings .frmsvg.frm-show-box,.frm_form_settings .frmsvg.frm-show-inline-modal,.frm_form_settings i.frm-show-box,.frm_form_settings i.frm-show-inline-modal{margin:4px 4px 0}.frm-open+.frm-inline-modal{top:-10px;margin-bottom:0}.frm-open+.frm-inline-modal.frm-modal-no-dismiss .inside>.frm-search:first-child{margin-top:var(--gap-sm)}.frm_grid_container>.frm-open+.frm-inline-modal{top:-4px}.frm_grid_container>.frm-open+.frm-inline-modal.frm-modal-no-dismiss{top:0 !important}.frm-with-left-icon input{padding-left:37px !important}.frm_wrap .frm-with-right-icon textarea,.frm_wrap .frm-with-right-icon input,.frm_wrap .frm-with-right-icon input[type=text]{padding-right:var(--gap-md)}#frm-show-fields .frm-with-left-icon .frmsvg,#frm-show-fields .frm-with-left-icon i{padding-top:10px}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm-not-set input{color:var(--primary-500) !important;font-size:13px}.frm-not-set .frmsvg,.frm-not-set i{color:var(--primary-700);opacity:1}.post-type-frm_display select[name=m]+#post-query-submit,select[name=m]{display:none}.frm_shortcode_select optgroup option{margin-left:1em}.frm_shortcode_select optgroup{padding-top:5px}.frm_shortcode_select .frm_subopt{margin-left:2em}.misc-pub-section a.edit-frm_shortcode,.misc-pub-section a.edit-form-status{float:none;font-size:13px}.frm-grid{border-collapse:collapse;border:none;margin-right:10px}.frm-grid td,.frm-grid th{padding:5px;border:1px solid #000}.post-type-frm_display #poststuff #post-body.columns-2{margin-right:var(--big-sidebar)}.post-type-frm_display #post-body.columns-2 #postbox-container-1{margin-right:calc(var(--big-sidebar)*-1);width:calc(var(--big-sidebar) - 40px)}.post-type-frm_display #poststuff #post-body.columns-2 #side-sortables{width:100%}#frm_dyncontent .hndle,#frm_dyncontent .handlediv{display:none !important}.post-type-frm_display .meta-box-sortables .frm_form_nav>li>a,.post-type-frm_display .frm_form_nav .nav-tab-active{padding:0 2px 5px;line-height:1.4}.post-type-frm_display #advanced-sortables h2.hndle,.post-type-frm_display #side-sortables h2.hndle,.post-type-frm_display #normal-sortables h2.hndle{border-bottom:1px solid var(--grey-300);margin:10px 0 0 !important;padding:0 25px 8px}.post-type-frm_display #side-sortables h2.hndle{margin-top:0 !important;padding-top:10px}.post-type-frm_display #post-body-content{margin-top:var(--gap-lg)}.post-type-frm_display.edit-php #wpbody-content>.wrap{margin:0}.post-type-frm_display .postbox .hndle,.post-type-frm_display .postbox{border-color:var(--grey-300)}.post-type-frm_display #postbox-container-1 .postbox,.post-type-frm_display #postbox-container-2 .postbox{border-radius:var(--small-radius);border-color:var(--grey-300);box-shadow:none}.post-type-frm_display #side-sortables .postbox{border-radius:0;border-top-width:0;margin-bottom:0}.post-type-frm_display #side-sortables .misc-pub-section{padding:15px 20px 10px}.post-type-frm_display .misc-pub-section .frmsvg,.post-type-frm_display #post-body .misc-pub-post-status::before,.post-type-frm_display #post-body #visibility::before,.post-type-frm_display .curtime #timestamp::before,.post-type-frm_display #post-body .misc-pub-revisions::before,.post-type-frm_display span.wp-media-buttons-icon::before{color:var(--grey)}.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #publishing-action,.post-type-frm_display #frm_top_bar+#poststuff #submitdiv #minor-publishing-actions,.post-type-frm_display #frm_top_bar+#poststuff #edit-slug-box,.post-type-frm_display .wrap h1.wp-heading-inline,.post-type-frm_display .wrap>.page-title-action{display:none}.post-type-frm_display #poststuff h2.nav-tab-wrapper{padding-left:10px;margin-bottom:0;padding-bottom:0}.post-type-frm_display .nav-menus-php .wrap{margin:10px 0 0}.post-type-frm_display .nav-menus-php .wrap p{padding-left:12px;padding-right:12px}.post-type-frm_display .nav-tab{display:inline-block;background-color:#f4f4f4}.post-type-frm_display .nav-tab.frm_hidden{display:none}.post-type-frm_display .nav-tab:hover{background-color:#e4e4e4}.frm_order_row,.frm_where_row{margin-bottom:7px;line-height:30px}.frm-single-settings .frm_prod_field_opt_cont{margin-top:initial;margin-bottom:20px}select.texture{display:none}.post-type-frm_display #wp-content-editor-tools,#wp-content-editor-tools{background-color:rgba(0,0,0,0)}.post-type-frm_display #major-publishing-actions{border-color:var(--grey-300);background:var(--sidebar-color)}.post-type-frm_display #frm_adv_info{width:calc(var(--big-sidebar) - 40px);height:calc(100vh - 32px);overflow:hidden}.post-type-frm_display #frm_adv_info:not(.frm_fixed){top:0 !important}.post-type-frm_display #frm_adv_info.frm_fixed{position:fixed;z-index:9999;top:32px}.post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover{max-height:calc(100vh - 180px)}.frm_col_one{margin-right:4%;clear:both}ul .frm_col_one{float:left}ul .frm_col_two{float:right}ul.frm_two_col{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--gap-sm)}.frm_two_col li{margin-bottom:0}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}.frm_field_list #frm-insert-fields{max-height:none;font-size:var(--text-sm)}.frm_field_list #frm-insert-fields .button a{display:block;max-width:95%;overflow:hidden}#frm-insert-fields{padding:0 var(--gap-xs);overflow:hidden}#frm-insert-fields .frm-search{float:none;margin:0 0 var(--gap-md);width:auto}#frm-insert-fields li,#frm-insert-fields li a{text-decoration:none;font-weight:500;font-size:var(--text-md) !important;color:var(--grey-900)}#frm-insert-fields li.frm_show_upgrade{cursor:pointer;opacity:.5}#frm-insert-fields li span:not(.frm-new-pill){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#frm-insert-fields li a.disabled:hover{cursor:not-allowed}#frm-insert-fields li.ui-draggable-disabled{opacity:.5}#frm-insert-fields li a:not(.disabled):hover .frmsvg,#frm-insert-fields li a:not(.disabled):hover i{color:var(--grey-600)}#frm-insert-fields li.frm_show_upgrade,#frm-insert-fields li a{text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;color:var(--grey-900) !important}#frm-insert-fields li a{display:flex !important;transition:background-color .2s ease-out,box-shadow .2s ease-out}#frm-insert-fields li a:not(.disabled):hover{background:#fff;box-shadow:var(--box-shadow-md)}#frm-insert-fields li a:focus-visible{outline:1px solid var(--primary-500)}#frm-insert-fields li.frm_show_upgrade.frm_hidden{display:none !important}#frm-insert-fields .frm-with-line{padding:12px var(--gap-md);font-weight:500;font-size:var(--text-sm)}#frm-insert-fields .frm-with-line::before{margin-left:calc(-1*var(--gap-sm));width:calc(100% + var(--gap-md))}.frm_code_list{clear:both}.frm_code_list.frm-full-hover a.frm_hidden,.frm_code_list .frmkeys{display:none}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}.frmsvg svg{pointer-events:none}.frmsvg.frm_svg40{width:40px;height:40px}.frmsvg.frm_svg24{width:24px;height:24px}.frmsvg.frm_svg20{width:20px;height:20px}.frmsvg.frm_svg15{width:15px;height:15px}.frmsvg.frm_svg14{width:14px !important;height:14px !important}.frmsvg.frm_svg13{width:13px;height:13px}.frmsvg.frm_svg12{width:12px;height:12px}.frmsvg.frm_svg9{width:9px;height:9px}.frmsvg.frm_svg7{width:7px;height:7px}input[disabled]{pointer-events:none}.frmbutton.ui-sortable-helper .frmsvg,.field_type_list li.frmbutton .frmsvg,.frmbutton.ui-sortable-helper i,.field_type_list li.frmbutton i,.frm_code_list a .frmsvg,.frm_code_list a i{color:var(--grey-500);display:inline-block;vertical-align:middle;width:var(--text-md);font-size:var(--text-md)}.field_type_list.frm_grid_container{gap:10px;margin:13px 0}.field_type_list li{margin:0;padding:0}.field_type_list li.frmbutton .frmsvg{width:24px;height:24px;font-size:24px}.frm_code_list i::before{font-size:inherit}.frmbutton.ui-draggable-dragging{pointer-events:none}.frmbutton.ui-draggable-dragging a{color:var(--grey-900) !important;background:var(--grey-100);text-decoration:none;display:inline-flex !important;gap:var(--gap-xs);align-items:center;border-radius:var(--small-radius) !important;padding:11px var(--gap-md) 11px var(--gap-xs) !important;box-shadow:var(--box-shadow-md)}.frmbutton.frm_at_limit{opacity:.5}.frmbutton.ui-draggable-dragging a{border:1px solid var(--grey-300);box-shadow:var(--box-shadow-md)}.frmbutton.ui-draggable-dragging span{font-size:15px}#frm-show-fields .frmbutton.ui-sortable-helper i,.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:#fff !important}.frmbutton.ui-draggable-dragging i,.frmbutton.ui-draggable-dragging .frmsvg{color:var(--grey-700) !important}.frm_sorting li.ui-state-default.ui-sortable-helper,.frmbutton.ui-sortable-helper{transition:opacity .2s;opacity:1;position:fixed;z-index:99999}#frm-insert-fields .frmbutton.ui-sortable-helper a,#frm-show-fields .frmbutton.ui-sortable-helper a{min-width:100px}.ui-draggable-dragging .frm-meta-tag.frm-new-pill{display:none}li.frm_noallow.button,.frm_noallow{opacity:.5}.frm_actions_list a.frm_show_upgrade.frm_inactive_action::before,li.frm_noallow.button.frm_show_upgrade{cursor:pointer}.field_type_list li.frm_noallow.button.frm_show_upgrade:hover{border-color:inherit}.frm_noallow a{color:inherit}#frm_upgrade_modal_image{max-width:200px}#frm_upgrade_modal .cta-inside{display:flex;flex-direction:column;gap:var(--gap-sm)}#frm_upgrade_modal .frm-upgrade-message img{width:100%;margin:var(--gap-sm) 0 10px}#frm_upgrade_modal .frm-oneclick.frm_hidden{display:none !important}#frm_upgrade_modal .frm-oneclick-button{margin-left:auto}#frm_upgrade_modal .frm-upgrade-modal-actions{flex-direction:row-reverse;justify-content:flex-start;margin:0 !important}#frm_upgrade_modal .frm-upgrade-link{align-self:end}#frm_upgrade_modal.frm-success .frm-circled-icon svg{width:24px;height:24px}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-prefix,#frm_upgrade_modal.frm-success .frm_are_not_installed{display:none !important}#frm_upgrade_modal.frm-success .frm-upgrade-modal-title-suffix{display:inline !important}#frm_upgrade_modal.frm-success .frm-addon-status{margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options{display:flex;gap:var(--gap-xs);flex-direction:row-reverse;margin:0}#frm_upgrade_modal.frm-success .frm-addon-status .frm-save-and-reload-options .frm-save-and-reload{margin:0}.frm-dialog[aria-describedby=frm_upgrade_modal]{position:fixed !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important}.frm-tab-message{max-width:600px;margin:20px auto;color:rgba(63,75,91,.8)}.frm-settings-screenshot-toolbar{min-height:39px;display:flex}.frm-settings-screenshot-toolbar .frm-minmax-icon{height:8px;width:8px;border-radius:50%;align-self:center;margin-left:10px}.frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type{margin-left:20px}.frm-settings-screenshot-toolbar img{object-fit:contain;align-self:flex-end;margin-left:25px}.frm-settings-screenshot-toolbar+div{background:#fff;padding-top:25px;border-radius:0 0 16px 16px}.frm-settings-screenshot-toolbar+div img{max-width:calc(100% - 40px)}.frm-settings-screenshot-wrapper{max-width:700px;margin:50px auto 0;box-shadow:0 4px 4px rgba(189,196,205,.25),0 12px 56px rgba(42,57,75,.25);border-radius:16px;background:#ebecf1}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}a.frm-link-secondary{color:#c4c4c4;font-size:var(--text-sm);text-decoration:underline}.field_type_list li.button.frm_noallow,.field_type_list li.button.frm_noallow:hover,.button.frm_noallow,.button.frm_noallow:hover{color:inherit;border-color:#ccc;background:inherit}iframe#dyncontent_ifr{min-height:150px}/*! * Bootstrap v4.6.1 - */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.wp-core-ui .frm_grey.frm-button-primary.disabled,.wp-core-ui .frm_grey.frm-button-primary,#frm-welcome .frm_grey{opacity:.5;background:#f6f6f6 !important;border-color:#ddd !important;color:#9fa5aa !important}.windows::-webkit-scrollbar,.windows ::-webkit-scrollbar{width:7px;background:rgba(0,0,0,0)}.windows::-webkit-scrollbar-thumb,.windows ::-webkit-scrollbar-thumb{background:var(--grey-300);-webkit-border-radius:var(--border-radius);-webkit-box-shadow:none}.windows::-webkit-scrollbar-corner,.windows ::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}.frm-scrollbar-wrapper,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list,#frm_builder_page #frm_adv_info .frm_code_list,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div,.frm-single-settings .frm_field_opts_list{overflow-x:hidden;overflow-y:auto !important;-ms-overflow-style:none;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0);scrollbar-width:thin}.frm-scrollbar-wrapper:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover,#frm_builder_page #frm_adv_info .frm_code_list:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover,.frm-single-settings .frm_field_opts_list:hover{scrollbar-color:var(--grey-300) rgba(0,0,0,0)}.frm-scrollbar-wrapper:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list:hover::-webkit-scrollbar-thumb{background:var(--grey-300)}.frm-scrollbar-wrapper::-webkit-scrollbar,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar{width:3px}.frm-scrollbar-wrapper::-webkit-scrollbar-track,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-track,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-track{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb:hover{background:var(--grey-300)}.rtl h3{font-weight:inherit !important}.rtl.js .accordion-section-title::after{left:10px;right:auto}.rtl #frm_top_bar #frm_bs_dropdown{padding-left:15px}.rtl .frm-full-close,.rtl .frm_wrap .columns-2 .frm-right-panel+div,.rtl .frm-right-panel{border-left-width:0;border-right:1px solid var(--grey-300)}.rtl .frm-full-close{padding-left:0;padding-right:var(--gap-md)}.rtl .frm-text-right{text-align:left}.rtl .frm_wrap #frm_adv_info ul.category-tabs li:first-child{border-left-width:1px}.rtl .frm-dropdown-menu{text-align:right}.rtl #frm-insert-fields-box,.rtl #frm-conditionals{padding-right:.9em}.rtl #html_settings .frm_field_html_box{margin-right:0}.rtl .frm_list_entry_page h2{float:right}.rtl .frm_scale{float:right;margin-left:10px;margin-right:0}.rtl .frm-page-break .frm-collapse-page.button{margin-left:0;margin-right:46%}.rtl .frm-field-action-icons{right:unset;left:2px}.rtl .frm_has_shortcodes>i{right:auto;left:5px}.rtl p.frm_reply_to_container,.rtl p.frm_bcc_cc_container{float:left}.rtl .frm-with-right-icon:not(.frm-token-container) .frmsvg{right:auto;left:0}.rtl .frm-inline-modal>a.dismiss{left:13px;right:auto}.rtl.wp-admin .frm_wrap select{padding-left:var(--gap-lg) !important;padding-right:5px !important;background-position:left 11px top 55%}.rtl .frm_code_list.frm-full-hover a span{margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child{margin-left:unset;margin-right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child{margin-right:unset;margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline{left:unset !important;right:0}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-first{right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-last{right:calc(-1*var(--gap-xs))}.rtl .frm-unit-input .frm-input-group-suffix{right:unset;left:1px;padding-right:unset;padding-left:var(--gap-xs)}.rtl .frm-unit-input .frm-input-group-suffix select{text-align:left;background-position:left 0 top 50%;padding-left:21px !important}span.clear{display:block}.clearfix::after{content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{display:inline-block}.frm_form_fields .clear{height:auto}* html .clearfix{height:1%}.clearfix{display:block}#frm_small_device_message_container{display:none}@media only screen and (max-width: 1200px){.frm-addons{grid-template-columns:1fr 1fr}#frm_top_bar h1{min-width:0}}@media only screen and (max-width: 1050px){.frm-white-body,.frm_wrap{--biggest-sidebar: 390px}#form_settings_page .columns-2{margin:0}.frm_actions_list{margin-left:0}#frm_bs_dropdown .frm_bstooltip{display:none !important}}@media only screen and (max-width: 960px){.frm-white-body,.frm_wrap{--gap-sm: 8px;--gap-md: 16px;--gap-2xl: 24px}.frm-settings-panel{--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 32px}.auto-fold #adminmenuwrap{width:36px}.frm_wrap #postbox-container-1 #frm_adv_info{min-width:220px}p.howto{display:inline-block}.auto-fold.frm-admin-page-styles:not(.frm-full-screen) .frm_page_container,.auto-fold:not(.frm-full-screen) .frm_wrap .frm_page_container{left:36px}}@media only screen and (max-width: 850px){.frm-white-body,.frm_wrap{--biggest-sidebar: 350px;--big-sidebar: 350px}.frm_col_one{clear:none}.frm-fields p>.frm_inline_label,.frm_inline_label{display:block;margin:5px 0}#frm_top_bar h1{width:auto;max-width:200px}#frm-publishing{width:auto}#frm_form_editor_container,.frm-entry-container{margin:0 20px}.frm_wrap .frm-search{float:none !important;width:auto;clear:both}.post-type-frm_display #frm_adv_info{top:auto !important;position:static;width:auto}.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{min-width:275px}.frm_wrap #frm_adv_info ul.category-tabs li,.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border:none}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:12px}.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border-bottom:2px solid #5b9dd9;padding-bottom:8px}.post-type-frm_display #poststuff{padding:10px 25px}.post-type-frm_display #side-sortables .postbox{margin-bottom:20px;border-radius:var(--small-radius);border-top-width:1px}#frm_top_bar .frm_form_nav{box-shadow:0 -0.47px 10px 0 rgba(16,24,40,.0588235294)}#frm_top_bar ul.frm_form_nav{padding:1em 0;position:fixed;bottom:0;width:100%;background:#fff;z-index:99;transform:translate(-50%, 0);left:50%}.frm_page_container>.columns-2,#frm_styler_wrapper{padding-bottom:64px}#frm_style_preview .frm_floating_style_button:not(.frm_hidden){position:static;display:inline-block}.frm_wrap .columns-2 .frm-right-panel{padding-bottom:0}#frm-publishing{margin-left:auto}#frm_top_bar>.frm-full-close:last-child{margin-left:0}#frm_bs_dropdown{display:block}#frm_bs_dropdown .frm_bstooltip{display:block !important}}@media only screen and (max-width: 782px){.frm-white-body,.frm_wrap{--small-sidebar: 20%;--medium-sidebar: 35% }#form_settings_page .advanced_settings .form-table td,.form-table th{display:table-cell;width:auto !important}.frm-white-body #publishing-action,.frm_wrap #publishing-action{line-height:normal}.frm-white-body #screen-meta-links{display:none}.frm_wrap .misc-pub-section{padding:6px 0}.frm_wrap .misc-pub-section>a{float:none;white-space:nowrap}.frm-form-setting-tabs a{position:relative;padding:10px 5px 10px 40px}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{position:absolute;left:13px;top:calc(50% - 10px);margin:0}#frm-insert-fields .button,#frm-insert-fields .button a,.frmbutton.ui-sortable-helper a{line-height:26px;max-height:28px}a.frm_add_logic_link{margin-left:0;margin-right:0;width:100%;box-sizing:border-box}a.frm_add_logic_link:not([id^=logic_]) .frmsvg,a.frm_add_logic_link i{display:none}#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 83px)}.frm_single_entry_page .frm_form_fields input[type=text],.frm_single_entry_page .frm_form_fields select,.frm_single_entry_page .frm_form_fields textarea{width:100%}.with_frm_style .frm_radio input[type=radio],.with_frm_style .frm_checkbox input[type=checkbox]{width:25px !important}.frm_single_entry_page .with_frm_style .frm_radio input[type=radio],.frm_single_entry_page .with_frm_style .frm_checkbox input[type=checkbox]{width:18px !important}.wp-list-table.toplevel_page_formidable .column-entries,.wp-list-table.toplevel_page_formidable .column-form_key,.wp-list-table.toplevel_page_formidable .column-shortcode,.wp-list-table.toplevel_page_formidable .column-created_at{display:none !important}.wp-list-table.toplevel_page_formidable td.column-entries,.wp-list-table.toplevel_page_formidable td.column-form_key,.wp-list-table.toplevel_page_formidable td.column-shortcode,.wp-list-table.toplevel_page_formidable td.column-created_at{padding:3px 8px 3px 35%;text-align:left}#form_entries_page .wp-list-table th.frm_hidden,#form_entries_page .wp-list-table td.frm_hidden{display:none !important}.frm-white-body.auto-fold #wpcontent{padding-left:0}.frm_right_addon .frm_remove_field{bottom:11px}.frm-addons{grid-template-columns:1fr}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{left:0 !important}.frm_single_entry_page.frm_wrap .columns-2{display:block;border-bottom:none}.frm_single_entry_page .wrap.frm-with-margin{margin:10px 20px}.frm_single_entry_page #post-body-content+.frm-right-panel{width:auto;margin:0 20px;border:1px solid var(--sidebar-hover);border-radius:6px}#wp-content-media-buttons a.frm_insert_form{padding:0 var(--gap-sm)}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{width:1.2rem;height:1.2rem}}@media only screen and (max-width: 700px){.frm-white-body,.frm_wrap{--biggest-sidebar: 50%;--big-sidebar: 50%}}@media only screen and (max-width: 600px){.frm-white-body,.frm_wrap{--small-sidebar: 45px}.frm-form-setting-tabs a{visibility:collapse;font-size:0;padding:0 var(--gap-sm)}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{visibility:visible;position:initial;font-size:18px}#frm_builder_page #frm-insert-fields{padding:0}.frm_wrap #frm_adv_info ul.category-tabs li{display:inline-block;padding:0;margin:2px 0;border-bottom:2px solid rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li.tabs,.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:0;padding:0}.field_type_list li{text-align:center}#frm-insert-fields li a{padding:5px}#frm_form_editor_container .frm_primary_label{clear:both}#frm_builder_page .frm_code_list a.button{padding:2px}.frm-right-panel h3.accordion-section-title{padding-right:10px;padding-left:10px;font-size:20px;white-space:nowrap;overflow:hidden}.frm-right-panel .accordion-section-title::before{margin-left:0;margin-right:3px}.frm_on_submit_type svg{display:none}}@media only screen and (max-width: 475px){#frm_bs_dropdown{float:none}#frm-nav-tabs{padding:0;white-space:nowrap}#frm-nav-tabs a{margin-right:0}#frm_small_device_message_container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;top:0;width:100%;height:100%;z-index:999999;background:var(--primary-500)}#frm_small_device_message{text-align:center;display:flex;flex-direction:column;align-items:center;width:80%;padding:1rem;background:#fff;border:solid 1px #fff;border-radius:var(--medium-radius)}#frm_small_device_message::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-78%, -65%);width:900px;height:900px;background-color:#0d7dfc;border-radius:50%;z-index:-1;opacity:.3}#frm_small_device_message>svg{padding-bottom:1rem}.toplevel_page_formidable:has(#frm_small_device_message_container) #posts-filter,.post-type-frm_display:has(#frm_small_device_message_container) #posts-filter{display:none}}@media print{a,.misc-pub-section a{color:#000 !important}.add-new-h2,#frm_top_bar,.dashicons,#adminmenuwrap,#adminmenuback,#wphead,#button_bar,#submitdiv,.button-secondary,#screen-metas,#screen-meta-links,#footer,#wpfooter,.inner-sidebar,.frm_form_nav,.frm_flash_graph,.frm_no_print,object,.error{visibility:hidden;display:none !important}.widget,.postbox,.stuffbox,.postbox h3{border-width:0 !important;border-color:#fff}.postbox{background:#fff !important;border:none;position:static}.postbox h3,.postbox h4{background:#fff !important}#wpbody-content{float:none}#wpcontent,#post-body-content,.has-right-sidebar #post-body,#poststuff .columns-2{margin:0 !important}.frm_wrap #poststuff .columns-2{display:block}#post-body-content+.frm-right-panel,.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{border:none;width:auto;display:block;padding:20px}.frm_wrap .columns-2,.frm_wrap .frm_page_container{height:auto;display:block}.misc-pub-section>span{padding:0}.frm-right-panel .postbox .inside{padding-left:12px;padding-right:12px}.curtime #timestamp::before{display:none;content:none !important}.frm_charts .alignleft{float:none}.pg_odd,.pg_even{page-break-inside:avoid;max-width:600px}.form-table td,.form-table th{padding:0}.frm_file_container a{display:block;width:100%}}.frm-admin-page-styles #frm-publishing #save_menu_header,.frm-admin-page-styles2 #frm-publishing #save_menu_header{display:inline-block}.edit_form_item .frm_combo_inputs_container[data-name-layout=last_first] .frm_form_subfield-first{order:2}.frm-video-wrapper iframe{width:100%;max-width:843px;border-radius:var(--border-radius)}#frm_field_group_popup{position:absolute;top:0;right:0;width:366px;max-height:231px;border-radius:8px;background:#fff;box-shadow:0 20px 48px rgba(40,47,54,.15);z-index:3;box-sizing:border-box;padding:24px 0;text-align:left}.rtl #frm_field_group_popup{text-align:right}.frm-merge-fields-into-row #frm_field_group_popup{top:unset;bottom:50px;height:196px}#frm_field_group_popup>hr{margin:12px 0}#frm_field_group_popup .frm-cancel-custom-field-group-layout,#frm_field_group_popup .frm-save-custom-field-group-layout{padding:4px 18px}#frm_field_group_popup .frm-cancel-custom-field-group-layout:hover{border-color:var(--primary-500) !important;color:var(--primary-500);background-color:rgba(0,0,0,0) !important}.frm-merge-fields-into-row #frm_field_group_popup .frm-break-field-group{display:none}.frm-merge-fields-into-row>a{color:rgba(40,47,54,.85);position:relative;top:2px}.frm-row-layout-title{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:27px}.frm-row-layout-option{background:#f6f7fb;box-sizing:border-box;border-radius:2px;padding:15px 10px}#frm_field_group_popup .frm-row-layout-option .frm_grid_container{grid-gap:0 5%;grid-template-columns:repeat(12, auto)}#frm_field_group_popup .frm-row-layout-option{cursor:pointer;border:2px solid rgba(0,0,0,0)}#frm_field_group_popup .frm-row-layout-option.frm-active-row-layout,#frm_field_group_popup .frm-row-layout-option:hover{border-color:var(--primary-500)}.frm-custom-field-group-layout,.frm-break-field-group{padding:4px 24px;cursor:pointer;font-size:var(--text-sm);line-height:19px;color:#484e54}.frm-custom-field-group-layout:hover,.frm-break-field-group:hover{background-color:rgba(245,245,245,.9607843137)}.frm-custom-field-group-layout svg,.frm-break-field-group svg{margin-right:5px}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}#frm_banner{width:100%;color:#fff;background:var(--primary-500);height:40px;line-height:40px;text-align:center;position:relative}.frm-banner-emoji{font-size:19px}.frm-banner-emoji,.frm-banner-title{margin-right:5px;vertical-align:top}.frm-banner-cta a{text-decoration:underline !important}#frm_banner .frm-banner-cta a.frm_inbox_dismiss{display:none}.frm-banner-dismiss{cursor:pointer;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.frm-banner-dismiss .frmsvg{vertical-align:top}.frm-ready-made-solution:not(.frm-search-result){display:none !important}#frm_leave_email_wrapper .frmsvg{top:0}#frm-add-my-email-address{margin-top:30px}.frm-ready-made-solution h3~a{color:var(--primary-500)}.frm-ready-made-solution img{max-width:100%;display:block;box-shadow:var(--box-shadow-lg)}.frm_single_on_submit_settings .frm_form_field{margin:22px 0}.frm_on_submit_type_setting{padding:8px 0}.frm_on_submit_type label{display:flex;border:1px solid var(--grey-border);border-radius:var(--small-radius);gap:16px;padding:16px;align-items:center;justify-content:center}.frm_on_submit_type input{opacity:0 !important;position:absolute;z-index:-1}.frm_on_submit_type input[type=radio]:checked+label{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}#form_settings_page .frm_on_submit_type label:hover,.frm_on_submit_type input[type=radio]:checked+label svg{color:var(--primary-color)}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}#frm-form-templates-modal textarea{height:108px}#frm-form-templates-modal .frm-fields button.btn{border-color:var(--grey-300);color:var(--grey-900);cursor:pointer}#frm-form-templates-modal .frm-fields button.btn .frmsvg{color:var(--grey-400);width:14px;height:14px}#frm-form-templates-modal .frm-form-templates-modal-fieldset{position:relative}#frm-form-templates-modal .frm-form-templates-modal-fieldset .frm-with-left-icon .frmsvg{padding:0;top:0;left:13px}#frm-form-templates-modal .postbox{display:block !important}#frm_empty_inbox #frm-leave-email-modal{margin-top:var(--gap-2xl)}#frm-name-your-form-modal .frm_modal_top{padding-top:var(--gap-sm)}#frm-field-group-message{position:absolute;bottom:32px;right:calc(50% - var(--biggest-sidebar));padding:var(--gap-xs) var(--gap-sm);border-radius:100px;background-color:var(--primary-25)}#frm-field-group-message .frm-field-group-message-text{gap:10px;color:var(--grey-800)}#frm-field-group-message-dismiss{margin-left:var(--gap-xs)}#frm-field-group-message-dismiss .frmsvg{color:var(--grey-800);width:15px;height:15px;cursor:pointer;transition:color 300ms ease-in-out}#frm-field-group-message-dismiss .frmsvg:hover{color:var(--grey-500)}.frm-card-item{display:flex;border:1px solid var(--grey-200);border-radius:var(--small-radius);padding:var(--gap-sm);box-shadow:var(--box-shadow-xs);background:#fff}.frm-card-item:not(.frm-counter-card){gap:10px}.frm-compact-card-item{padding:var(--gap-sm) 35px 10px 35px}.frm-card-bottom{background-color:var(--grey-50);margin-left:calc(var(--gap-sm)*-1);margin-bottom:calc(var(--gap-sm)*-1);margin-right:calc(var(--gap-sm)*-1);padding:var(--gap-sm);border-radius:0 0 var(--small-radius) var(--small-radius)}#welcome-panel:has(#frm_form_pf_importer){background-color:#fff;margin:var(--gap-sm) var(--gap-md) var(--gap-md);line-height:2}#welcome-panel:has(#frm_form_pf_importer) .welcome-panel-content{text-align:start !important;min-height:unset;display:block}#frm_form_pf_importer div{margin:10px 0 !important}#frm_form_pf_importer button{border:1px solid var(--primary-500);padding:7px 16px;min-height:28px;line-height:var(--leading);margin-bottom:0;background:var(--primary-500);color:#fff !important}#frm_form_pf_importer button:hover{background:#135e96;border-color:#135e96}.frm-option-box{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;background-color:#fff;padding:12px var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius);margin-bottom:var(--gap-xs);transition:background-color 100ms ease-out;cursor:pointer}.frm-option-box:hover{background-color:var(--grey-25)}.frm-option-box.frm-checked{background-color:var(--primary-25);border-color:var(--primary-200)}.frm-option-box.frm-disabled{cursor:default}.frm-option-box input[type=checkbox]{margin:0}.frm-option-box.frm-disabled input[type=checkbox]{opacity:.5}.frm-option-box .frm_help .frmsvg{width:12px;height:12px}.frm-validation-error:not(.frm_hidden){display:flex}.frm-validation-error{gap:calc(var(--gap-xs) + var(--gap-2xs))}.frm-validation-error span{color:var(--error-500)}.frm-validation-error span[frm-error]{display:none}.frm-validation-error[frm-error=empty] span[frm-error=empty],.frm-validation-error[frm-error=invalid] span[frm-error=invalid],.frm-validation-error[frm-error=custom] span[frm-error=custom]{display:inline-block}.frm-box{padding:var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius)}.frm-link-with-external-icon{display:flex;align-items:center;gap:var(--gap-2xs);font-size:var(--text-xs)}.frm-link-with-external-icon .frmsvg{width:16px;height:16px;transform:rotate(45deg)}#wpbody-content .frm-page-skeleton ul,#wpbody-content .frm-page-skeleton li{margin:0}#wpbody-content .frm-page-skeleton .frm-right-panel{padding:2px;overflow-y:initial}#wpbody-content .frm-page-skeleton .frm-scrollbar-wrapper{padding:var(--gap-md) var(--gap-sm)}#wpbody-content .frm-page-skeleton .frm-search{float:none;padding:0 var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>svg{left:var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>input{width:100%}.frm-page-skeleton-cat{cursor:pointer;padding:var(--gap-xs);border-radius:var(--small-radius);background-color:rgba(0,0,0,0);transition:background-color 250ms ease-out}.frm-page-skeleton-cat:hover{background-color:var(--grey-100)}.frm-page-skeleton-cat>*{z-index:2}.frm-page-skeleton-cat-text{color:var(--grey-900);text-transform:capitalize}.frm-page-skeleton-cat-count{color:var(--grey-400)}.frm-current .frm-page-skeleton-cat-text,.frm-current .frm-page-skeleton-cat-count{color:var(--primary-500)}.frm-list-grid-layout{display:grid;grid-template-columns:repeat(auto-fill, minmax(303px, 1fr));grid-auto-rows:max-content;gap:var(--gap-sm)}.frm-list-grid-layout>*{grid-column:span 1}#frm-page-skeleton-empty-state{height:100%;margin-top:calc(-1*var(--gap-md))}#frm-page-skeleton-empty-state .frm-page-skeleton-text{max-width:420px}.frm-page-skeleton-divider{border-top:1px solid var(--grey-200);margin:0}.field_type_list .frm_tsubmit{display:none !important}#frm_style_sidebar .accordion-section-title::after,#frm_view_editor_left .accordion-section-title::after{content:""}a[href="#square_settings"] svg.frmsvg{width:23px !important;height:22px !important}#frm_square_test_setup_modal a:focus{box-shadow:none !important}@media only screen and (max-width: 900px){#square_settings .frm_grid_container:has(.frm-card-item){grid-template-columns:repeat(1, 1fr)}#square_settings .frm-card-item+.frm-card-item{margin-top:var(--gap-sm)}}.frm-coupons-upsell-wrapper{display:flex;flex-direction:column;align-items:center}.frm-coupons-upsell-wrapper p{margin-top:var(--gap-xs);max-width:364px;text-align:center}.frm-coupons-upsell-wrapper img{max-width:100%;max-height:300px}.frm-coupons-upsell-wrapper h2{margin-bottom:0}.frm-coupons-upsell{background-color:#f5f5f7;border-radius:16px;border:6px solid #fff;box-shadow:0 .471px 1.412px 0 rgba(16,24,40,.1),0 .471px .941px 0 rgba(16,24,40,.06);text-align:center;width:100%;box-sizing:border-box}.frm-main-coupons-upsell{margin-top:var(--gap-lg)}.frm-main-coupons-upsell img{vertical-align:bottom}.frm-secondary-coupons-upsells{margin-top:var(--gap-md);width:100%}#frm_sale_banner{display:flex;height:90px;flex-direction:row;align-items:center;gap:var(--gap-sm);cursor:pointer;position:relative}#frm_sale_banner>div:first-child{align-self:flex-end;width:150px;height:100%;display:flex;justify-content:center}#frm_sale_banner>div:first-child img{align-self:center}#frm_sale_banner>div:nth-child(3){margin-left:auto;margin-right:50px}#frm_sale_banner>div:nth-child(2)>div:last-child{opacity:.8}#frm_sale_banner a:not(.dismiss){text-shadow:none;border-radius:30px;border:1px rgba(0,0,0,0);font-size:var(--text-sm);padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;margin-bottom:0;display:inline-block;font-weight:700;background-color:#fff;color:#000}#frm_sale_banner .dismiss{position:absolute;color:#fff;opacity:.6;right:15px;top:10px}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: #fff"]{background-color:#f0f0f0 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(241, 90, 36, 1)"]{background-color:#e6470f !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(239, 58, 78, 1)"]{background-color:#ed1d34 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(33, 2, 14, 1)"]{background-color:#3e041a !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(72, 51, 64, 1)"]{background-color:#362630 !important}.frm-get-free-templates-banner{flex-grow:1}.frm-get-free-templates-banner .frm-banner-image-wrapper{display:flex;justify-content:center;align-items:flex-end;background-color:var(--primary-25);padding:19px 14px 0;border-radius:var(--small-radius)}.frm-get-free-templates-banner[data-direction=vertical]{flex-direction:column;align-items:stretch;gap:12px}.frm-get-free-templates-banner[data-direction=vertical] .frm-banner-content{align-items:center;text-align:center}.frm-lookup-box-label{display:none}.frm-inline-modal[id^=frm-lookup-box]{background-color:rgba(0,0,0,0);border:0;box-shadow:none}.frm-inline-modal[id^=frm-lookup-box] .frm-nav-tabs,.frm-inline-modal[id^=frm-lookup-box] .dismiss{display:none}.frm_single_option a.frm_remove_tag svg,.frm_single_option a.frm_add_opt svg{width:15px;height:15px}#frm_builder_page #frm-options-panel .frm-single-settings.frm-type-ranking .frm_image_styling_frame{margin-left:12px} + */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.wp-core-ui .frm_grey.frm-button-primary.disabled,.wp-core-ui .frm_grey.frm-button-primary,#frm-welcome .frm_grey{opacity:.5;background:#f6f6f6 !important;border-color:#ddd !important;color:#9fa5aa !important}.windows::-webkit-scrollbar,.windows ::-webkit-scrollbar{width:7px;background:rgba(0,0,0,0)}.windows::-webkit-scrollbar-thumb,.windows ::-webkit-scrollbar-thumb{background:var(--grey-300);-webkit-border-radius:var(--border-radius);-webkit-box-shadow:none}.windows::-webkit-scrollbar-corner,.windows ::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}.frm-scrollbar-wrapper,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list,#frm_builder_page #frm_adv_info .frm_code_list,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div,.frm-single-settings .frm_field_opts_list{overflow-x:hidden;overflow-y:auto !important;-ms-overflow-style:none;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0);scrollbar-width:thin}.frm-scrollbar-wrapper:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover,#frm_builder_page #frm_adv_info .frm_code_list:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover,.frm-single-settings .frm_field_opts_list:hover{scrollbar-color:var(--grey-300) rgba(0,0,0,0)}.frm-scrollbar-wrapper:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list:hover::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div:hover::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list:hover::-webkit-scrollbar-thumb{background:var(--grey-300)}.frm-scrollbar-wrapper::-webkit-scrollbar,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar{width:3px}.frm-scrollbar-wrapper::-webkit-scrollbar-track,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-track,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-track,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-track{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb{background:rgba(0,0,0,0);border-radius:100vw}.frm-scrollbar-wrapper::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_code_list.frm-full-hover.frm-short-list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info .frm_code_list::-webkit-scrollbar-thumb:hover,#frm_builder_page #frm_adv_info #taxonomy-linkcategory>div::-webkit-scrollbar-thumb:hover,.frm-single-settings .frm_field_opts_list::-webkit-scrollbar-thumb:hover{background:var(--grey-300)}.rtl h3{font-weight:inherit !important}.rtl.js .accordion-section-title::after{left:10px;right:auto}.rtl #frm_top_bar #frm_bs_dropdown{padding-left:15px}.rtl .frm-full-close,.rtl .frm_wrap .columns-2 .frm-right-panel+div,.rtl .frm-right-panel{border-left-width:0;border-right:1px solid var(--grey-300)}.rtl .frm-full-close{padding-left:0;padding-right:var(--gap-md)}.rtl .frm-text-right{text-align:left}.rtl .frm_wrap #frm_adv_info ul.category-tabs li:first-child{border-left-width:1px}.rtl .frm-dropdown-menu{text-align:right}.rtl #frm-insert-fields-box,.rtl #frm-conditionals{padding-right:.9em}.rtl #html_settings .frm_field_html_box{margin-right:0}.rtl .frm_list_entry_page h2{float:right}.rtl .frm_scale{float:right;margin-left:10px;margin-right:0}.rtl .frm-page-break .frm-collapse-page.button{margin-left:0;margin-right:46%}.rtl .frm-field-action-icons{right:unset;left:2px}.rtl .frm_has_shortcodes>i{right:auto;left:5px}.rtl p.frm_reply_to_container,.rtl p.frm_bcc_cc_container{float:left}.rtl .frm-with-right-icon:not(.frm-token-container) .frmsvg{right:auto;left:0}.rtl .frm-inline-modal>a.dismiss{left:13px;right:auto}.rtl.wp-admin .frm_wrap select{padding-left:var(--gap-lg) !important;padding-right:5px !important;background-position:left 11px top 55%}.rtl .frm_code_list.frm-full-hover a span{margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:first-child{margin-left:unset;margin-right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-navs ul li:last-child{margin-right:unset;margin-left:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline{left:unset !important;right:0}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-first{right:var(--gap-xs)}.rtl .frm-style-tabs-wrapper .frm-tabs-active-underline.frm-last{right:calc(-1*var(--gap-xs))}.rtl .frm-unit-input .frm-input-group-suffix{right:unset;left:1px;padding-right:unset;padding-left:var(--gap-xs)}.rtl .frm-unit-input .frm-input-group-suffix select{text-align:left;background-position:left 0 top 50%;padding-left:21px !important}span.clear{display:block}.clearfix::after{content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{display:inline-block}.frm_form_fields .clear{height:auto}* html .clearfix{height:1%}.clearfix{display:block}#frm_small_device_message_container{display:none}@media only screen and (max-width: 1200px){.frm-addons{grid-template-columns:1fr 1fr}#frm_top_bar h1{min-width:0}}@media only screen and (max-width: 1050px){.frm-white-body,.frm_wrap{--biggest-sidebar: 390px}#form_settings_page .columns-2{margin:0}.frm_actions_list{margin-left:0}#frm_bs_dropdown .frm_bstooltip{display:none !important}}@media only screen and (max-width: 960px){.frm-white-body,.frm_wrap{--gap-sm: 8px;--gap-md: 16px;--gap-2xl: 24px}.frm-settings-panel{--gap-sm: 16px;--gap-md: 24px;--gap-2xl: 32px}.auto-fold #adminmenuwrap{width:36px}.frm_wrap #postbox-container-1 #frm_adv_info{min-width:220px}p.howto{display:inline-block}.auto-fold.frm-admin-page-styles:not(.frm-full-screen) .frm_page_container,.auto-fold:not(.frm-full-screen) .frm_wrap .frm_page_container{left:36px}}@media only screen and (max-width: 850px){.frm-white-body,.frm_wrap{--biggest-sidebar: 350px;--big-sidebar: 350px}.frm_col_one{clear:none}.frm-fields p>.frm_inline_label,.frm_inline_label{display:block;margin:5px 0}#frm_top_bar h1{width:auto;max-width:200px}#frm-publishing{width:auto}#frm_form_editor_container,.frm-entry-container{margin:0 20px}.frm_wrap .frm-search{float:none !important;width:auto;clear:both}.post-type-frm_display #frm_adv_info{top:auto !important;position:static;width:auto}.frm_wrap .frm-right-panel #frm_adv_info,.frm_wrap #postbox-container-1 #frm_adv_info{min-width:275px}.frm_wrap #frm_adv_info ul.category-tabs li,.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border:none}.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:12px}.frm_wrap #frm_adv_info ul.category-tabs li.tabs{border-bottom:2px solid #5b9dd9;padding-bottom:8px}.post-type-frm_display #poststuff{padding:10px 25px}.post-type-frm_display #side-sortables .postbox{margin-bottom:20px;border-radius:var(--small-radius);border-top-width:1px}#frm_top_bar .frm_form_nav{box-shadow:0 -0.47px 10px 0 rgba(16,24,40,.0588235294)}#frm_top_bar ul.frm_form_nav{padding:1em 0;position:fixed;bottom:0;width:100%;background:#fff;z-index:99;transform:translate(-50%, 0);left:50%}.frm_page_container>.columns-2,#frm_styler_wrapper{padding-bottom:64px}#frm_style_preview .frm_floating_style_button:not(.frm_hidden){position:static;display:inline-block}.frm_wrap .columns-2 .frm-right-panel{padding-bottom:0}#frm-publishing{margin-left:auto}#frm_top_bar>.frm-full-close:last-child{margin-left:0}#frm_bs_dropdown{display:block}#frm_bs_dropdown .frm_bstooltip{display:block !important}}@media only screen and (max-width: 782px){.frm-white-body,.frm_wrap{--small-sidebar: 20%;--medium-sidebar: 35%}#form_settings_page .advanced_settings .form-table td,.form-table th{display:table-cell;width:auto !important}.frm-white-body #publishing-action,.frm_wrap #publishing-action{line-height:normal}.frm-white-body #screen-meta-links{display:none}.frm_wrap .misc-pub-section{padding:6px 0}.frm_wrap .misc-pub-section>a{float:none;white-space:nowrap}.frm-form-setting-tabs a{position:relative;padding:10px 5px 10px 40px}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{position:absolute;left:13px;top:calc(50% - 10px);margin:0}#frm-insert-fields .button,#frm-insert-fields .button a,.frmbutton.ui-sortable-helper a{line-height:26px;max-height:28px}a.frm_add_logic_link{margin-left:0;margin-right:0;width:100%;box-sizing:border-box}a.frm_add_logic_link:not([id^=logic_]) .frmsvg,a.frm_add_logic_link i{display:none}#new_fields .frm_single_option select,#new_fields .frm_single_option input[type=text]{width:calc(100% - 83px)}.frm_single_entry_page .frm_form_fields input[type=text],.frm_single_entry_page .frm_form_fields select,.frm_single_entry_page .frm_form_fields textarea{width:100%}.with_frm_style .frm_radio input[type=radio],.with_frm_style .frm_checkbox input[type=checkbox]{width:25px !important}.frm_single_entry_page .with_frm_style .frm_radio input[type=radio],.frm_single_entry_page .with_frm_style .frm_checkbox input[type=checkbox]{width:18px !important}.wp-list-table.toplevel_page_formidable .column-entries,.wp-list-table.toplevel_page_formidable .column-form_key,.wp-list-table.toplevel_page_formidable .column-shortcode,.wp-list-table.toplevel_page_formidable .column-created_at{display:none !important}.wp-list-table.toplevel_page_formidable td.column-entries,.wp-list-table.toplevel_page_formidable td.column-form_key,.wp-list-table.toplevel_page_formidable td.column-shortcode,.wp-list-table.toplevel_page_formidable td.column-created_at{padding:3px 8px 3px 35%;text-align:left}#form_entries_page .wp-list-table th.frm_hidden,#form_entries_page .wp-list-table td.frm_hidden{display:none !important}.frm-white-body.auto-fold #wpcontent{padding-left:0}.frm_right_addon .frm_remove_field{bottom:11px}.frm-addons{grid-template-columns:1fr}.frm-admin-page-styles .frm_page_container,.frm_wrap .frm_page_container{left:0 !important}.frm_single_entry_page.frm_wrap .columns-2{display:block;border-bottom:none}.frm_single_entry_page .wrap.frm-with-margin{margin:10px 20px}.frm_single_entry_page #post-body-content+.frm-right-panel{width:auto;margin:0 20px;border:1px solid var(--sidebar-hover);border-radius:6px}#wp-content-media-buttons a.frm_insert_form{padding:0 var(--gap-sm)}.frm-white-body input[type=checkbox]:checked::before,.frm_wrap input[type=checkbox]:checked::before{width:1.2rem;height:1.2rem}}@media only screen and (max-width: 700px){.frm-white-body,.frm_wrap{--biggest-sidebar: 50%;--big-sidebar: 50%}}@media only screen and (max-width: 600px){.frm-white-body,.frm_wrap{--small-sidebar: 45px}.frm-form-setting-tabs a{visibility:collapse;font-size:0;padding:0 var(--gap-sm)}.frm-form-setting-tabs a .frmsvg,.frm-form-setting-tabs a i{visibility:visible;position:initial;font-size:18px}#frm_builder_page #frm-insert-fields{padding:0}.frm_wrap #frm_adv_info ul.category-tabs li{display:inline-block;padding:0;margin:2px 0;border-bottom:2px solid rgba(0,0,0,0)}.frm_wrap #frm_adv_info ul.category-tabs li.tabs,.frm_wrap #frm_adv_info ul.category-tabs li:first-child{margin-left:0;padding:0}.field_type_list li{text-align:center}#frm-insert-fields li a{padding:5px}#frm_form_editor_container .frm_primary_label{clear:both}#frm_builder_page .frm_code_list a.button{padding:2px}.frm-right-panel h3.accordion-section-title{padding-right:10px;padding-left:10px;font-size:20px;white-space:nowrap;overflow:hidden}.frm-right-panel .accordion-section-title::before{margin-left:0;margin-right:3px}.frm_on_submit_type svg{display:none}}@media only screen and (max-width: 475px){#frm_bs_dropdown{float:none}#frm-nav-tabs{padding:0;white-space:nowrap}#frm-nav-tabs a{margin-right:0}#frm_small_device_message_container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;top:0;width:100%;height:100%;z-index:999999;background:var(--primary-500)}#frm_small_device_message{text-align:center;display:flex;flex-direction:column;align-items:center;width:80%;padding:1rem;background:#fff;border:solid 1px #fff;border-radius:var(--medium-radius)}#frm_small_device_message::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-78%, -65%);width:900px;height:900px;background-color:#0d7dfc;border-radius:50%;z-index:-1;opacity:.3}#frm_small_device_message>svg{padding-bottom:1rem}.toplevel_page_formidable:has(#frm_small_device_message_container) #posts-filter,.post-type-frm_display:has(#frm_small_device_message_container) #posts-filter{display:none}}@media print{a,.misc-pub-section a{color:#000 !important}.add-new-h2,#frm_top_bar,.dashicons,#adminmenuwrap,#adminmenuback,#wphead,#button_bar,#submitdiv,.button-secondary,#screen-metas,#screen-meta-links,#footer,#wpfooter,.inner-sidebar,.frm_form_nav,.frm_flash_graph,.frm_no_print,object,.error{visibility:hidden;display:none !important}.widget,.postbox,.stuffbox,.postbox h3{border-width:0 !important;border-color:#fff}.postbox{background:#fff !important;border:none;position:static}.postbox h3,.postbox h4{background:#fff !important}#wpbody-content{float:none}#wpcontent,#post-body-content,.has-right-sidebar #post-body,#poststuff .columns-2{margin:0 !important}.frm_wrap #poststuff .columns-2{display:block}#post-body-content+.frm-right-panel,.frm_wrap .columns-2 .frm-right-panel,.frm-right-panel{border:none;width:auto;display:block;padding:20px}.frm_wrap .columns-2,.frm_wrap .frm_page_container{height:auto;display:block}.misc-pub-section>span{padding:0}.frm-right-panel .postbox .inside{padding-left:12px;padding-right:12px}.curtime #timestamp::before{display:none;content:none !important}.frm_charts .alignleft{float:none}.pg_odd,.pg_even{page-break-inside:avoid;max-width:600px}.form-table td,.form-table th{padding:0}.frm_file_container a{display:block;width:100%}}.frm-admin-page-styles #frm-publishing #save_menu_header,.frm-admin-page-styles2 #frm-publishing #save_menu_header{display:inline-block}.edit_form_item .frm_combo_inputs_container[data-name-layout=last_first] .frm_form_subfield-first{order:2}.frm-video-wrapper iframe{width:100%;max-width:843px;border-radius:var(--border-radius)}#frm_field_group_popup{position:absolute;top:0;right:0;width:366px;max-height:231px;border-radius:8px;background:#fff;box-shadow:0 20px 48px rgba(40,47,54,.15);z-index:3;box-sizing:border-box;padding:24px 0;text-align:left}.rtl #frm_field_group_popup{text-align:right}.frm-merge-fields-into-row #frm_field_group_popup{top:unset;bottom:50px;height:196px}#frm_field_group_popup>hr{margin:12px 0}#frm_field_group_popup .frm-cancel-custom-field-group-layout,#frm_field_group_popup .frm-save-custom-field-group-layout{padding:4px 18px}#frm_field_group_popup .frm-cancel-custom-field-group-layout:hover{border-color:var(--primary-500) !important;color:var(--primary-500);background-color:rgba(0,0,0,0) !important}.frm-merge-fields-into-row #frm_field_group_popup .frm-break-field-group{display:none}.frm-merge-fields-into-row>a{color:rgba(40,47,54,.85);position:relative;top:2px}.frm-row-layout-title{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:27px}.frm-row-layout-option{background:#f6f7fb;box-sizing:border-box;border-radius:2px;padding:15px 10px}#frm_field_group_popup .frm-row-layout-option .frm_grid_container{grid-gap:0 5%;grid-template-columns:repeat(12, auto)}#frm_field_group_popup .frm-row-layout-option{cursor:pointer;border:2px solid rgba(0,0,0,0)}#frm_field_group_popup .frm-row-layout-option.frm-active-row-layout,#frm_field_group_popup .frm-row-layout-option:hover{border-color:var(--primary-500)}.frm-custom-field-group-layout,.frm-break-field-group{padding:4px 24px;cursor:pointer;font-size:var(--text-sm);line-height:19px;color:#484e54}.frm-custom-field-group-layout:hover,.frm-break-field-group:hover{background-color:rgba(245,245,245,.9607843137)}.frm-custom-field-group-layout svg,.frm-break-field-group svg{margin-right:5px}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}#frm_banner{width:100%;color:#fff;background:var(--primary-500);height:40px;line-height:40px;text-align:center;position:relative}.frm-banner-emoji{font-size:19px}.frm-banner-emoji,.frm-banner-title{margin-right:5px;vertical-align:top}.frm-banner-cta a{text-decoration:underline !important}#frm_banner .frm-banner-cta a.frm_inbox_dismiss{display:none}.frm-banner-dismiss{cursor:pointer;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.frm-banner-dismiss .frmsvg{vertical-align:top}.frm-ready-made-solution:not(.frm-search-result){display:none !important}#frm_leave_email_wrapper .frmsvg{top:0}#frm-add-my-email-address{margin-top:30px}.frm-ready-made-solution h3~a{color:var(--primary-500)}.frm-ready-made-solution img{max-width:100%;display:block;box-shadow:var(--box-shadow-lg)}.frm_single_on_submit_settings .frm_form_field{margin:22px 0}.frm_on_submit_type_setting{padding:8px 0}.frm_on_submit_type label{display:flex;border:1px solid var(--grey-border);border-radius:var(--small-radius);gap:16px;padding:16px;align-items:center;justify-content:center}.frm_on_submit_type input{opacity:0 !important;position:absolute;z-index:-1}.frm_on_submit_type input[type=radio]:checked+label{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}#form_settings_page .frm_on_submit_type label:hover,.frm_on_submit_type input[type=radio]:checked+label svg{color:var(--primary-color)}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}#frm-form-templates-modal textarea{height:108px}#frm-form-templates-modal .frm-fields button.btn{border-color:var(--grey-300);color:var(--grey-900);cursor:pointer}#frm-form-templates-modal .frm-fields button.btn .frmsvg{color:var(--grey-400);width:14px;height:14px}#frm-form-templates-modal .frm-form-templates-modal-fieldset{position:relative}#frm-form-templates-modal .frm-form-templates-modal-fieldset .frm-with-left-icon .frmsvg{padding:0;top:0;left:13px}#frm-form-templates-modal .postbox{display:block !important}#frm_empty_inbox #frm-leave-email-modal{margin-top:var(--gap-2xl)}#frm-name-your-form-modal .frm_modal_top{padding-top:var(--gap-sm)}#frm-field-group-message{position:absolute;bottom:32px;right:calc(50% - var(--biggest-sidebar));padding:var(--gap-xs) var(--gap-sm);border-radius:100px;background-color:var(--primary-25)}#frm-field-group-message .frm-field-group-message-text{gap:10px;color:var(--grey-800)}#frm-field-group-message-dismiss{margin-left:var(--gap-xs)}#frm-field-group-message-dismiss .frmsvg{color:var(--grey-800);width:15px;height:15px;cursor:pointer;transition:color 300ms ease-in-out}#frm-field-group-message-dismiss .frmsvg:hover{color:var(--grey-500)}.frm-card-item{display:flex;border:1px solid var(--grey-200);border-radius:var(--small-radius);padding:var(--gap-sm);box-shadow:var(--box-shadow-xs);background:#fff}.frm-card-item:not(.frm-counter-card){gap:10px}.frm-compact-card-item{padding:var(--gap-sm) 35px 10px 35px}.frm-card-bottom{background-color:var(--grey-50);margin-left:calc(var(--gap-sm)*-1);margin-bottom:calc(var(--gap-sm)*-1);margin-right:calc(var(--gap-sm)*-1);padding:var(--gap-sm);border-radius:0 0 var(--small-radius) var(--small-radius)}#welcome-panel:has(#frm_form_pf_importer){background-color:#fff;margin:var(--gap-sm) var(--gap-md) var(--gap-md);line-height:2}#welcome-panel:has(#frm_form_pf_importer) .welcome-panel-content{text-align:start !important;min-height:unset;display:block}#frm_form_pf_importer div{margin:10px 0 !important}#frm_form_pf_importer button{border:1px solid var(--primary-500);padding:7px 16px;min-height:28px;line-height:var(--leading);margin-bottom:0;background:var(--primary-500);color:#fff !important}#frm_form_pf_importer button:hover{background:#135e96;border-color:#135e96}.frm-option-box{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;background-color:#fff;padding:12px var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius);margin-bottom:var(--gap-xs);transition:background-color 100ms ease-out;cursor:pointer}.frm-option-box:hover{background-color:var(--grey-25)}.frm-option-box.frm-checked{background-color:var(--primary-25);border-color:var(--primary-200)}.frm-option-box.frm-disabled{cursor:default}.frm-option-box input[type=checkbox]{margin:0}.frm-option-box.frm-disabled input[type=checkbox]{opacity:.5}.frm-option-box .frm_help .frmsvg{width:12px;height:12px}.frm-validation-error:not(.frm_hidden){display:flex}.frm-validation-error{gap:calc(var(--gap-xs) + var(--gap-2xs))}.frm-validation-error span{color:var(--error-500)}.frm-validation-error span[frm-error]{display:none}.frm-validation-error[frm-error=empty] span[frm-error=empty],.frm-validation-error[frm-error=invalid] span[frm-error=invalid],.frm-validation-error[frm-error=custom] span[frm-error=custom]{display:inline-block}.frm-box{padding:var(--gap-sm);border:1px solid var(--grey-200);border-radius:var(--small-radius)}.frm-link-with-external-icon{display:flex;align-items:center;gap:var(--gap-2xs);font-size:var(--text-xs)}.frm-link-with-external-icon .frmsvg{width:16px;height:16px;transform:rotate(45deg)}#wpbody-content .frm-page-skeleton ul,#wpbody-content .frm-page-skeleton li{margin:0}#wpbody-content .frm-page-skeleton .frm-right-panel{padding:2px;overflow-y:initial}#wpbody-content .frm-page-skeleton .frm-scrollbar-wrapper{padding:var(--gap-md) var(--gap-sm)}#wpbody-content .frm-page-skeleton .frm-search{float:none;padding:0 var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>svg{left:var(--gap-2xs)}#wpbody-content .frm-page-skeleton .frm-search>input{width:100%}.frm-page-skeleton-cat{cursor:pointer;padding:var(--gap-xs);border-radius:var(--small-radius);background-color:rgba(0,0,0,0);transition:background-color 250ms ease-out}.frm-page-skeleton-cat:hover{background-color:var(--grey-100)}.frm-page-skeleton-cat>*{z-index:2}.frm-page-skeleton-cat-text{color:var(--grey-900);text-transform:capitalize}.frm-page-skeleton-cat-count{color:var(--grey-400)}.frm-current .frm-page-skeleton-cat-text,.frm-current .frm-page-skeleton-cat-count{color:var(--primary-500)}.frm-list-grid-layout{display:grid;grid-template-columns:repeat(auto-fill, minmax(303px, 1fr));grid-auto-rows:max-content;gap:var(--gap-sm)}.frm-list-grid-layout>*{grid-column:span 1}#frm-page-skeleton-empty-state{height:100%;margin-top:calc(-1*var(--gap-md))}#frm-page-skeleton-empty-state .frm-page-skeleton-text{max-width:420px}.frm-page-skeleton-divider{border-top:1px solid var(--grey-200);margin:0}.field_type_list .frm_tsubmit{display:none !important}#frm_style_sidebar .accordion-section-title::after,#frm_view_editor_left .accordion-section-title::after{content:""}a[href="#square_settings"] svg.frmsvg{width:23px !important;height:22px !important}#frm_square_test_setup_modal a:focus{box-shadow:none !important}@media only screen and (max-width: 900px){#square_settings .frm_grid_container:has(.frm-card-item){grid-template-columns:repeat(1, 1fr)}#square_settings .frm-card-item+.frm-card-item{margin-top:var(--gap-sm)}}.frm-coupons-upsell-wrapper{display:flex;flex-direction:column;align-items:center}.frm-coupons-upsell-wrapper p{margin-top:var(--gap-xs);max-width:364px;text-align:center}.frm-coupons-upsell-wrapper img{max-width:100%;max-height:300px}.frm-coupons-upsell-wrapper h2{margin-bottom:0}.frm-coupons-upsell{background-color:#f5f5f7;border-radius:16px;border:6px solid #fff;box-shadow:0 .471px 1.412px 0 rgba(16,24,40,.1),0 .471px .941px 0 rgba(16,24,40,.06);text-align:center;width:100%;box-sizing:border-box}.frm-main-coupons-upsell{margin-top:var(--gap-lg)}.frm-main-coupons-upsell img{vertical-align:bottom}.frm-secondary-coupons-upsells{margin-top:var(--gap-md);width:100%}#frm_sale_banner{display:flex;height:90px;flex-direction:row;align-items:center;gap:var(--gap-sm);cursor:pointer;position:relative}#frm_sale_banner>div:first-child{align-self:flex-end;width:150px;height:100%;display:flex;justify-content:center}#frm_sale_banner>div:first-child img{align-self:center}#frm_sale_banner>div:nth-child(3){margin-left:auto;margin-right:50px}#frm_sale_banner>div:nth-child(2)>div:last-child{opacity:.8}#frm_sale_banner a:not(.dismiss){text-shadow:none;border-radius:30px;border:1px rgba(0,0,0,0);font-size:var(--text-sm);padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;margin-bottom:0;display:inline-block;font-weight:700;background-color:#fff;color:#000}#frm_sale_banner .dismiss{position:absolute;color:#fff;opacity:.6;right:15px;top:10px}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: #fff"]{background-color:#f0f0f0 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(241, 90, 36, 1)"]{background-color:#e6470f !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(239, 58, 78, 1)"]{background-color:#ed1d34 !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(33, 2, 14, 1)"]{background-color:#3e041a !important}#frm_sale_banner:hover a:not(.dismiss)[style*="background-color: rgba(72, 51, 64, 1)"]{background-color:#362630 !important}.frm-get-free-templates-banner{flex-grow:1}.frm-get-free-templates-banner .frm-banner-image-wrapper{display:flex;justify-content:center;align-items:flex-end;background-color:var(--primary-25);padding:19px 14px 0;border-radius:var(--small-radius)}.frm-get-free-templates-banner[data-direction=vertical]{flex-direction:column;align-items:stretch;gap:12px}.frm-get-free-templates-banner[data-direction=vertical] .frm-banner-content{align-items:center;text-align:center}.frm-lookup-box-label{display:none}.frm-inline-modal[id^=frm-lookup-box]{background-color:rgba(0,0,0,0);border:0;box-shadow:none}.frm-inline-modal[id^=frm-lookup-box] .frm-nav-tabs,.frm-inline-modal[id^=frm-lookup-box] .dismiss{display:none}.frm_single_option a.frm_remove_tag svg,.frm_single_option a.frm_add_opt svg{width:15px;height:15px}#frm_builder_page #frm-options-panel .frm-single-settings.frm-type-ranking .frm_image_styling_frame{margin-left:12px} diff --git a/css/frm_blocks.css b/css/frm_blocks.css index dc55137a5b..d656ffcb55 100644 --- a/css/frm_blocks.css +++ b/css/frm_blocks.css @@ -44,12 +44,13 @@ .frm-block-intro-content .dashicons-feedback, .frm-block-intro-content .frm_white_label_icon { - width:120px; - height:120px; + width: 120px; + height: 120px; } -.frm-block-intro-content .dashicons-feedback:before, -.frm-block-intro-content .frm_white_label_icon:before { - font-size:120px; + +.frm-block-intro-content .dashicons-feedback::before, +.frm-block-intro-content .frm_white_label_icon::before { + font-size: 120px; } .frm-block-selector-screen { @@ -63,6 +64,7 @@ .frm-view-filter-component label { font-weight: 600; } + .frm-view-filter-component .components-radio-control__option { flex-wrap: wrap; } @@ -76,13 +78,16 @@ } .editor-styles-wrapper .frm_repeat_buttons i { + /* Avoid font-style: italic conflicts. The +/- icon should not be italic */ font-style: unset; } .editor-styles-wrapper .wp-block-post-content .with_frm_style .frm_repeat_buttons .frm_button { + /* Prevent blue anchor text in Add/Remove buttons */ color: var(--submit-text-color) !important; + /* Ensure consistent background color on focus for Add/Remove buttons */ background: var(--submit-bg-color) !important; } diff --git a/css/frm_fonts.css b/css/frm_fonts.css index 256a890fc0..a675708abd 100644 --- a/css/frm_fonts.css +++ b/css/frm_fonts.css @@ -1,65 +1,119 @@ /* dashboard icon */ -.frm_insert_form svg{ +.frm_insert_form svg { vertical-align: text-top; } -.wp-media-buttons-icon.dashicons-feedback{ +.wp-media-buttons-icon.dashicons-feedback { vertical-align: text-bottom !important; } -.wp-media-buttons-icon.dashicons-feedback:before { +.wp-media-buttons-icon.dashicons-feedback::before { content: "\f175" !important; } -.frm_inactive_menu{ - opacity:.5; +.frm_inactive_menu { + opacity: 0.5; } /* media box button */ -.wp-media-buttons .button.frm_insert_form{padding-left:5px;} +.wp-media-buttons .button.frm_insert_form { + padding-left: 5px; +} /* Upgrade notice */ -#frm_install_message{padding:7px;} -.frm_deauthorize_link .spinner{ - display:inline-block; - margin-top:0; - float:none; +#frm_install_message { + padding: 7px; +} + +.frm_deauthorize_link .spinner { + display: inline-block; + margin-top: 0; + float: none; +} + +.frm_plugin_updating { + line-height: 24px; } -.frm_plugin_updating{line-height:24px;} -.frm_plugin_updating .frm_spinner{float:left;display:block;visibility:visible;} -.frm_hidden, input.frm_hidden{display:none;} +.frm_plugin_updating .frm_spinner { + float: left; + display: block; + visibility: visible; +} + +.frm_hidden, +input.frm_hidden { + display: none; +} /* Admin Bar */ -#wpadminbar #wp-admin-bar-frm-forms > .ab-item .ab-icon:before{ - content:''; - background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1OTkuNjggNjAxLjM3IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPgoJCTxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0yODkuNiAzODRoMTQwdjc2aC0xNDB6Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTQwMC4yIDE0N2gtMjAwYy0xNyAwLTMwLjYgMTIuMi0zMC42IDI5LjNWMjE4aDI2MHYtNzF6TTM5Ny45IDI2NEgxNjkuNnYxOTZoNzVWMzQwSDM5OGEzMi4yIDMyLjIgMCAwIDAgMzAuMS0yMS40IDI0LjMgMjQuMyAwIDAgMCAxLjctOC43VjI2NHpNMjk5LjggNjAxLjRBMzAwLjMgMzAwLjMgMCAwIDEgMCAzMDAuN2EyOTkuOCAyOTkuOCAwIDEgMSA1MTEuOSAyMTIuNiAyOTcuNCAyOTcuNCAwIDAgMS0yMTIgODh6bTAtNTYzQTI2MiAyNjIgMCAwIDAgMzguMyAzMDAuN2EyNjEuNiAyNjEuNiAwIDEgMCA0NDYuNS0xODUuNSAyNTkuNSAyNTkuNSAwIDAgMC0xODUtNzYuOHoiLz4KCQkJPC9zdmc+") !important; - width:18px; - height:18px; - margin-top:3px; - float:left; - opacity:.8; +#wpadminbar #wp-admin-bar-frm-forms > .ab-item .ab-icon::before { + content: ""; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1OTkuNjggNjAxLjM3IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPgoJCTxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0yODkuNiAzODRoMTQwdjc2aC0xNDB6Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTQwMC4yIDE0N2gtMjAwYy0xNyAwLTMwLjYgMTIuMi0zMC42IDI5LjNWMjE4aDI2MHYtNzF6TTM5Ny45IDI2NEgxNjkuNnYxOTZoNzVWMzQwSDM5OGEzMi4yIDMyLjIgMCAwIDAgMzAuMS0yMS40IDI0LjMgMjQuMyAwIDAgMCAxLjctOC43VjI2NHpNMjk5LjggNjAxLjRBMzAwLjMgMzAwLjMgMCAwIDEgMCAzMDAuN2EyOTkuOCAyOTkuOCAwIDEgMSA1MTEuOSAyMTIuNiAyOTcuNCAyOTcuNCAwIDAgMS0yMTIgODh6bTAtNTYzQTI2MiAyNjIgMCAwIDAgMzguMyAzMDAuN2EyNjEuNiAyNjEuNiAwIDEgMCA0NDYuNS0xODUuNSAyNTkuNSAyNTkuNSAwIDAgMC0xODUtNzYuOHoiLz4KCQkJPC9zdmc+") !important; + width: 18px; + height: 18px; + margin-top: 3px; + float: left; + opacity: 0.8; } /* Popup shortcode builder */ -#frm_insert_form_content{margin:20px;} -#frm_popup_content .spinner{ +#frm_insert_form_content { + margin: 20px; +} + +#frm_popup_content .spinner { float: left; position: absolute; top: 16px; left: 300px; } -#frm_popup_content .media-frame .attachments-browser{overflow:scroll;} -#frm_popup_content .howto{display:block;} -#frm_popup_content .media-menu .active .howto, .media-menu .active:hover .howto{font-weight:normal;} -#frm_shortcode_options{padding:16px;} -#frm_shortcode_options .frm_left_label{ - float:left; - width:200px; -} -#frm_shortcode_options.media-embed .setting span{float:left;} -#frm_shortcode_options h4{margin:3px 0 0;} -#frm_popup_content .media-toolbar-primary{width:33% !important;} -#frm_popup_content .media-toolbar-secondary{width:60%;} -#frm_complete_shortcode{margin-top:15px;width:100%;} -.frm_box_line{border-bottom:1px solid #ddd;display:block;margin:15px 0 0;} \ No newline at end of file + +#frm_popup_content .media-frame .attachments-browser { + overflow: scroll; +} + +#frm_popup_content .howto { + display: block; +} + +#frm_popup_content .media-menu .active .howto, +.media-menu .active:hover .howto { + font-weight: 400; +} + +#frm_shortcode_options { + padding: 16px; +} + +#frm_shortcode_options .frm_left_label { + float: left; + width: 200px; +} + +#frm_shortcode_options.media-embed .setting span { + float: left; +} + +#frm_shortcode_options h4 { + margin: 3px 0 0; +} + +#frm_popup_content .media-toolbar-primary { + width: 33% !important; +} + +#frm_popup_content .media-toolbar-secondary { + width: 60%; +} + +#frm_complete_shortcode { + margin-top: 15px; + width: 100%; +} + +.frm_box_line { + border-bottom: 1px solid #ddd; + display: block; + margin: 15px 0 0; +} diff --git a/css/frm_grids.css b/css/frm_grids.css index 99c6db605f..4c867158c8 100644 --- a/css/frm_grids.css +++ b/css/frm_grids.css @@ -9,31 +9,32 @@ width: 1px; word-wrap: normal !important; /* many screen reader and browser combinations announce broken words as they would appear visually */ } -.frm_screen_reader.frm_hidden{ - display:initial; + +.frm_screen_reader.frm_hidden { + display: initial; } -.frm_clear_none{ - clear:none; +.frm_clear_none { + clear: none; } -.frm_clear{ - clear:both; +.frm_clear { + clear: both; } -.frm_form_field.frm_alignright{ - float:right !important; +.frm_form_field.frm_alignright { + float: right !important; } -.with_frm_style .frm_form_field{ - clear:both; +.with_frm_style .frm_form_field { + clear: both; } .frm_combo_inputs_container, .frm_grid_container, .frm_form_fields .frm_section_heading, -.frm_form_fields .frm_fields_container{ - display:grid; +.frm_form_fields .frm_fields_container { + display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: max-content; grid-gap: 0 2%; @@ -43,7 +44,7 @@ .frm_grid_container > *, .frm_section_heading > *, .frm_fields_container .frm_form_field, -.frm_fields_container > *{ +.frm_fields_container > * { grid-column: span 12 / span 12; } @@ -53,8 +54,8 @@ .frm_form_field.frm_inline, .frm_submit.frm_inline, .frm_form_field.frm_right_inline, -.frm_form_field.frm_last_inline{ - width:auto; +.frm_form_field.frm_last_inline { + width: auto; grid-column: span 2 / span 2; } @@ -68,8 +69,8 @@ .frm_form_field.frm_first_half, .frm_form_field.frm_last_half, .frm_form_field.frm_half, -.frm_submit.frm_half{ - grid-column:span 6 / span 6; +.frm_submit.frm_half { + grid-column: span 6 / span 6; } .frm4, @@ -82,8 +83,8 @@ .frm_submit.frm_third, .frm_form_field.frm_right_third, .frm_form_field.frm_first_third, -.frm_form_field.frm_last_third{ - grid-column:span 4 / span 4; +.frm_form_field.frm_last_third { + grid-column: span 4 / span 4; } .frm8, @@ -94,7 +95,7 @@ .frm_form_field.frm_right_two_thirds, .frm_form_field.frm_first_two_thirds, .frm_form_field.frm_last_two_thirds, -.frm_form_field.frm_two_thirds{ +.frm_form_field.frm_two_thirds { grid-column: span 8/span 8; } @@ -107,7 +108,7 @@ .frm_submit.frm_fourth, .frm_form_field.frm_right_fourth, .frm_form_field.frm_first_fourth, -.frm_form_field.frm_last_fourth{ +.frm_form_field.frm_last_fourth { grid-column: span 3/span 3; } @@ -116,7 +117,7 @@ .frm_form_field.frm_four_fifths, /* 5ths deprecated */ .frm_form_field.frm9, .frm_submit.frm9, -.frm_form_field.frm_three_fourths{ +.frm_form_field.frm_three_fourths { grid-column: span 9/span 9; } @@ -126,7 +127,7 @@ .frm_submit.frm_fifth, .frm_form_field.frm_right_fifth, .frm_form_field.frm_first_fifth, -.frm_form_field.frm_last_fifth{ +.frm_form_field.frm_last_fifth { grid-column: span 2/span 2; } @@ -137,13 +138,13 @@ .frm_form_field.frm_sixth, .frm_submit.frm_sixth, .frm_form_field.frm_first_sixth, -.frm_form_field.frm_last_sixth{ +.frm_form_field.frm_last_sixth { grid-column: span 2/span 2; } .frm10, .frm_form_field.frm10, -.frm_submit.frm10{ +.frm_submit.frm10 { grid-column: span 10/span 10; } @@ -158,41 +159,41 @@ .frm_form_field.frm_eighth, .frm_submit.frm_eighth, .frm_form_field.frm_first_eighth, -.frm_form_field.frm_last_eighth{ +.frm_form_field.frm_last_eighth { grid-column: span 1/span 1; } .frm5, .frm_form_field.frm5, -.frm_submit.frm5{ +.frm_submit.frm5 { grid-column: span 5/span 5; } .frm7, .frm_form_field.frm7, -.frm_submit.frm7{ +.frm_submit.frm7 { grid-column: span 7/span 7; } .frm11, .frm_form_field.frm11, -.frm_submit.frm11{ +.frm_submit.frm11 { grid-column: span 11/span 11; } .frm12, .frm_full, .frm_full .wp-editor-wrap, -.frm_full > input:not([type='checkbox']):not([type='radio']):not([type='button']), +.frm_full > input:not([type="checkbox"]):not([type="radio"]):not([type="button"]), .frm_full select, -.frm_full textarea{ - width:100% !important; +.frm_full textarea { + width: 100% !important; grid-column: span 12/span 12; box-sizing: border-box; } -.frm_full .wp-editor-wrap input{ - width:auto !important; +.frm_full .wp-editor-wrap input { + width: auto !important; } .frm_first, @@ -211,21 +212,21 @@ .frm_form_field.frm_first_seventh, .frm_form_field.frm_first_eighth, .frm_form_field.frm_first_inline, -.frm_form_field.frm_first{ - grid-column-start:1; +.frm_form_field.frm_first { + grid-column-start: 1; } .frm_last, .frm_form_field.frm_last, -.frm_form_field.frm_alignright{ - grid-column-end:-1; +.frm_form_field.frm_alignright { + grid-column-end: -1; justify-content: end; } /* RTL Grids */ -.with_frm_style.frm_rtl .frm_form_fields .star-rating{ - float:right; +.with_frm_style.frm_rtl .frm_form_fields .star-rating { + float: right; } .with_frm_style.frm_rtl .frm_grid .frm_primary_label, @@ -236,9 +237,9 @@ .with_frm_style.frm_rtl .frm_grid_odd .frm_radio, .with_frm_style.frm_rtl .frm_grid .frm_checkbox, .with_frm_style.frm_rtl .frm_grid_first .frm_checkbox, -.with_frm_style.frm_rtl .frm_grid_odd .frm_checkbox{ - float:right !important; - margin-right:0 !important; +.with_frm_style.frm_rtl .frm_grid_odd .frm_checkbox { + float: right !important; + margin-right: 0 !important; } .with_frm_style.frm_rtl .frm_grid_first .frm_radio label input, @@ -246,75 +247,75 @@ .with_frm_style.frm_rtl .frm_grid_odd .frm_radio label input, .with_frm_style.frm_rtl .frm_grid_first .frm_checkbox label input, .with_frm_style.frm_rtl .frm_grid .frm_checkbox label input, -.with_frm_style.frm_rtl .frm_grid_odd .frm_checkbox label input{ - float:left; +.with_frm_style.frm_rtl .frm_grid_odd .frm_checkbox label input { + float: left; } .with_frm_style.frm_rtl .frm_catlevel_2, .with_frm_style.frm_rtl .frm_catlevel_3, .with_frm_style.frm_rtl .frm_catlevel_4, -.with_frm_style.frm_rtl .frm_catlevel_5{ - margin-right:18px; +.with_frm_style.frm_rtl .frm_catlevel_5 { + margin-right: 18px; } -.with_frm_style.frm_rtl div > .frm_time_select{ - margin-right:5px; +.with_frm_style.frm_rtl div > .frm_time_select { + margin-right: 5px; } /* Left and right label styling for non-Formidable styling */ .frm_form_field.frm_inline_container, .frm_form_field.frm_right_container, -.frm_form_field.frm_left_container{ +.frm_form_field.frm_left_container { display: grid; grid-template-columns: 25% auto; - width:100%; + width: 100%; grid-auto-rows: min-content; } -.frm_form_field.frm_right_container{ +.frm_form_field.frm_right_container { grid-template-columns: auto 25%; } -.frm_form_field.frm_inline_container{ - grid-template-columns: repeat(2, minmax(auto, max-content) ); +.frm_form_field.frm_inline_container { + grid-template-columns: repeat(2, minmax(auto, max-content)); } .frm_form_field.frm_inline_container .frm_primary_label, .frm_form_field.frm_right_container .frm_primary_label, -.frm_form_field.frm_left_container .frm_primary_label{ - margin-right:10px; - grid-row:span 2/span 2; - padding-top:4px; +.frm_form_field.frm_left_container .frm_primary_label { + margin-right: 10px; + grid-row: span 2/span 2; + padding-top: 4px; } -.frm_form_field.frm_left_container .frm_primary_label{ - grid-column:1; - grid-row:span 2/span 2; /* cover a row for the description */ +.frm_form_field.frm_left_container .frm_primary_label { + grid-column: 1; + grid-row: span 2/span 2; /* cover a row for the description */ } -.frm_form_field.frm_right_container .frm_primary_label{ - grid-column:2; - grid-row:1; - margin-right:0; - margin-left:10px; +.frm_form_field.frm_right_container .frm_primary_label { + grid-column: 2; + grid-row: 1; + margin-right: 0; + margin-left: 10px; } .frm_form_field.frm_inline_container .frm_description, -.frm_form_field.frm_left_container .frm_description{ - grid-column:2; +.frm_form_field.frm_left_container .frm_description { + grid-column: 2; } -.frm_form_field.frm_right_container .frm_description{ - grid-column:1; +.frm_form_field.frm_right_container .frm_description { + grid-column: 1; } -.frm_conf_field.frm_left_container{ +.frm_conf_field.frm_left_container { grid-template-columns: 67%; } -.frm_conf_field.frm_left_container .frm_description{ - grid-column:1; +.frm_conf_field.frm_left_container .frm_description { + grid-column: 1; } /* End RTL Grids */ @@ -326,33 +327,47 @@ } @keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } + + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } } @keyframes fadeIn { - 0% {opacity: 0;} - 100% {opacity: 1;} + + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } } @media only screen and (max-width: 750px) { - .frm_grid_container.frm_no_grid_750 > div{ + + .frm_grid_container.frm_no_grid_750 > div { grid-column: span 12/span 12; } } @media only screen and (max-width: 600px) { + .frm_section_heading > .frm_form_field, .frm_fields_container > .frm_submit, .frm_grid_container > .frm_form_field, - .frm_fields_container > .frm_form_field{ + .frm_fields_container > .frm_form_field { grid-column: 1 / span 12 !important; } .frm_grid_container.frm_no_grid_600, .frm_form_field.frm_inline_container, .frm_form_field.frm_right_container, - .frm_form_field.frm_left_container{ - display:block; + .frm_form_field.frm_left_container { + display: block; } -} \ No newline at end of file +} diff --git a/css/frm_overlay.css b/css/frm_overlay.css index f61752a1cd..11bcafbdd3 100644 --- a/css/frm_overlay.css +++ b/css/frm_overlay.css @@ -1,35 +1,41 @@ .frm-overlay--wrapper { position: absolute; - top: 0; left: 0; + top: 0; + left: 0; width: 100%; min-height: 100%; z-index: 1002; - color:white; + color: white; } -.frm-overlay--wrapper:before { - content: ''; + +.frm-overlay--wrapper::before { + content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; - background: rgba( 16, 24, 40, 0.85 ); + background: rgba(16, 24, 40, 0.85); z-index: 1; } + .frm-overlay--close { position: absolute; - top: 32px; right: 32px; - z-index:10; - display:block; + top: 32px; + right: 32px; + z-index: 10; + display: block; width: 32px; height: 32px; - background: url( '../images/overlay/close-overlay.svg' ) no-repeat; + background: url("../images/overlay/close-overlay.svg") no-repeat; cursor: pointer; } + body.admin-bar:not(.frm-full-screen) .frm-overlay--close { - top:40px; + top: 40px; } + .frm-overlay--container { text-align: center; position: absolute; @@ -38,12 +44,13 @@ body.admin-bar:not(.frm-full-screen) .frm-overlay--close { right: 0; bottom: 0; margin: auto; - z-index:8; + z-index: 8; max-width: 468px; height: 260px; } + .frm-overlay--container .frm-overlay--heading { - margin-bottom: var( --gap-xs ); + margin-bottom: var(--gap-xs); font-weight: 600; color: white; } @@ -51,16 +58,17 @@ body.admin-bar:not(.frm-full-screen) .frm-overlay--close { .frm-overlay--container .frm-overlay--cta { margin-top: var(--gap-lg); justify-content: center; - gap: var( --gap-sm ); + gap: var(--gap-sm); } -.frm-overlay--container .frm-overlay--cta a:nth-child(2){ +.frm-overlay--container .frm-overlay--cta a:nth-child(2) { color: white; - background: var( --primary-color ); + background: var(--primary-color); } + .frm-overlay--hero-image, .frm-overlay--heading, .frm-overlay--copy, .frm-overlay--cta a { - opacity: 0.0; + opacity: 0; } diff --git a/css/frm_testing_mode.css b/css/frm_testing_mode.css index d0aa9df95e..56c3c82dc3 100644 --- a/css/frm_testing_mode.css +++ b/css/frm_testing_mode.css @@ -1,3 +1,3 @@ -:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129EFD 0%, #A334FD 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}/*! +:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1d2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98a2b3;--grey-300: #d0d5dd;--grey-200: #eaecf0;--grey-100: #f2f4f7;--grey-50: #f9fafb;--grey-25: #fcfcfd;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, 0.65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2b66a9;--primary-500: #4199fd;--primary-300: #80bbfe;--primary-200: #c0ddfe;--primary-50: #ecf5ff;--primary-25: #f5faff;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #b42318;--error-500: #f04438;--error-300: #fecdca;--error-100: #fee4e2;--error-25: #fff5f4;--green: rgb(63, 172, 37);--orange: #f15a24;--warning-500: #f79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054f31;--success-800: #065f46;--success-500: #12b76a;--success-100: #d1fae5;--success-200: #a6f4c5;--success-50: #ecfdf3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_toggle_opt{padding:0;white-space:normal;display:inline;vertical-align:middle;font-weight:400}.frm_on_label,.frm_off_label{color:var(--grey-700)}.frm_toggle{position:relative;display:inline-block;width:40px;height:var(--h-xs);vertical-align:middle}.frm_toggle_block{display:inline-flex !important;gap:var(--gap-xs);align-items:center}.frm_toggle input,.frm_toggle_block input{display:none !important}.frm_toggle_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grey-200);transition:.4s;border-radius:30px}.frm_toggle_slider::before{box-sizing:border-box;content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m10.063 3.938-6.126 6.124M3.938 3.938l6.124 6.124'/%3E%3C/svg%3E");position:absolute;left:2px;bottom:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:20px;background-color:#fff;border-radius:50%;transition:.4s;box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider{background-color:var(--primary-500)}input:focus+.frm_toggle .frm_toggle_slider{box-shadow:var(--box-shadow-md)}input:checked+.frm_toggle .frm_toggle_slider::before{transform:translateX(16px);content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%234199FD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.52 7.437 1.313 1.459L9.48 5.104'/%3E%3C/svg%3E")}input[disabled]+.frm_toggle_slider,input[disabled]+.frm_toggle .frm_toggle_slider{pointer-events:none;cursor:text;opacity:.5}.frm_toggle_opt~.frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before{content:"" !important}.rtl .frm_toggle_opt{padding:0 8px}.rtl .frm_toggle_slider::before{left:17px}.rtl input:checked+.frm_toggle .frm_toggle_slider::before{transform:none !important;left:1px}.frm_toggle_off,.frm_toggle_on{display:none;color:#fff;z-index:999;position:absolute;font-size:10px;line-height:20px;left:6px}.frm_toggle_off{display:inline;left:auto;right:5px;color:var(--dark-grey)}.frm_toggle_long{width:80% !important;height:28px;display:inline-block !important}.frm_toggle_long .frm_toggle_slider{background:var(--primary-700);box-shadow:0 0 0 2px var(--primary-700)}.frm_toggle_long .frm_toggle_off,.frm_toggle_long .frm_toggle_on{width:50%;text-align:center;font-size:13px;line-height:28px}.frm_toggle_long .frm_toggle_on{left:0}.frm_toggle_long .frm_toggle_off{right:0}.frm_toggle_long .frm_toggle_slider::before{width:50%;left:0;top:0;border-radius:var(--border-radius) 0 0 var(--border-radius);height:100%;background-color:#fff;color:var(--primary-color);content:"" !important}.frm_toggle_long input:checked+.frm_toggle_slider::before{transform:translateX(101%);border-radius:0 var(--border-radius) var(--border-radius) 0}input:checked+.frm_toggle_slider+.frm_toggle_on{display:inline}input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:none}.frm_toggle_long .frm_toggle_on,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on+.frm_toggle_off{display:inline;color:var(--primary-500);font-weight:400}.frm_toggle_long .frm_toggle_off,.frm_toggle_long input:checked+.frm_toggle_slider+.frm_toggle_on{color:#fff;font-weight:700}.frmdates_add_blackout_date_link,.frmdates_add_exception_link,.frm_form_field.frm_scroll_box .frm_opt_container,.frm-white-body .wrap input[type=text],.frm-white-body .wrap input[type=search],.frm-white-body .wrap input[type=number],.frm-white-body .wrap select,#frm-form-templates-modal select,.frm-white-body .wrap textarea,button.frm_choose_image_box,#titlediv input[type=text],.frm-fields button.btn,.frm_wrap textarea,.frm_wrap input[type=tel],.frm_wrap input[type=text],.frm_wrap input[type=email] .frm_wrap input[type=search],.frm_wrap input[type=number],.frm_wrap input[type=date],.frm_wrap select,.wp-admin .frm_wrap select,.field-group textarea,.field-group input[type=text],.field-group select,.frm-fields .frm-input-field{outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading)}.frm_input_with_suffix{border-radius:var(--small-radius);border:1px solid var(--grey-300);display:inline-block;padding-right:14px}.frm_input_with_suffix input{border:0 !important;padding-right:5px !important}.frm_wrap ::-webkit-datetime-edit{line-height:var(--leading)}.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) textarea:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) input:focus,.frm-white-body:not(.frm-admin-page-styles):not(.frm-admin-page-entries) select:focus,.frm_wrap input:focus,.frm_wrap select:focus,.wp-core-ui .frm_wrap select:focus,#frm-form-templates-modal select:focus,.frm-btn-group .multiselect.dropdown-toggle:focus,.frm_wrap textarea:focus{border-color:var(--primary-500) !important;box-shadow:none !important}.wp-admin .frm_fields_container textarea:focus,.wp-admin .frm_fields_container input:focus,.wp-admin .frm_fields_container select:focus{border-color:var(--primary-500);box-shadow:none}#postbox-container-2 textarea,.frm_wrap textarea,.field-group textarea{line-height:2}.frm_wrap input[type=number]{height:auto}.frm_wrap select{padding:2px}.wp-admin .frm_wrap select,#frm-form-templates-modal select{max-width:100%}.frm_form_field.frm_scroll_box .frm_opt_container{padding:10px 12px}.frm_wrap input[disabled],.frm_wrap select[disabled],.frm_wrap textarea[disabled],.frm_wrap input[readonly],.frm_wrap select[readonly],.frm_wrap textarea[readonly],.frm_wrap input::placeholder{color:var(--grey-500)}textarea[id^=frm_calc_]::placeholder{font-size:var(--text-sm);line-height:var(--leading);font-style:italic;color:var(--grey-400);padding-top:5px}.frm_wrap .frm-button-primary.frm-disabled{opacity:.5;cursor:default}#postcustomstuff table td>div{padding-top:0 !important}.wp-admin .frm_wrap .form-table select{vertical-align:top}.frm_wrap .frm_form_builder select{line-height:var(--leading);height:var(--text-md);width:100%}#postbox-container-2 select,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,#frm-form-templates-modal select{height:auto}.frm-white-body .tablenav select,.frm-white-body .tablenav input[type=text],.wp-admin .frm_wrap .tablenav select,.frm_wrap .tablenav input[type=date],.frm_wrap .tablenav input[type=text]{padding-top:0;padding-bottom:0;line-height:1}.frm_wrap .tablenav ::-webkit-datetime-edit{line-height:1}.frm-fields button.btn,.frm-fields textarea,.frm-fields input[type=text],.frm-fields select,.field-group textarea,.field-group input[type=text],.field-group select,.accordion-container input.hex,.frm-fields .frm-input-field{width:100%;outline:0}.frm-fields button.btn{height:var(--h-md);text-align:inherit}.global-font .field-group input[type=text]{width:auto}.frm_orange_button,.frm_reverse_button{font-size:12px;border:1px solid var(--orange);color:var(--orange);font-weight:600;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,0)}.frm_reverse_button:hover,.frm_reverse_button:active,.frm_reverse_button:focus{color:#fff;background:var(--orange);border:1px solid var(--orange)}.frm_reverse_button{font-size:1em;transition:all .2s ease}.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.wp-core-ui .button.frm-button-primary,.frm-button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-search .button,.frm-white-body .search-box .button,.frm-white-body .tablenav .button,.frm_orange_button,.toplevel_page_formidable #frm_upgrade_modal .button-primary,.wp-core-ui.frm-white-body .button-primary,.wp-core-ui.frm-white-body .button-secondary,.frm-white-body .button-primary,.frm-white-body .button-secondary,#frm-form-button button,.frm-form-button button,.frm-preview-buttons button,.frm-button-red,.frm-button-tertiary{text-shadow:none;box-shadow:none;border-radius:30px;border:1px solid var(--primary-500);font-size:var(--text-sm);transition:all .2s ease;padding:7px 16px;height:auto;min-height:28px;outline:none;line-height:var(--leading);box-sizing:border-box;font-weight:500;margin-bottom:0;display:inline-block}.frm-button-primary.frm-sharp,.frm-button-secondary.frm-sharp{border-radius:12px !important}#wpcontent .frm-button-secondary.frm-button-gradient{position:relative;border-color:rgba(0,0,0,0) !important;background-clip:padding-box !important}#wpcontent .frm-button-secondary.frm-button-gradient::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(90deg, #129efd 0%, #a334fd 100%);transition:opacity 150ms ease-out}#wpcontent .frm-button-secondary:hover::before{opacity:.5}.no-js.wp-core-ui .frm-search .button.hide-if-no-js,.js.wp-core-ui .frm-search .button.hide-if-js{display:none}.frm-button-tertiary{border-color:rgba(0,0,0,0);color:var(--primary-500)}.frm-button-tertiary:focus{outline:none}.frm-button-tertiary.frm_loading_button::before{border-right-color:var(--grey);border-bottom-color:var(--grey)}.frm-button-red,.frm-button-red:focus{--primary-color: var(--error-500);--primary-500: var(--error-500);--primary-700: var(--error-700)}.frm-button-red:not(.frm-button-tertiary),.frm-button-red:not(.frm-button-tertiary):focus{color:#fff !important}.frm-white-body h2 .button,.post-type-frm_display h2 .frm-button-primary,.frm-white-body .tablenav .button,.frm-button-primary.frm-button-sm,.frm-button-secondary.frm-button-sm,.frm-button-tertiary.frm-button-sm,.frm-button-red.frm-button-sm{padding:4px 12px !important;font-size:var(--text-xs) !important}.frm_no_style_button{background:rgba(0,0,0,0)}.frm-with-icon{display:flex;gap:var(--gap-xs);align-items:center}.frm-with-icon svg{opacity:.65}.frm-with-icon.button svg{height:var(--text-sm);width:var(--text-sm)}.frm-with-icon.frm-button-sm svg{height:var(--text-xs);width:var(--text-xs)}.frm-white-body .button.add_media{padding-left:12px !important;padding-right:12px !important;font-size:var(--text-xs);border-radius:var(--border-radius)}.wp-core-ui.frm-white-body #post-query-submit.button,.wp-core-ui.frm-white-body .button.tablenav-pages-navspan,.wp-core-ui.frm-white-body .button.first-page,.wp-core-ui.frm-white-body .button.prev-page,.wp-core-ui.frm-white-body .button.next-page,.wp-core-ui.frm-white-body .button.last-page,.wp-core-ui.frm-white-body .button.action{background-color:rgba(0,0,0,0);border-color:var(--grey-300);color:var(--grey-700);border-radius:var(--border-radius)}.post-type-frm_display.wp-core-ui .button-primary,.frm-button-primary,.wp-core-ui .button-primary.frm-button-primary,.frm_single_entry_page #frm-publishing .button-primary{background-color:var(--primary-500) !important;color:#fff !important}.frm-button-primary.frm_large,.frm-button-secondary.frm_large{height:auto !important;padding:12px 16px !important}.frm-button-secondary.frm-small,.frm-button-primary.frm-small{font-size:var(--text-xs) !important;height:auto !important;padding:var(--gap-2xs) 12px !important}.frm-button-primary i::before{color:#fff}.wp-core-ui .button-primary.frm-button-primary:not([disabled]):hover,.frm-button-primary:not([disabled]):hover{background:var(--primary-700) !important;border-color:var(--primary-700) !important}.wp-core-ui .button-primary.frm-button-primary:active{vertical-align:inherit}.frm-white-body #search-submit,#frm-form-button .frm_button_submit,.frm-form-button .frm_button_submit,.frm-white-body .frm-preview-buttons button,.frm-white-body .button:not(.frm-button-primary),.wp-core-ui.frm-white-body .button-secondary,.wp-core-ui .button-secondary.frm-button-secondary,.wp-core-ui .button.frm-button-secondary,.frm-white-body .frm-button-secondary,.frm-button-secondary{color:var(--grey-800);border-color:var(--grey-300);background-color:#fff}#wp-content-media-buttons button,#wp-content-media-buttons a.button{border-color:var(--grey-300)}.frm_orange_button{border-color:#da791d !important;background:var(--orange);color:#fff}.frm-white-body .button:not(.frm-button-primary):focus,.frm-white-body .button:not(.frm-button-primary):active,.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .frm-button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:hover,.wp-core-ui.frm-white-body .button-secondary:focus,.wp-core-ui.frm-white-body .tablenav .button:hover,.frm_wrap .preview>.button:hover,.frm-white-body #search-submit:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}.frm-button-primary .frmsvg{color:#fff}.frm_wrap .preview i{font-size:inherit}.frm-white-body .frm-button-primary:focus,.frm-white-body .frm-button-primary:active,#frm-addons-page .button-primary:focus,#form_global_settings .button-primary:focus,#frm_upgrade_modal .button-primary:focus{border-color:var(--primary-700) !important;background-color:var(--primary-700) !important;box-shadow:none !important;outline:none !important}.frm_wrap .preview>.button:focus,.frm_orange_button:hover,.frm_orange_button:focus,.toplevel_page_formidable #frm_upgrade_modal .button-primary:hover,.toplevel_page_formidable #frm_upgrade_modal .button-primary:focus,.toplevel_page_formidable .frm_wrap button.button-primary:hover,.toplevel_page_formidable .frm_wrap button.button-primary:focus{outline:none}.frm_orange_button:hover,.frm_orange_button:focus{border-color:var(--orange) !important;background:rgba(0,0,0,0);color:var(--orange);opacity:1}.major-publishing-actions.frm_create_form_header{padding:8px 0}.major-publishing-actions.frm_create_form_header .frm_create_form_header_inner{font-size:15px;background:rgba(0,0,0,0)}.frm-menu-boxes .frm_blank_form_text{padding-bottom:26px}input.frm_insert_in_template{font-size:10px;width:98%;font-weight:400}.frm-dismissible a.dismiss:focus{box-shadow:none}.frm-dismissible a.dismiss{top:10px;right:10px;position:absolute}.frm-dismissible a.dismiss svg{color:var(--grey-800)}.frm-btn-unstyled{font:inherit;background:none;border:none;padding:0;cursor:pointer;outline:inherit}.frm-btn-unstyled:hover,.frm-btn-unstyled:focus,.frm-btn-unstyled:active{text-decoration:none;background:none;border:none;box-shadow:none}.frm-btn-unstyled:disabled,.frm-btn-unstyled[disabled]{pointer-events:none;opacity:.65}/*! * Bootstrap v4.6.1 - */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961D5, #816CFA) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961D5, #E8ABEF) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}body.frm_preview_page .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}#frm_testing_mode{border-radius:1rem;background-color:#fff;border-color:rgba(0,0,0,.1019607843);border-width:1px;border-style:solid;padding:16px 20px;margin-bottom:40px;position:relative}#frm_testing_mode h2{font-size:18px;font-weight:600;color:#000;margin-bottom:0}#frm_testing_mode label{font-size:12px;font-weight:600}#frm_testing_mode label span.frm_toggle_opt{color:var(--grey-800);font-weight:600}#frm_testing_mode label:not(:first-child){margin-left:var(--gap-xs)}#frm_testing_mode a.frm_button{margin-left:auto;border-radius:20px;font-size:14px}#frm_testing_mode hr{color:unset;background:var(--grey-200);height:1px;border:none}#frm_testing_mode>div:nth-of-type(2){display:flex;align-items:center}#frm_testing_mode .multiselect.dropdown-toggle:after{border:none}#frm_testing_mode .frmsvg{width:11px;height:11px;margin-right:var(--gap-2xs);position:relative;top:1px}#frm_testing_mode .frm_toggle_block{gap:var(--gap-xs)}#frm_testing_mode label:not(.frm_toggle_block){margin-right:2px}#frm_testing_mode select{width:auto !important;min-height:auto !important;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);border-width:1px;padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;line-height:var(--leading);appearance:none;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}#frm_testing_mode select:focus{background-color:rgba(0,0,0,0) !important}#frm_testing_mode select,#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{border-radius:var(--medium-radius);font-size:12px;font-weight:600;height:30px}#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{padding-top:0;padding-bottom:0}#frm_testing_mode .multiselect-selected-text{position:relative;top:2px}#frm_testing_mode #frm_testmode_fill_in_empty_form_fields{background-color:var(--primary-500);color:#fff;padding:8px 18px}#frm_testing_mode .frm_help{vertical-align:top}#frm_testing_mode .frm-button-secondary:hover,#frm_testmode_disable_required_fields_modal .frm-button-secondary:hover,#frm_ai_autofill_error_modal .frm-button-secondary:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}#frm_testing_mode a,#frm_testmode_disable_required_fields_modal a,#frm_ai_autofill_error_modal a{text-decoration:none}#frm_testmode_disable_required_fields_modal p{font-size:16px}#frm_test_mode_pagination{display:inline-block;margin-left:var(--gap-xs)}#frm_test_mode_pagination input[type=button]{border:1px solid var(--grey-300);padding:8px 12px;border-radius:8px;font-size:12px;background-color:#fff}#frm_test_mode_pagination input[type=button].frm_test_mode_active_page{background-color:var(--primary-500);border-color:var(--primary-500);color:#fff}#frm_test_mode_pagination input[type=button]:not(.frm_noallow){cursor:pointer}#frm_testmode_start_over{position:absolute;right:20px;top:20px;background-color:#fff;color:var(--grey-800);border-radius:20px;padding:4px 12px;border-color:var(--grey-300);font-weight:600}#frm_testmode_start_over img{vertical-align:middle;position:relative;bottom:2px}.frm_noallow{opacity:.5}#frm_testmode_enabled_form_actions_container{vertical-align:middle;display:inline-block;max-width:200px}#frm_testmode_upgrade{border-radius:16px;padding:var(--gap-xs) var(--gap-sm);text-align:center;font-size:var(--text-xs);margin-top:var(--gap-sm);line-height:var(--text-xs);font-weight:500;text-decoration:none;display:block;margin-left:-20px;margin-right:-20px;margin-bottom:-16px;border-radius:0 0 16px 16px}.frm_warning_style:has(.frm-addon-button){display:flex;padding:var(--gap-sm);line-height:40px}.frm_warning_style .frm-addon-button,#frm_upgrade_modal a.frm-button-primary{text-decoration:none}#frm_upgrade_modal a.frm-button-primary{cursor:pointer}.frm-dialog{z-index:1001}.frm-dialog+.ui-widget-overlay{z-index:1000}@media(max-width: 1024px){#frm_testing_mode>div>label:not(#frm_quick_jump_label){width:100%;display:block !important;margin-left:0 !important}#frm_testing_mode>div>label:not(#frm_quick_jump_label){margin-top:var(--gap-sm)}#frm_testmode_fill_in_empty_form_fields{display:block}#frm_testing_mode>div:nth-of-type(2){flex-direction:column;align-items:normal}#frm_test_mode_pagination{margin-left:0}} + */.tooltip{position:absolute;display:block;margin:0;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0;z-index:9999999;pointer-events:none}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem;margin-left:0 !important}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.frm-dropdown-menu.show{display:block}.frm-single-settings .frm-dropdown-menu.show{background:#fff}.preview.dropdown .dropdown-menu{min-width:205px}.frm_clear{clear:both}.frm_clearfix::after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.frm_clearfix{display:block}.frm_admin_progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.frm_admin_progress_bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease;background-color:#04a4cc}.tooltip.frm_tooltip{position:fixed;top:auto !important;bottom:0 !important;left:0 !important;max-width:none;width:100% !important;z-index:99999}.tooltip.frm_tooltip.bottom{padding:0}.frm_tooltip .tooltip-inner{max-width:none;min-height:40px !important;text-align:left;box-shadow:5px 5px 25px rgba(0,0,0,.5);padding:10px 40px;border-top-color:#ccc;background:var(--sidebar-color);color:var(--grey-700);border-radius:0;opacity:1;font-size:var(--text-sm)}#frm_custom_css_box{width:100%}h1 .fa-caret-down{font-size:18px}.caret{display:inline-block;width:19px;height:9px;margin-right:-8px;vertical-align:middle}.caret,.wp-admin .frm_wrap select,.frm_wrap .frm_form_builder select,.frm_wrap .ui-autocomplete-input{background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}.caret{padding-right:var(--gap-xs) !important;background-position-x:5px}.frm-btn-group .caret{float:right;margin-top:calc(var(--text-md)/2)}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.frm_wrap .ui-autocomplete,#frm_adv_info.frm-dropdown-menu,.frm-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;padding-left:4px;padding-right:4px;margin:var(--gap-xs) 0 0;text-align:left;list-style:none;background:none;background-color:#fff;background-clip:padding-box;border:1px solid var(--grey-100);border-radius:.25rem;box-shadow:var(--box-shadow-lg);max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:var(--text-md);width:auto;min-width:160px}.frm6 .frm-dropdown-menu{min-width:100px;max-width:99%}#frm_bs_dropdown .frm-dropdown-menu{max-width:400px}.field_type_list .frm-dropdown-menu{min-width:150px !important}#frm_field_group_controls .frm-dropdown-menu,.frm-field-action-icons .frm-dropdown-menu{min-width:180px !important}.frm-field-action-icons .frm-dropdown-toggle svg,#frm_field_group_controls .frm-dropdown-toggle svg{color:#9ea9b8}.multiselect-container.frm-dropdown-menu,#search-submit .frm-dropdown-menu{min-width:200px !important}.preview .frm-dropdown-menu{min-width:230px !important}.frm-dropdown-menu.dropdown-menu-right{right:0;left:auto}.frm-dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.frm-dropdown-menu>.dropdown-item{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu .frm_dropdown_li{clear:both;font-weight:400;white-space:nowrap;text-decoration:none;border-radius:var(--small-radius)}.frm-dropdown-menu>.active>a,.frm-dropdown-menu>.active>a:hover,.frm-dropdown-menu>.active>a:focus{text-decoration:none;outline:0}.frm-select-list-item.disabled,.frm-dropdown-menu>.disabled>a,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{color:#999}.frm-select-list-item.disabled:hover,.frm-dropdown-menu>.disabled>a:hover,.frm-dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:rgba(0,0,0,0);background-image:none;cursor:not-allowed}.open>.frm-dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 10px;font-size:var(--text-xs);color:var(--grey-400)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.dropdown-menu-right>.frm-dropdown-menu,.pull-right>.frm-dropdown-menu{right:0;left:auto}.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.navbar-fixed-bottom .dropdown .frm-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.btn{border:1px solid #ddd;background:#fff;height:28px;line-height:var(--leading)}a.frm_option_icon::before{color:var(--primary-500);font-size:22px;width:22px;height:22px}a.frm_option_icon:focus::before,a.frm_option_icon:hover::before{color:var(--primary-700)}.frm_top_left .frm-dropdown-toggle{color:#999}.frm-card ol{margin-left:15px}.frm-dropdown-toggle{text-decoration:none}.frm-card .frm-dropdown-toggle{border:1px solid var(--grey-300);border-radius:var(--small-radius);font-size:13px;color:var(--grey-700);padding:7px 20px}.frm-dropdown-menu .frm_icon_font{vertical-align:middle;color:#5f6c72;margin-right:3px}.multiselect-container.frm-dropdown-menu{top:auto;left:auto;font-size:var(--text-sm);padding:4px;margin-bottom:3px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0;width:100%;max-width:250px}.multiselect-container button.multiselect-option{width:100%;text-align:left;border:none;margin-bottom:4px}.multiselect-container button.multiselect-option label{margin-left:5px}.accordion-container .multiselect-container label{padding:3px 19px 3px 7px}.frm-btn-group.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.frm-btn-group.btn-group,.frm-btn-group.btn-group-vertical{display:block}.multiselect-option label{max-width:calc(100% - 22px);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#frm_field_multiselect_popup{background:#fff;height:48px;position:fixed;border-radius:4px;box-shadow:0 8px 24px rgba(40,47,54,.15);color:rgba(40,47,54,.85);font-size:13px;right:30px;bottom:10px;z-index:2}#frm_field_multiselect_popup>div{display:inline-block;line-height:48px;vertical-align:top}#frm_field_multiselect_popup.frm-unmergable>.frm-merge-fields-into-row,#frm_field_multiselect_popup.frm-unmergable>.frm-multiselect-popup-separator{display:none}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator){padding:0 20px;cursor:pointer}#frm_field_multiselect_popup>div:not(.frm-multiselect-popup-separator):hover{background:rgba(245,245,245,.9607843137)}.frm-builder-popup-heading{font-weight:600;font-size:11px;line-height:15px;text-transform:uppercase;color:rgba(40,47,54,.45);margin-bottom:7px}.frm-builder-popup-subheading{font-size:12px;line-height:16px;color:rgba(40,47,54,.45)}#frm_field_group_popup input[type=text]{height:30px;border-radius:3px;font-size:14px;padding:8px;color:#545f6e;border-color:rgba(40,47,54,.2)}.frm-multiselect-popup-separator{height:36px;width:1px;position:relative;top:6px;background:#c4c4c4}.frm-sortable-helper,.frm-multiselect-key-is-down li.form-field:not(.edit_field_type_divider){pointer-events:none}.frm-sortable-helper{z-index:99}.frm_code_list a.button{display:block;text-align:center;font-size:11px;overflow:hidden}#frm-navbarDrop+.frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0;min-width:300px;max-height:256px}.frm_code_list.frm-full-hover li{margin:0}.frm-select-list-item,.frm_wrap .ui-autocomplete li>div,.multiselect-container button.multiselect-option,.frm-dropdown-menu>.dropdown-item>a,.frm-dropdown-menu>.dropdown-item>a:visited,.frm-dropdown-menu>.dropdown-item>a:link,.frm-dropdown-menu .frm_dropdown_li,.frm_code_list.frm-full-hover a{display:flex;color:var(--grey-700);padding:5px 10px;font-size:var(--text-md);gap:var(--gap-xs);align-items:center}.multiselect-container button.multiselect-option.disabled{opacity:.5}.frm_code_list.frm-full-hover a span{max-width:83px;margin-right:var(--gap-xs);margin-left:auto}.frm_code_list.frm-full-hover a{border-radius:var(--small-radius)}.frm_code_list.frm-full-hover a:not(#frm-insert-condition),.frm_code_list.frm-full-hover a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frm_code_list.frm-full-hover a:focus span:last-child{outline:1px solid var(--primary-500);outline-offset:var(--gap-2xs)}.frm_code_list.frm-full-hover.frmcenter a{display:block}#frm-layout-classes frm-full-hover a span{max-width:45%}.frm-select-list-item.active,.frm-select-list-item:hover,.frm_wrap .ui-autocomplete li div.ui-state-active,.frm_wrap .ui-autocomplete li.ui-state-focus,.multiselect-container button.multiselect-option.active,.multiselect-container button.multiselect-option:hover,.frm-dropdown-menu>.dropdown-item>a:hover,.frm_code_list.frm-full-hover a:hover span,.frm_code_list.frm-full-hover a:hover{background:var(--primary-25);color:var(--primary-500)}.frm-select-list-item .frmsvg,.frm-dropdown-menu>.dropdown-item>a .frmsvg{opacity:.8}.frm-select-list-item:hover .frmsvg,.frm-dropdown-menu>.dropdown-item>a:hover .frmsvg{opacity:1}.frm-dropdown-menu.frm_code_list>li>a{padding:3px 15px;width:300px}#frm_edit_box_content_modal .frm-with-search,.frm-dropdown-menu .frm-with-search{padding:var(--gap-xs) 10px 0}.frm-dropdown-menu .subsubsub{padding:0 10px}.frm_grid_container{overflow:visible}.frm_code_list.frm_grid_container{grid-gap:var(--gap-xs)}.frm_code_list.frm_grid_container li{width:auto;margin:0}.frm_code_list.frm_grid_container a{display:block;font-size:var(--text-md) !important;font-weight:500;text-align:center;color:var(--primary-500);background-color:var(--light-blue);border:1px solid var(--primary-300);border-radius:var(--small-radius);padding:10px 0;box-shadow:var(--box-shadow-sm)}.frm_code_list.frm_grid_container a:hover{background-color:var(--primary-500);color:#fff}.frm_code_list.frm_grid_container a:focus-visible{outline:2px solid var(--primary-500);outline-offset:-1px}.frm-single-settings .frm_code_list.frm-full-hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{padding:0;margin:var(--gap-xs) -10px 0}.frm-single-settings .frm_code_list.frm-full-hover>li>a,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a{font-size:var(--text-md);color:var(--grey-900);padding:var(--gap-xs) 12px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span{margin:0}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:first-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:first-child{max-width:130px}.frm-single-settings .frm_code_list.frm-full-hover>li>a span:last-child,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a span:last-child{max-width:120px;margin-left:auto}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover{font-weight:500}.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover .frmsvg,.frm-single-settings .frm_code_list.frm-full-hover>li>a:hover span,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover .frmsvg,#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover>li>a:hover span{color:var(--primary-500)}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover{margin:var(--gap-xs) 0 0}#frm_builder_page #frm_adv_info .frm_code_list.frm-full-hover a .frmsvg{width:20px;height:20px}#post-body-content+.frm-right-panel h3.accordion-section-title{padding:7px 10px 8px 14px;font-size:var(--text-md);color:var(--grey-700)}.frm-with-line,.accordion-section-content h4{font-size:var(--text-md);font-weight:400;margin:20px -20px 10px;padding:0 20px;color:var(--grey-700);position:relative;border:none !important}.frm-with-line span,.accordion-section-content h4 span{background:#fff;padding:0 var(--gap-xs);position:relative;display:inline-block;z-index:2}.accordion-section-content h4 span{background:var(--sidebar-color)}.frm-right-panel .frm-with-line span{background:var(--sidebar-color) !important;margin-left:-4px}.frm-right-panel .frm-inline-modal .frm-with-line span{background:#fff !important}.frm-with-line::before,.accordion-section-content h4::before{content:"";display:block;position:absolute;border-bottom:1px solid var(--grey-300);left:0;width:100%;top:50%}.control-section .accordion-section-title::after,.customize-pane-child .accordion-section-title::after{top:15px}.accordion-container .frm-dropdown-menu{min-width:40px}.frm-btn-group .multiselect.dropdown-toggle{box-sizing:border-box;min-height:unset;cursor:pointer}.accordion-container .frm-dropdown-menu::before,.accordion-container .multiselect.dropdown-toggle::before{font-family:"s11-fp" !important}.frm-search input[name=s],.frm-search .dropdown-toggle,.frm-search input.frm-search-input{color:var(--grey-800);border-color:var(--grey-300);border-radius:var(--small-radius);box-shadow:var(--box-shadow-xs)}.frm-search input[type=search],.frm-search input[type=text]{padding-left:var(--gap-lg) !important}.frm-search .dropdown-toggle{width:100%;float:none;max-width:200px;background:rgba(0,0,0,0);padding:7px;padding-left:33px !important;min-height:32px;text-align:inherit;overflow:hidden;text-overflow:ellipsis}.frm-search #search-submit a{color:var(--grey-800)}.frm-search #search-submit .caret{opacity:.7}.frm-white-body .search-box input[name=s],#wpwrap .frm-search input[type=search]{flex:1;font-size:var(--text-md);line-height:var(--text-xl);padding:var(--gap-xs)}span.multiselect-selected-text{white-space:nowrap;display:inline-block;max-width:calc(90% - var(--gap-xs));text-overflow:ellipsis;overflow:hidden}.frm_pro_tip,.frm-cta{justify-content:space-between;align-items:center;gap:var(--gap-2xl);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--small-radius);background:var(--primary-25)}.frm-cta.frm-cta-border{border:1px solid var(--primary-200)}.frm-cta.frm-cta-border .frm-cta-footer{background-color:#fff;padding:12px var(--gap-sm);border-top:1px solid var(--primary-200);border-bottom-left-radius:var(--small-radius);border-bottom-right-radius:var(--small-radius);margin-top:12px;margin-bottom:calc(-1*var(--gap-sm));margin-left:calc(-1*var(--gap-sm));margin-right:calc(-1*var(--gap-sm))}.frm-cta h4{font-weight:600;margin-top:0;margin-bottom:var(--gap-2xs)}.frm-cta-green{background-color:var(--success-25)}.frm-cta-green .frm-banner-title{gap:calc(var(--gap-2xs) + 1px);color:var(--grey-700)}.frm-cta-green.frm-cta-border{border-color:var(--success-100)}.frm-cta-green.frm-cta-border .frm-cta-footer{border-color:var(--success-100)}.frm-cta-red{background-color:var(--error-25)}.frm-cta-red.frm-cta-border{border-color:var(--error-100)}.frm-cta-icon{padding:3px 15px 3px 0;border-right:1px solid currentColor}#frm-upgrade-banner{gap:0}#frm-upgrade-banner .frm-cta-icon+.frm-cta-content{margin-right:auto;padding-left:15px}#frm-upgrade-banner.frm-gradient h4,#frm-upgrade-banner.frm-gradient p{color:currentColor}#frm-upgrade-banner.frm-gradient h4{font-size:16px;font-weight:600}#frm-upgrade-banner.frm-gradient p{font-size:14px}.frm-right-panel .inside .frm_pro_tip,.frm_pro_tip{color:var(--grey-700);background:#ffe7de;margin:0 auto;display:flex;gap:var(--gap-xs)}.frm_field_list .frm_pro_tip{margin:10px 15px;position:relative;width:calc(100% - 30px);box-sizing:border-box;font-size:14px}.frm_pro_tip .frmsvg,.frm_pro_tip i{color:var(--orange)}.frm-tip-info{flex:1;text-align:left}.frm-tip-cta{color:var(--orange)}.frm-gradient .frm-tip-cta,.frm-light-tip .frm-gradient .frm-tip-cta{color:currentColor;font-weight:700}.frm-tip-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:#1e63d5;background-color:#fff;line-height:1;border-radius:4px;padding:3px 4px}.frm-light-tip .frm_pro_tip{background:var(--primary-25)}.frm-light-tip .frm_pro_tip .frmsvg,.frm-light-tip .frm_pro_tip i,.frm-light-tip .frm-tip-cta{color:var(--primary-500)}.nav-tab-wrapper .frm_pro_tip{float:right}.frm-gradient,.frm-upgrade-bar{background:linear-gradient(90deg, #388cf3, #1961d5, #8c7fd8) !important;color:#fff !important;border:0 !important}.frm-gradient.frm-button-primary:not([disabled]),.frm-gradient.frm-button-primary:not([disabled]):hover,.frm-gradient.frm-button-primary:not([disabled]):focus{background:linear-gradient(90deg, #1961d5, #816cfa) !important}.frm-upgrade-bar,.frm-gradient{position:relative}.frm-upgrade-bar::before,.frm-gradient::before{content:"";display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,.1);z-index:0}.frm-upgrade-bar:hover::before,.frm-gradient:hover::before,.frm-gradient:focus::before{display:block}.frm-upgrade-bar-inner,.frm-gradient>*{position:relative;z-index:1}.frm-upgrade-bar{border-bottom:1px solid var(--sidebar-hover);padding:9px 0;font-size:12px;text-align:center}.frm-upgrade-bar a{color:currentColor !important;text-decoration:underline}.frm-upgrade-bar a:focus{outline:1px dotted var(--sidebar-hover)}.frm-upgrade-bar span{opacity:.9}.toplevel_page_formidable #wpbody-content>.error{margin:1px;padding:5px 12px}.frm_error_style,.frm_warning_style,.frm_note_style2,.frm_note_style,.frm_message,#post-body-content .frm_updated_message,div.frm_updated_message{border-radius:var(--small-radius);background-color:#d5f2dc;color:#1e561f;padding:var(--gap-sm) var(--gap-md);font-size:var(--text-sm);margin:var(--gap-sm) 0;text-align:left}.frm_note_style2{background:linear-gradient(90deg, #e9effa, #fcf6fe) padding-box,linear-gradient(90deg, #1961d5, #e8abef) border-box;border:1px solid rgba(0,0,0,0)}#frm_top_bar+.wrap>.frm_updated_message,#frm_top_bar+.wrap>.frm_warning_style{display:inline-block;width:100%;box-sizing:border-box}#post-body-content>.frm_updated_message{margin:5px 65px}#form_global_settings #post-body-content>.frm_updated_message,#form_global_settings #post-body-content>.frm_warning_style{margin:5px 25px}.frm_error_style{color:#973937;background-color:#ebcccc;clear:both}.frm_error_style a{text-decoration:underline;font-weight:600}.frm_error_style svg{opacity:.7}.frm_warning_style{color:#7a4d05;background-color:#fff2d2}.frm_warning_heading{font-weight:700;margin-bottom:4px}.frm_warning_style{position:relative;padding-right:calc(var(--gap-md) + 15px)}body.rtl .frm_warning_style{padding-right:var(--gap-md);padding-left:calc(var(--gap-md) + 15px)}.frm-warning-dismiss{position:absolute;top:10px;right:10px;display:flex;cursor:pointer;transition:opacity .2s ease-out}body.rtl .frm-warning-dismiss{left:10px;right:auto}.frm-warning-dismiss:hover{opacity:.8}.frm-warning-dismiss.frmsvg,.frm-warning-dismiss.frmsvg svg{width:15px;height:15px}.frm_note_style{background:rgba(188,224,253,.23);color:var(--grey-700)}.frm-banner-alert{text-align:left;margin:0;border-radius:0;padding:10px 0 10px 40px}.frm-banner-alert a{color:var(--primary-500);font-weight:400;text-decoration:none}.frm_updated_message ul,.frm_updated_message li,.frm_warning_style ul,.frm_warning_style li,.frm_error_style ul,.frm_error_style li{margin:0}.frm-inline-message{border:1px solid var(--primary-700);border-radius:var(--small-radius);color:var(--primary-700);background:#fff;text-align:center;padding:20px;font-size:var(--text-sm);line-height:var(--leading)}.frm-inline-message a{text-decoration:underline;font-weight:600;color:var(--primary-700)}.frm_pro_heading span{margin-top:10px}.frm_pro_heading .alignright{text-align:right}.frm-yes{color:var(--green);font-size:var(--text-xl)}.frm-nope{color:var(--grey-400);font-size:var(--text-xl)}.frm-modal:not(#frm-dismissable-cta) .postbox{max-height:600px;overflow:hidden;margin-bottom:0}.frm-modal .postbox .frm_modal_top,.frm-dialog .frm_common_modal .postbox>div:first-child,.frm-error-modal .frm_modal_top{padding:var(--gap-md) var(--gap-md) 0;position:relative}.frm-modal h2,.frm-modal .postbox .inside h2,.frm-modal .postbox .frm-modal-title,.frm-dialog .frm_common_modal .postbox>div:first-child>div:first-child,.frm-error-modal .frm-modal-title{display:inline-block;font-size:var(--text-lg);color:var(--grey-900);font-weight:600;margin:0;padding:0}.frm-modal h3{font-weight:500}.frm-inline-modal>a.dismiss,.frm-modal .postbox>a.dismiss,.frm-modal .postbox .frm-modal-title+div:last-child,.frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{position:absolute;top:19px;right:19px;display:flex;z-index:2}body.rtl .frm-inline-modal>a.dismiss,body.rtl .frm-modal .postbox>a.dismiss,body.rtl .frm-modal .postbox .frm-modal-title+div:last-child,body.rtl .frm-dialog .frm_common_modal .postbox>div:first-child>div:last-child{right:unset;left:30px}.frm-info-modal .postbox>a.dismiss,.frm-inline-modal>a.dismiss{right:13px;top:13px}.frm-modal .postbox .frm-modal-title+div:last-child a,.frm-modal a.dismiss .frmsvg,.frm_common_modal .frm_modal_top a .frmsvg{color:var(--grey-500)}.frm-modal .postbox .frm-modal-title+div:last-child a:hover,.frm-modal a.dismiss .frmsvg:hover,.frm_common_modal .frm_modal_top a .frmsvg:hover{color:var(--grey-700)}.frm-modal .frm_modal_content>div.inside,.frm_common_modal .frm_modal_content>div.inside{padding:var(--gap-md);margin:0;font-size:var(--text-sm);color:var(--grey-700)}.frm-modal p{color:var(--grey-900)}.frm_common_modal .postbox{display:flex;flex-direction:column}.frm-modal .postbox>div.inside .cta-inside{overflow-y:auto;height:auto}.frm_modal_footer{padding:0 var(--gap-md) var(--gap-sm);text-align:right}body.frm-body-with-open-modal{overflow-y:hidden}.frm-dialog{z-index:100;padding:0 !important;border-radius:16px;border:none;background-color:#fff;max-width:100% !important}.frm-dialog .postbox{background:rgba(0,0,0,0);box-shadow:none;border:none;line-height:var(--leading)}.frm-dialog input[type=text],.frm-dialog textarea{font-size:var(--text-md)}.frm-dialog textarea{height:75px}.frm-dialog button.frm-button-primary{margin-right:10px}.frm-dialog .frm-sub-label,.frm-sub-label{color:var(--grey);text-transform:none;padding-left:8px}h2 .frm-sub-label{font-size:var(--text-md)}.frm-views-editor-body .ui-widget-overlay,.frm-white-body .ui-widget-overlay,.toplevel_page_formidable .ui-widget-overlay,body[class*=formidable-payments] .ui-widget-overlay,body.plugins-php .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}.frm-circled-icon{width:60px;height:60px;border-radius:50%;background-color:var(--primary-25)}.frm-circled-icon-large{width:80px;height:80px}.frm-circled-icon-green{background-color:var(--success-50)}.frm-circled-icon .frmsvg{width:21px;height:24px}.frm-circled-icon .frmsvg.frm_svg32{width:32px !important;height:32px !important}.frm-circled-icon-large .frmsvg{width:24px}.frm-circled-icon .frmsvg use{color:var(--primary-500)}.frm-circled-icon-green .frmsvg use{color:var(--success-500)}.frm-border-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--grey-300);border-radius:var(--small-radius)}.frm-upgrade-message img{max-width:100%}.frm-inline-flex,#wpbody-content .frm-inline-flex{display:inline-flex}.frm-flex{display:flex}.frm-force-flex{display:flex !important}.frm_hidden,.js .frm-hide-js{display:none}.frm-flex-box{display:flex;gap:var(--gap-sm)}.frm-flex-col{display:flex;flex-direction:column}.frm-flex-full{flex:1}.frm-force-flex-center,.frm-flex-center{justify-content:center;align-items:center}.frm-flex-center{display:flex}.frm-force-flex-center{display:flex !important}.frm-shrink-0{flex-shrink:0}.frm-gap-0{gap:0 !important}.frm-gap-2xs{gap:var(--gap-2xs)}.frm-gap-xs{gap:var(--gap-xs)}.frm-gap-sm{gap:var(--gap-sm)}.frm-gap-md{gap:var(--gap-md)}.frm-gap-xl{gap:var(--gap-xl)}.frm-justify-start{justify-content:start !important}.frm-justify-center{justify-content:center !important}.frm-justify-between{justify-content:space-between}.frm-justify-end{justify-content:end}.frm-items-start{align-items:flex-start}.frm-items-center{align-items:center}.frm-items-stretch{align-items:stretch}.frm-self-normal{align-self:normal}#wpbody-content .frm-flex-wrap{flex-wrap:wrap}.frm-grow{flex-grow:1}.frm-order-first{order:-9999}.frm-order-last{order:9999}.frm-order-none{order:0}.frm-h-stack-sm,.frm-h-stack-xs,.frm-h-stack{display:flex !important;align-items:center}.frm-h-stack-sm>input[type=checkbox],.frm-h-stack-xs>input[type=checkbox],.frm-h-stack>input[type=checkbox],.frm-h-stack-sm>input[type=radio],.frm-h-stack-xs>input[type=radio],.frm-h-stack>input[type=radio]{margin:0 !important}.frm-h-stack{gap:var(--gap-2xs)}.frm-h-stack-xs{gap:var(--gap-xs)}.frm-h-stack-sm{gap:var(--gap-sm)}.frm-flex-row-reverse{flex-direction:row-reverse}.frm-info-modal a,.frm-info-modal ul,.frm-info-modal p,.frm-info-modal,.settings-lite-cta a,.settings-lite-cta ul,.settings-lite-cta{color:var(--grey-500);font-size:var(--text-md);box-shadow:none !important}.frm-info-modal h3,.settings-lite-cta h3{font-size:17px !important}.frm-green-icons .frmsvg{color:var(--green)}.frm-info-modal .postbox .inside,.settings-lite-cta .postbox .inside{padding:var(--gap-md);margin:0}.cta-inside a{color:var(--orange)}.info-modal-inside a.frm-standard-link{color:var(--primary-500)}.info-modal-inside a.frm-standard-link:hover{color:var(--primary-700)}.frm_no_p_margin>p{margin:0}.frm_spinner.frm-wait,.frm_spinner.spinner{float:left;visibility:hidden;margin:0 10px}.frm_visible_spinner.frm-wait,.frm_visible_spinner.spinner{visibility:visible;float:none}.frm_form_action_settings .frm_spinner.frm-wait,.frm_form_action_settings .frm_spinner.spinner{visibility:visible;float:none;vertical-align:bottom}.frm_form_action_settings .frm_loading{font-size:15px;text-align:center}.frm_ajax_settings_tab .frm-wait,.frm_ajax_settings_tab .spinner{visibility:visible;float:none;margin-top:20px}.wp-core-ui .frm_loading_button.button-primary.frm-button-primary,.frm_loading_button,.frm_loading_form.frm_button_submit{position:relative !important;opacity:.8;color:rgba(0,0,0,0) !important;text-shadow:none !important}.frm_loading_button:hover,.frm_loading_button:active,.frm_loading_button:focus,.frm_loading_form.frm_button_submit:hover,.frm_loading_form.frm_button_submit:active,.frm_loading_form.frm_button_submit:focus{cursor:not-allowed;color:rgba(0,0,0,0) !important;outline:none !important;box-shadow:none}.frm-wait{margin:20px;width:20px;height:20px;position:relative;display:inline-block}#frm-show-fields .frm-wait:only-child{position:absolute;left:50px;top:30px}.frm-wait::before,.frm_loading_button::before,.frm_loading_form.frm_button_submit::before{content:"";display:inline-block;position:absolute;background:rgba(0,0,0,0);border:1px solid #fff;border-top-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);border-radius:50%;box-sizing:border-box;top:50%;left:50%;margin-top:-10px;margin-left:-10px;width:20px;height:20px;animation:spin 2s linear infinite}.frm-wait::before{border-bottom-color:var(--primary-700);border-right-color:var(--primary-700)}.frm_loading_button.frm-button-secondary::before{border-bottom-color:var(--primary-500);border-right-color:var(--primary-500)}input[type=submit]:focus{outline:none !important}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.frmsvg{fill:currentColor;width:18px;height:18px;vertical-align:middle}body.frm_preview_page .ui-widget-overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background:var(--grey-500);opacity:.5;z-index:2}#frm_testing_mode{border-radius:1rem;background-color:#fff;border-color:rgba(0,0,0,.1019607843);border-width:1px;border-style:solid;padding:16px 20px;margin-bottom:40px;position:relative}#frm_testing_mode h2{font-size:18px;font-weight:600;color:#000;margin-bottom:0}#frm_testing_mode label{font-size:12px;font-weight:600}#frm_testing_mode label span.frm_toggle_opt{color:var(--grey-800);font-weight:600}#frm_testing_mode label:not(:first-child){margin-left:var(--gap-xs)}#frm_testing_mode a.frm_button{margin-left:auto;border-radius:20px;font-size:14px}#frm_testing_mode hr{color:unset;background:var(--grey-200);height:1px;border:none}#frm_testing_mode>div:nth-of-type(2){display:flex;align-items:center}#frm_testing_mode .multiselect.dropdown-toggle::after{border:none}#frm_testing_mode .frmsvg{width:11px;height:11px;margin-right:var(--gap-2xs);position:relative;top:1px}#frm_testing_mode .frm_toggle_block{gap:var(--gap-xs)}#frm_testing_mode label:not(.frm_toggle_block){margin-right:2px}#frm_testing_mode select{width:auto !important;min-height:auto !important;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);border-width:1px;padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;line-height:var(--leading);appearance:none;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;padding-right:var(--gap-lg) !important}#frm_testing_mode select:focus{background-color:rgba(0,0,0,0) !important}#frm_testing_mode select,#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{border-radius:var(--medium-radius);font-size:12px;font-weight:600;height:30px}#frm_testing_mode .btn-group button.multiselect.dropdown-toggle{padding-top:0;padding-bottom:0}#frm_testing_mode .multiselect-selected-text{position:relative;top:2px}#frm_testing_mode #frm_testmode_fill_in_empty_form_fields{background-color:var(--primary-500);color:#fff;padding:8px 18px}#frm_testing_mode .frm_help{vertical-align:top}#frm_testing_mode .frm-button-secondary:hover,#frm_testmode_disable_required_fields_modal .frm-button-secondary:hover,#frm_ai_autofill_error_modal .frm-button-secondary:hover{border-color:var(--grey-300) !important;color:var(--grey-800);background:var(--grey-50) !important;box-shadow:none !important;outline:none !important}#frm_testing_mode a,#frm_testmode_disable_required_fields_modal a,#frm_ai_autofill_error_modal a{text-decoration:none}#frm_testmode_disable_required_fields_modal p{font-size:16px}#frm_test_mode_pagination{display:inline-block;margin-left:var(--gap-xs)}#frm_test_mode_pagination input[type=button]{border:1px solid var(--grey-300);padding:8px 12px;border-radius:8px;font-size:12px;background-color:#fff}#frm_test_mode_pagination input[type=button].frm_test_mode_active_page{background-color:var(--primary-500);border-color:var(--primary-500);color:#fff}#frm_test_mode_pagination input[type=button]:not(.frm_noallow){cursor:pointer}#frm_testmode_start_over{position:absolute;right:20px;top:20px;background-color:#fff;color:var(--grey-800);border-radius:20px;padding:4px 12px;border-color:var(--grey-300);font-weight:600}#frm_testmode_start_over img{vertical-align:middle;position:relative;bottom:2px}.frm_noallow{opacity:.5}#frm_testmode_enabled_form_actions_container{vertical-align:middle;display:inline-block;max-width:200px}#frm_testmode_upgrade{padding:var(--gap-xs) var(--gap-sm);text-align:center;font-size:var(--text-xs);margin-top:var(--gap-sm);line-height:var(--text-xs);font-weight:500;text-decoration:none;display:block;margin-left:-20px;margin-right:-20px;margin-bottom:-16px;border-radius:0 0 16px 16px}.frm_warning_style:has(.frm-addon-button){display:flex;padding:var(--gap-sm);line-height:40px}.frm_warning_style .frm-addon-button,#frm_upgrade_modal a.frm-button-primary{text-decoration:none}#frm_upgrade_modal a.frm-button-primary{cursor:pointer}.frm-dialog{z-index:1001}.frm-dialog+.ui-widget-overlay{z-index:1000}@media(max-width: 1024px){#frm_testing_mode>div>label:not(#frm_quick_jump_label){width:100%;display:block !important;margin-left:0 !important}#frm_testing_mode>div>label:not(#frm_quick_jump_label){margin-top:var(--gap-sm)}#frm_testmode_fill_in_empty_form_fields{display:block}#frm_testing_mode>div:nth-of-type(2){flex-direction:column;align-items:normal}#frm_test_mode_pagination{margin-left:0}} diff --git a/css/packages/s11-floating-links.css b/css/packages/s11-floating-links.css index 05dfc7329d..d0b993ad93 100644 --- a/css/packages/s11-floating-links.css +++ b/css/packages/s11-floating-links.css @@ -72,7 +72,7 @@ } .s11-floating-links-nav-item::before { - content: ''; + content: ""; position: absolute; top: -4px; left: -6px; @@ -86,20 +86,20 @@ } .s11-floating-links-nav-item:hover::before { - background-color: var(--floating-links-bg-hover-color); + background-color: var(--floating-links-bg-hover-color); } .s11-floating-links-nav-text { font-size: 0.875rem; line-height: 1.25rem; - color: #1D2939; + color: #1d2939; font-weight: 500; z-index: 2; transition: color 240ms ease-out; } .s11-floating-links-nav-item:hover .s11-floating-links-nav-text { - color: var(--floating-links-hover-color); + color: var(--floating-links-hover-color); } .s11-floating-links-nav-icon { @@ -112,7 +112,7 @@ } .s11-floating-links-nav-item:hover .s11-floating-links-nav-icon > svg path { - stroke: var(--floating-links-hover-color); + stroke: var(--floating-links-hover-color); } .s11-fadein { @@ -130,10 +130,12 @@ } @keyframes fadeInUp { + 0% { opacity: 0; transform: translateY(20px); } + 100% { opacity: 1; transform: translateY(0); @@ -141,10 +143,12 @@ } @keyframes fadeOutDown { + 0% { opacity: 1; transform: translateY(0); } + 100% { opacity: 0; transform: translateY(20px); @@ -153,6 +157,7 @@ /* Breakpoints */ @media only screen and (max-width: 782px) { + .s11-floating-links { right: 20px; bottom: 20px; @@ -167,6 +172,7 @@ /* Inbox slide-in */ #frm_inbox_slide_in { position: fixed; + /* Use the same bottom/right values as floating links. */ bottom: 127px; right: 48px; @@ -177,19 +183,24 @@ z-index: 4; /* We want the pop up to appear above the license section in the dashboard. */ padding-bottom: 0; } + #frm_inbox_slide_in img { max-width: 100%; border-radius: var(--small-radius); } + #frm_inbox_slide_in .frm-button-primary { margin: auto; } + #frm_inbox_slide_in h3 { margin: 0; font-weight: 600; line-height: 1 !important; } + #frm_inbox_slide_in h3 + span { text-align: center; } + /* End Inbox slide-in */ diff --git a/eslint-rules/index.js b/eslint-rules/index.js new file mode 100644 index 0000000000..76f6e8f772 --- /dev/null +++ b/eslint-rules/index.js @@ -0,0 +1,15 @@ +'use strict'; + +const preferStrictComparison = require( './rules/prefer-strict-comparison' ); +const noRedundantUndefinedCheck = require( './rules/no-redundant-undefined-check' ); +const preferIncludes = require( './rules/prefer-includes' ); +const noTypeofUndefined = require( './rules/no-typeof-undefined' ); + +module.exports = { + rules: { + 'prefer-strict-comparison': preferStrictComparison, + 'no-redundant-undefined-check': noRedundantUndefinedCheck, + 'prefer-includes': preferIncludes, + 'no-typeof-undefined': noTypeofUndefined, + }, +}; diff --git a/eslint-rules/rules/no-redundant-undefined-check.js b/eslint-rules/rules/no-redundant-undefined-check.js new file mode 100644 index 0000000000..9be577f211 --- /dev/null +++ b/eslint-rules/rules/no-redundant-undefined-check.js @@ -0,0 +1,84 @@ +'use strict'; + +/** + * Checks if two AST nodes represent the same expression. + * + * @param {Object} a First AST node. + * @param {Object} b Second AST node. + * @param {Object} sourceCode The source code object. + * @return {boolean} Whether the nodes represent the same expression. + */ +function isSameExpression( a, b, sourceCode ) { + return sourceCode.getText( a ) === sourceCode.getText( b ); +} + +/** + * Checks if a node is an undefined check (x !== undefined or undefined !== x). + * + * @param {Object} node The AST node. + * @return {Object|null} The expression being checked, or null. + */ +function getUndefinedCheckExpression( node ) { + if ( node.type !== 'BinaryExpression' || node.operator !== '!==' ) { + return null; + } + + if ( node.right.type === 'Identifier' && node.right.name === 'undefined' ) { + return node.left; + } + + if ( node.left.type === 'Identifier' && node.left.name === 'undefined' ) { + return node.right; + } + + return null; +} + +module.exports = { + meta: { + type: 'suggestion', + docs: { + description: 'Disallow redundant undefined checks before truthy checks (e.g., `x !== undefined && x` simplifies to `x`).', + }, + fixable: 'code', + schema: [], + messages: { + redundant: 'The `!== undefined` check is redundant because the truthy check already covers it. Use just `{{expression}}`.', + }, + }, + + create( context ) { + const sourceCode = context.sourceCode; + + return { + LogicalExpression( node ) { + if ( node.operator !== '&&' ) { + return; + } + + const { left, right } = node; + + // Pattern: x !== undefined && x + const checkedExpression = getUndefinedCheckExpression( left ); + if ( checkedExpression === null ) { + return; + } + + if ( ! isSameExpression( checkedExpression, right, sourceCode ) ) { + return; + } + + context.report({ + node, + messageId: 'redundant', + data: { + expression: sourceCode.getText( right ), + }, + fix( fixer ) { + return fixer.replaceText( node, sourceCode.getText( right ) ); + }, + }); + }, + }; + }, +}; diff --git a/eslint-rules/rules/no-typeof-undefined.js b/eslint-rules/rules/no-typeof-undefined.js new file mode 100644 index 0000000000..84635d6f79 --- /dev/null +++ b/eslint-rules/rules/no-typeof-undefined.js @@ -0,0 +1,109 @@ +'use strict'; + +/** + * Checks if a node is a typeof expression. + * + * @param {Object} node The AST node. + * @return {boolean} Whether the node is a typeof expression. + */ +function isTypeofExpression( node ) { + return node.type === 'UnaryExpression' && node.operator === 'typeof'; +} + +/** + * Checks if a node is the string literal 'undefined'. + * + * @param {Object} node The AST node. + * @return {boolean} Whether the node is the string 'undefined'. + */ +function isUndefinedString( node ) { + return node.type === 'Literal' && node.value === 'undefined'; +} + +module.exports = { + meta: { + type: 'suggestion', + docs: { + description: 'Disallow comparing `typeof` against the string `"undefined"`. Use direct `=== undefined` comparison instead.', + }, + fixable: 'code', + schema: [], + messages: { + noTypeofUndefined: 'Compare directly against `undefined` instead of using `typeof` with the string `"undefined"`.', + }, + }, + + create( context ) { + const sourceCode = context.sourceCode; + + /** + * Checks if a variable name is declared in the current scope chain. + * Variables declared via var/let/const, function params, imports, and + * /*global* / comments all count as declared. + * + * @param {Object} astNode The AST node where the check occurs. + * @param {string} name The variable name to look up. + * @return {boolean} Whether the variable is declared. + */ + function isDeclaredVariable( astNode, name ) { + const scope = sourceCode.getScope( astNode ); + let current = scope; + + while ( current ) { + const variable = current.set.get( name ); + if ( variable && variable.defs.length > 0 ) { + return true; + } + + current = current.upper; + } + + return false; + } + + return { + BinaryExpression( node ) { + const { operator, left, right } = node; + + if ( operator !== '===' && operator !== '!==' && operator !== '==' && operator !== '!=' ) { + return; + } + + let typeofNode; + + // typeof x === 'undefined' or typeof x == 'undefined' + if ( isTypeofExpression( left ) && isUndefinedString( right ) ) { + typeofNode = left; + // 'undefined' === typeof x or 'undefined' == typeof x (yoda) + } else if ( isUndefinedString( left ) && isTypeofExpression( right ) ) { + typeofNode = right; + } else { + return; + } + + // Skip bare identifiers that are not declared in scope. + // typeof is the only safe way to check for undeclared globals + // (e.g., typeof frmProForm !== 'undefined') without a ReferenceError. + // Member expressions (e.g., typeof obj.prop) are always safe to convert. + const argument = typeofNode.argument; + if ( argument.type === 'Identifier' && ! isDeclaredVariable( node, argument.name ) ) { + return; + } + + const argumentText = sourceCode.getText( argument ); + const isEqual = operator === '===' || operator === '=='; + const replacement = isEqual + ? `${ argumentText } === undefined` + : `${ argumentText } !== undefined`; + + context.report({ + node, + messageId: 'noTypeofUndefined', + fix( fixer ) { + return fixer.replaceText( node, replacement ); + }, + }); + }, + }; + }, +}; diff --git a/eslint-rules/rules/prefer-includes.js b/eslint-rules/rules/prefer-includes.js new file mode 100644 index 0000000000..050594c6a4 --- /dev/null +++ b/eslint-rules/rules/prefer-includes.js @@ -0,0 +1,115 @@ +'use strict'; + +/** + * Checks if a node is the literal value -1. + * + * @param {Object} node The AST node. + * @return {boolean} Whether the node is -1. + */ +function isNegativeOne( node ) { + if ( node.type === 'UnaryExpression' && node.operator === '-' && node.argument.type === 'Literal' && node.argument.value === 1 ) { + return true; + } + + if ( node.type === 'Literal' && node.value === -1 ) { + return true; + } + + return false; +} + +/** + * Checks if a node is a .indexOf() call expression. + * + * @param {Object} node The AST node. + * @return {boolean} Whether the node is a .indexOf() call. + */ +function isIndexOfCall( node ) { + return ( + node.type === 'CallExpression' && + node.callee.type === 'MemberExpression' && + node.callee.property.type === 'Identifier' && + node.callee.property.name === 'indexOf' && + node.arguments.length === 1 + ); +} + +module.exports = { + meta: { + type: 'suggestion', + docs: { + description: 'Prefer `.includes()` over `.indexOf()` comparisons with -1, including yoda-style.', + }, + fixable: 'code', + schema: [], + messages: { + preferIncludes: 'Use `.includes()` instead of `.indexOf()` comparison with -1.', + }, + }, + + create( context ) { + const sourceCode = context.sourceCode; + + return { + BinaryExpression( node ) { + const { operator, left, right } = node; + + let indexOfNode; + let negativeOneNode; + let isNegated; + + // Detect: expr.indexOf(x) !== -1 / expr.indexOf(x) != -1 + // Detect: expr.indexOf(x) === -1 / expr.indexOf(x) == -1 + // Detect: expr.indexOf(x) > -1 + // Detect: expr.indexOf(x) >= 0 + // Detect: -1 !== expr.indexOf(x) / -1 != expr.indexOf(x) (yoda) + // Detect: -1 === expr.indexOf(x) / -1 == expr.indexOf(x) (yoda) + // Detect: -1 < expr.indexOf(x) (yoda for > -1) + + if ( isIndexOfCall( left ) && isNegativeOne( right ) ) { + indexOfNode = left; + negativeOneNode = right; + + if ( operator === '!==' || operator === '!=' || operator === '>' ) { + isNegated = false; + } else if ( operator === '===' || operator === '==' ) { + isNegated = true; + } else { + return; + } + } else if ( isNegativeOne( left ) && isIndexOfCall( right ) ) { + // Yoda style: -1 !== expr.indexOf(x) + indexOfNode = right; + negativeOneNode = left; + + if ( operator === '!==' || operator === '!=' || operator === '<' ) { + isNegated = false; + } else if ( operator === '===' || operator === '==' ) { + isNegated = true; + } else { + return; + } + } else if ( isIndexOfCall( left ) && right.type === 'Literal' && right.value === 0 && operator === '>=' ) { + // expr.indexOf(x) >= 0 + indexOfNode = left; + isNegated = false; + } else { + return; + } + + const objectText = sourceCode.getText( indexOfNode.callee.object ); + const argumentText = sourceCode.getText( indexOfNode.arguments[0] ); + const includesCall = `${ objectText }.includes( ${ argumentText } )`; + const replacement = isNegated ? `! ${ includesCall }` : includesCall; + + context.report({ + node, + messageId: 'preferIncludes', + fix( fixer ) { + return fixer.replaceText( node, replacement ); + }, + }); + }, + }; + }, +}; diff --git a/eslint-rules/rules/prefer-strict-comparison.js b/eslint-rules/rules/prefer-strict-comparison.js new file mode 100644 index 0000000000..62e487fbef --- /dev/null +++ b/eslint-rules/rules/prefer-strict-comparison.js @@ -0,0 +1,96 @@ +'use strict'; + +/** + * Checks if a string literal value is safe for strict comparison. + * A string is safe if it is non-empty and non-numeric. + * + * @param {string} value The raw string value (without quotes). + * @return {boolean} Whether the string is safe for strict comparison. + */ +function isSafeString( value ) { + if ( value === '' ) { + return false; + } + + if ( ! isNaN( Number( value ) ) ) { + return false; + } + + return true; +} + +/** + * Gets the raw string value from a Literal AST node. + * + * @param {Object} node The AST node. + * @return {string|null} The string value, or null if not a string literal. + */ +function getStringValue( node ) { + if ( node.type === 'Literal' && typeof node.value === 'string' ) { + return node.value; + } + + if ( node.type === 'TemplateLiteral' && node.expressions.length === 0 && node.quasis.length === 1 ) { + return node.quasis[0].value.cooked; + } + + return null; +} + +module.exports = { + meta: { + type: 'suggestion', + docs: { + description: 'Enforce strict equality (===, !==) when comparing against non-empty, non-numeric string literals.', + }, + fixable: 'code', + schema: [], + messages: { + useStrict: 'Use {{strict}} instead of {{loose}} when comparing to string "{{value}}".', + }, + }, + + create( context ) { + return { + BinaryExpression( node ) { + const { operator, left, right } = node; + + if ( operator !== '==' && operator !== '!=' ) { + return; + } + + const leftString = getStringValue( left ); + const rightString = getStringValue( right ); + + // At least one side must be a safe string literal. + if ( leftString === null && rightString === null ) { + return; + } + + const stringValue = leftString !== null ? leftString : rightString; + + if ( ! isSafeString( stringValue ) ) { + return; + } + + const strictOperator = operator === '==' ? '===' : '!=='; + + context.report({ + node, + messageId: 'useStrict', + data: { + strict: strictOperator, + loose: operator, + value: stringValue, + }, + fix( fixer ) { + return fixer.replaceTextRange( + [ left.range[1], right.range[0] ], + context.sourceCode.getText().slice( left.range[1], right.range[0] ).replace( operator, strictOperator ) + ); + }, + }); + }, + }; + }, +}; diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000000..addd0ce583 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,357 @@ +import babelParser from '@babel/eslint-parser'; +import wordpressPlugin from '@wordpress/eslint-plugin'; +import reactPlugin from 'eslint-plugin-react'; +import jsxA11yPlugin from 'eslint-plugin-jsx-a11y'; +import sonarjsPlugin from 'eslint-plugin-sonarjs'; +import cypressPlugin from 'eslint-plugin-cypress'; +import noJqueryPlugin from 'eslint-plugin-no-jquery'; +import compatPlugin from 'eslint-plugin-compat'; +import jsdocPlugin from 'eslint-plugin-jsdoc'; +import unicornPlugin from 'eslint-plugin-unicorn'; +import importPlugin from 'eslint-plugin-import'; +import formidablePlugin from './eslint-rules/index.js'; +import globals from 'globals'; + +export default [ + // Global ignores (replaces .eslintignore) + { + ignores: [ + '**/*.min.js', + '**/*.js.map', + 'js/formidable_blocks.js', + 'js/formidable_overlay.js', + 'js/form-templates.js', + 'js/formidable_dashboard.js', + 'js/onboarding-wizard.js', + 'js/addons-page.js', + 'js/formidable_styles.js', + 'js/formidable_admin.js', + 'js/bootstrap-multiselect.js', + 'js/formidable-settings-components.js', + 'js/formidable-web-components.js', + 'js/frm_testing_mode.js', + 'js/welcome-tour.js', + '*.config.js', + '*.config.mjs', + 'webpack*.js', + '**/node_modules/**', + '**/vendor/**', + '**/venv/**', + 'eslint-rules/**', + 'build/**', + 'coverage/**', + ], + }, + + // WordPress recommended-with-formatting preset + ...( wordpressPlugin.configs?.['flat/recommended-with-formatting'] ?? [] ), + + // Base config for all JS files + { + files: ['**/*.js', '**/*.jsx', '**/*.mjs'], + languageOptions: { + parser: babelParser, + parserOptions: { + requireConfigFile: false, + sourceType: 'module', + babelOptions: { + presets: ['@babel/preset-env', '@babel/preset-react'], + plugins: ['@babel/plugin-syntax-jsx'], + }, + ecmaFeatures: { + jsx: true, + }, + }, + globals: { + ...globals.browser, + ...globals.es2021, + ...globals.node, + ...globals.mocha, + wp: 'readonly', + wpApiSettings: 'readonly', + window: 'readonly', + document: 'readonly', + cy: 'readonly', + Cypress: 'readonly', + expect: 'readonly', + assert: 'readonly', + chai: 'readonly', + }, + }, + plugins: { + react: reactPlugin, + 'jsx-a11y': jsxA11yPlugin, + sonarjs: sonarjsPlugin, + cypress: cypressPlugin, + 'no-jquery': noJqueryPlugin, + compat: compatPlugin, + jsdoc: jsdocPlugin, + unicorn: unicornPlugin, + import: importPlugin, + formidable: formidablePlugin, + }, + settings: { + 'import/resolver': { + webpack: { + config: './webpack.config.js', + }, + }, + react: { + pragma: 'wp', + }, + }, + rules: { + // React recommended + ...reactPlugin.configs.recommended.rules, + // JSX a11y recommended + ...jsxA11yPlugin.configs.recommended.rules, + // Sonarjs recommended + ...( sonarjsPlugin.configs?.recommended?.rules ?? {} ), + // Cypress recommended + ...( cypressPlugin.configs?.recommended?.rules ?? {} ), + // No-jquery deprecated + ...( noJqueryPlugin.configs?.deprecated?.rules ?? {} ), + // Compat recommended + ...( compatPlugin.configs?.['flat/recommended']?.[0]?.rules ?? compatPlugin.configs?.recommended?.rules ?? {} ), + // Unicorn all + ...unicornPlugin.configs['flat/all'].rules, + + // Sonar overrides + 'sonarjs/cognitive-complexity': 'off', + // Add additional Sonar JS rules that are not included in the recommended preset. + 'sonarjs/no-inverted-boolean-check': 'error', + + // Cypress overrides + 'cypress/unsafe-to-chain-command': 'off', + 'cypress/no-assigning-return-values': 'off', + + // Core ESLint rules + 'camelcase': [ + 'error', + { + properties: 'never', + allow: [ + 'frm_admin_js', + 'frm_stripe_vars', + 'frm_trans_vars', + 'formidable_form_selector', + 'frm_js', + 'frm_password_checks', + 'formidable_block_calculator', + 'formidable_view_selector', + 'frmdates_admin_js', + 'frm_abdn', + ], + }, + ], + 'lines-around-comment': 'off', + 'vars-on-top': 'warn', + 'yoda': 'off', + 'linebreak-style': 'off', + 'object-shorthand': 'error', + 'no-unused-vars': 'off', + 'no-console': 'off', + 'eqeqeq': 'off', + 'no-alert': 'off', + 'no-undef': 'off', + 'no-shadow': 'off', + 'comma-dangle': 'off', + 'arrow-parens': ['error', 'as-needed'], + + // WordPress overrides + '@wordpress/no-global-active-element': 'off', + + // Prettier + 'prettier/prettier': 'off', + + // JSDoc + 'jsdoc/check-tag-names': 'error', + + // React overrides + 'react/display-name': 'off', + 'react/jsx-curly-spacing': [ + 'error', + { + when: 'always', + children: true, + }, + ], + 'react/jsx-equals-spacing': 'error', + 'react/jsx-indent': ['error', 'tab'], + 'react/jsx-indent-props': ['error', 'tab'], + 'react/jsx-key': 'error', + 'react/jsx-tag-spacing': 'error', + 'react/no-children-prop': 'off', + 'react/no-find-dom-node': 'warn', + 'react/prop-types': 'off', + 'react/jsx-no-target-blank': 'off', + + // Sonar overrides + 'sonarjs/no-duplicate-string': 'off', + 'sonarjs/prefer-single-boolean-return': 'off', + 'sonarjs/no-collapsible-if': 'off', + 'sonarjs/no-duplicated-branches': 'off', + 'sonarjs/no-nested-template-literals': 'off', + + // No-jquery overrides + 'no-jquery/no-ready-shorthand': 'off', + 'no-jquery/no-ajax-events': 'error', + 'no-jquery/no-animate-toggle': 'error', + 'no-jquery/no-bind': 'error', + 'no-jquery/no-box-model': 'error', + 'no-jquery/no-browser': 'error', + 'no-jquery/no-camel-case': 'error', + 'no-jquery/no-constructor-attributes': 'error', + 'no-jquery/no-contains': 'error', + 'no-jquery/no-deferred': 'error', + 'no-jquery/no-delegate': 'error', + 'no-jquery/no-error': 'error', + 'no-jquery/no-escape-selector': 'error', + 'no-jquery/no-extend': 'error', + 'no-jquery/no-fx-interval': 'error', + 'no-jquery/no-global-eval': 'error', + 'no-jquery/no-has': 'error', + 'no-jquery/no-hold-ready': 'error', + 'no-jquery/no-is-array': 'error', + 'no-jquery/no-is-empty-object': 'error', + 'no-jquery/no-is-function': 'error', + 'no-jquery/no-is-numeric': 'error', + 'no-jquery/no-is-plain-object': 'error', + 'no-jquery/no-is-window': 'error', + 'no-jquery/no-load': 'error', + 'no-jquery/no-load-shorthand': 'error', + 'no-jquery/no-map': 'error', + 'no-jquery/no-map-collection': 'error', + 'no-jquery/no-map-util': 'error', + 'no-jquery/no-merge': 'error', + 'no-jquery/no-node-name': 'error', + 'no-jquery/no-noop': 'error', + 'no-jquery/no-now': 'error', + 'no-jquery/no-other-utils': 'error', + 'no-jquery/no-param': 'error', + 'no-jquery/no-parse-json': 'error', + 'no-jquery/no-parse-xml': 'error', + 'no-jquery/no-proxy': 'error', + 'no-jquery/no-selector-prop': 'error', + 'no-jquery/no-sub': 'error', + 'no-jquery/no-trim': 'error', + 'no-jquery/no-type': 'error', + 'no-jquery/no-unique': 'error', + 'no-jquery/no-when': 'error', + + // Unicorn overrides + 'unicorn/filename-case': 'off', + 'unicorn/prefer-query-selector': 'off', + 'unicorn/no-null': 'off', + 'unicorn/prefer-module': 'off', + 'unicorn/explicit-length-check': 'off', + 'unicorn/better-regex': 'off', + 'unicorn/no-keyword-prefix': 'off', + 'unicorn/no-array-for-each': 'off', + 'unicorn/prevent-abbreviations': 'off', + 'unicorn/no-this-assignment': 'off', + 'unicorn/no-document-cookie': 'off', + 'unicorn/prefer-number-properties': 'off', + 'unicorn/prefer-spread': 'off', + 'unicorn/consistent-function-scoping': 'off', + 'unicorn/prefer-export-from': 'off', + 'unicorn/no-array-callback-reference': 'off', + 'unicorn/prefer-ternary': 'off', + 'unicorn/no-for-loop': 'off', + 'unicorn/no-array-reduce': 'off', + 'unicorn/prefer-at': 'off', + 'unicorn/consistent-destructuring': 'off', + 'unicorn/prefer-string-slice': 'off', + 'unicorn/catch-error-name': 'off', + 'unicorn/no-static-only-class': 'off', + 'unicorn/prefer-optional-catch-binding': 'off', + 'unicorn/no-lonely-if': 'off', + 'unicorn/prefer-set-has': 'off', + 'unicorn/prefer-switch': 'off', + 'unicorn/no-useless-switch-case': 'off', + 'unicorn/prefer-prototype-methods': 'off', + // Fix this soon + 'unicorn/prefer-dom-node-dataset': 'off', + // Look more into this one. + 'unicorn/numeric-separators-style': 'off', + // Look into this + 'unicorn/no-unsafe-regex': 'off', + // Consider this one. + 'unicorn/prefer-regexp-test': 'off', + 'unicorn/prefer-logical-operator-over-ternary': 'off', + // Maybe fix + 'unicorn/prefer-dom-node-text-content': 'off', + 'unicorn/empty-brace-spaces': 'off', + // Probably fix + 'unicorn/no-array-push-push': 'off', + 'unicorn/prefer-array-find': 'off', + 'unicorn/prefer-add-event-listener': 'off', + 'unicorn/text-encoding-identifier-case': 'off', + 'unicorn/prefer-string-replace-all': 'off', + 'unicorn/no-useless-promise-resolve-reject': 'off', + + // Whitespace cleanup + 'no-trailing-spaces': 'error', + 'no-multiple-empty-lines': ['error', { max: 1, maxEOF: 1, maxBOF: 0 }], + + // TODO: New breaking changes after updating to look into. + 'no-jquery/no-sizzle': 'off', + 'sonarjs/anchor-precedence': 'off', + 'sonarjs/class-name': 'off', + 'sonarjs/concise-regex': 'off', + 'sonarjs/constructor-for-side-effects': 'off', + 'sonarjs/duplicates-in-character-class': 'off', + 'sonarjs/empty-string-repetition': 'off', + 'sonarjs/inconsistent-function-call': 'off', + 'sonarjs/no-commented-code': 'off', + 'sonarjs/no-dead-store': 'off', + 'sonarjs/no-ignored-exceptions': 'off', + 'sonarjs/no-implicit-global': 'off', + 'sonarjs/no-invariant-returns': 'off', + 'sonarjs/no-nested-assignment': 'off', + 'sonarjs/no-nested-conditional': 'off', + 'sonarjs/no-nested-functions': 'off', + 'sonarjs/regex-complexity': 'off', + 'sonarjs/slow-regex': 'off', + 'sonarjs/todo-tag': 'off', + 'sonarjs/unused-import': 'off', + 'unicorn/consistent-existence-index-check': 'off', + 'unicorn/no-negated-condition': 'off', +// 'unicorn/no-typeof-undefined': 'error', + 'unicorn/prefer-global-this': 'off', + 'unicorn/prefer-string-raw': 'off', + 'unicorn/switch-case-braces': 'off', + + // Custom Formidable rules + 'formidable/prefer-strict-comparison': 'error', + 'formidable/no-redundant-undefined-check': 'error', + 'formidable/prefer-includes': 'error', + 'formidable/no-typeof-undefined': 'error', + }, + }, + + // Override for js/formidable.js + { + files: ['js/formidable.js'], + rules: { + 'no-jquery/no-find': 'error', + 'no-jquery/no-visibility': 'error', + 'no-jquery/no-slide': 'error', + 'no-jquery/no-css': 'error', + 'no-jquery/no-each': 'error', + 'no-jquery/no-append-html': 'error', + 'no-jquery/no-animate': 'error', + 'no-jquery/no-prop': 'error', + 'no-jquery/no-filter': 'error', + 'no-jquery/no-data': 'error', + 'no-jquery/no-parents': 'error', + 'no-jquery/no-val': 'error', + 'no-jquery/no-serialize': 'error', + 'no-jquery/no-class': 'error', + 'no-jquery/no-closest': 'error', + 'no-jquery/no-ajax': 'error', + 'no-jquery/no-fade': 'error', + 'no-jquery/no-is': 'error', + }, + }, +]; diff --git a/js/addons-page.js b/js/addons-page.js index e222a50642..c3660ddbaf 100644 --- a/js/addons-page.js +++ b/js/addons-page.js @@ -1 +1 @@ -(()=>{var t={8616:t=>{t.exports=function(t,e){var n,r,o=0;function i(){var i,a,c=n,l=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(a=0;a{var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(t){return function(t,e){var n,r,a,c,l,s,u,f,d,p=1,y=t.length,m="";for(r=0;r=0),c.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,c.width?parseInt(c.width):0);break;case"e":n=c.precision?parseFloat(n).toExponential(c.precision):parseFloat(n).toExponential();break;case"f":n=c.precision?parseFloat(n).toFixed(c.precision):parseFloat(n);break;case"g":n=c.precision?String(Number(n.toPrecision(c.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=c.precision?n.substring(0,c.precision):n;break;case"t":n=String(!!n),n=c.precision?n.substring(0,c.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=c.precision?n.substring(0,c.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=c.precision?n.substring(0,c.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?m+=n:(!o.number.test(c.type)||f&&!c.sign?d="":(d=f?"+":"-",n=n.toString().replace(o.sign,"")),s=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",u=c.width-(d+n).length,l=c.width&&u>0?s.repeat(u):"",m+=c.align?d+n+l:"0"===s?d+l+n:l+d+n)}return m}(function(t){if(c[t])return c[t];for(var e,n=t,r=[],i=0;n;){if(null!==(e=o.text.exec(n)))r.push(e[0]);else if(null!==(e=o.modulo.exec(n)))r.push("%");else{if(null===(e=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var a=[],l=e[2],s=[];if(null===(s=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(s[1]);""!==(l=l.substring(s[0].length));)if(null!==(s=o.key_access.exec(l)))a.push(s[1]);else{if(null===(s=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(s[1])}e[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return c[t]=r}(t),arguments)}function a(t,e){return i.apply(null,[t].concat(e||[]))}var c=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(r=function(){return{sprintf:i,vsprintf:a}}.call(e,n,e,t))||(t.exports=r))}()}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r](i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=window.frmGlobal,e=t.url,r=(t.nonce,"frm_hidden"),o="frm-hide-js",i="frm-current";function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function c(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=n,this.prepareElements()},e=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements(function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){t.applyStyleToElements(function(t,n){t.classList.remove("frm-animate"),t.style.transitionDelay=(n+1)*e+"s"})},200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements(function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(t){return t.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):0":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},j=["(","?"],E={")":["("],":":["?","?:"]},P=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var F={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};var I={contextDelimiter:"",onMissingKey:null};function D(t,e){var n;for(n in this.data=t,this.pluralForms={},this.options={},I)this.options[n]=void 0!==e&&n in e?e[n]:I[n]}function L(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function q(t){for(var e=1;e=0||_[o]<_[n]){a.push(o);break}i.push(o)}E[n]||a.push(n),t=t.substr(e.index+n.length)}return(t=t.trim())&&i.push(t),i.concat(a.reverse())}(t);return function(t){return function(t,e){var n,r,o,i,a,c,l=[];for(n=0;n3&&void 0!==arguments[3]?arguments[3]:10,a=t[e];if(B(n)&&z(r))if("function"==typeof o)if("number"==typeof i){var c={callback:o,priority:i,namespace:r};if(a[n]){var l,s=a[n].handlers;for(l=s.length;l>0&&!(i>=s[l-1].priority);l--);l===s.length?s[l]=c:s.splice(l,0,c),a.__current.forEach(function(t){t.name===n&&t.currentIndex>=l&&t.currentIndex++})}else a[n]={handlers:[c],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,o,i)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},$=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,o){var i=t[e];if(B(r)&&(n||z(o))){if(!i[r])return 0;var a=0;if(n)a=i[r].handlers.length,i[r]={runs:i[r].runs,handlers:[]};else for(var c=i[r].handlers,l=function(t){c[t].namespace===o&&(c.splice(t,1),a++,i.__current.forEach(function(e){e.name===r&&e.currentIndex>=t&&e.currentIndex--}))},s=c.length-1;s>=0;s--)l(s);return"hookRemoved"!==r&&t.doAction("hookRemoved",r,o),a}}},U=function(t,e){return function(n,r){var o=t[e];return void 0!==r?n in o&&o[n].handlers.some(function(t){return t.namespace===r}):n in o}},Z=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var o=t[e];o[r]||(o[r]={handlers:[],runs:0}),o[r].runs++;for(var i=o[r].handlers,a=arguments.length,c=new Array(a>1?a-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]=q(q(q({},R),r.data[e]),t),r.data[e][""]=q(q({},R[""]),r.data[e][""])},c=function(t,e){a(t,e),i()},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return r.data[t]||a(void 0,t),r.dcnpgettext(t,e,n,o,i)},s=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},u=function(t,e,r){var o=l(r,e,t);return n?(o=n.applyFilters("i18n.gettext_with_context",o,t,e,r),n.applyFilters("i18n.gettext_with_context_"+s(r),o,t,e,r)):o};if(n){var f=function(t){N.test(t)&&i()};n.addAction("hookAdded","core/i18n",f),n.addAction("hookRemoved","core/i18n",f)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},setLocaleData:c,resetLocaleData:function(t,e){r.data={},r.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var r=l(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+s(e),r,t,e)):r},_x:u,_n:function(t,e,r,o){var i=l(o,void 0,t,e,r);return n?(i=n.applyFilters("i18n.ngettext",i,t,e,r,o),n.applyFilters("i18n.ngettext_"+s(o),i,t,e,r,o)):i},_nx:function(t,e,r,o,i){var a=l(i,o,t,e,r);return n?(a=n.applyFilters("i18n.ngettext_with_context",a,t,e,r,o,i),n.applyFilters("i18n.ngettext_with_context_"+s(i),a,t,e,r,o,i)):a},isRTL:function(){return"rtl"===u("ltr","text direction")},hasTranslation:function(t,e,o){var i,a,c=e?e+""+t:t,l=!(null===(i=r.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[c]);return n&&(l=n.applyFilters("i18n.has_translation",l,t,e,o),l=n.applyFilters("i18n.has_translation_"+s(o),l,t,e,o)),l}}}(0,0,V));G.getLocaleData.bind(G),G.setLocaleData.bind(G),G.resetLocaleData.bind(G),G.subscribe.bind(G);var H=G.__.bind(G),Q=(G._x.bind(G),G._n.bind(G),G._nx.bind(G),G.isRTL.bind(G),G.hasTranslation.bind(G),window.frmDom),W=Q.tag,Y=Q.div,tt=Q.a,et=Q.img;function nt(t){return nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nt(t)}function rt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function ot(t,e,n){return(e=function(t){var e=function(t){if("object"!=nt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=nt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==nt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var it,at=document.getElementById("post-body-content"),ct=document.getElementById("".concat(h,"-sidebar")),lt=((it=tt({className:"button button-primary frm-button-primary"})).setAttribute("role","button"),Y({id:"".concat(h,"-empty-state"),className:"frm-flex-col frm-flex-center frm-gap-md ".concat(r),children:[et({src:"".concat(e,"/images/page-skeleton/empty-state.svg"),alt:H("Empty State","formidable")}),Y({className:"frmcenter",children:[W("h2",{className:"".concat(h,"-title frm-mb-0")}),W("p",{className:"".concat(h,"-text frm-mb-0")})]}),it]}));null==at||at.appendChild(lt);var st=function(){var t=document.querySelector("#".concat(h,"-empty-state"));return{emptyState:t,emptyStateTitle:null==t?void 0:t.querySelector(".".concat(h,"-title")),emptyStateText:null==t?void 0:t.querySelector(".".concat(h,"-text")),emptyStateButton:null==t?void 0:t.querySelector(".button")}}(),ut=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==O(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==O(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=w(w({},e),t)}}}(function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==vt(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var n=Reflect.get(e,t);return void 0===n?null:n},setState:function(t){if("object"!==vt(t)||null===t)throw new Error("setState: newState must be a non-null object");e=yt(yt({},e),t)},setSingleState:function(t,n){Reflect.has(e,t)&&Reflect.set(e,t,n)}}}({notEmptySearchText:!1,selectedCategory:g,selectedCategoryEl:bt}),gt=ht.getState,St=ht.getSingleState,wt=ht.setState,xt=ht.setSingleState,Ot=function(t){var e,n=t.currentTarget,r=n.getAttribute("data-category"),o=gt(),a=o.selectedCategory,c=o.selectedCategoryEl,l=o.notEmptySearchText;if(a!==r){a=wp.hooks.applyFilters("frmPage.selectedCategory",r),c.classList.remove(i),(c=n).classList.add(i),wt({selectedCategory:a,selectedCategoryEl:c}),l&&((e=ft().searchInput).value="",e.dispatchEvent(new Event("input",{bubbles:!0}))),wp.hooks.doAction("frmPage.onCategoryClick",a);var u=ft().bodyContent;new s(u).fadeIn()}};function _t(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),Ot(t))}var jt=window.frmAddonsVars.addonRequestURL,Et="frm-addons",Pt="available-addons",kt="active-addons",At="basic",Ct="plus",Tt="business",Ft="elite",It=ft(),Dt=It.bodyContent,Lt=It.sidebar;Dt&&Dt.querySelectorAll(".frm-card-item:not(.plugin-card-formidable-pro)").forEach(function(t){var e=t.dataset.categories;switch(!0){case e.includes(Tt):t.setAttribute("data-categories","".concat(e,",").concat(Ft));break;case e.includes(Ct):t.setAttribute("data-categories","".concat(e,",").concat(Tt,",").concat(Ft));break;case e.includes(At):t.setAttribute("data-categories","".concat(e,",").concat(Ct,",").concat(Tt,",").concat(Ft))}}),dt({upgradeBanner:document.getElementById("frm-upgrade-banner"),availableCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Pt,'"]')),activeCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(kt,'"]')),categoriesTopDivider:Lt.querySelector(".".concat(h,"-divider")),basicPlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(At,'"]')),plusPlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Ct,'"]')),businessPlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Tt,'"]')),elitePlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Ft,'"]')),addonsList:document.getElementById("".concat(Et,"-list")),addons:null==Dt?void 0:Dt.querySelectorAll(".frm-card-item"),availableAddons:null==Dt?void 0:Dt.querySelectorAll(".frm-card-item:not(.frm-locked-item)"),addonsToggle:null==Dt?void 0:Dt.querySelectorAll(".frm_toggle_block"),bodyContentChildren:null==Dt?void 0:Dt.children});var qt={};qt[Pt]=[],qt[kt]=[];var Rt,Nt=".".concat(h,"-cat-count");function zt(){var t=ft(),e=t.activeCategory,n=t.availableCategory,r=t.categoriesTopDivider,o=document.querySelectorAll(".frm-addon-active:not(.frm-locked-item)");0!==o.length?(qt[kt]=o,e.querySelector(Nt).textContent=o.length):m([e,n,r])}function Bt(){var t=gt().selectedCategory,e=ft(),n=e.emptyState,r=e.emptyStateButton,o=e.emptyStateTitle,i=e.emptyStateText;n.setAttribute("data-view",t),o.textContent=H("No add-ons found","formidable"),i.textContent=H("Sorry, we didn't find any add-ons that match your criteria.","formidable"),r.textContent=H("Request Add-On","formidable"),r.href=jt,r.setAttribute("target","_blank"),y([n,r])}function Mt(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,c=[],l=!0,s=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==e);l=!0);}catch(t){s=!0,o=t}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw o}}return c}}(t,e)||$t(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $t(t,e){if(t){if("string"==typeof t)return Ut(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ut(t,e):void 0}}function Ut(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,a=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return i=t.done,t},e:function(t){a=!0,o=t},f:function(){try{i||null==e.return||e.return()}finally{if(a)throw o}}}}(new Map([["frm-addon-not-installed",".frm-install-addon"],["frm-addon-installed",".frm-activate-addon"],["frm-addon-active",".frm-deactivate-addon"]]).entries());try{for(o.s();!(n=o.n()).done;){var i=Mt(n.value,2),a=i[0],c=i[1];if(r.classList.contains(a)){(Rt=r.querySelector(c)).click();break}}}catch(t){o.e(t)}finally{o.f()}}};var Kt=window.frmDom.search.init;function Xt(t,e){var n=t.foundSomething,r=t.notEmptySearchText;if(!e||"search"!==e.type||""!==e.target.value){var o=gt(),a=ft().allItemsCategory;xt("notEmptySearchText",r),o.notEmptySearchText||o.selectedCategory?(o.selectedCategory&&(function(t){var e=ft(),n=e.bodyContent,r=e.bodyContentChildren,o=e.addonsList;t&&St("selectedCategoryEl").classList.remove(i),m(r),v(o),new s(n).fadeIn()}(r),r&&xt("selectedCategory","")),function(t){if(t){var e,n=ft().emptyState;e=n,"none"!==window.getComputedStyle(e).getPropertyValue("display")&&b(n)}else Bt()}(n)):a.dispatchEvent(new Event("click",{bubbles:!0}))}}function Jt(){var t;ft().categoryItems.forEach(function(t){p(t,Ot),t.addEventListener("keydown",_t)}),wp.hooks.addAction("frmPage.onCategoryClick","frmAddonsPage",function(t){!function(t){var e=ft(),n=e.bodyContent,r=e.addons,o=e.emptyState,i=e.upgradeBanner;b(o),v(i),n.dataset.category=t,g!==t?(m(r),0===qt[t].length?(Bt(),b(i)):y(qt[t])):y(r)}(t)}),ft().addonsToggle.forEach(function(t){return t.addEventListener("click",Zt)}),wp.hooks.addAction("frm_update_addon_state","frmAddonPage",function(){zt()}),t=ft().searchInput,Kt(t,"frm-card-item",{handleSearchResult:Xt})}var Vt;Vt=function(){(function(){var t,e,n,r,i,a,c,l,u,f,d=ft(),p=d.sidebar,y=d.searchInput,m=d.bodyContent,b=new s(m);y.value="",zt(),function(){var t=ft(),e=t.bodyContent,n=t.availableCategory,r=t.availableAddons;if(qt[Pt]=r,n){n.querySelector(Nt).textContent=r.length;var o=e.querySelector(".".concat(Et,"-available-count"));o&&(o.textContent=r.length)}}(),function(){var t=ft(),e=t.allItemsCategory,n=t.addons;e.querySelector(Nt).textContent=n.length}(),e=(t=ft()).basicPlanCategory,n=t.plusPlanCategory,r=t.businessPlanCategory,i=t.elitePlanCategory,c=(a=function(t){return parseInt(t.querySelector(Nt).textContent,10)||0})(e),l=a(n)-1,u=a(r)-1,f=a(i)-1,n.querySelector(Nt).textContent=c+l,r.querySelector(Nt).textContent=c+l+u,i.querySelector(Nt).textContent=c+l+u+f,m.classList.remove(o),p.classList.remove(o),b.fadeIn(),v(p)})(),ft().addons.forEach(function(t){var e=t.getAttribute("data-categories");e&&e.split(",").forEach(function(e){qt[e]||(qt[e]=[]),qt[e].push(t)})}),Jt()},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",Vt):Vt())})()})(); \ No newline at end of file +(()=>{var t={8616:t=>{t.exports=function(t,e){var n,r,o=0;function i(){var i,a,c=n,l=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(a=0;a{var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(t){return function(t,e){var n,r,a,c,l,s,u,f,d,p=1,y=t.length,m="";for(r=0;r=0),c.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,c.width?parseInt(c.width):0);break;case"e":n=c.precision?parseFloat(n).toExponential(c.precision):parseFloat(n).toExponential();break;case"f":n=c.precision?parseFloat(n).toFixed(c.precision):parseFloat(n);break;case"g":n=c.precision?String(Number(n.toPrecision(c.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=c.precision?n.substring(0,c.precision):n;break;case"t":n=String(!!n),n=c.precision?n.substring(0,c.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=c.precision?n.substring(0,c.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=c.precision?n.substring(0,c.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?m+=n:(!o.number.test(c.type)||f&&!c.sign?d="":(d=f?"+":"-",n=n.toString().replace(o.sign,"")),s=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",u=c.width-(d+n).length,l=c.width&&u>0?s.repeat(u):"",m+=c.align?d+n+l:"0"===s?d+l+n:l+d+n)}return m}(function(t){if(c[t])return c[t];for(var e,n=t,r=[],i=0;n;){if(null!==(e=o.text.exec(n)))r.push(e[0]);else if(null!==(e=o.modulo.exec(n)))r.push("%");else{if(null===(e=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var a=[],l=e[2],s=[];if(null===(s=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(s[1]);""!==(l=l.substring(s[0].length));)if(null!==(s=o.key_access.exec(l)))a.push(s[1]);else{if(null===(s=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(s[1])}e[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return c[t]=r}(t),arguments)}function a(t,e){return i.apply(null,[t].concat(e||[]))}var c=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(r=function(){return{sprintf:i,vsprintf:a}}.call(e,n,e,t))||(t.exports=r))}()}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r](i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=window.frmGlobal,e=t.url,r=(t.nonce,"frm_hidden"),o="frm-hide-js",i="frm-current";function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function c(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=n,this.prepareElements()},e=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements(function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){t.applyStyleToElements(function(t,n){t.classList.remove("frm-animate"),t.style.transitionDelay=(n+1)*e+"s"})},200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements(function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(t){return t.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):0":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},j=["(","?"],E={")":["("],":":["?","?:"]},P=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var F={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};var I={contextDelimiter:"",onMissingKey:null};function D(t,e){var n;for(n in this.data=t,this.pluralForms={},this.options={},I)this.options[n]=void 0!==e&&n in e?e[n]:I[n]}function L(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function q(t){for(var e=1;e=0||_[o]<_[n]){a.push(o);break}i.push(o)}E[n]||a.push(n),t=t.substr(e.index+n.length)}return(t=t.trim())&&i.push(t),i.concat(a.reverse())}(t);return function(t){return function(t,e){var n,r,o,i,a,c,l=[];for(n=0;n3&&void 0!==arguments[3]?arguments[3]:10,a=t[e];if(B(n)&&z(r))if("function"==typeof o)if("number"==typeof i){var c={callback:o,priority:i,namespace:r};if(a[n]){var l,s=a[n].handlers;for(l=s.length;l>0&&!(i>=s[l-1].priority);l--);l===s.length?s[l]=c:s.splice(l,0,c),a.__current.forEach(function(t){t.name===n&&t.currentIndex>=l&&t.currentIndex++})}else a[n]={handlers:[c],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,o,i)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},$=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,o){var i=t[e];if(B(r)&&(n||z(o))){if(!i[r])return 0;var a=0;if(n)a=i[r].handlers.length,i[r]={runs:i[r].runs,handlers:[]};else for(var c=i[r].handlers,l=function(t){c[t].namespace===o&&(c.splice(t,1),a++,i.__current.forEach(function(e){e.name===r&&e.currentIndex>=t&&e.currentIndex--}))},s=c.length-1;s>=0;s--)l(s);return"hookRemoved"!==r&&t.doAction("hookRemoved",r,o),a}}},U=function(t,e){return function(n,r){var o=t[e];return void 0!==r?n in o&&o[n].handlers.some(function(t){return t.namespace===r}):n in o}},Z=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var o=t[e];o[r]||(o[r]={handlers:[],runs:0}),o[r].runs++;for(var i=o[r].handlers,a=arguments.length,c=new Array(a>1?a-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]=q(q(q({},R),r.data[e]),t),r.data[e][""]=q(q({},R[""]),r.data[e][""])},c=function(t,e){a(t,e),i()},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return r.data[t]||a(void 0,t),r.dcnpgettext(t,e,n,o,i)},s=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},u=function(t,e,r){var o=l(r,e,t);return n?(o=n.applyFilters("i18n.gettext_with_context",o,t,e,r),n.applyFilters("i18n.gettext_with_context_"+s(r),o,t,e,r)):o};if(n){var f=function(t){N.test(t)&&i()};n.addAction("hookAdded","core/i18n",f),n.addAction("hookRemoved","core/i18n",f)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},setLocaleData:c,resetLocaleData:function(t,e){r.data={},r.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var r=l(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+s(e),r,t,e)):r},_x:u,_n:function(t,e,r,o){var i=l(o,void 0,t,e,r);return n?(i=n.applyFilters("i18n.ngettext",i,t,e,r,o),n.applyFilters("i18n.ngettext_"+s(o),i,t,e,r,o)):i},_nx:function(t,e,r,o,i){var a=l(i,o,t,e,r);return n?(a=n.applyFilters("i18n.ngettext_with_context",a,t,e,r,o,i),n.applyFilters("i18n.ngettext_with_context_"+s(i),a,t,e,r,o,i)):a},isRTL:function(){return"rtl"===u("ltr","text direction")},hasTranslation:function(t,e,o){var i,a,c=e?e+""+t:t,l=!(null===(i=r.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[c]);return n&&(l=n.applyFilters("i18n.has_translation",l,t,e,o),l=n.applyFilters("i18n.has_translation_"+s(o),l,t,e,o)),l}}}(0,0,V));G.getLocaleData.bind(G),G.setLocaleData.bind(G),G.resetLocaleData.bind(G),G.subscribe.bind(G);var H=G.__.bind(G),Q=(G._x.bind(G),G._n.bind(G),G._nx.bind(G),G.isRTL.bind(G),G.hasTranslation.bind(G),window.frmDom),W=Q.tag,Y=Q.div,tt=Q.a,et=Q.img;function nt(t){return nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nt(t)}function rt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function ot(t,e,n){return(e=function(t){var e=function(t){if("object"!=nt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=nt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==nt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var it,at=document.getElementById("post-body-content"),ct=document.getElementById("".concat(h,"-sidebar")),lt=((it=tt({className:"button button-primary frm-button-primary"})).setAttribute("role","button"),Y({id:"".concat(h,"-empty-state"),className:"frm-flex-col frm-flex-center frm-gap-md ".concat(r),children:[et({src:"".concat(e,"/images/page-skeleton/empty-state.svg"),alt:H("Empty State","formidable")}),Y({className:"frmcenter",children:[W("h2",{className:"".concat(h,"-title frm-mb-0")}),W("p",{className:"".concat(h,"-text frm-mb-0")})]}),it]}));null==at||at.append(lt);var st=function(){var t=document.querySelector("#".concat(h,"-empty-state"));return{emptyState:t,emptyStateTitle:null==t?void 0:t.querySelector(".".concat(h,"-title")),emptyStateText:null==t?void 0:t.querySelector(".".concat(h,"-text")),emptyStateButton:null==t?void 0:t.querySelector(".button")}}(),ut=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==O(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==O(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=w(w({},e),t)}}}(function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==vt(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var n=Reflect.get(e,t);return void 0===n?null:n},setState:function(t){if("object"!==vt(t)||null===t)throw new Error("setState: newState must be a non-null object");e=yt(yt({},e),t)},setSingleState:function(t,n){Reflect.has(e,t)&&Reflect.set(e,t,n)}}}({notEmptySearchText:!1,selectedCategory:g,selectedCategoryEl:bt}),gt=ht.getState,St=ht.getSingleState,wt=ht.setState,xt=ht.setSingleState,Ot=function(t){var e,n=t.currentTarget,r=n.getAttribute("data-category"),o=gt(),a=o.selectedCategory,c=o.selectedCategoryEl,l=o.notEmptySearchText;if(a!==r){a=wp.hooks.applyFilters("frmPage.selectedCategory",r),c.classList.remove(i),(c=n).classList.add(i),wt({selectedCategory:a,selectedCategoryEl:c}),l&&((e=ft().searchInput).value="",e.dispatchEvent(new Event("input",{bubbles:!0}))),wp.hooks.doAction("frmPage.onCategoryClick",a);var u=ft().bodyContent;new s(u).fadeIn()}};function _t(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),Ot(t))}var jt=window.frmAddonsVars.addonRequestURL,Et="frm-addons",Pt="available-addons",kt="active-addons",At="basic",Ct="plus",Tt="business",Ft="elite",It=ft(),Dt=It.bodyContent,Lt=It.sidebar;Dt&&Dt.querySelectorAll(".frm-card-item:not(.plugin-card-formidable-pro)").forEach(function(t){var e=t.dataset.categories;switch(!0){case e.includes(Tt):t.setAttribute("data-categories","".concat(e,",").concat(Ft));break;case e.includes(Ct):t.setAttribute("data-categories","".concat(e,",").concat(Tt,",").concat(Ft));break;case e.includes(At):t.setAttribute("data-categories","".concat(e,",").concat(Ct,",").concat(Tt,",").concat(Ft))}}),dt({upgradeBanner:document.getElementById("frm-upgrade-banner"),availableCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Pt,'"]')),activeCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(kt,'"]')),categoriesTopDivider:Lt.querySelector(".".concat(h,"-divider")),basicPlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(At,'"]')),plusPlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Ct,'"]')),businessPlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Tt,'"]')),elitePlanCategory:Lt.querySelector(".".concat(h,'-cat[data-category="').concat(Ft,'"]')),addonsList:document.getElementById("".concat(Et,"-list")),addons:null==Dt?void 0:Dt.querySelectorAll(".frm-card-item"),availableAddons:null==Dt?void 0:Dt.querySelectorAll(".frm-card-item:not(.frm-locked-item)"),addonsToggle:null==Dt?void 0:Dt.querySelectorAll(".frm_toggle_block"),bodyContentChildren:null==Dt?void 0:Dt.children});var qt={};qt[Pt]=[],qt[kt]=[];var Rt,Nt=".".concat(h,"-cat-count");function zt(){var t=ft(),e=t.activeCategory,n=t.availableCategory,r=t.categoriesTopDivider,o=document.querySelectorAll(".frm-addon-active:not(.frm-locked-item)");0!==o.length?(qt[kt]=o,e.querySelector(Nt).textContent=o.length):m([e,n,r])}function Bt(){var t=gt().selectedCategory,e=ft(),n=e.emptyState,r=e.emptyStateButton,o=e.emptyStateTitle,i=e.emptyStateText;n.setAttribute("data-view",t),o.textContent=H("No add-ons found","formidable"),i.textContent=H("Sorry, we didn't find any add-ons that match your criteria.","formidable"),r.textContent=H("Request Add-On","formidable"),r.href=jt,r.setAttribute("target","_blank"),y([n,r])}function Mt(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,c=[],l=!0,s=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==e);l=!0);}catch(t){s=!0,o=t}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw o}}return c}}(t,e)||$t(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $t(t,e){if(t){if("string"==typeof t)return Ut(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ut(t,e):void 0}}function Ut(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,a=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return i=t.done,t},e:function(t){a=!0,o=t},f:function(){try{i||null==e.return||e.return()}finally{if(a)throw o}}}}(new Map([["frm-addon-not-installed",".frm-install-addon"],["frm-addon-installed",".frm-activate-addon"],["frm-addon-active",".frm-deactivate-addon"]]).entries());try{for(o.s();!(n=o.n()).done;){var i=Mt(n.value,2),a=i[0],c=i[1];if(r.classList.contains(a)){(Rt=r.querySelector(c)).click();break}}}catch(t){o.e(t)}finally{o.f()}}};var Kt=window.frmDom.search.init;function Xt(t,e){var n=t.foundSomething,r=t.notEmptySearchText;if(!e||"search"!==e.type||""!==e.target.value){var o=gt(),a=ft().allItemsCategory;xt("notEmptySearchText",r),o.notEmptySearchText||o.selectedCategory?(o.selectedCategory&&(function(t){var e=ft(),n=e.bodyContent,r=e.bodyContentChildren,o=e.addonsList;t&&St("selectedCategoryEl").classList.remove(i),m(r),v(o),new s(n).fadeIn()}(r),r&&xt("selectedCategory","")),function(t){if(t){var e,n=ft().emptyState;e=n,"none"!==window.getComputedStyle(e).getPropertyValue("display")&&b(n)}else Bt()}(n)):a.dispatchEvent(new Event("click",{bubbles:!0}))}}function Jt(){var t;ft().categoryItems.forEach(function(t){p(t,Ot),t.addEventListener("keydown",_t)}),wp.hooks.addAction("frmPage.onCategoryClick","frmAddonsPage",function(t){!function(t){var e=ft(),n=e.bodyContent,r=e.addons,o=e.emptyState,i=e.upgradeBanner;b(o),v(i),n.dataset.category=t,g!==t?(m(r),0===qt[t].length?(Bt(),b(i)):y(qt[t])):y(r)}(t)}),ft().addonsToggle.forEach(function(t){return t.addEventListener("click",Zt)}),wp.hooks.addAction("frm_update_addon_state","frmAddonPage",function(){zt()}),t=ft().searchInput,Kt(t,"frm-card-item",{handleSearchResult:Xt})}var Vt;Vt=function(){(function(){var t,e,n,r,i,a,c,l,u,f,d=ft(),p=d.sidebar,y=d.searchInput,m=d.bodyContent,b=new s(m);y.value="",zt(),function(){var t=ft(),e=t.bodyContent,n=t.availableCategory,r=t.availableAddons;if(qt[Pt]=r,n){n.querySelector(Nt).textContent=r.length;var o=e.querySelector(".".concat(Et,"-available-count"));o&&(o.textContent=r.length)}}(),function(){var t=ft(),e=t.allItemsCategory,n=t.addons;e.querySelector(Nt).textContent=n.length}(),e=(t=ft()).basicPlanCategory,n=t.plusPlanCategory,r=t.businessPlanCategory,i=t.elitePlanCategory,c=(a=function(t){return parseInt(t.querySelector(Nt).textContent,10)||0})(e),l=a(n)-1,u=a(r)-1,f=a(i)-1,n.querySelector(Nt).textContent=c+l,r.querySelector(Nt).textContent=c+l+u,i.querySelector(Nt).textContent=c+l+u+f,m.classList.remove(o),p.classList.remove(o),b.fadeIn(),v(p)})(),ft().addons.forEach(function(t){var e=t.getAttribute("data-categories");e&&e.split(",").forEach(function(e){qt[e]||(qt[e]=[]),qt[e].push(t)})}),Jt()},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",Vt):Vt())})()})(); \ No newline at end of file diff --git a/js/admin/applications.js b/js/admin/applications.js index ab61ddebf9..d9c4200cc1 100644 --- a/js/admin/applications.js +++ b/js/admin/applications.js @@ -231,7 +231,7 @@ addTemplatesToGrid( state.templates.filter( - template => -1 !== template.categories.indexOf( category ) + template => template.categories.includes( category ) ) ); } @@ -339,9 +339,9 @@ } function filterItemCount( counter, { data } ) { - const hasForms = 'undefined' !== typeof data.formCount && '0' !== data.formCount; - const hasViews = 'undefined' !== typeof data.viewCount && '0' !== data.viewCount; - const hasPages = 'undefined' !== typeof data.pageCount && '0' !== data.pageCount; + const hasForms = data.formCount !== undefined && '0' !== data.formCount; + const hasViews = data.viewCount !== undefined && '0' !== data.viewCount; + const hasPages = data.pageCount !== undefined && '0' !== data.pageCount; if ( ! hasForms && ! hasViews && ! hasPages ) { return counter; diff --git a/js/admin/deactivation-feedback.js b/js/admin/deactivation-feedback.js index 0318a4a0d0..32235c2117 100644 --- a/js/admin/deactivation-feedback.js +++ b/js/admin/deactivation-feedback.js @@ -6,7 +6,7 @@ let deactivationModal, deactivationUrl; const Modal = { - init: function( id, width ) { + init( id, width ) { const $info = jQuery( id ); const self = this; @@ -14,7 +14,7 @@ return false; } - if ( typeof width === 'undefined' ) { + if ( width === undefined ) { width = '550px'; } @@ -23,17 +23,17 @@ modal: true, autoOpen: false, closeOnEscape: true, - width: width, + width, resizable: false, draggable: false, - open: function() { + open() { jQuery( '.ui-dialog-titlebar' ).addClass( 'frm_hidden' ).removeClass( 'ui-helper-clearfix' ); jQuery( '#wpwrap' ).addClass( 'frm_overlay' ); jQuery( '.frm-dialog' ).removeClass( 'ui-widget ui-widget-content ui-corner-all' ); $info.removeClass( 'ui-dialog-content ui-widget-content' ); self.bindClickForDialogClose( $info ); }, - close: function() { + close() { jQuery( '#wpwrap' ).removeClass( 'frm_overlay' ); jQuery( '.spinner' ).css( 'visibility', 'hidden' ); @@ -50,7 +50,7 @@ return $info; }, - bindClickForDialogClose: function( $modal ) { + bindClickForDialogClose( $modal ) { const closeModal = function() { $modal.dialog( 'close' ); }; diff --git a/js/admin/dom.js b/js/admin/dom.js index a70930289d..3e13d1df67 100644 --- a/js/admin/dom.js +++ b/js/admin/dom.js @@ -3,7 +3,7 @@ let __; - if ( 'undefined' === typeof wp || 'undefined' === typeof wp.i18n || 'function' !== typeof wp.i18n.__ ) { + if ( 'undefined' === typeof wp || wp.i18n === undefined || 'function' !== typeof wp.i18n.__ ) { __ = text => text; } else { __ = wp.i18n.__; @@ -82,7 +82,7 @@ if ( args.buttonType ) { output.classList.add( 'button' ); - if ( ! args.noDismiss && -1 !== [ 'red', 'primary' ].indexOf( args.buttonType ) ) { + if ( ! args.noDismiss && [ 'red', 'primary' ].includes( args.buttonType ) ) { // Primary and red buttons close modals by default on click. // To disable this default behaviour you can use the noDismiss: 1 arg. output.classList.add( 'dismiss' ); @@ -109,9 +109,9 @@ }; const ajax = { - doJsonFetch: async function( action ) { + async doJsonFetch( action ) { let targetUrl = ajaxurl + '?action=frm_' + action; - if ( -1 === targetUrl.indexOf( 'nonce=' ) ) { + if ( ! targetUrl.includes( 'nonce=' ) ) { targetUrl += '&nonce=' + frmGlobal.nonce; } const response = await fetch( targetUrl ); @@ -121,7 +121,7 @@ } return Promise.resolve( json.data ); }, - doJsonPost: async function( action, formData, { signal } = {} ) { + async doJsonPost( action, formData, { signal } = {} ) { formData.append( 'nonce', frmGlobal.nonce ); const init = { method: 'POST', @@ -135,12 +135,12 @@ if ( ! json.success ) { return Promise.reject( json.data || 'JSON result is not successful' ); } - return Promise.resolve( 'undefined' !== typeof json.data ? json.data : json ); + return Promise.resolve( json.data !== undefined ? json.data : json ); } }; const multiselect = { - init: function() { + init() { const $select = jQuery( this ); const id = $select.is( '[id]' ) ? $select.attr( 'id' ).replace( '[]', '' ) : false; @@ -161,10 +161,10 @@ allSelectedText: '', // This is 3 by default. We want to show more options before it starts showing a count. numberDisplayed: 8, - onInitialized: function( _, $container ) { + onInitialized( _, $container ) { $container.find( '.multiselect.dropdown-toggle' ).removeAttr( 'title' ); }, - onDropdownShown: function( event ) { + onDropdownShown( event ) { const action = jQuery( event.currentTarget.closest( '.frm_form_action_settings, #frm-show-fields' ) ); if ( action.length ) { jQuery( '#wpcontent' ).on( 'click', function() { @@ -186,7 +186,7 @@ } ); }, - onChange: function( $option, checked ) { + onChange( $option, checked ) { $select.trigger( 'frm-multiselect-changed', $option, checked ); const $dropdown = $select.next( '.frm-btn-group.dropdown' ); @@ -205,7 +205,7 @@ }; const bootstrap = { - setupBootstrapDropdowns: function() { + setupBootstrapDropdowns() { // This function is no longer necessary. // It's call in Pro though, so keep it to avoid any errors for now. }, @@ -213,7 +213,7 @@ }; const autocomplete = { - initSelectionAutocomplete: function( container ) { + initSelectionAutocomplete( container ) { if ( jQuery.fn.autocomplete ) { autocomplete.initAutocomplete( 'page', container ); autocomplete.initAutocomplete( 'user', container ); @@ -228,7 +228,7 @@ * @param {string} type Type of data. Accepts `page` or `user`. * @param {string|Object} container Container class or element. Default is null. */ - initAutocomplete: function( type, container ) { + initAutocomplete( type, container ) { const basedUrlParams = '?action=frm_' + type + '_search&nonce=' + frmGlobal.nonce; const elements = ! container ? jQuery( '.frm-' + type + '-search' ) : jQuery( container ).find( '.frm-' + type + '-search' ); @@ -255,7 +255,7 @@ element.autocomplete( { delay: 100, minLength: 0, - source: source, + source, change: autocomplete.selectBlank, select: autocomplete.completeSelectFromResults, focus: () => false, @@ -264,7 +264,7 @@ at: 'left bottom', collision: 'flip' }, - response: function( event, ui ) { + response( event, ui ) { if ( ! ui.content.length ) { const noResult = { value: '', @@ -273,7 +273,7 @@ ui.content.push( noResult ); } }, - create: function() { + create() { let $container = jQuery( this ).parent(); if ( $container.length === 0 ) { @@ -298,7 +298,7 @@ } }, - selectBlank: function( e, ui ) { + selectBlank( e, ui ) { if ( ui.item === null ) { this.nextElementSibling.value = ''; @@ -311,7 +311,7 @@ } }, - completeSelectFromResults: function( e, ui ) { + completeSelectFromResults( e, ui ) { e.preventDefault(); this.value = ui.item.value === '' ? '' : ui.item.label; this.nextElementSibling.value = ui.item.value; @@ -391,7 +391,7 @@ item.setAttribute( 'frm-search-text', itemText ); } - const hide = notEmptySearchText && -1 === itemText.indexOf( searchText ); + const hide = notEmptySearchText && ! itemText.includes( searchText ); item.classList.toggle( 'frm_hidden', hide ); const isSearchResult = ! hide && notEmptySearchText; @@ -434,7 +434,7 @@ * @param {boolean|Object} options Options to be added to `addEventListener()` method. Default is `false`. */ documentOn: ( event, selector, handler, options ) => { - if ( 'undefined' === typeof options ) { + if ( options === undefined ) { options = false; } @@ -455,7 +455,7 @@ * Retrieves the value of a cookie by its name. * * @param {string} name - The name of the cookie. - * @return {string|null} The value of the cookie, or undefined if the cookie does not exist. + * @returns {string|null} The value of the cookie, or undefined if the cookie does not exist. */ getCookie: name => { const cookie = document.cookie.split( '; ' ).find( cookie => cookie.startsWith( `${ name }=` ) ); @@ -492,14 +492,14 @@ setUpTinyMceHtmlButtonListener(); function initQuickTagsButtons() { - if ( 'function' !== typeof window.quicktags || typeof window.QTags.instances[ editor.id ] !== 'undefined' ) { + if ( 'function' !== typeof window.quicktags || window.QTags.instances[ editor.id ] !== undefined ) { return; } const id = editor.id; window.quicktags( { name: 'qt_' + id, - id: id, + id, canvas: editor, settings: { id }, toolbar: document.getElementById( 'qt_' + id + '_toolbar' ), @@ -593,7 +593,7 @@ let element = modal.querySelector( '.' + uniqueClassName ); if ( null === element ) { element = div( { - child: child, + child, className: uniqueClassName } ); appendTo.append( element ); @@ -625,7 +625,7 @@ width: width || '550px', resizable: false, draggable: false, - open: function() { + open() { jQuery( '.ui-dialog-titlebar' ).addClass( 'frm_hidden' ).removeClass( 'ui-helper-clearfix' ); jQuery( '#wpwrap' ).addClass( 'frm_overlay' ); jQuery( '.frm-dialog' ).removeClass( 'ui-widget ui-widget-content ui-corner-all' ); @@ -648,7 +648,7 @@ ); } }, - close: function() { + close() { document.body.classList.remove( bodyWithModalClassName ); jQuery( '#wpwrap' ).removeClass( 'frm_overlay' ); jQuery( '.spinner' ).css( 'visibility', 'hidden' ); @@ -698,7 +698,7 @@ * @param {string} inputId * @param {string} labelText * @param {string} inputName - * @return {Element} The div element containing the label and input. + * @returns {Element} The div element containing the label and input. */ function labelledTextInput( inputId, labelText, inputName ) { const label = tag( 'label', labelText ); @@ -724,7 +724,7 @@ * * @param {string} type Element tag name. * @param {Object} args The args. - * @return {Object} The created DOM element. + * @returns {Object} The created DOM element. */ function tag( type, args = {} ) { const output = document.createElement( type ); @@ -785,7 +785,7 @@ * It then fades out and gets deleted automatically. * * @param {HTMLElement|string} content - * @return {void} + * @returns {void} */ function success( content ) { const container = document.getElementById( 'wpbody' ); @@ -828,7 +828,7 @@ }; function cleanNode( node ) { - if ( 'undefined' === typeof node.tagName ) { + if ( node.tagName === undefined ) { if ( '#text' === node.nodeName ) { return document.createTextNode( node.textContent ); } @@ -848,7 +848,7 @@ return svg( svgArgs ); } - if ( 'undefined' === typeof allowedHtml[ tagType ] ) { + if ( allowedHtml[ tagType ] === undefined ) { // Tag type is not allowed. return document.createTextNode( '' ); } diff --git a/js/admin/embed.js b/js/admin/embed.js index f6f6a377f2..30b40bdc9b 100644 --- a/js/admin/embed.js +++ b/js/admin/embed.js @@ -261,7 +261,7 @@ url: ajaxurl, data, dataType: 'json', - success: function( response ) { + success( response ) { if ( 'object' === typeof response && 'string' === typeof response.redirect ) { window.location.href = response.redirect; } @@ -423,7 +423,7 @@ exampleElement.readOnly = true; exampleElement.setAttribute( 'tabindex', -1 ); - if ( 'undefined' !== typeof link && 'undefined' !== typeof linkLabel ) { + if ( link !== undefined && linkLabel !== undefined ) { const linkElement = tag( 'a' ); linkElement.href = link; linkElement.textContent = linkLabel; @@ -503,7 +503,7 @@ * Can be used for any UI that requires a unique id. * Not to be used in data. * - * @return {number} The unique id. + * @returns {number} The unique id. */ function getAutoId() { return ++autoId; diff --git a/js/admin/legacy-views.js b/js/admin/legacy-views.js index cea9c65d16..c4978b01e9 100644 --- a/js/admin/legacy-views.js +++ b/js/admin/legacy-views.js @@ -113,7 +113,7 @@ } DOM = tinymce.DOM; - if ( typeof DOM.events !== 'undefined' && typeof DOM.events.add !== 'undefined' ) { + if ( DOM.events !== undefined && DOM.events.add !== undefined ) { DOM.events.add( DOM.select( '.wp-editor-wrap' ), 'mouseover', function() { if ( jQuery( '*:focus' ).length > 0 ) { return; @@ -240,7 +240,7 @@ form_id: formId, nonce: frmGlobal.nonce }, - success: function( html ) { + success( html ) { jQuery( '#frm_adv_info .categorydiv' ).html( html ); } } ); @@ -253,7 +253,7 @@ form_id: formId, nonce: frmGlobal.nonce }, - success: function( html ) { + success( html ) { jQuery( document.getElementById( 'date_select_container' ) ).html( html ); } } ); @@ -271,7 +271,7 @@ /*jshint validthis:true */ const link = jQuery( this ); const t = link.attr( 'href' ); - if ( typeof t === 'undefined' ) { + if ( t === undefined ) { return false; } @@ -295,7 +295,7 @@ order_key: getNewRowId( logicRows, 'frm_order_field_', 1 ), nonce: frmGlobal.nonce }, - success: function( html ) { + success( html ) { jQuery( '#frm_order_options .frm_logic_rows' ).append( html ).show().prev( '.frm_add_order_row' ).hide(); } } ); @@ -312,7 +312,7 @@ where_key: getNewRowId( rowDivs, 'frm_where_field_', 1 ), nonce: frmGlobal.nonce }, - success: function( html ) { + success( html ) { jQuery( '#frm_where_options .frm_logic_rows' ).append( html ).show().prev( '.frm_add_where_row' ).hide(); } } ); @@ -332,7 +332,7 @@ field_id: value, nonce: frmGlobal.nonce }, - success: function( html ) { + success( html ) { jQuery( document.getElementById( 'where_field_options_' + whereKey ) ).html( html ); } } ); @@ -352,14 +352,14 @@ function getNewRowId( rows, replace, defaultValue ) { if ( ! rows.length ) { - return 'undefined' !== typeof defaultValue ? defaultValue : 0; + return defaultValue !== undefined ? defaultValue : 0; } return parseInt( rows[ rows.length - 1 ].id.replace( replace, '' ), 10 ) + 1; } function toggleAllowedShortcodes( id ) { let c, clickedID; - if ( typeof id === 'undefined' ) { + if ( id === undefined ) { id = ''; } c = id; @@ -372,7 +372,7 @@ const $ele = jQuery( document.getElementById( id ) ); if ( $ele.attr( 'class' ) && id !== 'wpbody-content' && id !== 'content' && id !== 'dyncontent' && id !== 'success_msg' ) { let d = $ele.attr( 'class' ).split( ' ' )[ 0 ]; - if ( d === 'frm_long_input' || d === 'frm_98_width' || typeof d === 'undefined' ) { + if ( d === 'frm_long_input' || d === 'frm_98_width' || d === undefined ) { d = ''; } else { id = d.trim(); diff --git a/js/admin/style.js b/js/admin/style.js index f66106b7e5..0a5e32e4bb 100644 --- a/js/admin/style.js +++ b/js/admin/style.js @@ -38,7 +38,7 @@ * These are shared events for both the edit/list views like the sample form toggle. * This includes preview events, but also the update button click event handling for both views. * - * @return {void} + * @returns {void} */ function initCommonEventListeners() { document.addEventListener( 'click', handleCommonClickEvents ); @@ -49,7 +49,7 @@ /** * Initialize common functions required for the preview in both the edit and list views. * - * @return {void} + * @returns {void} */ function initPreview() { initFloatingLabels(); @@ -68,7 +68,7 @@ * Initialize the slider functionality in the style preview. * * @param {HTMLElement} event - * @return {void} + * @returns {void} */ function initSliderPreview( event ) { const wrapper = event.target.closest( '.frm_range_container' ); @@ -82,7 +82,7 @@ * Add the wp-core-ui class to the #wp-auth-check-wrap element. * As this style isn't included on the body for the styler, the close button on the auth modal wasn't getting styled properly. * - * @return {void} + * @returns {void} */ function fixWpAuthModal() { const authWrap = document.getElementById( 'wp-auth-check-wrap' ); @@ -92,7 +92,7 @@ } /** - * @return {void} + * @returns {void} */ function initListPage() { document.addEventListener( 'click', handleClickEventsForListPage ); @@ -125,7 +125,7 @@ /** * Handle pagination click events. * - * @return {void} + * @returns {void} */ function initStyleCardPagination() { document.querySelectorAll( '.frm-style-card-pagination' ).forEach( @@ -161,7 +161,7 @@ /** * @param {string} labelPosition - * @return {void} Changes the label position in the preview. + * @returns {void} Changes the label position in the preview. */ function changeLabelPositionsInPreview( labelPosition ) { const input = tag( 'input' ); @@ -170,7 +170,7 @@ } /** - * @return {HTMLElement} The active style card. + * @returns {HTMLElement} The active style card. */ function getActiveCard() { return document.querySelector( '.frm-active-style-card' ); @@ -182,7 +182,7 @@ * This is because disabling styles is linked to the custom_style option as well. * * @param {Event} event - * @return {void} + * @returns {void} */ function handleEnableStylingToggleChange( event ) { const stylesEnabled = event.target.checked; @@ -216,7 +216,7 @@ * We track the value on load with state.initialSelectedStyleValue. * Only consider unsaved changes on the page when this variable is no longer set to the original value. * - * @return {void} + * @returns {void} */ function trackListPageChange() { const styleIdInput = getStyleIdInput(); @@ -225,7 +225,7 @@ /** * @param {boolean} on - * @return {void} + * @returns {void} */ function toggleFormidableStylingInPreviewForms( on ) { const preview = document.getElementById( 'frm_style_preview' ); @@ -245,7 +245,7 @@ } /** - * @return {HTMLElement} The style ID input element. + * @returns {HTMLElement} The style ID input element. */ function getStyleIdInput() { return document.getElementById( 'frm_style_list_form' ).querySelector( '[name="style_id"]' ); @@ -253,7 +253,7 @@ /** * @param {Event} event - * @return {void} + * @returns {void} */ function handleCommonClickEvents( event ) { const target = event.target; @@ -278,7 +278,7 @@ * This function is used to update the form action when switching from the advanced settings and quick-settings. * * @param {Object} target The submit button event target - * @return {void} + * @returns {void} */ function switchAdvancedSettingsFormAction( target ) { const form = document.querySelector( '#frm_styling_form' ); @@ -295,7 +295,7 @@ } /** - * @return {void} + * @returns {void} */ function disablePreviewSubmitButtons() { const preview = document.getElementById( 'frm_style_preview' ); @@ -306,7 +306,7 @@ * Prevent form submit event. * * @param {Event} event - * @return {false} Prevents the default action and stops the event from bubbling. + * @returns {false} Prevents the default action and stops the event from bubbling. */ event => { event.preventDefault(); @@ -319,7 +319,7 @@ /** * @param {Event} event - * @return {void} + * @returns {void} */ function handleClickEventsForListPage( event ) { const target = event.target; @@ -334,7 +334,7 @@ * If the Update button is clicked after selecting a style card, the active card will be saved as the target form's style. * * @param {Event} event - * @return {void} + * @returns {void} */ function handleStyleCardClick( event ) { const target = event.target; @@ -393,7 +393,7 @@ /** * @param {HTMLElement} card - * @return {HTMLElement} The modal element. + * @returns {HTMLElement} The modal element. */ function maybeCreateStyleTemplateModal( card ) { const titleElement = card.querySelector( '.frm-style-card-title' ); @@ -411,7 +411,7 @@ /** * @param {HTMLElement} card - * @return {HTMLElement} The modal content element. + * @returns {HTMLElement} The modal content element. */ function getStyleTemplateModalContent( card ) { const children = []; @@ -438,7 +438,7 @@ /** * @param {HTMLElement} card - * @return {HTMLElement} The modal footer element. + * @returns {HTMLElement} The modal footer element. */ function getStyleTemplateModalFooter( card ) { const viewDemoSiteButton = footerButton( { @@ -463,7 +463,7 @@ } /** - * @return {string} The upgrade now text. + * @returns {string} The upgrade now text. */ function getUpgradeNowText() { return __( 'Upgrade Now', 'formidable' ); @@ -473,7 +473,7 @@ * Track an unsaved change on the edit page. * This is included in the frmStylerFunctions global so unsaved changes can be tracked in Pro as well. * - * @return {void} + * @returns {void} */ function trackUnsavedChange() { state.unsavedChanges = true; @@ -483,7 +483,7 @@ * Possibly prevent leaving the page if there are unsaved changes. * * @param {Event} event - * @return {void} + * @returns {void} */ function maybeConfirmExit( event ) { if ( ! state.unsavedChanges ) { @@ -497,14 +497,14 @@ /** * Floating labels have a transition style. Turn it off temporarily when switching between cards to avoid a transition between two different style classes. * - * @return {void} + * @returns {void} */ function disableLabelTransitions() { setLabelTransitionStyle( 'none' ); } /** - * @return {void} + * @returns {void} */ function enableLabelTransitions() { setLabelTransitionStyle( '' ); @@ -512,7 +512,7 @@ /** * @param {string} value - * @return {void} + * @returns {void} */ function setLabelTransitionStyle( value ) { document.getElementById( 'frm_style_preview' ).querySelectorAll( '.frm_inside_container' ).forEach( @@ -521,7 +521,7 @@ } /** - * @return {void} + * @returns {void} */ function toggleSampleForm() { state.showingSampleForm = ! state.showingSampleForm; @@ -530,7 +530,7 @@ } /** - * @return {void} + * @returns {void} */ function handleUpdateClick() { state.unsavedChanges = false; // Prevent the saved changes pop up from triggering when submitting the form. @@ -553,7 +553,7 @@ * If the sample form toggle is active, we want to pass that as a query parameter so we know to default to the sample form on load. * * @param {HTMLElement} clickTarget - * @return {void} + * @returns {void} */ function modifyStylerUrl( clickTarget ) { if ( ! state.showingSampleForm ) { @@ -568,7 +568,7 @@ /** * Add menu dropdowns to style cards dynamically on load. * - * @return {void} + * @returns {void} */ function addHamburgerMenusToCards() { const cards = Array.from( document.getElementsByClassName( 'frm-style-card' ) ); @@ -577,7 +577,7 @@ /** * @param {HTMLElement} card - * @return {void} + * @returns {void} */ function maybeAddMenuToCard( card ) { if ( ! shouldAddMenuToCard( card ) ) { @@ -591,14 +591,14 @@ * Avoid adding a menu to an upsell card or a template card. * * @param {HTMLElement} card - * @return {boolean} Whether to add a menu to the card. + * @returns {boolean} Whether to add a menu to the card. */ function shouldAddMenuToCard( card ) { return 'frm_template_style_cards_wrapper' !== card.parentNode.id || ! card.classList.contains( 'frm-locked-style' ); } /** - * @return {void} + * @returns {void} */ function addHamburgerMenuForEditPage() { const styleName = document.getElementById( 'frm_style_name' ); @@ -622,7 +622,7 @@ * @type {string} labelPosition * @type {string} classname * } - * @return {HTMLElement} The hamburger menu element. + * @returns {HTMLElement} The hamburger menu element. */ function getHamburgerMenu( data ) { const hamburgerMenu = a( { @@ -634,7 +634,7 @@ hamburgerMenu.setAttribute( 'role', 'button' ); hamburgerMenu.setAttribute( 'tabindex', 0 ); - const isTemplate = 'undefined' !== typeof data.templateKey; + const isTemplate = data.templateKey !== undefined; let dropdownMenuOptions = []; if ( isListPage ) { @@ -696,7 +696,7 @@ /** * @param {Array} dropdownMenuOptions - * @return {void} + * @returns {void} */ function maybeAddDuplicateUpsell( dropdownMenuOptions ) { let duplicateOptionExists = false; @@ -723,7 +723,7 @@ /** * @param {Event} event - * @return {void} + * @returns {void} */ function handleApplyOptionClick( event ) { const option = event.target; @@ -738,7 +738,7 @@ /** * @param {string} styleId - * @return {HTMLElement} The rename option element. + * @returns {HTMLElement} The rename option element. */ function getRenameOption( styleId ) { const renameOption = a( __( 'Rename', 'formidable' ) ); @@ -774,7 +774,7 @@ /** * @param {string} id * @param {Object} args - * @return {HTMLElement} The modal element. + * @returns {HTMLElement} The modal element. */ function stylerModal( id, args ) { const modal = maybeCreateModal( id, args ); @@ -791,7 +791,7 @@ * * @param {string} context * @param {string|undefined} value - * @return {HTMLElement} The modal content element. + * @returns {HTMLElement} The modal content element. */ function getStyleInputNameModalContent( context, value ) { // Create a form so we can listen to Enter key presses that trigger a form submit event. @@ -805,7 +805,7 @@ 'submit', /** * @param {Event} event - * @return {false} Prevents the default action and stops the event from bubbling. + * @returns {false} Prevents the default action and stops the event from bubbling. */ event => { // Prevent the form in the modal from submitting and trigger the click button in the modal footer instead. @@ -845,7 +845,7 @@ /** * @param {string} styleId - * @return {HTMLElement} The modal footer element. + * @returns {HTMLElement} The modal footer element. */ function getRenameStyleModalFooter( styleId ) { const cancelButton = footerButton( { text: __( 'Cancel', 'formidable' ), buttonType: 'cancel' } ); @@ -863,7 +863,7 @@ * Call frm_rename_style action when the rename style button is clicked in rename modal. * * @param {string} styleId - * @return {void} + * @returns {void} */ function renameStyle( styleId ) { const styleNameInput = document.getElementById( 'frm_rename_style_name_input' ); @@ -885,7 +885,7 @@ * If on the list page, update the style card after renaming a style. * On the edit page, update the style name element instead. * - * @return {void} + * @returns {void} */ () => { success( __( 'Style has been renamed successfully', 'formidable' ) ); @@ -904,7 +904,7 @@ /** * @param {string} styleId * @param {string} newStyleName - * @return {void} + * @returns {void} */ function updateStyleNameInCard( styleId, newStyleName ) { const card = getCardByStyleId( styleId ); @@ -914,7 +914,7 @@ /** * @param {string} styleId - * @return {HTMLElement} The card element. + * @returns {HTMLElement} The card element. */ function getCardByStyleId( styleId ) { const defaultCard = document.querySelector( '#frm_default_style_cards_wrapper > div[data-style-id="' + styleId + '"]' ); @@ -927,7 +927,7 @@ /** * @param {HTMLElement} option * @param {string} iconId - * @return {void} + * @returns {void} */ function addIconToOption( option, iconId ) { const icon = frmDom.svg( { href: '#' + iconId } ); @@ -936,7 +936,7 @@ /** * @param {string} styleId - * @return {void} + * @returns {void} */ function confirmResetStyle( styleId ) { stylerModal( @@ -950,7 +950,7 @@ } /** - * @return {HTMLElement} The modal content element. + * @returns {HTMLElement} The modal content element. */ function getResetStyleModalContent() { const content = div( __( 'Reset this style back to the default?', 'formidable' ) ); @@ -960,7 +960,7 @@ /** * @param {string} styleId - * @return {HTMLElement} The modal footer element. + * @returns {HTMLElement} The modal footer element. */ function getResetStyleModalFooter( styleId ) { const cancelButton = footerButton( { @@ -981,7 +981,7 @@ * This function handles the front end routing for the reset action as reset works differently for edit and list views. * * @param {string} styleId - * @return {void} + * @returns {void} */ function resetStyle( styleId ) { if ( isListPage ) { @@ -995,7 +995,7 @@ * Make a POST request to reset the style then reload the CSS and reset the card styles. * * @param {string} styleId - * @return {void} + * @returns {void} */ function resetStyleOnListPage( styleId ) { const formData = new FormData(); @@ -1020,7 +1020,7 @@ /** * Reset the style in-page (without actually updating it). * - * @return {void} + * @returns {void} */ function resetStyleOnEditPage() { jQuery.ajax( { @@ -1041,7 +1041,7 @@ * @todo Stop triggering change events with jQuery. And remove the other jQuery as well. * * @param {Object} response - * @return {void} + * @returns {void} */ function syncEditPageAfterResetAction( response ) { let defaultValues = response.replace( /^\s+|\s+$/g, '' ); @@ -1082,7 +1082,7 @@ /** * Reset the custom CSS editor. * - * @return {void} + * @returns {void} */ function resetCustomCSSEditor() { const checkbox = document.getElementById( 'frm_enable_single_style_custom_css' ); @@ -1097,7 +1097,7 @@ /** * Reload Formidable CSS after a style is reset so the preview updates immediately without needing to reload the page. * - * @return {void} + * @returns {void} */ function reloadCSSAfterStyleReset() { const style = document.getElementById( 'frm-custom-theme-css' ); @@ -1124,7 +1124,7 @@ } /** - * @return {number} The auto ID. + * @returns {number} The auto ID. */ function getAutoId() { return ++state.autoId; @@ -1134,7 +1134,7 @@ * @param {Object} data * @param {HTMLElement} data.anchor * @param {string} data.type - * @return {HTMLElement} The dropdown item element. + * @returns {HTMLElement} The dropdown item element. */ function wrapDropdownItem( { anchor, type } ) { return div( { @@ -1146,7 +1146,7 @@ /** * This gets triggered through a hook called in frmAdminBuild.styleInit() from formidable_admin.js. * - * @return {void} + * @returns {void} */ function initEditPage() { const { debounce } = frmDom.util; @@ -1169,7 +1169,7 @@ } ); jQuery( 'input.hex' ).wpColorPicker( { - change: function( event, ui ) { + change( event, ui ) { let color = jQuery( this ).wpColorPicker( 'color' ); trackUnsavedChange(); if ( ui.color._alpha < 1 ) { @@ -1188,7 +1188,7 @@ } ); jQuery( '.wp-color-result-text' ).text( function( _, oldText ) { const container = jQuery( this ).closest( '.wp-picker-container' ); - if ( 'undefined' !== typeof container && container[ 0 ].parentElement.classList.contains( 'frm-colorpicker' ) ) { + if ( container !== undefined && container[ 0 ].parentElement.classList.contains( 'frm-colorpicker' ) ) { return container[ 0 ].querySelector( '.wp-color-picker' ).value; } return oldText === 'Select Color' ? 'Select' : oldText; @@ -1208,7 +1208,7 @@ * Sends an AJAX POST request for new CSS to use for the preview. * This is called whenever a style setting is changed, generally using debouncedPreviewUpdate to avoid simultaneous requests. * - * @return {void} + * @returns {void} */ function changeStyling() { const styleInputs = Array.from( document.getElementById( 'frm_style_sidebar' ).querySelectorAll( 'input, select, textarea' ) ).filter( @@ -1235,11 +1235,11 @@ * Update the CSS used for the preview on the edit page when a styling input has been updated. * * @param {string} css The response from the frm_change_styling request. - * @return {void} + * @returns {void} */ function handleChangeStylingSuccess( css ) { // Validate the string response. A valid output will include rules with .with_frm_style - if ( -1 === css.indexOf( '.with_frm_style' ) ) { + if ( ! css.includes( '.with_frm_style' ) ) { // Handle error (possibly a permission error, or an outdated nonce). alert( css ); return; @@ -1251,7 +1251,7 @@ * Possibly pop up with a warning that "text will not display correctly if the field height is too small relative to the field padding and text size". * This can be triggered when modifying font size, height, and padding. * - * @return {void} + * @returns {void} */ function textSquishCheck() { if ( null !== frmDom.util.getCookie( 'frm-style-text-squish-check' ) ) { @@ -1287,7 +1287,7 @@ * When the Collapse icons are updated, sync the dropdown. * Otherwise the previously selected value will still appear as the selected value. * - * @return {void} + * @returns {void} */ jQuery( document ).on( 'change', '.frm-dropdown-menu input[type="radio"]', function() { trackUnsavedChange(); @@ -1325,7 +1325,7 @@ /** * @param {HTMLElement} input * @param {HTMLElement} container - * @return {void} + * @returns {void} */ function checkFloatingLabelsForStyles( input, container ) { if ( ! container ) { @@ -1354,7 +1354,7 @@ } /** - * @return {void} + * @returns {void} */ function initPosClass() { const positionSetting = document.getElementById( 'frm_position' ); @@ -1370,7 +1370,7 @@ /** * Update label container classes when the label "Position" setting is changed. * - * @return {void} + * @returns {void} */ function setPosClass() { /*jshint validthis:true */ @@ -1396,7 +1396,7 @@ } /** - * @return {void} + * @returns {void} */ function initFloatingLabels() { [ 'focus', 'blur', 'change' ].forEach( @@ -1414,10 +1414,10 @@ * Without this, drawing in a signature field triggers a "Uncaught ReferenceError: frmFrontForm is not defined" error. * We don't want the validation to actually triggr, so just fill in an empty function. * - * @return {void} + * @returns {void} */ function fillMissingSignatureValidationFunction() { - if ( 'undefined' === typeof window.__FRMSIG || 'undefined' !== typeof window.frmFrontForm ) { + if ( window.__FRMSIG === undefined || window.frmFrontForm !== undefined ) { return; } @@ -1427,7 +1427,7 @@ /** * Enable the datepicker in the sample form preview. * - * @return {void} + * @returns {void} */ function initDatepickerSample() { // If flatpickr is defined, then is a recent version of Pro which handles the datepicker preview as it's a PRO feature. diff --git a/js/form-templates.js b/js/form-templates.js index 93ce41c86e..e59dfd294f 100644 --- a/js/form-templates.js +++ b/js/form-templates.js @@ -1,2 +1,2 @@ /*! For license information please see form-templates.js.LICENSE.txt */ -(()=>{var t={8616:t=>{t.exports=function(t,e){var n,r,o=0;function a(){var a,i,c=n,l=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(i=0;i{var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return function(t,e){var n,r,i,c,l,u,s,m,f,p=1,d=t.length,y="";for(r=0;r=0),c.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,c.width?parseInt(c.width):0);break;case"e":n=c.precision?parseFloat(n).toExponential(c.precision):parseFloat(n).toExponential();break;case"f":n=c.precision?parseFloat(n).toFixed(c.precision):parseFloat(n);break;case"g":n=c.precision?String(Number(n.toPrecision(c.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=c.precision?n.substring(0,c.precision):n;break;case"t":n=String(!!n),n=c.precision?n.substring(0,c.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=c.precision?n.substring(0,c.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=c.precision?n.substring(0,c.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?y+=n:(!o.number.test(c.type)||m&&!c.sign?f="":(f=m?"+":"-",n=n.toString().replace(o.sign,"")),u=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",s=c.width-(f+n).length,l=c.width&&s>0?u.repeat(s):"",y+=c.align?f+n+l:"0"===u?f+l+n:l+f+n)}return y}(function(t){if(c[t])return c[t];for(var e,n=t,r=[],a=0;n;){if(null!==(e=o.text.exec(n)))r.push(e[0]);else if(null!==(e=o.modulo.exec(n)))r.push("%");else{if(null===(e=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var i=[],l=e[2],u=[];if(null===(u=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(i.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=o.key_access.exec(l)))i.push(u[1]);else{if(null===(u=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");i.push(u[1])}e[2]=i}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return c[t]=r}(t),arguments)}function i(t,e){return a.apply(null,[t].concat(e||[]))}var c=Object.create(null);e.sprintf=a,e.vsprintf=i,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=i,void 0===(r=function(){return{sprintf:a,vsprintf:i}}.call(e,n,e,t))||(t.exports=r))}()}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,n),a.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=window.frmGlobal,e=t.canAccessApplicationDashboard,r=t.applicationsUrl,o=window.frmFormTemplatesVars,a=o.FEATURED_TEMPLATES_IDS,i=o.FREE_TEMPLATES_IDS,c=o.upgradeLink,l="frm-form-templates",u="available-templates",s="favorites",m="custom",f="search",p="440px",d="550px",y="frm-page-skeleton",v="all-items";function h(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function b(t){for(var e=1;e":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},T=["(","?"],_={")":["("],":":["?","?:"]},E=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var P={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};var F={contextDelimiter:"",onMissingKey:null};function L(t,e){var n;for(n in this.data=t,this.pluralForms={},this.options={},F)this.options[n]=void 0!==e&&n in e?e[n]:F[n]}function B(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function D(t){for(var e=1;e=0||S[o]3&&void 0!==arguments[3]?arguments[3]:10,i=t[e];if(G(n)&&N(r))if("function"==typeof o)if("number"==typeof a){var c={callback:o,priority:a,namespace:r};if(i[n]){var l,u=i[n].handlers;for(l=u.length;l>0&&!(a>=u[l-1].priority);l--);l===u.length?u[l]=c:u.splice(l,0,c),i.__current.forEach(function(t){t.name===n&&t.currentIndex>=l&&t.currentIndex++})}else i[n]={handlers:[c],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,o,a)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},z=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,o){var a=t[e];if(G(r)&&(n||N(o))){if(!a[r])return 0;var i=0;if(n)i=a[r].handlers.length,a[r]={runs:a[r].runs,handlers:[]};else for(var c=a[r].handlers,l=function(t){c[t].namespace===o&&(c.splice(t,1),i++,a.__current.forEach(function(e){e.name===r&&e.currentIndex>=t&&e.currentIndex--}))},u=c.length-1;u>=0;u--)l(u);return"hookRemoved"!==r&&t.doAction("hookRemoved",r,o),i}}},V=function(t,e){return function(n,r){var o=t[e];return void 0!==r?n in o&&o[n].handlers.some(function(t){return t.namespace===r}):n in o}},$=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var o=t[e];o[r]||(o[r]={handlers:[],runs:0}),o[r].runs++;for(var a=o[r].handlers,i=arguments.length,c=new Array(i>1?i-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]=D(D(D({},M),r.data[e]),t),r.data[e][""]=D(D({},M[""]),r.data[e][""])},c=function(t,e){i(t,e),a()},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;return r.data[t]||i(void 0,t),r.dcnpgettext(t,e,n,o,a)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},s=function(t,e,r){var o=l(r,e,t);return n?(o=n.applyFilters("i18n.gettext_with_context",o,t,e,r),n.applyFilters("i18n.gettext_with_context_"+u(r),o,t,e,r)):o};if(n){var m=function(t){q.test(t)&&a()};n.addAction("hookAdded","core/i18n",m),n.addAction("hookRemoved","core/i18n",m)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},setLocaleData:c,resetLocaleData:function(t,e){r.data={},r.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var r=l(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+u(e),r,t,e)):r},_x:s,_n:function(t,e,r,o){var a=l(o,void 0,t,e,r);return n?(a=n.applyFilters("i18n.ngettext",a,t,e,r,o),n.applyFilters("i18n.ngettext_"+u(o),a,t,e,r,o)):a},_nx:function(t,e,r,o,a){var i=l(a,o,t,e,r);return n?(i=n.applyFilters("i18n.ngettext_with_context",i,t,e,r,o,a),n.applyFilters("i18n.ngettext_with_context_"+u(a),i,t,e,r,o,a)):i},isRTL:function(){return"rtl"===s("ltr","text direction")},hasTranslation:function(t,e,o){var a,i,c=e?e+""+t:t,l=!(null===(a=r.data)||void 0===a||null===(i=a[null!=o?o:"default"])||void 0===i||!i[c]);return n&&(l=n.applyFilters("i18n.has_translation",l,t,e,o),l=n.applyFilters("i18n.has_translation_"+u(o),l,t,e,o)),l}}}(0,0,Y));K.getLocaleData.bind(K),K.setLocaleData.bind(K),K.resetLocaleData.bind(K),K.subscribe.bind(K);var X=K.__.bind(K),W=(K._x.bind(K),K._n.bind(K),K._nx.bind(K),K.isRTL.bind(K),K.hasTranslation.bind(K),window.frmGlobal),Q=W.url,tt=(W.nonce,"frm_hidden"),et="frm-hide-js",nt="frm-current",rt=window.frmDom,ot=rt.tag,at=rt.div,it=rt.a,ct=rt.img;function lt(t){return lt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lt(t)}function ut(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function st(t,e,n){return(e=function(t){var e=function(t){if("object"!=lt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=lt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==lt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var mt,ft=document.getElementById("post-body-content"),pt=document.getElementById("".concat(y,"-sidebar")),dt=((mt=it({className:"button button-primary frm-button-primary"})).setAttribute("role","button"),at({id:"".concat(y,"-empty-state"),className:"frm-flex-col frm-flex-center frm-gap-md ".concat(tt),children:[ct({src:"".concat(Q,"/images/page-skeleton/empty-state.svg"),alt:X("Empty State","formidable")}),at({className:"frmcenter",children:[ot("h2",{className:"".concat(y,"-title frm-mb-0")}),ot("p",{className:"".concat(y,"-text frm-mb-0")})]}),mt]}));null==ft||ft.appendChild(dt);var yt=function(){var t=document.querySelector("#".concat(y,"-empty-state"));return{emptyState:t,emptyStateTitle:null==t?void 0:t.querySelector(".".concat(y,"-title")),emptyStateText:null==t?void 0:t.querySelector(".".concat(y,"-text")),emptyStateButton:null==t?void 0:t.querySelector(".button")}}(),vt=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==w(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==w(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=b(b({},e),t)}}}(function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==Tt(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var n=Reflect.get(e,t);return void 0===n?null:n},setState:function(t){if("object"!==Tt(t)||null===t)throw new Error("setState: newState must be a non-null object");e=wt(wt({},e),t)},setSingleState:function(t,n){Reflect.has(e,t)&&Reflect.set(e,t,n)}}}({notEmptySearchText:!1,selectedCategory:v,selectedCategoryEl:_t}),xt=Et.getState,Ot=Et.getSingleState,jt=Et.setState,It=Et.setSingleState;function Ct(t){return Ct="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ct(t)}function At(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=n,this.prepareElements()},e=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements(function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){t.applyStyleToElements(function(t,n){t.classList.remove("frm-animate"),t.style.transitionDelay=(n+1)*e+"s"})},200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements(function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(t){return t.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):02&&void 0!==arguments[2]?arguments[2]:"pushState";if(zt.set(t,e),Rt.search=zt.toString(),["pushState","replaceState"].includes(a)){var i=(n={},o=e,(r=function(t){var e=function(t){if("object"!=qt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=qt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==qt(e)?e:e+""}(r=t))in n?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,n);window.history[a](i,"",Rt)}return Rt.toString()},Ut=function(t){return zt.has(t)},Ht=function(t){return"string"==typeof t&&/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(t)},Zt=function(t){return t instanceof HTMLElement||console.warn("Invalid argument: Element must be an instance of HTMLElement")||!1},Jt=function(t){var e;return null===(e=Array.from(t))||void 0===e?void 0:e.forEach(function(t){return Kt(t)})},Yt=function(t){var e;return null===(e=Array.from(t))||void 0===e?void 0:e.forEach(function(t){return Xt(t)})},Kt=function(t){return null==t?void 0:t.classList.remove(tt)},Xt=function(t){return null==t?void 0:t.classList.add(tt)},Wt=function(t){var e=t.currentTarget,n=e.getAttribute("data-category"),r=xt(),o=r.selectedCategory,a=r.selectedCategoryEl,i=r.notEmptySearchText;if(o!==n){o=wp.hooks.applyFilters("frmPage.selectedCategory",n),a.classList.remove(nt),(a=e).classList.add(nt),jt({selectedCategory:o,selectedCategoryEl:a}),i&&te(),wp.hooks.doAction("frmPage.onCategoryClick",o);var c=ht().bodyContent;new Pt(c).fadeIn()}};function Qt(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),Wt(t))}function te(){var t=ht().searchInput;t.value="",t.dispatchEvent(new Event("input",{bubbles:!0}))}var ee=ht().bodyContent,ne=document.getElementById("".concat(l,"-list")),re=document.getElementById("".concat(l,"-custom-list-section")),oe=document.querySelector(".".concat(y,'-cat[data-category="').concat(s,'"]')),ae=document.getElementById("".concat(l,"-modal"));bt({headerCancelButton:null===(Nt=document.getElementById("frm-publishing"))||void 0===Nt?void 0:Nt.querySelector("a"),createFormButton:document.getElementById("".concat(l,"-create-form")),pageTitle:document.getElementById("".concat(l,"-page-title")),pageTitleText:document.getElementById("".concat(l,"-page-title-text")),pageTitleDivider:document.getElementById("".concat(l,"-page-title-divider")),upsellBanner:null!==(Gt=document.getElementById("frm-renew-subscription-banner"))&&void 0!==Gt?Gt:document.getElementById("frm-upgrade-banner"),extraTemplateCountElements:document.querySelectorAll(".".concat(l,"-extra-templates-count")),templatesList:ne,templateItems:ne.querySelectorAll(".frm-card-item"),availableTemplateItems:ne.querySelectorAll(".frm-card-item:not(.".concat(l,"-locked-item)")),twinFeaturedTemplateItems:ne.querySelectorAll(".".concat(l,"-featured-item")),featuredTemplatesList:document.getElementById("".concat(l,"-featured-list")),customTemplatesSection:re,customTemplateItems:re.querySelectorAll(".frm-card-item"),customTemplatesTitle:document.getElementById("".concat(l,"-custom-list-title")),customTemplatesList:document.getElementById("".concat(l,"-custom-list")),favoritesCategory:oe,favoritesCategoryCountEl:null==oe?void 0:oe.querySelector(".".concat(y,"-cat-count")),availableTemplatesCategory:document.querySelector(".".concat(y,'-cat[data-category="').concat(u,'"]')),getFreeTemplatesBannerButton:document.querySelector(".frm-get-free-templates-banner .button"),modal:ae,modalItems:null==ae?void 0:ae.querySelectorAll(".".concat(l,"-modal-item")),showCreateTemplateModalButton:document.getElementById("frm-show-create-template-modal"),createTemplateModal:document.getElementById("frm-create-template-modal"),createTemplateFormsDropdown:document.getElementById("frm-create-template-modal-forms-select"),createTemplateName:document.getElementById("frm_create_template_name"),createTemplateDescription:document.getElementById("frm_create_template_description"),createTemplateButton:document.getElementById("frm-create-template-button"),renewAccountModal:document.getElementById("frm-renew-modal"),leaveEmailModal:document.getElementById("frm-leave-email-modal"),leaveEmailModalInput:document.getElementById("frm_leave_email"),leaveEmailModalButton:document.getElementById("frm-get-code-button"),upgradeModal:document.getElementById("frm-form-upgrade-modal"),upgradeModalTemplateNames:null==ae?void 0:ae.querySelectorAll(".frm-upgrade-modal-template-name"),upgradeModalPlansIcons:null==ae?void 0:ae.querySelectorAll(".frm-upgrade-modal-plan-icon"),upgradeModalLink:document.getElementById("frm-upgrade-modal-link"),newTemplateForm:document.getElementById("frm-new-template"),newTemplateNameInput:document.getElementById("frm_template_name"),newTemplateDescriptionInput:document.getElementById("frm_template_desc"),newTemplateLinkInput:document.getElementById("frm_link"),newTemplateActionInput:document.getElementById("frm_action_type"),bodyContentChildren:null==ee?void 0:ee.children});var ie,ce=window.frmDom,le=ce.tag,ue=ce.div,se=ce.span,me=ce.a,fe=ce.img,pe="".concat(Q,"/images/applications/thumbnails");var de=window.frmFormTemplatesVars,ye=de.templatesCount,ve=de.favoritesCount,he=de.customCount,be=ht().availableTemplateItems.length;jt({availableTemplatesCount:be,customCount:Number(he),extraTemplatesCount:ye-be,favoritesCount:ve}),window.frmDom.span;var ge=function(t,e){return t.textContent=String(e),t},we=function(t,e,n,r,o,a,i){e._counterStartTime||(e._counterStartTime=t,e._counterLastTimestamp=t,e._counterFrameDropCount=0,e._counterLastValue=n);var c=t-e._counterLastTimestamp,l=t-e._counterStartTime;if(c>50&&null!==e._counterLastTimestamp&&(e._counterFrameDropCount++,e._counterFrameDropCount>3))return e.style.transition="opacity ".concat(Math.max(o-l,100),"ms ease-out"),e.textContent=String(r),void delete e._counterAnimation;var u=Math.min(l/o,1),s=i(u),m=Math.round(n+a*s);m!==e._counterLastValue&&(e.textContent=String(m),e._counterLastValue=m),e._counterLastTimestamp=t,u<1?e._counterAnimation=requestAnimationFrame(function(t){return we(t,e,n,r,o,a,i)}):(e.textContent=String(r),["_counterAnimation","_counterStartTime","_counterLastTimestamp","_counterFrameDropCount","_counterLastValue"].forEach(function(t){return delete e[t]}),e.style.removeProperty("transition"))},Se=function(t){return 1-Math.pow(1-t,4)};const Te=function(){var t,e=ht(),n=e.sidebar,r=e.searchInput,o=e.bodyContent,a=e.twinFeaturedTemplateItems,c=e.availableTemplatesCategory,l=e.extraTemplateCountElements,u=new Pt(o);r.value="",Yt(a),function(t){if(t){var e,n,r=Ot("availableTemplatesCount");if(Ut("registered-for-free-templates"))history.replaceState({},"",Vt("registered-for-free-templates")),e=t,n=r,setTimeout(function(){e.dispatchEvent(new Event("click",{bubbles:!0}))},0),setTimeout(function(){!function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r="string"==typeof t?document.querySelector(t):t;if(!(r&&r instanceof HTMLElement))return null;var o="number"==typeof e?e:parseInt(e,10);if(isNaN(o))return console.warn("Counter: Invalid value provided, defaulting to 0"),ge(r,"0");if(0===o)return ge(r,"0");var a=n.duration,i=void 0===a?3e3:a,c=n.easing,l=void 0===c?Se:c,u=parseInt(r.textContent,10)||0,s=o-u;0===s||(r._counterAnimation&&cancelAnimationFrame(r._counterAnimation),r.classList.add("frm-fadein"),r._counterAnimation=requestAnimationFrame(function(t){return we(t,r,u,o,i,s,l)}))}(e.querySelector(".".concat(y,"-cat-count")),n)},150),setTimeout(function(){ht().availableTemplateItems.forEach(function(t){i.includes(Number(t.dataset.id))||(t.classList.add("frm-background-highlight"),t.addEventListener("animationend",function t(e){"backgroundHighlight"===e.animationName&&(this.classList.remove("frm-background-highlight"),this.removeEventListener("animationend",t))}))})},750);else t.querySelector(".".concat(y,"-cat-count")).textContent=r}}(c),l.forEach(function(t){return t.textContent=Ot("extraTemplatesCount")}),o.classList.remove(et),n.classList.remove(et),u.fadeIn(),Ut("return_page")&&(t=ht().headerCancelButton,new Pt(t).fadeIn())};function _e(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var l=r&&r.prototype instanceof c?r:c,u=Object.create(l.prototype);return Ee(u,"_invoke",function(n,r,o){var a,c,l,u=0,s=o||[],m=!1,f={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return a=e,c=0,l=t,f.n=n,i}};function p(n,r){for(c=n,l=r,e=0;!m&&u&&!o&&e3?(o=d===r)&&(l=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=n<2&&pr||r>d)&&(a[4]=n,a[5]=r,f.n=d,c=0))}if(o||n>1)return i;throw m=!0,r}return function(o,s,d){if(u>1)throw TypeError("Generator is already running");for(m&&1===s&&p(s,d),c=s,l=d;(e=c<2?t:l)||!m;){a||(c?c<3?(c>1&&(f.n=-1),p(c,l)):f.n=l:f.v=l);try{if(u=2,a){if(c||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,c<2&&(c=0)}else 1===c&&(e=a.return)&&e.call(a),c<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=t}else if((e=(m=f.n<0)?l:n.call(r,f))!==i)break}catch(e){a=t,c=1,l=e}finally{u=1}}return{value:e,done:m}}}(n,o,a),!0),u}var i={};function c(){}function l(){}function u(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(Ee(e={},r,function(){return this}),e),m=u.prototype=c.prototype=Object.create(s);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,Ee(t,o,"GeneratorFunction")),t.prototype=Object.create(m),t}return l.prototype=u,Ee(m,"constructor",u),Ee(u,"constructor",l),l.displayName="GeneratorFunction",Ee(u,o,"GeneratorFunction"),Ee(m),Ee(m,o,"Generator"),Ee(m,r,function(){return this}),Ee(m,"toString",function(){return"[object Generator]"}),(_e=function(){return{w:a,m:f}})()}function Ee(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}Ee=function(t,e,n,r){function a(e,n){Ee(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(a("next",0),a("throw",1),a("return",2))},Ee(t,e,n,r)}function xe(t,e,n,r,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void n(t)}c.done?e(l):Promise.resolve(l).then(r,o)}var Oe=null;function je(){var t;return t=_e().m(function t(){var e,n,r;return _e().w(function(t){for(;;)switch(t.n){case 0:e=window.frmAdminBuild,n=e.initModal,r=e.offsetModalY,(Oe=n("#frm-form-templates-modal",p))&&r(Oe,"103px"),Ut("free-templates")&&ht().leaveEmailModal&&dn(),wp.hooks.addAction("frmAdmin.beforeOpenConfirmModal","frmFormTemplates",function(t){var e=t.$info;e.dialog("option","width",d),r(e,"103px")});case 1:return t.a(2)}},t)}),je=function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function i(t){xe(a,r,o,i,c,"next",t)}function c(t){xe(a,r,o,i,c,"throw",t)}i(void 0)})},je.apply(this,arguments)}function Ie(){return Oe}function Ce(t){var e=ht().pageTitleText,n=t||Ot("selectedCategoryEl").querySelector(".".concat(y,"-cat-text")).textContent;e.textContent=n}var Ae=function(t){return!!Zt(t)&&t.classList.contains("".concat(l,"-favorite-item"))},ke=function(t){return!!Zt(t)&&t.classList.contains("".concat(l,"-custom-item"))},Pe={},Fe=function(){var t=ht(),e=t.createFormButton,n=t.newTemplateForm,r=t.newTemplateNameInput,o=t.newTemplateActionInput,a=window.frmAdminBuild.installNewForm;r.value="",o.value="frm_install_form",a(n,"frm_install_form",e)};var Le=".".concat(l,"-item-favorite-button"),Be="".concat(Le," use"),De="#frm_heart_solid_icon",Me="#frm_heart_icon",qe=function(t){var e,n=t.currentTarget,r=ht(),o=r.templatesList,i=r.featuredTemplatesList,c=r.favoritesCategoryCountEl,u=r.customTemplatesTitle,m=n.closest(".frm-card-item"),f=m.dataset.id,p=Ae(m),d=ke(m),y=function(t){return!!Zt(t)&&a.includes(Number(t.dataset.id))}(m),v=null;if(m.classList.toggle("".concat(l,"-favorite-item"),!p),y){var h=m.closest("#".concat(l,"-list"))?i:o;h&&(v=h.querySelector('.frm-card-item[data-id="'.concat(f,'"]'))).classList.toggle("".concat(l,"-favorite-item"),!p)}var b,g=xt(),w=g.selectedCategory,S=g.favoritesCount,T=p?"remove":"add",_=m.querySelector(Be),E=null===(e=v)||void 0===e?void 0:e.querySelector(Be);"add"===T?(++S.total,d?++S.custom:++S.default,_.setAttribute("href",De),null==E||E.setAttribute("href",De)):(--S.total,d?--S.custom:--S.default,_.setAttribute("href",Me),null==E||E.setAttribute("href",Me)),c.textContent=S.total,It("favoritesCount",S),s===w&&(0===S.total&&on(),Xt(m),0===S.default&&Xt(o),0!==S.custom&&0!==S.default||Xt(u)),b=function(){return t=f,e=T,n=d,r=new FormData,o=frmDom.ajax.doJsonPost,r.append("template_id",t),r.append("operation",e),r.append("is_custom_template",n),o("add_or_remove_favorite_template",r);var t,e,n,r,o},Ft=Ft.then(b).catch(b)};var Ne=function(t){var e=t.currentTarget,n=e.closest(".frm-card-item"),r=function(t){return!!Zt(t)&&t.classList.contains("".concat(l,"-locked-item"))}(n),o=ke(n);if(r||!o)if(t.preventDefault(),r)!function(t){var e=t.dataset.requiredPlan;switch(e){case"basic":case"plus":case"business":case"elite":fn(e,t);break;case"renew":pn();break;case"free":dn()}}(n);else{var a=ht(),i=a.newTemplateForm,c=a.newTemplateNameInput,u=a.newTemplateDescriptionInput,s=a.newTemplateLinkInput,m=a.newTemplateActionInput,f=window.frmAdminBuild.installNewForm,p=n.querySelector(".frm-form-template-name").textContent.trim(),d=n.querySelector(".frm-form-templates-item-description").textContent.trim(),y="frm_install_template";c.value=p,u.value=d,m.value=y,s.value=e.href,f(i,y,e)}};var Ge=window.frmDom.search.init;function Re(t,e){var n=t.foundSomething,r=t.notEmptySearchText;if(!e||"search"!==e.type||""!==e.target.value){var o=xt(),a=ht().allItemsCategory;It("notEmptySearchText",r),o.notEmptySearchText||o.selectedCategory?(o.selectedCategory&&(function(t){var e=ht(),n=e.bodyContent,r=e.bodyContentChildren,o=e.pageTitle,a=e.templatesList,i=e.applicationTemplates,c=new Pt(n);t&&Ot("selectedCategoryEl").classList.remove(nt),Yt(r),Ce(X("Search Result","formidable")),Jt([o,a,i]),c.fadeIn()}(r),r&&It("selectedCategory","")),function(t){if(t){var e,n=ht().emptyState;if(e=n,"none"!==window.getComputedStyle(e).getPropertyValue("display")){var r=ht().pageTitle;Xt(n),Kt(r)}var o=ht(),a=o.templatesList,i=o.applicationTemplates,c=o.applicationTemplatesTitle,l=o.applicationTemplatesList;Jt([a,i,c]),0===a.offsetHeight&&Yt([a,c]),0===(null==l?void 0:l.offsetHeight)&&Xt(i)}else!function(){var t,e=xt().notEmptySearchText,n=ht(),r=n.pageTitle,o=n.emptyState,a=n.emptyStateButton,i=n.applicationTemplates;if(f!==(null===(t=o.dataset)||void 0===t?void 0:t.view)){o.setAttribute("data-view",f);var c=ht(),l=c.emptyStateTitle,u=c.emptyStateText;l.textContent=X("No templates found","formidable"),u.textContent=X("Sorry, we didn't find any templates that match your criteria.","formidable"),a.textContent=X("Start from Scratch","formidable"),Yt([r,i]),Jt([o,a])}else e?(Kt(o),Yt([r,i])):(Xt(o),o.removeAttribute("data-view"))}()}(n)):a.dispatchEvent(new Event("click",{bubbles:!0}))}}var ze=function(){var t,e=ht().emptyState;f===(null===(t=e.dataset)||void 0===t?void 0:t.view)&&(It("selectedCategory",""),te(),ht().searchInput.focus())};var Ve=function(){var t=xt().selectedCategory;m===t&&yn()},$e=function(){var t=ht().createTemplateFormsDropdown,e=t.value;if(e&&"no-forms"!==e){Ue(!1);var n=t.options[t.selectedIndex],r=n.dataset.description.trim(),o=n.dataset.name.trim(),a=" ".concat(X("Template","formidable"));o.endsWith(a)||(o+=a);var i=ht(),c=i.createTemplateName,l=i.createTemplateDescription;c.value=o,l.value=r}else Ue(!0)},Ue=function(t){var e=ht(),n=e.createTemplateName,r=e.createTemplateDescription,o=e.createTemplateButton;[n,r].forEach(function(e){e.disabled=t,t&&(e.value="")}),o.classList.toggle("disabled",t)},He=function(){var t=window.frmAdminBuild.installNewForm,e="frm_create_template",n=ht(),r=n.newTemplateForm,o=n.newTemplateActionInput,a=n.newTemplateNameInput,i=n.newTemplateDescriptionInput,c=n.newTemplateLinkInput,l=n.createTemplateName,u=n.createTemplateDescription,s=n.createTemplateFormsDropdown,m=n.createTemplateButton;o.value=e,a.value=l.value.trim(),i.value=u.value.trim(),c.value=s.value,t(r,e,m)};function Ze(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var l=r&&r.prototype instanceof c?r:c,u=Object.create(l.prototype);return Je(u,"_invoke",function(n,r,o){var a,c,l,u=0,s=o||[],m=!1,f={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return a=e,c=0,l=t,f.n=n,i}};function p(n,r){for(c=n,l=r,e=0;!m&&u&&!o&&e3?(o=d===r)&&(l=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=n<2&&pr||r>d)&&(a[4]=n,a[5]=r,f.n=d,c=0))}if(o||n>1)return i;throw m=!0,r}return function(o,s,d){if(u>1)throw TypeError("Generator is already running");for(m&&1===s&&p(s,d),c=s,l=d;(e=c<2?t:l)||!m;){a||(c?c<3?(c>1&&(f.n=-1),p(c,l)):f.n=l:f.v=l);try{if(u=2,a){if(c||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,c<2&&(c=0)}else 1===c&&(e=a.return)&&e.call(a),c<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=t}else if((e=(m=f.n<0)?l:n.call(r,f))!==i)break}catch(e){a=t,c=1,l=e}finally{u=1}}return{value:e,done:m}}}(n,o,a),!0),u}var i={};function c(){}function l(){}function u(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(Je(e={},r,function(){return this}),e),m=u.prototype=c.prototype=Object.create(s);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,Je(t,o,"GeneratorFunction")),t.prototype=Object.create(m),t}return l.prototype=u,Je(m,"constructor",u),Je(u,"constructor",l),l.displayName="GeneratorFunction",Je(u,o,"GeneratorFunction"),Je(m),Je(m,o,"Generator"),Je(m,r,function(){return this}),Je(m,"toString",function(){return"[object Generator]"}),(Ze=function(){return{w:a,m:f}})()}function Je(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}Je=function(t,e,n,r){function a(e,n){Je(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(a("next",0),a("throw",1),a("return",2))},Je(t,e,n,r)}function Ye(t,e,n,r,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void n(t)}c.done?e(l):Promise.resolve(l).then(r,o)}var Ke=window.frmDom.tag,Xe=function(){var t,e=(t=Ze().m(function t(){var e,n,r,o,a,i,c,l,u;return Ze().w(function(t){for(;;)switch(t.p=t.n){case 0:if(e=ht(),n=e.leaveEmailModalInput,r=n.value.trim()){t.n=1;break}return vn("empty"),t.a(2);case 1:if(Ht(r)){t.n=2;break}return vn("invalid"),t.a(2);case 2:return o=ht(),(a=o.leaveEmailModalButton).style.setProperty("cursor","not-allowed"),a.classList.add("frm_loading_button"),(i=new FormData).append("email",r),l=frmDom.ajax.doJsonPost,t.p=3,t.n=4,l("get_free_templates",i);case 4:c=t.v,t.n=6;break;case 5:return t.p=5,u=t.v,console.error("An error occurred:",u),We(),t.a(2);case 6:if(c.success){t.n=7;break}return We(),t.a(2);case 7:Ut("free-templates")&&Vt("free-templates"),$t("registered-for-free-templates","1"),window.location.reload();case 8:return t.a(2)}},t,null,[[3,5]])}),function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function i(t){Ye(a,r,o,i,c,"next",t)}function c(t){Ye(a,r,o,i,c,"throw",t)}i(void 0)})});return function(){return e.apply(this,arguments)}}();function We(){var t=ht().leaveEmailModal;t.querySelector(".inside").replaceChildren(Ke("p",X("Failed to get templates, please try again later.","formidable"))),t.querySelector(".frm_modal_footer").classList.add("frm_hidden")}var Qe=function(t){if(!t.target.closest("a")){var e=t.currentTarget;window.location.href=e.dataset.href}};function tn(){var t,e,n,r;ht().categoryItems.forEach(function(t){Mt(t,Wt),t.addEventListener("keydown",Qt)}),wp.hooks.addAction("frmPage.onCategoryClick","frmFormTemplates",function(t){!function(t){var e=ht(),n=e.bodyContentChildren,r=e.pageTitle,o=e.showCreateTemplateModalButton,a=e.templatesList,i=e.templateItems,c=e.upsellBanner;switch(v!==t&&Yt(n),Ce(),Xt(o),Kt(r),t){case v:!function(){var t=ht(),e=t.bodyContentChildren,n=t.pageTitleDivider,r=t.templateItems,o=t.twinFeaturedTemplateItems,a=t.customTemplatesSection,i=t.emptyState,c=t.applicationTemplates;Jt([].concat(nn(e),nn(r))),Yt([n].concat(nn(o),[a,i,c]))}();break;case u:!function(){if(0!==xt().availableTemplatesCount){var t=ht(),e=t.templatesList,n=t.templateItems,r=t.availableTemplateItems,o=t.upsellBanner;Yt(n),Jt([o,e].concat(nn(r)))}else!function(){var t=ht(),e=t.pageTitle,n=t.emptyState,r=t.emptyStateButton;n.setAttribute("data-view",u);var o=ht(),a=o.emptyStateTitle,i=o.emptyStateText,c=xt().extraTemplatesCount;a.textContent=X("No Templates Available","formidable"),i.textContent=function(t){try{for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r0&&s.push(r),t.custom>0){var f=Array.from(u).filter(function(t){return!Ae(t)});Yt(f),s.push(a),s.push(c),0===t.default?Xt(i):s.push(i)}Jt(s)}else on()}();break;case m:!function(){if(0!==xt().customCount){var t=ht(),e=t.showCreateTemplateModalButton,n=t.pageTitleDivider,r=t.customTemplatesSection,o=t.customTemplatesList,a=t.customTemplatesTitle,i=t.customTemplateItems;Xt(a),Jt([e,n,r,o].concat(nn(i)))}else!function(){var t=ht(),e=t.pageTitle,n=t.emptyState,r=t.emptyStateButton;n.setAttribute("data-view",m);var o=ht(),a=o.emptyStateTitle,i=o.emptyStateText;a.textContent=X("You currently have no templates.","formidable"),i.textContent=X("You haven't created any form templates. Begin now to simplify your workflow and save time.","formidable"),r.textContent=X("Create Template","formidable"),Xt(e),Jt([n,r])}()}();break;default:Yt(i),Jt([c,a].concat(nn(Pe[t])))}}(t)}),r=ht().createFormButton,Mt(r,Fe),document.querySelectorAll(Le).forEach(function(t){return Mt(t,qe)}),document.querySelectorAll(".".concat(l,"-use-template-button")).forEach(function(t){return t.addEventListener("click",Ne)}),t=ht(),e=t.searchInput,n=t.emptyStateButton,Ge(e,"frm-card-item",{handleSearchResult:Re}),Mt(n,ze),function(){var t=ht(),e=t.createTemplateFormsDropdown,n=t.createTemplateButton,r=t.showCreateTemplateModalButton,o=t.emptyStateButton;Mt(r,Ve),Mt(o,Ve),e.addEventListener("change",$e),Mt(n,He)}(),function(){var t=ht(),e=t.leaveEmailModalButton,n=t.getFreeTemplatesBannerButton;Mt(e,Xe),Mt(n,dn)}()}function en(t){var e,n;(function(t){if(t&&t.length){var e=t.map(function(t){return function(t){var e=t.name,n=t.key,o=t.hasLiteThumbnail,a=t.isWebp,i=o?a?"".concat(pe,"/").concat(n,".webp"):"".concat(pe,"/").concat(n,".png"):"".concat(pe,"/placeholder.svg");return le("li",{className:"frm-card-item",data:{href:"".concat(r,"&triggerViewApplicationModal=1&template=").concat(n),"frm-search-text":e.toLowerCase()},children:[ue({className:"".concat(l,"-item-icon"),child:fe({src:i})}),ue({className:"".concat(l,"-item-body"),children:[se({text:X("Ready Made Solution","formidable"),className:"frm-meta-tag frm-orange-tag frm-text-xs"}),le("h3",{text:e,className:"frm-text-sm frm-font-medium frm-m-0"}),me({text:X("See all applications","formidable"),className:"frm-text-xs frm-font-semibold",href:r})]})]})}(t)});ie=ue({id:"".concat(l,"-applications"),className:tt,children:[le("h2",{text:X("Application Templates"),className:"frm-text-sm frm-mb-sm"}),le("ul",{className:"".concat(l,"-list frm-list-grid-layout"),children:e})]})}})(t.templates),(e=ht()).applicationTemplates||void 0===ie||(e.bodyContent.append(ie),bt({applicationTemplates:ie,applicationTemplatesTitle:ie.querySelector("h2"),applicationTemplatesList:ie.querySelector(".".concat(l,"-list")),applicationTemplateItems:ie.querySelectorAll(".frm-card-item")})),void 0!==(n=ht().applicationTemplateItems)&&n.forEach(function(t){t.addEventListener("click",Qe)})}function nn(t){return function(t){if(Array.isArray(t))return rn(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return rn(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rn(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n3?(o=d===r)&&(l=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=n<2&&pr||r>d)&&(a[4]=n,a[5]=r,f.n=d,c=0))}if(o||n>1)return i;throw m=!0,r}return function(o,s,d){if(u>1)throw TypeError("Generator is already running");for(m&&1===s&&p(s,d),c=s,l=d;(e=c<2?t:l)||!m;){a||(c?c<3?(c>1&&(f.n=-1),p(c,l)):f.n=l:f.v=l);try{if(u=2,a){if(c||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,c<2&&(c=0)}else 1===c&&(e=a.return)&&e.call(a),c<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=t}else if((e=(m=f.n<0)?l:n.call(r,f))!==i)break}catch(e){a=t,c=1,l=e}finally{u=1}}return{value:e,done:m}}}(n,o,a),!0),u}var i={};function c(){}function l(){}function u(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(cn(e={},r,function(){return this}),e),m=u.prototype=c.prototype=Object.create(s);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,cn(t,o,"GeneratorFunction")),t.prototype=Object.create(m),t}return l.prototype=u,cn(m,"constructor",u),cn(u,"constructor",l),l.displayName="GeneratorFunction",cn(u,o,"GeneratorFunction"),cn(m),cn(m,o,"Generator"),cn(m,r,function(){return this}),cn(m,"toString",function(){return"[object Generator]"}),(an=function(){return{w:a,m:f}})()}function cn(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}cn=function(t,e,n,r){function a(e,n){cn(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(a("next",0),a("throw",1),a("return",2))},cn(t,e,n,r)}function ln(t,e,n,r,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void n(t)}c.done?e(l):Promise.resolve(l).then(r,o)}function un(t){return function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function i(t){ln(a,r,o,i,c,"next",t)}function c(t){ln(a,r,o,i,c,"throw",t)}i(void 0)})}}var sn=function(t){return un(an().m(function e(){var n,r,o,a,i,c,l=arguments;return an().w(function(e){for(;;)switch(e.n){case 0:if(n=Ie()){e.n=1;break}return e.a(2);case 1:for(r=ht(),o=r.modalItems,Yt(o),n.dialog("option","width",p),a=l.length,i=new Array(a),c=0;c use").setAttribute("href",r?"#frm_checkmark_icon":"#frm_close_icon")});var u=e.dataset.slug?"-".concat(e.dataset.slug):"";l.href=c+u,Kt(o)}),pn=sn(function(){var t=ht().renewAccountModal;Kt(t)}),dn=sn(function(){var t=ht().leaveEmailModal;Kt(t)}),yn=sn(function(){Ie().dialog("option","width",d);var t=ht().createTemplateModal;Kt(t)}),vn=function(t){!function(t,e,n){var r=document.querySelector("#frm_leave_email"),o=document.querySelector("#frm_leave_email_error");r&&o?(o.setAttribute("frm-error",n),Kt(o),r.addEventListener("keyup",function(){Xt(o)},{once:!0})):console.warn("showFormError: Unable to find input or error element.")}(0,0,t)};var hn;hn=function(){wp.hooks.doAction("frmFormTemplates.beforeInitialize",{getState:xt,setState:jt}),e&&(0,frmDom.ajax.doJsonFetch)("get_applications_data&view=templates").then(en),function(){je.apply(this,arguments)}(),ht().templateItems.forEach(function(t){t.getAttribute("data-categories").split(",").forEach(function(e){Pe[e]||(Pe[e]=[]),Pe[e].push(t)})}),Te(),tn(),wp.hooks.doAction("frmFormTemplates.afterInitialize",{getState:xt,setState:jt}),wp.hooks.doAction("frm_new_form_modal_form",jQuery("#frm-new-template"))},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",hn):hn())})()})(); \ No newline at end of file +(()=>{var t={8616:t=>{t.exports=function(t,e){var n,r,o=0;function a(){var a,i,c=n,l=arguments.length;t:for(;c;){if(c.args.length===arguments.length){for(i=0;i{var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return function(t,e){var n,r,i,c,l,u,s,m,f,p=1,d=t.length,y="";for(r=0;r=0),c.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,c.width?parseInt(c.width):0);break;case"e":n=c.precision?parseFloat(n).toExponential(c.precision):parseFloat(n).toExponential();break;case"f":n=c.precision?parseFloat(n).toFixed(c.precision):parseFloat(n);break;case"g":n=c.precision?String(Number(n.toPrecision(c.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=c.precision?n.substring(0,c.precision):n;break;case"t":n=String(!!n),n=c.precision?n.substring(0,c.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=c.precision?n.substring(0,c.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=c.precision?n.substring(0,c.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?y+=n:(!o.number.test(c.type)||m&&!c.sign?f="":(f=m?"+":"-",n=n.toString().replace(o.sign,"")),u=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",s=c.width-(f+n).length,l=c.width&&s>0?u.repeat(s):"",y+=c.align?f+n+l:"0"===u?f+l+n:l+f+n)}return y}(function(t){if(c[t])return c[t];for(var e,n=t,r=[],a=0;n;){if(null!==(e=o.text.exec(n)))r.push(e[0]);else if(null!==(e=o.modulo.exec(n)))r.push("%");else{if(null===(e=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var i=[],l=e[2],u=[];if(null===(u=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(i.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=o.key_access.exec(l)))i.push(u[1]);else{if(null===(u=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");i.push(u[1])}e[2]=i}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return c[t]=r}(t),arguments)}function i(t,e){return a.apply(null,[t].concat(e||[]))}var c=Object.create(null);e.sprintf=a,e.vsprintf=i,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=i,void 0===(r=function(){return{sprintf:a,vsprintf:i}}.call(e,n,e,t))||(t.exports=r))}()}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,n),a.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=window.frmGlobal,e=t.canAccessApplicationDashboard,r=t.applicationsUrl,o=window.frmFormTemplatesVars,a=o.FEATURED_TEMPLATES_IDS,i=o.FREE_TEMPLATES_IDS,c=o.upgradeLink,l="frm-form-templates",u="available-templates",s="favorites",m="custom",f="search",p="440px",d="550px",y="frm-page-skeleton",v="all-items";function h(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function b(t){for(var e=1;e":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},T=["(","?"],_={")":["("],":":["?","?:"]},E=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var P={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,n){if(t)throw e;return n}};var F={contextDelimiter:"",onMissingKey:null};function L(t,e){var n;for(n in this.data=t,this.pluralForms={},this.options={},F)this.options[n]=void 0!==e&&n in e?e[n]:F[n]}function B(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function D(t){for(var e=1;e=0||S[o]3&&void 0!==arguments[3]?arguments[3]:10,i=t[e];if(G(n)&&N(r))if("function"==typeof o)if("number"==typeof a){var c={callback:o,priority:a,namespace:r};if(i[n]){var l,u=i[n].handlers;for(l=u.length;l>0&&!(a>=u[l-1].priority);l--);l===u.length?u[l]=c:u.splice(l,0,c),i.__current.forEach(function(t){t.name===n&&t.currentIndex>=l&&t.currentIndex++})}else i[n]={handlers:[c],runs:0};"hookAdded"!==n&&t.doAction("hookAdded",n,r,o,a)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},z=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,o){var a=t[e];if(G(r)&&(n||N(o))){if(!a[r])return 0;var i=0;if(n)i=a[r].handlers.length,a[r]={runs:a[r].runs,handlers:[]};else for(var c=a[r].handlers,l=function(t){c[t].namespace===o&&(c.splice(t,1),i++,a.__current.forEach(function(e){e.name===r&&e.currentIndex>=t&&e.currentIndex--}))},u=c.length-1;u>=0;u--)l(u);return"hookRemoved"!==r&&t.doAction("hookRemoved",r,o),i}}},V=function(t,e){return function(n,r){var o=t[e];return void 0!==r?n in o&&o[n].handlers.some(function(t){return t.namespace===r}):n in o}},$=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var o=t[e];o[r]||(o[r]={handlers:[],runs:0}),o[r].runs++;for(var a=o[r].handlers,i=arguments.length,c=new Array(i>1?i-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";r.data[e]=D(D(D({},M),r.data[e]),t),r.data[e][""]=D(D({},M[""]),r.data[e][""])},c=function(t,e){i(t,e),a()},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;return r.data[t]||i(void 0,t),r.dcnpgettext(t,e,n,o,a)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},s=function(t,e,r){var o=l(r,e,t);return n?(o=n.applyFilters("i18n.gettext_with_context",o,t,e,r),n.applyFilters("i18n.gettext_with_context_"+u(r),o,t,e,r)):o};if(n){var m=function(t){q.test(t)&&a()};n.addAction("hookAdded","core/i18n",m),n.addAction("hookRemoved","core/i18n",m)}return{getLocaleData:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[t]},setLocaleData:c,resetLocaleData:function(t,e){r.data={},r.pluralForms={},c(t,e)},subscribe:function(t){return o.add(t),function(){return o.delete(t)}},__:function(t,e){var r=l(e,void 0,t);return n?(r=n.applyFilters("i18n.gettext",r,t,e),n.applyFilters("i18n.gettext_"+u(e),r,t,e)):r},_x:s,_n:function(t,e,r,o){var a=l(o,void 0,t,e,r);return n?(a=n.applyFilters("i18n.ngettext",a,t,e,r,o),n.applyFilters("i18n.ngettext_"+u(o),a,t,e,r,o)):a},_nx:function(t,e,r,o,a){var i=l(a,o,t,e,r);return n?(i=n.applyFilters("i18n.ngettext_with_context",i,t,e,r,o,a),n.applyFilters("i18n.ngettext_with_context_"+u(a),i,t,e,r,o,a)):i},isRTL:function(){return"rtl"===s("ltr","text direction")},hasTranslation:function(t,e,o){var a,i,c=e?e+""+t:t,l=!(null===(a=r.data)||void 0===a||null===(i=a[null!=o?o:"default"])||void 0===i||!i[c]);return n&&(l=n.applyFilters("i18n.has_translation",l,t,e,o),l=n.applyFilters("i18n.has_translation_"+u(o),l,t,e,o)),l}}}(0,0,Y));K.getLocaleData.bind(K),K.setLocaleData.bind(K),K.resetLocaleData.bind(K),K.subscribe.bind(K);var X=K.__.bind(K),W=(K._x.bind(K),K._n.bind(K),K._nx.bind(K),K.isRTL.bind(K),K.hasTranslation.bind(K),window.frmGlobal),Q=W.url,tt=(W.nonce,"frm_hidden"),et="frm-hide-js",nt="frm-current",rt=window.frmDom,ot=rt.tag,at=rt.div,it=rt.a,ct=rt.img;function lt(t){return lt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lt(t)}function ut(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function st(t,e,n){return(e=function(t){var e=function(t){if("object"!=lt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=lt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==lt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var mt,ft=document.getElementById("post-body-content"),pt=document.getElementById("".concat(y,"-sidebar")),dt=((mt=it({className:"button button-primary frm-button-primary"})).setAttribute("role","button"),at({id:"".concat(y,"-empty-state"),className:"frm-flex-col frm-flex-center frm-gap-md ".concat(tt),children:[ct({src:"".concat(Q,"/images/page-skeleton/empty-state.svg"),alt:X("Empty State","formidable")}),at({className:"frmcenter",children:[ot("h2",{className:"".concat(y,"-title frm-mb-0")}),ot("p",{className:"".concat(y,"-text frm-mb-0")})]}),mt]}));null==ft||ft.append(dt);var yt=function(){var t=document.querySelector("#".concat(y,"-empty-state"));return{emptyState:t,emptyStateTitle:null==t?void 0:t.querySelector(".".concat(y,"-title")),emptyStateText:null==t?void 0:t.querySelector(".".concat(y,"-text")),emptyStateButton:null==t?void 0:t.querySelector(".button")}}(),vt=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==w(t)||null===t)throw new Error("createPageElements: initialElements must be a non-null object");var e=t;return{getElements:function(){return e},addElements:function(t){if("object"!==w(t)||null===t)throw new Error("addElements: newElements must be a non-null object");e=b(b({},e),t)}}}(function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==Tt(t)||null===t)throw new Error("createPageState: initialState must be a non-null object");var e=t;return{getState:function(){return e},getSingleState:function(t){var n=Reflect.get(e,t);return void 0===n?null:n},setState:function(t){if("object"!==Tt(t)||null===t)throw new Error("setState: newState must be a non-null object");e=wt(wt({},e),t)},setSingleState:function(t,n){Reflect.has(e,t)&&Reflect.set(e,t,n)}}}({notEmptySearchText:!1,selectedCategory:v,selectedCategoryEl:_t}),xt=Et.getState,Ot=Et.getSingleState,jt=Et.setState,It=Et.setSingleState;function Ct(t){return Ct="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ct(t)}function At(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"default";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=e,this.type=n,this.prepareElements()},e=[{key:"fadeIn",value:function(){var t=this;this.applyStyleToElements(function(e){e.classList.add("frm-fadein-up"),e.addEventListener("animationend",function(){t.resetOpacity(),e.classList.remove("frm-fadein-up")},{once:!0})})}},{key:"cascadeFadeIn",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.03;setTimeout(function(){t.applyStyleToElements(function(t,n){t.classList.remove("frm-animate"),t.style.transitionDelay=(n+1)*e+"s"})},200)}},{key:"prepareElements",value:function(){var t=this;this.applyStyleToElements(function(e){"default"===t.type&&(e.style.opacity="0.0"),"cascade"===t.type&&e.classList.add("frm-init-cascade-animation"),"cascade-3d"===t.type&&e.classList.add("frm-init-fadein-3d"),e.classList.add("frm-animate")})}},{key:"resetOpacity",value:function(){this.applyStyleToElements(function(t){return t.style.opacity="1.0"})}},{key:"applyStyleToElements",value:function(t){this.elements instanceof Element?t(this.elements,0):02&&void 0!==arguments[2]?arguments[2]:"pushState";if(zt.set(t,e),Rt.search=zt.toString(),["pushState","replaceState"].includes(a)){var i=(n={},o=e,(r=function(t){var e=function(t){if("object"!=qt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=qt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==qt(e)?e:e+""}(r=t))in n?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,n);window.history[a](i,"",Rt)}return Rt.toString()},Ut=function(t){return zt.has(t)},Ht=function(t){return"string"==typeof t&&/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(t)},Zt=function(t){return t instanceof HTMLElement||console.warn("Invalid argument: Element must be an instance of HTMLElement")||!1},Jt=function(t){var e;return null===(e=Array.from(t))||void 0===e?void 0:e.forEach(function(t){return Kt(t)})},Yt=function(t){var e;return null===(e=Array.from(t))||void 0===e?void 0:e.forEach(function(t){return Xt(t)})},Kt=function(t){return null==t?void 0:t.classList.remove(tt)},Xt=function(t){return null==t?void 0:t.classList.add(tt)},Wt=function(t){var e=t.currentTarget,n=e.getAttribute("data-category"),r=xt(),o=r.selectedCategory,a=r.selectedCategoryEl,i=r.notEmptySearchText;if(o!==n){o=wp.hooks.applyFilters("frmPage.selectedCategory",n),a.classList.remove(nt),(a=e).classList.add(nt),jt({selectedCategory:o,selectedCategoryEl:a}),i&&te(),wp.hooks.doAction("frmPage.onCategoryClick",o);var c=ht().bodyContent;new Pt(c).fadeIn()}};function Qt(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),Wt(t))}function te(){var t=ht().searchInput;t.value="",t.dispatchEvent(new Event("input",{bubbles:!0}))}var ee=ht().bodyContent,ne=document.getElementById("".concat(l,"-list")),re=document.getElementById("".concat(l,"-custom-list-section")),oe=document.querySelector(".".concat(y,'-cat[data-category="').concat(s,'"]')),ae=document.getElementById("".concat(l,"-modal"));bt({headerCancelButton:null===(Nt=document.getElementById("frm-publishing"))||void 0===Nt?void 0:Nt.querySelector("a"),createFormButton:document.getElementById("".concat(l,"-create-form")),pageTitle:document.getElementById("".concat(l,"-page-title")),pageTitleText:document.getElementById("".concat(l,"-page-title-text")),pageTitleDivider:document.getElementById("".concat(l,"-page-title-divider")),upsellBanner:null!==(Gt=document.getElementById("frm-renew-subscription-banner"))&&void 0!==Gt?Gt:document.getElementById("frm-upgrade-banner"),extraTemplateCountElements:document.querySelectorAll(".".concat(l,"-extra-templates-count")),templatesList:ne,templateItems:ne.querySelectorAll(".frm-card-item"),availableTemplateItems:ne.querySelectorAll(".frm-card-item:not(.".concat(l,"-locked-item)")),twinFeaturedTemplateItems:ne.querySelectorAll(".".concat(l,"-featured-item")),featuredTemplatesList:document.getElementById("".concat(l,"-featured-list")),customTemplatesSection:re,customTemplateItems:re.querySelectorAll(".frm-card-item"),customTemplatesTitle:document.getElementById("".concat(l,"-custom-list-title")),customTemplatesList:document.getElementById("".concat(l,"-custom-list")),favoritesCategory:oe,favoritesCategoryCountEl:null==oe?void 0:oe.querySelector(".".concat(y,"-cat-count")),availableTemplatesCategory:document.querySelector(".".concat(y,'-cat[data-category="').concat(u,'"]')),getFreeTemplatesBannerButton:document.querySelector(".frm-get-free-templates-banner .button"),modal:ae,modalItems:null==ae?void 0:ae.querySelectorAll(".".concat(l,"-modal-item")),showCreateTemplateModalButton:document.getElementById("frm-show-create-template-modal"),createTemplateModal:document.getElementById("frm-create-template-modal"),createTemplateFormsDropdown:document.getElementById("frm-create-template-modal-forms-select"),createTemplateName:document.getElementById("frm_create_template_name"),createTemplateDescription:document.getElementById("frm_create_template_description"),createTemplateButton:document.getElementById("frm-create-template-button"),renewAccountModal:document.getElementById("frm-renew-modal"),leaveEmailModal:document.getElementById("frm-leave-email-modal"),leaveEmailModalInput:document.getElementById("frm_leave_email"),leaveEmailModalButton:document.getElementById("frm-get-code-button"),upgradeModal:document.getElementById("frm-form-upgrade-modal"),upgradeModalTemplateNames:null==ae?void 0:ae.querySelectorAll(".frm-upgrade-modal-template-name"),upgradeModalPlansIcons:null==ae?void 0:ae.querySelectorAll(".frm-upgrade-modal-plan-icon"),upgradeModalLink:document.getElementById("frm-upgrade-modal-link"),newTemplateForm:document.getElementById("frm-new-template"),newTemplateNameInput:document.getElementById("frm_template_name"),newTemplateDescriptionInput:document.getElementById("frm_template_desc"),newTemplateLinkInput:document.getElementById("frm_link"),newTemplateActionInput:document.getElementById("frm_action_type"),bodyContentChildren:null==ee?void 0:ee.children});var ie,ce=window.frmDom,le=ce.tag,ue=ce.div,se=ce.span,me=ce.a,fe=ce.img,pe="".concat(Q,"/images/applications/thumbnails");var de=window.frmFormTemplatesVars,ye=de.templatesCount,ve=de.favoritesCount,he=de.customCount,be=ht().availableTemplateItems.length;jt({availableTemplatesCount:be,customCount:Number(he),extraTemplatesCount:ye-be,favoritesCount:ve}),window.frmDom.span;var ge=function(t,e){return t.textContent=String(e),t},we=function(t,e,n,r,o,a,i){e._counterStartTime||(e._counterStartTime=t,e._counterLastTimestamp=t,e._counterFrameDropCount=0,e._counterLastValue=n);var c=t-e._counterLastTimestamp,l=t-e._counterStartTime;if(c>50&&null!==e._counterLastTimestamp&&(e._counterFrameDropCount++,e._counterFrameDropCount>3))return e.style.transition="opacity ".concat(Math.max(o-l,100),"ms ease-out"),e.textContent=String(r),void delete e._counterAnimation;var u=Math.min(l/o,1),s=i(u),m=Math.round(n+a*s);m!==e._counterLastValue&&(e.textContent=String(m),e._counterLastValue=m),e._counterLastTimestamp=t,u<1?e._counterAnimation=requestAnimationFrame(function(t){return we(t,e,n,r,o,a,i)}):(e.textContent=String(r),["_counterAnimation","_counterStartTime","_counterLastTimestamp","_counterFrameDropCount","_counterLastValue"].forEach(function(t){return delete e[t]}),e.style.removeProperty("transition"))},Se=function(t){return 1-Math.pow(1-t,4)};const Te=function(){var t,e=ht(),n=e.sidebar,r=e.searchInput,o=e.bodyContent,a=e.twinFeaturedTemplateItems,c=e.availableTemplatesCategory,l=e.extraTemplateCountElements,u=new Pt(o);r.value="",Yt(a),function(t){if(t){var e,n,r=Ot("availableTemplatesCount");if(Ut("registered-for-free-templates"))history.replaceState({},"",Vt("registered-for-free-templates")),e=t,n=r,setTimeout(function(){e.dispatchEvent(new Event("click",{bubbles:!0}))},0),setTimeout(function(){!function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r="string"==typeof t?document.querySelector(t):t;if(!(r&&r instanceof HTMLElement))return null;var o="number"==typeof e?e:parseInt(e,10);if(isNaN(o))return console.warn("Counter: Invalid value provided, defaulting to 0"),ge(r,"0");if(0===o)return ge(r,"0");var a=n.duration,i=void 0===a?3e3:a,c=n.easing,l=void 0===c?Se:c,u=parseInt(r.textContent,10)||0,s=o-u;0===s||(r._counterAnimation&&cancelAnimationFrame(r._counterAnimation),r.classList.add("frm-fadein"),r._counterAnimation=requestAnimationFrame(function(t){return we(t,r,u,o,i,s,l)}))}(e.querySelector(".".concat(y,"-cat-count")),n)},150),setTimeout(function(){ht().availableTemplateItems.forEach(function(t){i.includes(Number(t.dataset.id))||(t.classList.add("frm-background-highlight"),t.addEventListener("animationend",function t(e){"backgroundHighlight"===e.animationName&&(this.classList.remove("frm-background-highlight"),this.removeEventListener("animationend",t))}))})},750);else t.querySelector(".".concat(y,"-cat-count")).textContent=r}}(c),l.forEach(function(t){return t.textContent=Ot("extraTemplatesCount")}),o.classList.remove(et),n.classList.remove(et),u.fadeIn(),Ut("return_page")&&(t=ht().headerCancelButton,new Pt(t).fadeIn())};function _e(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var l=r&&r.prototype instanceof c?r:c,u=Object.create(l.prototype);return Ee(u,"_invoke",function(n,r,o){var a,c,l,u=0,s=o||[],m=!1,f={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return a=e,c=0,l=t,f.n=n,i}};function p(n,r){for(c=n,l=r,e=0;!m&&u&&!o&&e3?(o=d===r)&&(l=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=n<2&&pr||r>d)&&(a[4]=n,a[5]=r,f.n=d,c=0))}if(o||n>1)return i;throw m=!0,r}return function(o,s,d){if(u>1)throw TypeError("Generator is already running");for(m&&1===s&&p(s,d),c=s,l=d;(e=c<2?t:l)||!m;){a||(c?c<3?(c>1&&(f.n=-1),p(c,l)):f.n=l:f.v=l);try{if(u=2,a){if(c||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,c<2&&(c=0)}else 1===c&&(e=a.return)&&e.call(a),c<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=t}else if((e=(m=f.n<0)?l:n.call(r,f))!==i)break}catch(e){a=t,c=1,l=e}finally{u=1}}return{value:e,done:m}}}(n,o,a),!0),u}var i={};function c(){}function l(){}function u(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(Ee(e={},r,function(){return this}),e),m=u.prototype=c.prototype=Object.create(s);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,Ee(t,o,"GeneratorFunction")),t.prototype=Object.create(m),t}return l.prototype=u,Ee(m,"constructor",u),Ee(u,"constructor",l),l.displayName="GeneratorFunction",Ee(u,o,"GeneratorFunction"),Ee(m),Ee(m,o,"Generator"),Ee(m,r,function(){return this}),Ee(m,"toString",function(){return"[object Generator]"}),(_e=function(){return{w:a,m:f}})()}function Ee(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}Ee=function(t,e,n,r){function a(e,n){Ee(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(a("next",0),a("throw",1),a("return",2))},Ee(t,e,n,r)}function xe(t,e,n,r,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void n(t)}c.done?e(l):Promise.resolve(l).then(r,o)}var Oe=null;function je(){var t;return t=_e().m(function t(){var e,n,r;return _e().w(function(t){for(;;)switch(t.n){case 0:e=window.frmAdminBuild,n=e.initModal,r=e.offsetModalY,(Oe=n("#frm-form-templates-modal",p))&&r(Oe,"103px"),Ut("free-templates")&&ht().leaveEmailModal&&dn(),wp.hooks.addAction("frmAdmin.beforeOpenConfirmModal","frmFormTemplates",function(t){var e=t.$info;e.dialog("option","width",d),r(e,"103px")});case 1:return t.a(2)}},t)}),je=function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function i(t){xe(a,r,o,i,c,"next",t)}function c(t){xe(a,r,o,i,c,"throw",t)}i(void 0)})},je.apply(this,arguments)}function Ie(){return Oe}function Ce(t){var e=ht().pageTitleText,n=t||Ot("selectedCategoryEl").querySelector(".".concat(y,"-cat-text")).textContent;e.textContent=n}var Ae=function(t){return!!Zt(t)&&t.classList.contains("".concat(l,"-favorite-item"))},ke=function(t){return!!Zt(t)&&t.classList.contains("".concat(l,"-custom-item"))},Pe={},Fe=function(){var t=ht(),e=t.createFormButton,n=t.newTemplateForm,r=t.newTemplateNameInput,o=t.newTemplateActionInput,a=window.frmAdminBuild.installNewForm;r.value="",o.value="frm_install_form",a(n,"frm_install_form",e)};var Le=".".concat(l,"-item-favorite-button"),Be="".concat(Le," use"),De="#frm_heart_solid_icon",Me="#frm_heart_icon",qe=function(t){var e,n=t.currentTarget,r=ht(),o=r.templatesList,i=r.featuredTemplatesList,c=r.favoritesCategoryCountEl,u=r.customTemplatesTitle,m=n.closest(".frm-card-item"),f=m.dataset.id,p=Ae(m),d=ke(m),y=function(t){return!!Zt(t)&&a.includes(Number(t.dataset.id))}(m),v=null;if(m.classList.toggle("".concat(l,"-favorite-item"),!p),y){var h=m.closest("#".concat(l,"-list"))?i:o;h&&(v=h.querySelector('.frm-card-item[data-id="'.concat(f,'"]'))).classList.toggle("".concat(l,"-favorite-item"),!p)}var b,g=xt(),w=g.selectedCategory,S=g.favoritesCount,T=p?"remove":"add",_=m.querySelector(Be),E=null===(e=v)||void 0===e?void 0:e.querySelector(Be);"add"===T?(++S.total,d?++S.custom:++S.default,_.setAttribute("href",De),null==E||E.setAttribute("href",De)):(--S.total,d?--S.custom:--S.default,_.setAttribute("href",Me),null==E||E.setAttribute("href",Me)),c.textContent=S.total,It("favoritesCount",S),s===w&&(0===S.total&&on(),Xt(m),0===S.default&&Xt(o),0!==S.custom&&0!==S.default||Xt(u)),b=function(){return t=f,e=T,n=d,r=new FormData,o=frmDom.ajax.doJsonPost,r.append("template_id",t),r.append("operation",e),r.append("is_custom_template",n),o("add_or_remove_favorite_template",r);var t,e,n,r,o},Ft=Ft.then(b).catch(b)};var Ne=function(t){var e=t.currentTarget,n=e.closest(".frm-card-item"),r=function(t){return!!Zt(t)&&t.classList.contains("".concat(l,"-locked-item"))}(n),o=ke(n);if(r||!o)if(t.preventDefault(),r)!function(t){var e=t.dataset.requiredPlan;switch(e){case"basic":case"plus":case"business":case"elite":fn(e,t);break;case"renew":pn();break;case"free":dn()}}(n);else{var a=ht(),i=a.newTemplateForm,c=a.newTemplateNameInput,u=a.newTemplateDescriptionInput,s=a.newTemplateLinkInput,m=a.newTemplateActionInput,f=window.frmAdminBuild.installNewForm,p=n.querySelector(".frm-form-template-name").textContent.trim(),d=n.querySelector(".frm-form-templates-item-description").textContent.trim(),y="frm_install_template";c.value=p,u.value=d,m.value=y,s.value=e.href,f(i,y,e)}};var Ge=window.frmDom.search.init;function Re(t,e){var n=t.foundSomething,r=t.notEmptySearchText;if(!e||"search"!==e.type||""!==e.target.value){var o=xt(),a=ht().allItemsCategory;It("notEmptySearchText",r),o.notEmptySearchText||o.selectedCategory?(o.selectedCategory&&(function(t){var e=ht(),n=e.bodyContent,r=e.bodyContentChildren,o=e.pageTitle,a=e.templatesList,i=e.applicationTemplates,c=new Pt(n);t&&Ot("selectedCategoryEl").classList.remove(nt),Yt(r),Ce(X("Search Result","formidable")),Jt([o,a,i]),c.fadeIn()}(r),r&&It("selectedCategory","")),function(t){if(t){var e,n=ht().emptyState;if(e=n,"none"!==window.getComputedStyle(e).getPropertyValue("display")){var r=ht().pageTitle;Xt(n),Kt(r)}var o=ht(),a=o.templatesList,i=o.applicationTemplates,c=o.applicationTemplatesTitle,l=o.applicationTemplatesList;Jt([a,i,c]),0===a.offsetHeight&&Yt([a,c]),0===(null==l?void 0:l.offsetHeight)&&Xt(i)}else!function(){var t,e=xt().notEmptySearchText,n=ht(),r=n.pageTitle,o=n.emptyState,a=n.emptyStateButton,i=n.applicationTemplates;if(f!==(null===(t=o.dataset)||void 0===t?void 0:t.view)){o.setAttribute("data-view",f);var c=ht(),l=c.emptyStateTitle,u=c.emptyStateText;l.textContent=X("No templates found","formidable"),u.textContent=X("Sorry, we didn't find any templates that match your criteria.","formidable"),a.textContent=X("Start from Scratch","formidable"),Yt([r,i]),Jt([o,a])}else e?(Kt(o),Yt([r,i])):(Xt(o),o.removeAttribute("data-view"))}()}(n)):a.dispatchEvent(new Event("click",{bubbles:!0}))}}var ze=function(){var t,e=ht().emptyState;f===(null===(t=e.dataset)||void 0===t?void 0:t.view)&&(It("selectedCategory",""),te(),ht().searchInput.focus())};var Ve=function(){var t=xt().selectedCategory;m===t&&yn()},$e=function(){var t=ht().createTemplateFormsDropdown,e=t.value;if(e&&"no-forms"!==e){Ue(!1);var n=t.options[t.selectedIndex],r=n.dataset.description.trim(),o=n.dataset.name.trim(),a=" ".concat(X("Template","formidable"));o.endsWith(a)||(o+=a);var i=ht(),c=i.createTemplateName,l=i.createTemplateDescription;c.value=o,l.value=r}else Ue(!0)},Ue=function(t){var e=ht(),n=e.createTemplateName,r=e.createTemplateDescription,o=e.createTemplateButton;[n,r].forEach(function(e){e.disabled=t,t&&(e.value="")}),o.classList.toggle("disabled",t)},He=function(){var t=window.frmAdminBuild.installNewForm,e="frm_create_template",n=ht(),r=n.newTemplateForm,o=n.newTemplateActionInput,a=n.newTemplateNameInput,i=n.newTemplateDescriptionInput,c=n.newTemplateLinkInput,l=n.createTemplateName,u=n.createTemplateDescription,s=n.createTemplateFormsDropdown,m=n.createTemplateButton;o.value=e,a.value=l.value.trim(),i.value=u.value.trim(),c.value=s.value,t(r,e,m)};function Ze(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var l=r&&r.prototype instanceof c?r:c,u=Object.create(l.prototype);return Je(u,"_invoke",function(n,r,o){var a,c,l,u=0,s=o||[],m=!1,f={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return a=e,c=0,l=t,f.n=n,i}};function p(n,r){for(c=n,l=r,e=0;!m&&u&&!o&&e3?(o=d===r)&&(l=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=n<2&&pr||r>d)&&(a[4]=n,a[5]=r,f.n=d,c=0))}if(o||n>1)return i;throw m=!0,r}return function(o,s,d){if(u>1)throw TypeError("Generator is already running");for(m&&1===s&&p(s,d),c=s,l=d;(e=c<2?t:l)||!m;){a||(c?c<3?(c>1&&(f.n=-1),p(c,l)):f.n=l:f.v=l);try{if(u=2,a){if(c||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,c<2&&(c=0)}else 1===c&&(e=a.return)&&e.call(a),c<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=t}else if((e=(m=f.n<0)?l:n.call(r,f))!==i)break}catch(e){a=t,c=1,l=e}finally{u=1}}return{value:e,done:m}}}(n,o,a),!0),u}var i={};function c(){}function l(){}function u(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(Je(e={},r,function(){return this}),e),m=u.prototype=c.prototype=Object.create(s);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,Je(t,o,"GeneratorFunction")),t.prototype=Object.create(m),t}return l.prototype=u,Je(m,"constructor",u),Je(u,"constructor",l),l.displayName="GeneratorFunction",Je(u,o,"GeneratorFunction"),Je(m),Je(m,o,"Generator"),Je(m,r,function(){return this}),Je(m,"toString",function(){return"[object Generator]"}),(Ze=function(){return{w:a,m:f}})()}function Je(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}Je=function(t,e,n,r){function a(e,n){Je(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(a("next",0),a("throw",1),a("return",2))},Je(t,e,n,r)}function Ye(t,e,n,r,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void n(t)}c.done?e(l):Promise.resolve(l).then(r,o)}var Ke=window.frmDom.tag,Xe=function(){var t,e=(t=Ze().m(function t(){var e,n,r,o,a,i,c,l,u;return Ze().w(function(t){for(;;)switch(t.p=t.n){case 0:if(e=ht(),n=e.leaveEmailModalInput,r=n.value.trim()){t.n=1;break}return vn("empty"),t.a(2);case 1:if(Ht(r)){t.n=2;break}return vn("invalid"),t.a(2);case 2:return o=ht(),(a=o.leaveEmailModalButton).style.setProperty("cursor","not-allowed"),a.classList.add("frm_loading_button"),(i=new FormData).append("email",r),l=frmDom.ajax.doJsonPost,t.p=3,t.n=4,l("get_free_templates",i);case 4:c=t.v,t.n=6;break;case 5:return t.p=5,u=t.v,console.error("An error occurred:",u),We(),t.a(2);case 6:if(c.success){t.n=7;break}return We(),t.a(2);case 7:Ut("free-templates")&&Vt("free-templates"),$t("registered-for-free-templates","1"),window.location.reload();case 8:return t.a(2)}},t,null,[[3,5]])}),function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function i(t){Ye(a,r,o,i,c,"next",t)}function c(t){Ye(a,r,o,i,c,"throw",t)}i(void 0)})});return function(){return e.apply(this,arguments)}}();function We(){var t=ht().leaveEmailModal;t.querySelector(".inside").replaceChildren(Ke("p",X("Failed to get templates, please try again later.","formidable"))),t.querySelector(".frm_modal_footer").classList.add("frm_hidden")}var Qe=function(t){if(!t.target.closest("a")){var e=t.currentTarget;window.location.href=e.dataset.href}};function tn(){var t,e,n,r;ht().categoryItems.forEach(function(t){Mt(t,Wt),t.addEventListener("keydown",Qt)}),wp.hooks.addAction("frmPage.onCategoryClick","frmFormTemplates",function(t){!function(t){var e=ht(),n=e.bodyContentChildren,r=e.pageTitle,o=e.showCreateTemplateModalButton,a=e.templatesList,i=e.templateItems,c=e.upsellBanner;switch(v!==t&&Yt(n),Ce(),Xt(o),Kt(r),t){case v:!function(){var t=ht(),e=t.bodyContentChildren,n=t.pageTitleDivider,r=t.templateItems,o=t.twinFeaturedTemplateItems,a=t.customTemplatesSection,i=t.emptyState,c=t.applicationTemplates;Jt([].concat(nn(e),nn(r))),Yt([n].concat(nn(o),[a,i,c]))}();break;case u:!function(){if(0!==xt().availableTemplatesCount){var t=ht(),e=t.templatesList,n=t.templateItems,r=t.availableTemplateItems,o=t.upsellBanner;Yt(n),Jt([o,e].concat(nn(r)))}else!function(){var t=ht(),e=t.pageTitle,n=t.emptyState,r=t.emptyStateButton;n.setAttribute("data-view",u);var o=ht(),a=o.emptyStateTitle,i=o.emptyStateText,c=xt().extraTemplatesCount;a.textContent=X("No Templates Available","formidable"),i.textContent=function(t){try{for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r0&&s.push(r),t.custom>0){var f=Array.from(u).filter(function(t){return!Ae(t)});Yt(f),s.push(a),s.push(c),0===t.default?Xt(i):s.push(i)}Jt(s)}else on()}();break;case m:!function(){if(0!==xt().customCount){var t=ht(),e=t.showCreateTemplateModalButton,n=t.pageTitleDivider,r=t.customTemplatesSection,o=t.customTemplatesList,a=t.customTemplatesTitle,i=t.customTemplateItems;Xt(a),Jt([e,n,r,o].concat(nn(i)))}else!function(){var t=ht(),e=t.pageTitle,n=t.emptyState,r=t.emptyStateButton;n.setAttribute("data-view",m);var o=ht(),a=o.emptyStateTitle,i=o.emptyStateText;a.textContent=X("You currently have no templates.","formidable"),i.textContent=X("You haven't created any form templates. Begin now to simplify your workflow and save time.","formidable"),r.textContent=X("Create Template","formidable"),Xt(e),Jt([n,r])}()}();break;default:Yt(i),Jt([c,a].concat(nn(Pe[t])))}}(t)}),r=ht().createFormButton,Mt(r,Fe),document.querySelectorAll(Le).forEach(function(t){return Mt(t,qe)}),document.querySelectorAll(".".concat(l,"-use-template-button")).forEach(function(t){return t.addEventListener("click",Ne)}),t=ht(),e=t.searchInput,n=t.emptyStateButton,Ge(e,"frm-card-item",{handleSearchResult:Re}),Mt(n,ze),function(){var t=ht(),e=t.createTemplateFormsDropdown,n=t.createTemplateButton,r=t.showCreateTemplateModalButton,o=t.emptyStateButton;Mt(r,Ve),Mt(o,Ve),e.addEventListener("change",$e),Mt(n,He)}(),function(){var t=ht(),e=t.leaveEmailModalButton,n=t.getFreeTemplatesBannerButton;Mt(e,Xe),Mt(n,dn)}()}function en(t){var e,n;(function(t){if(t&&t.length){var e=t.map(function(t){return function(t){var e=t.name,n=t.key,o=t.hasLiteThumbnail,a=t.isWebp,i=o?a?"".concat(pe,"/").concat(n,".webp"):"".concat(pe,"/").concat(n,".png"):"".concat(pe,"/placeholder.svg");return le("li",{className:"frm-card-item",data:{href:"".concat(r,"&triggerViewApplicationModal=1&template=").concat(n),"frm-search-text":e.toLowerCase()},children:[ue({className:"".concat(l,"-item-icon"),child:fe({src:i})}),ue({className:"".concat(l,"-item-body"),children:[se({text:X("Ready Made Solution","formidable"),className:"frm-meta-tag frm-orange-tag frm-text-xs"}),le("h3",{text:e,className:"frm-text-sm frm-font-medium frm-m-0"}),me({text:X("See all applications","formidable"),className:"frm-text-xs frm-font-semibold",href:r})]})]})}(t)});ie=ue({id:"".concat(l,"-applications"),className:tt,children:[le("h2",{text:X("Application Templates"),className:"frm-text-sm frm-mb-sm"}),le("ul",{className:"".concat(l,"-list frm-list-grid-layout"),children:e})]})}})(t.templates),(e=ht()).applicationTemplates||void 0===ie||(e.bodyContent.append(ie),bt({applicationTemplates:ie,applicationTemplatesTitle:ie.querySelector("h2"),applicationTemplatesList:ie.querySelector(".".concat(l,"-list")),applicationTemplateItems:ie.querySelectorAll(".frm-card-item")})),void 0!==(n=ht().applicationTemplateItems)&&n.forEach(function(t){t.addEventListener("click",Qe)})}function nn(t){return function(t){if(Array.isArray(t))return rn(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return rn(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rn(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n3?(o=d===r)&&(l=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=n<2&&pr||r>d)&&(a[4]=n,a[5]=r,f.n=d,c=0))}if(o||n>1)return i;throw m=!0,r}return function(o,s,d){if(u>1)throw TypeError("Generator is already running");for(m&&1===s&&p(s,d),c=s,l=d;(e=c<2?t:l)||!m;){a||(c?c<3?(c>1&&(f.n=-1),p(c,l)):f.n=l:f.v=l);try{if(u=2,a){if(c||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,c<2&&(c=0)}else 1===c&&(e=a.return)&&e.call(a),c<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=t}else if((e=(m=f.n<0)?l:n.call(r,f))!==i)break}catch(e){a=t,c=1,l=e}finally{u=1}}return{value:e,done:m}}}(n,o,a),!0),u}var i={};function c(){}function l(){}function u(){}e=Object.getPrototypeOf;var s=[][r]?e(e([][r]())):(cn(e={},r,function(){return this}),e),m=u.prototype=c.prototype=Object.create(s);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,cn(t,o,"GeneratorFunction")),t.prototype=Object.create(m),t}return l.prototype=u,cn(m,"constructor",u),cn(u,"constructor",l),l.displayName="GeneratorFunction",cn(u,o,"GeneratorFunction"),cn(m),cn(m,o,"Generator"),cn(m,r,function(){return this}),cn(m,"toString",function(){return"[object Generator]"}),(an=function(){return{w:a,m:f}})()}function cn(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}cn=function(t,e,n,r){function a(e,n){cn(t,e,function(t){return this._invoke(e,n,t)})}e?o?o(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(a("next",0),a("throw",1),a("return",2))},cn(t,e,n,r)}function ln(t,e,n,r,o,a,i){try{var c=t[a](i),l=c.value}catch(t){return void n(t)}c.done?e(l):Promise.resolve(l).then(r,o)}function un(t){return function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function i(t){ln(a,r,o,i,c,"next",t)}function c(t){ln(a,r,o,i,c,"throw",t)}i(void 0)})}}var sn=function(t){return un(an().m(function e(){var n,r,o,a,i,c,l=arguments;return an().w(function(e){for(;;)switch(e.n){case 0:if(n=Ie()){e.n=1;break}return e.a(2);case 1:for(r=ht(),o=r.modalItems,Yt(o),n.dialog("option","width",p),a=l.length,i=new Array(a),c=0;c use").setAttribute("href",r?"#frm_checkmark_icon":"#frm_close_icon")});var u=e.dataset.slug?"-".concat(e.dataset.slug):"";l.href=c+u,Kt(o)}),pn=sn(function(){var t=ht().renewAccountModal;Kt(t)}),dn=sn(function(){var t=ht().leaveEmailModal;Kt(t)}),yn=sn(function(){Ie().dialog("option","width",d);var t=ht().createTemplateModal;Kt(t)}),vn=function(t){!function(t,e,n){var r=document.querySelector("#frm_leave_email"),o=document.querySelector("#frm_leave_email_error");r&&o?(o.setAttribute("frm-error",n),Kt(o),r.addEventListener("keyup",function(){Xt(o)},{once:!0})):console.warn("showFormError: Unable to find input or error element.")}(0,0,t)};var hn;hn=function(){wp.hooks.doAction("frmFormTemplates.beforeInitialize",{getState:xt,setState:jt}),e&&(0,frmDom.ajax.doJsonFetch)("get_applications_data&view=templates").then(en),function(){je.apply(this,arguments)}(),ht().templateItems.forEach(function(t){t.getAttribute("data-categories").split(",").forEach(function(e){Pe[e]||(Pe[e]=[]),Pe[e].push(t)})}),Te(),tn(),wp.hooks.doAction("frmFormTemplates.afterInitialize",{getState:xt,setState:jt}),wp.hooks.doAction("frm_new_form_modal_form",jQuery("#frm-new-template"))},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",hn):hn())})()})(); \ No newline at end of file diff --git a/js/formidable-web-components.js b/js/formidable-web-components.js index 853aad690c..24738ba74a 100644 --- a/js/formidable-web-components.js +++ b/js/formidable-web-components.js @@ -1 +1 @@ -(()=>{var e={8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,s=r,l=arguments.length;e:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,s,l,u,p,c,d,f=1,m=e.length,h="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?h+=r:(!i.number.test(s.type)||c&&!s.sign?d="":(d=c?"+":"-",r=r.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",p=s.width-(d+r).length,l=s.width&&p>0?u.repeat(p):"",h+=s.align?d+r+l:"0"===u?d+l+r:l+d+r)}return h}(function(e){if(s[e])return s[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],l=t[2],u=[];if(null===(u=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=i.key_access.exec(l)))a.push(u[1]);else{if(null===(u=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(u[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var r=0;r li"),this.slideTrackLine=this.wrapper.querySelector(".frm-tabs-active-underline"),this.slideTrack=this.wrapper.querySelector(".frm-tabs-slide-track"),this.slides=this.wrapper.querySelectorAll(".frm-tabs-slide-track > div"),this.isRTL="rtl"===document.documentElement.dir||"rtl"===document.body.dir,this.resizeObserver=null,this.init()))},(r=[{key:"init",value:function(){var e=this;null!==this.wrapper&&this.navs.length&&null!==this.slideTrackLine&&null!==this.slideTrack&&this.slides.length&&(this.initDefaultSlideTrackerWidth(),this.navs.forEach(function(t,r){t.addEventListener("click",function(t){return e.onNavClick(t,r)})}),this.setupScrollbarObserver(),window.addEventListener("beforeunload",this.cleanupObservers))}},{key:"onNavClick",value:function(e,t){var r=e.currentTarget;e.preventDefault(),this.removeActiveClassnameFromNavs(),r.classList.add("frm-active"),this.initSlideTrackUnderline(r,t),this.changeSlide(t);var n,i,o=r.querySelector("a");o&&"frm_insert_fields_tab"===o.id&&!o.closest("#frm_adv_info")&&(null===(n=window.frmAdminBuild)||void 0===n||null===(i=n.clearSettingsBox)||void 0===i||i.call(n))}},{key:"initDefaultSlideTrackerWidth",value:function(){this.slideTrackLine.dataset.initialWidth&&(this.slideTrackLine.style.width="".concat(this.slideTrackLine.dataset.initialWidth,"px"))}},{key:"initSlideTrackUnderline",value:function(e,t){this.slideTrackLine.classList.remove("frm-first","frm-last");var r=void 0!==e?e:this.navs.filter(function(e){return e.classList.contains("frm-active")});this.positionUnderlineIndicator(r)}},{key:"setupScrollbarObserver",value:function(){var e=this,t=this.wrapper.closest(".frm-scrollbar-wrapper");t&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(function(){var t=e.wrapper.querySelector(".frm-tabs-navs ul > li.frm-active");t&&e.positionUnderlineIndicator(t)}),this.resizeObserver.observe(t))}},{key:"cleanupObservers",value:function(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"positionUnderlineIndicator",value:function(e){var t=this;requestAnimationFrame(function(){var r=t.isRTL?-(e.parentElement.offsetWidth-e.offsetLeft-e.offsetWidth):e.offsetLeft;t.slideTrackLine.style.transform="translateX(".concat(r,"px)"),t.slideTrackLine.style.width=e.clientWidth+"px"})}},{key:"changeSlide",value:function(e){this.removeActiveClassnameFromSlides();var t=0==e?"0px":"calc( ( ".concat(100*e,"% + ").concat(parseInt(this.flexboxSlidesGap,10)*e,"px ) * ").concat(this.isRTL?1:-1," )");"0px"!==t?this.slideTrack.style.transform="translateX(".concat(t,")"):this.slideTrack.style.removeProperty("transform"),e in this.slides&&this.slides[e].classList.add("frm-active")}},{key:"removeActiveClassnameFromSlides",value:function(){this.slides.forEach(function(e){return e.classList.remove("frm-active")})}},{key:"removeActiveClassnameFromNavs",value:function(){this.navs.forEach(function(e){return e.classList.remove("frm-active")})}}])&&t(e.prototype,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,r}();function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r0&&(r.disconnect(),requestAnimationFrame(function(){return t()}))})},{threshold:.1});(e.useShadowDom()?e.shadowRoot.host:e)&&r.observe(e)}else requestAnimationFrame(function(){return t()})})}},{key:"frmLabel",set:function(e){this._labelText=e}},{key:"afterViewInit",value:function(e){}},{key:"initView",value:function(){}},{key:"connectedCallback",value:function(){this.initOptions(),this.render()}},{key:"disconnectedCallback",value:function(){}}])&&s(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n}(u(HTMLElement));function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function h(e,t){for(var r=0;rspan.frm-component-label{font-weight:500;font-size:var(--text-sm) !important;color:var(--grey-900) !important;width:40% !important;display:block !important;margin-right:12px !important}.frm-colorpicker-component .wp-picker-container button[type=button]{position:relative;height:36px !important;background-image:none !important;background-color:#fff !important;overflow:hidden}.frm-colorpicker-component .wp-picker-container button[type=button]:after{content:"";width:20px;height:20px;display:block;position:absolute;top:0;right:8px;bottom:0;margin:auto;background:url("--frm-plugin-url/images/style/small-arrow.svg") no-repeat;background-position:center;z-index:10}.frm-colorpicker-component .wp-picker-container button[type=button]:focus{border-color:var(--primary-500) !important}.frm-colorpicker-component .wp-color-result-text{line-height:36px !important;padding:0 12px;border:0}.frm-colorpicker-component .color-alpha{width:20px !important;height:20px !important;border-radius:50% !important;border:1px solid #d0d5dd;top:0;left:0;bottom:0;margin:auto;margin-left:12px}.frm-colorpicker-component .wp-picker-input-wrap input{width:calc(100% - 10px) !important;margin:1px 5px;height:32px;line-height:32px}\n',e.attachInternals(),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&F(e,t)}(t,e),r=t,(n=[{key:"initView",value:function(){var e=document.createElement("div");return e.classList.add("frm-colorpicker-component","frm-colorpicker"),e.append(this.getInput()),e}},{key:"getInput",value:function(){var e=this;return this.input.type="text",this.input.classList.add("hex"),null!==this.fieldName&&(this.input.name=this.fieldName),null!==_(T,this)&&(this.input.value=_(T,this)),null!==this.componentId&&(this.input.id=this.componentId),this.input.addEventListener("blur",function(t){return _(L,e).call(e,t,null)}),this.input}},{key:"useShadowDom",value:function(){return!1}},{key:"afterViewInit",value:function(){var e=this,t={defaultColor:_(T,this)};"function"==typeof _(L,this)&&(t.change=function(t,r){return setTimeout(function(){return _(L,e).call(e,t,r)},20)}),jQuery(this.input).wpColorPicker(t)}},{key:"color",get:function(){return jQuery(this.input).wpColorPicker("color")},set:function(e){j(T,this,e),this.input.value=e}},{key:"onChange",set:function(e){if("function"!=typeof e)throw new TypeError("Expected a function, but received ".concat(w(e)));j(L,this,e)}}])&&k(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n}(f);C=P,D=!0,(A=O(A="formAssociated"))in C?Object.defineProperty(C,A,{value:D,enumerable:!0,configurable:!0,writable:!0}):C[A]=D;var B=window.frmColorpickerProComponent?window.frmColorpickerProComponent(P):P,z=window.frmGlobal;function W(e){return W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},W(e)}function M(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.loadedByWebComponent=r.length>0,this.sliderElements=r.length>0?r:document.querySelectorAll(".frm-slider-component"),this.settings=n,0!==this.sliderElements.length){this.sliderBulletWidth=16,this.sliderMarginRight=5,this.eventsChange=[];var i=frmDom.util.debounce;this.valueChangeDebouncer=i(function(e){return t.triggerValueChange(e)},25),this.initOptions(),this.init()}}return function(e,t,r){return t&&N(e.prototype,t),r&&N(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}(e,[{key:"initOptions",value:function(){var e=this;this.options=[],this.sliderElements.forEach(function(t,r){var n=t.classList.contains("frm-has-multiple-values")?t.closest(".frm-style-component"):t,i=e.settings.steps||(t.dataset.steps?JSON.parse(t.dataset.steps):null);e.options.push({dragging:!1,startX:0,translateX:0,maxValue:parseInt(t.dataset.maxValue,10),element:t,index:r,value:0,steps:i,dependentUpdater:n.classList.contains("frm-style-dependent-updater-component")?new q(n):null})})}},{key:"init",value:function(){this.initDraggable(),this.loadedByWebComponent?this.initSlidersPositionInsideWebComponent():this.initSlidersPosition()}},{key:"initDraggable",value:function(){var t=this;this.sliderElements.forEach(function(r,n){t.eventsChange[n]=new Event("change",{bubbles:!0,cancelable:!0});var i=r.querySelector(".frm-slider-bullet"),o=r.querySelector('.frm-slider-value input[type="text"]');o.addEventListener("change",function(e){var i=r.querySelector("select").value;t.getMaxValue(i,n)1&&void 0!==arguments[1]?arguments[1]:null;if(!t.classList.contains("frm-disabled")){var n=null!==r?r:this.getSliderIndex(t),i=t.querySelector(".frm-slider").offsetWidth-this.sliderBulletWidth,o=parseInt(t.querySelector('.frm-slider-value input[type="text"]').value,10),a=t.querySelector("select").value,s=this.options[n].steps,l=Math.ceil(o/this.options[n].maxValue*i);"%"===a?l=Math.round(i*o/100):s&&s.length>0&&(l=e.calculateDeltaXFromSteps(o,s,i)),t.querySelector(".frm-slider-active-track").style.width="".concat(l,"px"),this.options[n].translateX=l,this.options[n].value=o+a}}},{key:"initChildSlidersWidth",value:function(e,t,r,n){var i=this;(e.classList.contains("frm-has-independent-fields")||e.classList.contains("frm-has-multiple-values"))&&(e.classList.contains("frm-has-independent-fields")?e.querySelectorAll(".frm-independent-slider-field"):this.getSliderGroupItems(e)).forEach(function(e,o){e.querySelector(".frm-slider-active-track").style.width="".concat(t,"px"),i.options[r+o+1].translateX=t,i.options[r+o+1].value=n})}},{key:"getSliderIndex",value:function(e){return this.options.filter(function(t){return t.element===e})[0].index}},{key:"moveTracker",value:function(t,r){if(this.options[r].dragging){var n=t.clientX-this.options[r].startX,i=this.sliderElements[r],o=i.querySelector(".frm-slider").offsetWidth-this.sliderBulletWidth;n=Math.max(n,0),n=Math.min(n,o);var a=i.querySelector("select").value,s=e.calculateValue(o,n,this.getMaxValue(a,r),this.options[r].steps);i.querySelector('.frm-slider-value input[type="text"]').value=s,i.querySelector(".frm-slider-bullet .frm-slider-value-label").innerText=s,i.querySelector(".frm-slider-active-track").style.width="".concat(n,"px"),this.initChildSlidersWidth(i,n,r,s+a),this.options[r].translateX=n,this.options[r].value=s+a,this.options[r].fullValue=this.updateValue(i,this.options[r].value),this.valueChangeDebouncer(r)}}},{key:"getMaxValue",value:function(e,t){return"%"===e?100:this.options[t].maxValue}},{key:"enableDragging",value:function(e,t){e.target.classList.add("frm-dragging"),this.options[t].dragging=!0,this.options[t].startX=e.clientX-this.options[t].translateX}},{key:"disableDragging",value:function(e){!1!==this.options[e].dragging&&(this.sliderElements[e].querySelector(".frm-slider-bullet").classList.remove("frm-dragging"),this.options[e].dragging=!1,this.triggerValueChange(e))}},{key:"triggerValueChange",value:function(e){var t=this;if(null===this.options[e].dependentUpdater){var r=this.sliderElements[e].classList.contains("frm-has-multiple-values")?this.sliderElements[e].closest(".frm-style-component").querySelector('input[type="hidden"]'):this.sliderElements[e].querySelectorAll('.frm-slider-value input[type="hidden"]');r instanceof NodeList?r.forEach(function(r){r.dispatchEvent(t.eventsChange[e])}):r.dispatchEvent(this.eventsChange[e])}else this.options[e].dependentUpdater.updateAllDependentElements(this.options[e].fullValue)}},{key:"updateValue",value:function(e,t){var r=this;if(e.classList.contains("frm-base-font-size")){var n=document.querySelector('input[name="frm_style_setting[post_content][use_base_font_size]"]');null!==n&&(n.value="true")}if(e.classList.contains("frm-has-multiple-values")){var i=e.closest(".frm-style-component").querySelector('input[type="hidden"]'),o=i.value.split(" "),a=e.dataset.type;switch(o[2]||(o[2]="0px"),o[3]||(o[3]="0px"),a){case"vertical":o[0]=t,o[2]=t;break;case"horizontal":o[1]=t,o[3]=t;break;case"top":o[0]=t;break;case"bottom":o[2]=t;break;case"left":o[3]=t;break;case"right":o[1]=t}var s=o.join(" ");return i.value=s,this.getSliderGroupItems(e).forEach(function(e){var n=r.getUnitMeasureFromValue(t);e.querySelector('.frm-slider-value input[type="text"]').value=parseInt(t,10),e.querySelector("select").value=n}),s}if(e.classList.contains("frm-has-independent-fields")){var l=e.querySelectorAll('.frm-slider-value input[type="hidden"]'),u=e.querySelectorAll('.frm-slider-value input[type="text"]');return l.forEach(function(e,r){e.value=t,u[r+1].value=parseInt(t,10)}),t}return e.querySelector('.frm-slider-value input[type="hidden"]').value=t,t}},{key:"getUnitMeasureFromValue",value:function(e){return["%","px","em"].find(function(t){return e.includes(t)})||""}}],[{key:"maybeDisableUnitDropdown",value:function(e){var t=e.querySelector("select");t&&1>=Array.from(t.options).filter(function(e){return""!==e.value}).length&&(t.classList.add("frm-single-unit"),t.addEventListener("mousedown",function(e){return e.preventDefault()}))}},{key:"calculateDeltaXFromSteps",value:function(t,r,n){var i=r.indexOf(t);if(-1===i){var o=e.snapToStep(t,r),a=r.indexOf(o);return Math.round(a/(r.length-1)*n)}return Math.round(i/(r.length-1)*n)}},{key:"calculateValue",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(n&&n.length>0){var i=t/e,o=Math.round(i*(n.length-1));return n[Math.max(0,Math.min(o,n.length-1))]}var a=Math.round(t/e*r);return Math.min(a,r)}},{key:"snapToStep",value:function(e,t){for(var r=t[0],n=Math.abs(e-r),i=1;i":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},G=["(","?"],$={")":["("],":":["?","?:"]},J=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var te={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};var re={contextDelimiter:"",onMissingKey:null};function ne(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},re)this.options[r]=void 0!==t&&r in t?t[r]:re[r]}function ie(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function oe(e){for(var t=1;t=0||X[i]3&&void 0!==arguments[3]?arguments[3]:10,a=e[t];if(ue(r)&&le(n))if("function"==typeof i)if("number"==typeof o){var s={callback:i,priority:o,namespace:n};if(a[r]){var l,u=a[r].handlers;for(l=u.length;l>0&&!(o>=u[l-1].priority);l--);l===u.length?u[l]=s:u.splice(l,0,s),a.__current.forEach(function(e){e.name===r&&e.currentIndex>=l&&e.currentIndex++})}else a[r]={handlers:[s],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,n,i,o)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},ce=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n,i){var o=e[t];if(ue(n)&&(r||le(i))){if(!o[n])return 0;var a=0;if(r)a=o[n].handlers.length,o[n]={runs:o[n].runs,handlers:[]};else for(var s=o[n].handlers,l=function(e){s[e].namespace===i&&(s.splice(e,1),a++,o.__current.forEach(function(t){t.name===n&&t.currentIndex>=e&&t.currentIndex--}))},u=s.length-1;u>=0;u--)l(u);return"hookRemoved"!==n&&e.doAction("hookRemoved",n,i),a}}},de=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some(function(e){return e.namespace===n}):r in i}},fe=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,s=new Array(a>1?a-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=oe(oe(oe({},ae),n.data[t]),e),n.data[t][""]=oe(oe({},ae[""]),n.data[t][""])},s=function(e,t){a(e,t),o()},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||a(void 0,e),n.dcnpgettext(e,t,r,i,o)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},p=function(e,t,n){var i=l(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+u(n),i,e,t,n)):i};if(r){var c=function(e){se.test(e)&&o()};r.addAction("hookAdded","core/i18n",c),r.addAction("hookRemoved","core/i18n",c)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:s,resetLocaleData:function(e,t){n.data={},n.pluralForms={},s(e,t)},subscribe:function(e){return i.add(e),function(){return i.delete(e)}},__:function(e,t){var n=l(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+u(t),n,e,t)):n},_x:p,_n:function(e,t,n,i){var o=l(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+u(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=l(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+u(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===p("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,s=t?t+""+e:e,l=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[s]);return r&&(l=r.applyFilters("i18n.has_translation",l,e,t,i),l=r.applyFilters("i18n.has_translation_"+u(i),l,e,t,i)),l}}}(0,0,ye));ve.getLocaleData.bind(ve),ve.setLocaleData.bind(ve),ve.resetLocaleData.bind(ve),ve.subscribe.bind(ve);var ge=ve.__.bind(ve);function xe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function we(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2],n=document.createElement("option");return n.value=e,n.textContent=t,n.selected=r,n}},{key:"createSvgIcon",value:function(e){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");t.classList.add("frmsvg");var r=document.createElementNS("http://www.w3.org/2000/svg","use");return r.setAttribute("href","#".concat(e)),t.append(r),t}}])}(f),qe={_:0};function Ue(e){return Ue="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ue(e)}function Ne(e,t){for(var r=0;r\') no-repeat center center;background-size:20px}.frm-border-radius-component .frm-border-radius-container button.frm-active,.frm-border-radius-component .frm-border-radius-container button:hover{background-color:rgba(0,0,0,.05)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper{width:100%;justify-content:space-between;flex-wrap:wrap}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper:not(.frm_hidden){display:flex}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span{position:relative;display:block;overflow:hidden;width:calc(50% - 6px);height:36px;border-radius:var(--small-radius);border:1px solid var(--grey-300);margin-top:12px}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span input{width:100%;height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding:0 12px 0px 20px;box-sizing:border-box;border:none;text-align:right}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span input:focus{outline:none}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span:before{content:"";position:absolute;display:block;width:12px;height:12px;left:12px;top:0;bottom:0;right:auto;margin:auto;background:url(\'data:image/svg+xml,\') center center no-repeat;background-size:12px}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-top:before{transform:rotate(180deg)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-bottom:before{transform:rotate(0deg)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-left:before{transform:rotate(90deg)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-right:before{transform:rotate(-90deg)}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper{width:calc(100% - 36px - 12px);height:36px;display:flex;justify-content:center;box-sizing:border-box;background:#fff;border-radius:var(--small-radius);border:1px solid var(--grey-300);overflow:hidden}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper>*{border:none}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper input{width:calc(100% - 44px);height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding-left:12px;box-sizing:border-box}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper input:focus{outline:none}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper select{text-align:right;padding:0;font-size:var(--text-sm);color:#667085;width:44px;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center right 12px}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper select:focus{outline:none}\n',e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Et(e,t)}(t,e),function(e,t,r){return t&>(e.prototype,t),r&>(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initOptions",value:function(){var e;(function(e,t,r){var n=kt(St(e.prototype),"initOptions",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n})(t,0,this)([]),null===this.componentId&&(this.componentId="frm-border-radius-web-component-".concat(Tt._=(e=Tt._,++e)))}},{key:"initView",value:function(){return this.wrapper=document.createElement("div"),this.container=document.createElement("div"),this.wrapper.classList.add("frm-border-radius-component"),this.container.classList.add("frm-border-radius-container"),this.container.append(this.getInputWrapper(),this.getButton(),this.getBorderIndividualInputsWrapper()),this.wrapper.append(this.container),this.wrapper}},{key:"parseDefaultValues",value:function(){if(!It(At,this))return{top:{value:0,unit:"px"},bottom:{value:0,unit:"px"},left:{value:0,unit:"px"},right:{value:0,unit:"px"}};var e=It(At,this).split(" ");return{top:t.parseValueUnit(e[0]||"0px"),bottom:t.parseValueUnit(e[2]||e[0]||"0px"),left:t.parseValueUnit(e[3]||e[1]||e[0]||"0px"),right:t.parseValueUnit(e[1]||e[0]||"0px")}}},{key:"getInputWrapper",value:function(){return this.inputWrapper=document.createElement("div"),this.inputWrapper.classList.add("frm-input-wrapper"),this.inputWrapper.append(this.getInputValue(),this.getInputUnit(),this.getHiddenInput()),this.inputWrapper}},{key:"getHiddenInput",value:function(){return this.hiddenInput=document.createElement("input"),this.hiddenInput.type="hidden",this.hiddenInput.value=It(Ct,this),this.fieldName&&(this.hiddenInput.name=this.fieldName),this.hiddenInput}},{key:"getInputValue",value:function(){var e=this;return this.inputValue=document.createElement("input"),this.inputValue.type="text",this.inputValue.id="".concat(this.componentId,"-value"),this.inputValue.setAttribute("aria-label",ge("Border radius value","formidable")),this.inputValue.classList.add("frm-input-value"),It(Dt,this)||(this.inputValue.value=parseInt(It(At,this))||0),this.inputValue.addEventListener("change",function(){var t=e.inputValue.value+e.inputUnit.value;e.hiddenInput.value=t,e.borderInputBottom.value=e.inputValue.value,e.borderInputTop.value=e.inputValue.value,e.borderInputLeft.value=e.inputValue.value,e.borderInputRight.value=e.inputValue.value,e.updateValue(t)}),this.inputValue}},{key:"getInputUnit",value:function(){var e=this;return this.inputUnit=document.createElement("select"),this.inputUnit.id="".concat(this.componentId,"-unit"),this.inputUnit.setAttribute("aria-label",ge("Border radius unit","formidable")),this.inputUnit.classList.add("frm-input-unit"),It(Vt,this).forEach(function(t){var r=document.createElement("option");r.value=t,r.textContent=t,e.inputUnit.append(r)}),this.inputUnit.addEventListener("change",function(){e.hiddenInput.value=e.inputValue.value+e.inputUnit.value}),this.inputUnit}},{key:"getBorderIndividualInputsWrapper",value:function(){return this.borderIndividualInputsWrapper=document.createElement("div"),this.borderIndividualInputsWrapper.classList.add("frm-border-individual-inputs-wrapper"),It(Dt,this)||this.borderIndividualInputsWrapper.classList.add("frm_hidden"),this.borderIndividualInputsWrapper.append(this.getBorderInputTop(),this.getBorderInputRight(),this.getBorderInputLeft(),this.getBorderInputBottom()),this.borderIndividualInputsWrapper}},{key:"getBorderInputTop",value:function(){var e=this,t=this.parseDefaultValues(),r=document.createElement("span");return r.classList.add("frm-border-input-top"),this.borderInputTop=document.createElement("input"),this.borderInputTop.type="text",this.borderInputTop.id="".concat(this.componentId,"-top"),this.borderInputTop.setAttribute("aria-label",ge("Top border radius","formidable")),this.borderInputTop.value=parseInt(t.top.value),r.append(this.borderInputTop),this.borderInputTop.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),r}},{key:"getBorderInputBottom",value:function(){var e=this,t=this.parseDefaultValues(),r=document.createElement("span");return r.classList.add("frm-border-input-bottom"),this.borderInputBottom=document.createElement("input"),this.borderInputBottom.type="text",this.borderInputBottom.id="".concat(this.componentId,"-bottom"),this.borderInputBottom.setAttribute("aria-label",ge("Bottom border radius","formidable")),this.borderInputBottom.value=parseInt(t.bottom.value),r.append(this.borderInputBottom),this.borderInputBottom.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),r}},{key:"getBorderInputLeft",value:function(){var e=this,t=this.parseDefaultValues(),r=document.createElement("span");return r.classList.add("frm-border-input-left"),this.borderInputLeft=document.createElement("input"),this.borderInputLeft.type="text",this.borderInputLeft.id="".concat(this.componentId,"-left"),this.borderInputLeft.setAttribute("aria-label",ge("Left border radius","formidable")),this.borderInputLeft.value=parseInt(t.left.value),r.append(this.borderInputLeft),this.borderInputLeft.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),r}},{key:"getBorderInputRight",value:function(){var e=this,t=this.parseDefaultValues(),r=document.createElement("span");return r.classList.add("frm-border-input-right"),this.borderInputRight=document.createElement("input"),this.borderInputRight.type="text",this.borderInputRight.id="".concat(this.componentId,"-right"),this.borderInputRight.setAttribute("aria-label",ge("Right border radius","formidable")),this.borderInputRight.value=parseInt(t.right.value),r.append(this.borderInputRight),this.borderInputRight.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),r}},{key:"buildBorderRadiusIndividualValue",value:function(){var e=this.inputUnit.value,t="".concat(parseInt(this.borderInputTop.value,10)).concat(e," ").concat(parseInt(this.borderInputRight.value,10)).concat(e," ").concat(parseInt(this.borderInputBottom.value,10)).concat(e," ").concat(parseInt(this.borderInputLeft.value,10)).concat(e);this.updateValue(t)}},{key:"updateValue",value:function(e){this.hiddenInput.value=e,It(_t,this).call(this,e)}},{key:"getButton",value:function(){var e=this;return this.button=document.createElement("button"),this.button.type="button",this.button.textContent=ge("Border Radius","formidable"),It(Dt,this)&&this.button.classList.add("frm-active"),this.button.addEventListener("click",function(){e.button.classList.toggle("frm-active"),e.borderIndividualInputsWrapper.classList.toggle("frm_hidden")}),this.button}},{key:"onChange",set:function(e){if("function"!=typeof e)throw new TypeError("Expected a function, but received ".concat(vt(e)));Ot(_t,this,e)}},{key:"borderRadiusDefaultValue",set:function(e){Ot(At,this,e),Ot(Dt,this,!/^(\d+)(px|em|%)?$/.test(e)&&""!==e)}}],[{key:"parseValueUnit",value:function(e){var t=e.match(/^(\d+)(px|em|%)?$/);return t?{value:parseInt(t[1],10),unit:t[2]||"px"}:{value:0,unit:"px"}}}])}(f),Tt={_:0};customElements.define("frm-tab-navigator-component",x),customElements.define("frm-colorpicker-component",B),customElements.define("frm-range-slider-component",Re),customElements.define("frm-dropdown-component",et),customElements.define("frm-typography-component",bt),customElements.define("frm-border-radius-component",Lt)})()})(); \ No newline at end of file +(()=>{var e={8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,s=r,l=arguments.length;e:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,s,l,u,p,c,d,f=1,m=e.length,h="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?h+=r:(!i.number.test(s.type)||c&&!s.sign?d="":(d=c?"+":"-",r=r.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",p=s.width-(d+r).length,l=s.width&&p>0?u.repeat(p):"",h+=s.align?d+r+l:"0"===u?d+l+r:l+d+r)}return h}(function(e){if(s[e])return s[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],l=t[2],u=[];if(null===(u=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=i.key_access.exec(l)))a.push(u[1]);else{if(null===(u=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(u[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var r=0;r li"),this.slideTrackLine=this.wrapper.querySelector(".frm-tabs-active-underline"),this.slideTrack=this.wrapper.querySelector(".frm-tabs-slide-track"),this.slides=this.wrapper.querySelectorAll(".frm-tabs-slide-track > div"),this.isRTL="rtl"===document.documentElement.dir||"rtl"===document.body.dir,this.resizeObserver=null,this.init()))},(r=[{key:"init",value:function(){var e=this;null!==this.wrapper&&this.navs.length&&null!==this.slideTrackLine&&null!==this.slideTrack&&this.slides.length&&(this.initDefaultSlideTrackerWidth(),this.navs.forEach(function(t,r){t.addEventListener("click",function(t){return e.onNavClick(t,r)})}),this.setupScrollbarObserver(),window.addEventListener("beforeunload",this.cleanupObservers))}},{key:"onNavClick",value:function(e,t){var r=e.currentTarget;e.preventDefault(),this.removeActiveClassnameFromNavs(),r.classList.add("frm-active"),this.initSlideTrackUnderline(r,t),this.changeSlide(t);var n,i,o=r.querySelector("a");o&&"frm_insert_fields_tab"===o.id&&!o.closest("#frm_adv_info")&&(null===(n=window.frmAdminBuild)||void 0===n||null===(i=n.clearSettingsBox)||void 0===i||i.call(n))}},{key:"initDefaultSlideTrackerWidth",value:function(){this.slideTrackLine.dataset.initialWidth&&(this.slideTrackLine.style.width="".concat(this.slideTrackLine.dataset.initialWidth,"px"))}},{key:"initSlideTrackUnderline",value:function(e,t){this.slideTrackLine.classList.remove("frm-first","frm-last");var r=void 0!==e?e:this.navs.filter(function(e){return e.classList.contains("frm-active")});this.positionUnderlineIndicator(r)}},{key:"setupScrollbarObserver",value:function(){var e=this,t=this.wrapper.closest(".frm-scrollbar-wrapper");t&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(function(){var t=e.wrapper.querySelector(".frm-tabs-navs ul > li.frm-active");t&&e.positionUnderlineIndicator(t)}),this.resizeObserver.observe(t))}},{key:"cleanupObservers",value:function(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"positionUnderlineIndicator",value:function(e){var t=this;requestAnimationFrame(function(){var r=t.isRTL?-(e.parentElement.offsetWidth-e.offsetLeft-e.offsetWidth):e.offsetLeft;t.slideTrackLine.style.transform="translateX(".concat(r,"px)"),t.slideTrackLine.style.width=e.clientWidth+"px"})}},{key:"changeSlide",value:function(e){this.removeActiveClassnameFromSlides();var t=0==e?"0px":"calc( ( ".concat(100*e,"% + ").concat(parseInt(this.flexboxSlidesGap,10)*e,"px ) * ").concat(this.isRTL?1:-1," )");"0px"!==t?this.slideTrack.style.transform="translateX(".concat(t,")"):this.slideTrack.style.removeProperty("transform"),e in this.slides&&this.slides[e].classList.add("frm-active")}},{key:"removeActiveClassnameFromSlides",value:function(){this.slides.forEach(function(e){return e.classList.remove("frm-active")})}},{key:"removeActiveClassnameFromNavs",value:function(){this.navs.forEach(function(e){return e.classList.remove("frm-active")})}}])&&t(e.prototype,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,r}();function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r0&&(r.disconnect(),requestAnimationFrame(function(){return t()}))})},{threshold:.1});(e.useShadowDom()?e.shadowRoot.host:e)&&r.observe(e)}else requestAnimationFrame(function(){return t()})})}},{key:"frmLabel",set:function(e){this._labelText=e}},{key:"afterViewInit",value:function(e){}},{key:"initView",value:function(){}},{key:"connectedCallback",value:function(){this.initOptions(),this.render()}},{key:"disconnectedCallback",value:function(){}}])&&s(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n}(u(HTMLElement));function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function h(e,t){for(var r=0;rspan.frm-component-label{font-weight:500;font-size:var(--text-sm) !important;color:var(--grey-900) !important;width:40% !important;display:block !important;margin-right:12px !important}.frm-colorpicker-component .wp-picker-container button[type=button]{position:relative;height:36px !important;background-image:none !important;background-color:#fff !important;overflow:hidden}.frm-colorpicker-component .wp-picker-container button[type=button]:after{content:"";width:20px;height:20px;display:block;position:absolute;top:0;right:8px;bottom:0;margin:auto;background:url("--frm-plugin-url/images/style/small-arrow.svg") no-repeat;background-position:center;z-index:10}.frm-colorpicker-component .wp-picker-container button[type=button]:focus{border-color:var(--primary-500) !important}.frm-colorpicker-component .wp-color-result-text{line-height:36px !important;padding:0 12px;border:0}.frm-colorpicker-component .color-alpha{width:20px !important;height:20px !important;border-radius:50% !important;border:1px solid #d0d5dd;top:0;left:0;bottom:0;margin:auto;margin-left:12px}.frm-colorpicker-component .wp-picker-input-wrap input{width:calc(100% - 10px) !important;margin:1px 5px;height:32px;line-height:32px}\n',e.attachInternals(),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&O(e,t)}(t,e),r=t,(n=[{key:"initView",value:function(){var e=document.createElement("div");return e.classList.add("frm-colorpicker-component","frm-colorpicker"),e.append(this.getInput()),e}},{key:"getInput",value:function(){var e=this;return this.input.type="text",this.input.classList.add("hex"),null!==this.fieldName&&(this.input.name=this.fieldName),null!==V(z,this)&&(this.input.value=V(z,this)),null!==this.componentId&&(this.input.id=this.componentId),this.input.addEventListener("blur",function(t){return V(A,e).call(e,t,null)}),this.input}},{key:"useShadowDom",value:function(){return!1}},{key:"afterViewInit",value:function(){var e=this,t={defaultColor:V(z,this)};"function"==typeof V(A,this)&&(t.change=function(t,r){return setTimeout(function(){return V(A,e).call(e,t,r)},20)}),jQuery(this.input).wpColorPicker(t)}},{key:"color",get:function(){return jQuery(this.input).wpColorPicker("color")},set:function(e){_(z,this,e),this.input.value=e}},{key:"onChange",set:function(e){if("function"!=typeof e)throw new TypeError("Expected a function, but received ".concat(w(e)));_(A,this,e)}}])&&k(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n}(f);T=W,C=!0,(P=I(P="formAssociated"))in T?Object.defineProperty(T,P,{value:C,enumerable:!0,configurable:!0,writable:!0}):T[P]=C;var M=window.frmColorpickerProComponent?window.frmColorpickerProComponent(W):W,D=window.frmGlobal;function R(e){return R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},R(e)}function B(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.loadedByWebComponent=r.length>0,this.sliderElements=r.length>0?r:document.querySelectorAll(".frm-slider-component"),this.settings=n,0!==this.sliderElements.length){this.sliderBulletWidth=16,this.sliderMarginRight=5,this.eventsChange=[];var i=frmDom.util.debounce;this.valueChangeDebouncer=i(function(e){return t.triggerValueChange(e)},25),this.initOptions(),this.init()}}return function(e,t,r){return t&&N(e.prototype,t),r&&N(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}(e,[{key:"initOptions",value:function(){var e=this;this.options=[],this.sliderElements.forEach(function(t,r){var n=t.classList.contains("frm-has-multiple-values")?t.closest(".frm-style-component"):t,i=e.settings.steps||(t.dataset.steps?JSON.parse(t.dataset.steps):null);e.options.push({dragging:!1,startX:0,translateX:0,maxValue:parseInt(t.dataset.maxValue,10),element:t,index:r,value:0,steps:i,dependentUpdater:n.classList.contains("frm-style-dependent-updater-component")?new q(n):null})})}},{key:"init",value:function(){this.initDraggable(),this.loadedByWebComponent?this.initSlidersPositionInsideWebComponent():this.initSlidersPosition()}},{key:"initDraggable",value:function(){var t=this;this.sliderElements.forEach(function(r,n){t.eventsChange[n]=new Event("change",{bubbles:!0,cancelable:!0});var i=r.querySelector(".frm-slider-bullet"),o=r.querySelector('.frm-slider-value input[type="text"]');o.addEventListener("change",function(e){var i=r.querySelector("select").value;t.getMaxValue(i,n)1&&void 0!==arguments[1]?arguments[1]:null;if(!t.classList.contains("frm-disabled")){var n=null!==r?r:this.getSliderIndex(t),i=t.querySelector(".frm-slider").offsetWidth-this.sliderBulletWidth,o=parseInt(t.querySelector('.frm-slider-value input[type="text"]').value,10),a=t.querySelector("select").value,s=this.options[n].steps,l=Math.ceil(o/this.options[n].maxValue*i);"%"===a?l=Math.round(i*o/100):s&&s.length>0&&(l=e.calculateDeltaXFromSteps(o,s,i)),t.querySelector(".frm-slider-active-track").style.width="".concat(l,"px"),this.options[n].translateX=l,this.options[n].value=o+a}}},{key:"initChildSlidersWidth",value:function(e,t,r,n){var i=this;(e.classList.contains("frm-has-independent-fields")||e.classList.contains("frm-has-multiple-values"))&&(e.classList.contains("frm-has-independent-fields")?e.querySelectorAll(".frm-independent-slider-field"):this.getSliderGroupItems(e)).forEach(function(e,o){e.querySelector(".frm-slider-active-track").style.width="".concat(t,"px"),i.options[r+o+1].translateX=t,i.options[r+o+1].value=n})}},{key:"getSliderIndex",value:function(e){return this.options.filter(function(t){return t.element===e})[0].index}},{key:"moveTracker",value:function(t,r){if(this.options[r].dragging){var n=t.clientX-this.options[r].startX,i=this.sliderElements[r],o=i.querySelector(".frm-slider").offsetWidth-this.sliderBulletWidth;n=Math.max(n,0),n=Math.min(n,o);var a=i.querySelector("select").value,s=e.calculateValue(o,n,this.getMaxValue(a,r),this.options[r].steps);i.querySelector('.frm-slider-value input[type="text"]').value=s,i.querySelector(".frm-slider-bullet .frm-slider-value-label").innerText=s,i.querySelector(".frm-slider-active-track").style.width="".concat(n,"px"),this.initChildSlidersWidth(i,n,r,s+a),this.options[r].translateX=n,this.options[r].value=s+a,this.options[r].fullValue=this.updateValue(i,this.options[r].value),this.valueChangeDebouncer(r)}}},{key:"getMaxValue",value:function(e,t){return"%"===e?100:this.options[t].maxValue}},{key:"enableDragging",value:function(e,t){e.target.classList.add("frm-dragging"),this.options[t].dragging=!0,this.options[t].startX=e.clientX-this.options[t].translateX}},{key:"disableDragging",value:function(e){!1!==this.options[e].dragging&&(this.sliderElements[e].querySelector(".frm-slider-bullet").classList.remove("frm-dragging"),this.options[e].dragging=!1,this.triggerValueChange(e))}},{key:"triggerValueChange",value:function(e){var t=this;if(null===this.options[e].dependentUpdater){var r=this.sliderElements[e].classList.contains("frm-has-multiple-values")?this.sliderElements[e].closest(".frm-style-component").querySelector('input[type="hidden"]'):this.sliderElements[e].querySelectorAll('.frm-slider-value input[type="hidden"]');r instanceof NodeList?r.forEach(function(r){r.dispatchEvent(t.eventsChange[e])}):r.dispatchEvent(this.eventsChange[e])}else this.options[e].dependentUpdater.updateAllDependentElements(this.options[e].fullValue)}},{key:"updateValue",value:function(e,t){var r=this;if(e.classList.contains("frm-base-font-size")){var n=document.querySelector('input[name="frm_style_setting[post_content][use_base_font_size]"]');null!==n&&(n.value="true")}if(e.classList.contains("frm-has-multiple-values")){var i=e.closest(".frm-style-component").querySelector('input[type="hidden"]'),o=i.value.split(" "),a=e.dataset.type;switch(o[2]||(o[2]="0px"),o[3]||(o[3]="0px"),a){case"vertical":o[0]=t,o[2]=t;break;case"horizontal":o[1]=t,o[3]=t;break;case"top":o[0]=t;break;case"bottom":o[2]=t;break;case"left":o[3]=t;break;case"right":o[1]=t}var s=o.join(" ");return i.value=s,this.getSliderGroupItems(e).forEach(function(e){var n=r.getUnitMeasureFromValue(t);e.querySelector('.frm-slider-value input[type="text"]').value=parseInt(t,10),e.querySelector("select").value=n}),s}if(e.classList.contains("frm-has-independent-fields")){var l=e.querySelectorAll('.frm-slider-value input[type="hidden"]'),u=e.querySelectorAll('.frm-slider-value input[type="text"]');return l.forEach(function(e,r){e.value=t,u[r+1].value=parseInt(t,10)}),t}return e.querySelector('.frm-slider-value input[type="hidden"]').value=t,t}},{key:"getUnitMeasureFromValue",value:function(e){return["%","px","em"].find(function(t){return e.includes(t)})||""}}],[{key:"maybeDisableUnitDropdown",value:function(e){var t=e.querySelector("select");t&&1>=Array.from(t.options).filter(function(e){return""!==e.value}).length&&(t.classList.add("frm-single-unit"),t.addEventListener("mousedown",function(e){return e.preventDefault()}))}},{key:"calculateDeltaXFromSteps",value:function(t,r,n){var i=r.indexOf(t);if(-1===i){var o=e.snapToStep(t,r),a=r.indexOf(o);return Math.round(a/(r.length-1)*n)}return Math.round(i/(r.length-1)*n)}},{key:"calculateValue",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(n&&n.length>0){var i=t/e,o=Math.round(i*(n.length-1));return n[Math.max(0,Math.min(o,n.length-1))]}var a=Math.round(t/e*r);return Math.min(a,r)}},{key:"snapToStep",value:function(e,t){for(var r=t[0],n=Math.abs(e-r),i=1;i":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},G=["(","?"],$={")":["("],":":["?","?:"]},J=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var te={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};var re={contextDelimiter:"",onMissingKey:null};function ne(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},re)this.options[r]=void 0!==t&&r in t?t[r]:re[r]}function ie(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function oe(e){for(var t=1;t=0||X[i]3&&void 0!==arguments[3]?arguments[3]:10,a=e[t];if(ue(r)&&le(n))if("function"==typeof i)if("number"==typeof o){var s={callback:i,priority:o,namespace:n};if(a[r]){var l,u=a[r].handlers;for(l=u.length;l>0&&!(o>=u[l-1].priority);l--);l===u.length?u[l]=s:u.splice(l,0,s),a.__current.forEach(function(e){e.name===r&&e.currentIndex>=l&&e.currentIndex++})}else a[r]={handlers:[s],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,n,i,o)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},ce=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n,i){var o=e[t];if(ue(n)&&(r||le(i))){if(!o[n])return 0;var a=0;if(r)a=o[n].handlers.length,o[n]={runs:o[n].runs,handlers:[]};else for(var s=o[n].handlers,l=function(e){s[e].namespace===i&&(s.splice(e,1),a++,o.__current.forEach(function(t){t.name===n&&t.currentIndex>=e&&t.currentIndex--}))},u=s.length-1;u>=0;u--)l(u);return"hookRemoved"!==n&&e.doAction("hookRemoved",n,i),a}}},de=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some(function(e){return e.namespace===n}):r in i}},fe=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,s=new Array(a>1?a-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=oe(oe(oe({},ae),n.data[t]),e),n.data[t][""]=oe(oe({},ae[""]),n.data[t][""])},s=function(e,t){a(e,t),o()},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||a(void 0,e),n.dcnpgettext(e,t,r,i,o)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},p=function(e,t,n){var i=l(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+u(n),i,e,t,n)):i};if(r){var c=function(e){se.test(e)&&o()};r.addAction("hookAdded","core/i18n",c),r.addAction("hookRemoved","core/i18n",c)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:s,resetLocaleData:function(e,t){n.data={},n.pluralForms={},s(e,t)},subscribe:function(e){return i.add(e),function(){return i.delete(e)}},__:function(e,t){var n=l(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+u(t),n,e,t)):n},_x:p,_n:function(e,t,n,i){var o=l(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+u(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=l(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+u(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===p("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,s=t?t+""+e:e,l=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[s]);return r&&(l=r.applyFilters("i18n.has_translation",l,e,t,i),l=r.applyFilters("i18n.has_translation_"+u(i),l,e,t,i)),l}}}(0,0,ye));ve.getLocaleData.bind(ve),ve.setLocaleData.bind(ve),ve.resetLocaleData.bind(ve),ve.subscribe.bind(ve);var ge=ve.__.bind(ve);function xe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function we(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2],n=document.createElement("option");return n.value=e,n.textContent=t,n.selected=r,n}},{key:"createSvgIcon",value:function(e){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");t.classList.add("frmsvg");var r=document.createElementNS("http://www.w3.org/2000/svg","use");return r.setAttribute("href","#".concat(e)),t.append(r),t}}])}(f),qe={_:0};function Ue(e){return Ue="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ue(e)}function Ne(e,t){for(var r=0;r\') no-repeat center center;background-size:20px}.frm-border-radius-component .frm-border-radius-container button.frm-active,.frm-border-radius-component .frm-border-radius-container button:hover{background-color:rgba(0,0,0,.05)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper{width:100%;justify-content:space-between;flex-wrap:wrap}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper:not(.frm_hidden){display:flex}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span{position:relative;display:block;overflow:hidden;width:calc(50% - 6px);height:36px;border-radius:var(--small-radius);border:1px solid var(--grey-300);margin-top:12px}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span input{width:100%;height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding:0 12px 0px 20px;box-sizing:border-box;border:none;text-align:right}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span input:focus{outline:none}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span:before{content:"";position:absolute;display:block;width:12px;height:12px;left:12px;top:0;bottom:0;right:auto;margin:auto;background:url(\'data:image/svg+xml,\') center center no-repeat;background-size:12px}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-top:before{transform:rotate(180deg)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-bottom:before{transform:rotate(0deg)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-left:before{transform:rotate(90deg)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-right:before{transform:rotate(-90deg)}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper{width:calc(100% - 36px - 12px);height:36px;display:flex;justify-content:center;box-sizing:border-box;background:#fff;border-radius:var(--small-radius);border:1px solid var(--grey-300);overflow:hidden}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper>*{border:none}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper input{width:calc(100% - 44px);height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding-left:12px;box-sizing:border-box}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper input:focus{outline:none}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper select{text-align:right;padding:0;font-size:var(--text-sm);color:#667085;width:44px;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center right 12px}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper select:focus{outline:none}\n',e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Et(e,t)}(t,e),function(e,t,r){return t&>(e.prototype,t),r&>(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initOptions",value:function(){var e;(function(e,t,r){var n=kt(St(e.prototype),"initOptions",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n})(t,0,this)([]),null===this.componentId&&(this.componentId="frm-border-radius-web-component-".concat(zt._=(e=zt._,++e)))}},{key:"initView",value:function(){return this.wrapper=document.createElement("div"),this.container=document.createElement("div"),this.wrapper.classList.add("frm-border-radius-component"),this.container.classList.add("frm-border-radius-container"),this.container.append(this.getInputWrapper(),this.getButton(),this.getBorderIndividualInputsWrapper()),this.wrapper.append(this.container),this.wrapper}},{key:"parseDefaultValues",value:function(){if(!jt(Pt,this))return{top:{value:0,unit:"px"},bottom:{value:0,unit:"px"},left:{value:0,unit:"px"},right:{value:0,unit:"px"}};var e=jt(Pt,this).split(" ");return{top:t.parseValueUnit(e[0]||"0px"),bottom:t.parseValueUnit(e[2]||e[0]||"0px"),left:t.parseValueUnit(e[3]||e[1]||e[0]||"0px"),right:t.parseValueUnit(e[1]||e[0]||"0px")}}},{key:"getInputWrapper",value:function(){return this.inputWrapper=document.createElement("div"),this.inputWrapper.classList.add("frm-input-wrapper"),this.inputWrapper.append(this.getInputValue(),this.getInputUnit(),this.getHiddenInput()),this.inputWrapper}},{key:"getHiddenInput",value:function(){return this.hiddenInput=document.createElement("input"),this.hiddenInput.type="hidden",this.hiddenInput.value=jt(Tt,this),this.fieldName&&(this.hiddenInput.name=this.fieldName),this.hiddenInput}},{key:"getInputValue",value:function(){var e=this;return this.inputValue=document.createElement("input"),this.inputValue.type="text",this.inputValue.id="".concat(this.componentId,"-value"),this.inputValue.setAttribute("aria-label",ge("Border radius value","formidable")),this.inputValue.classList.add("frm-input-value"),jt(Ct,this)||(this.inputValue.value=parseInt(jt(Pt,this))||0),this.inputValue.addEventListener("change",function(){var t=e.inputValue.value+e.inputUnit.value;e.hiddenInput.value=t,e.borderInputBottom.value=e.inputValue.value,e.borderInputTop.value=e.inputValue.value,e.borderInputLeft.value=e.inputValue.value,e.borderInputRight.value=e.inputValue.value,e.updateValue(t)}),this.inputValue}},{key:"getInputUnit",value:function(){var e=this;return this.inputUnit=document.createElement("select"),this.inputUnit.id="".concat(this.componentId,"-unit"),this.inputUnit.setAttribute("aria-label",ge("Border radius unit","formidable")),this.inputUnit.classList.add("frm-input-unit"),jt(Lt,this).forEach(function(t){var r=document.createElement("option");r.value=t,r.textContent=t,e.inputUnit.append(r)}),this.inputUnit.addEventListener("change",function(){e.hiddenInput.value=e.inputValue.value+e.inputUnit.value}),this.inputUnit}},{key:"getBorderIndividualInputsWrapper",value:function(){return this.borderIndividualInputsWrapper=document.createElement("div"),this.borderIndividualInputsWrapper.classList.add("frm-border-individual-inputs-wrapper"),jt(Ct,this)||this.borderIndividualInputsWrapper.classList.add("frm_hidden"),this.borderIndividualInputsWrapper.append(this.getBorderInputTop(),this.getBorderInputRight(),this.getBorderInputLeft(),this.getBorderInputBottom()),this.borderIndividualInputsWrapper}},{key:"getBorderInputTop",value:function(){var e=this,t=this.parseDefaultValues(),r=document.createElement("span");return r.classList.add("frm-border-input-top"),this.borderInputTop=document.createElement("input"),this.borderInputTop.type="text",this.borderInputTop.id="".concat(this.componentId,"-top"),this.borderInputTop.setAttribute("aria-label",ge("Top border radius","formidable")),this.borderInputTop.value=parseInt(t.top.value),r.append(this.borderInputTop),this.borderInputTop.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),r}},{key:"getBorderInputBottom",value:function(){var e=this,t=this.parseDefaultValues(),r=document.createElement("span");return r.classList.add("frm-border-input-bottom"),this.borderInputBottom=document.createElement("input"),this.borderInputBottom.type="text",this.borderInputBottom.id="".concat(this.componentId,"-bottom"),this.borderInputBottom.setAttribute("aria-label",ge("Bottom border radius","formidable")),this.borderInputBottom.value=parseInt(t.bottom.value),r.append(this.borderInputBottom),this.borderInputBottom.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),r}},{key:"getBorderInputLeft",value:function(){var e=this,t=this.parseDefaultValues(),r=document.createElement("span");return r.classList.add("frm-border-input-left"),this.borderInputLeft=document.createElement("input"),this.borderInputLeft.type="text",this.borderInputLeft.id="".concat(this.componentId,"-left"),this.borderInputLeft.setAttribute("aria-label",ge("Left border radius","formidable")),this.borderInputLeft.value=parseInt(t.left.value),r.append(this.borderInputLeft),this.borderInputLeft.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),r}},{key:"getBorderInputRight",value:function(){var e=this,t=this.parseDefaultValues(),r=document.createElement("span");return r.classList.add("frm-border-input-right"),this.borderInputRight=document.createElement("input"),this.borderInputRight.type="text",this.borderInputRight.id="".concat(this.componentId,"-right"),this.borderInputRight.setAttribute("aria-label",ge("Right border radius","formidable")),this.borderInputRight.value=parseInt(t.right.value),r.append(this.borderInputRight),this.borderInputRight.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),r}},{key:"buildBorderRadiusIndividualValue",value:function(){var e=this.inputUnit.value,t="".concat(parseInt(this.borderInputTop.value,10)).concat(e," ").concat(parseInt(this.borderInputRight.value,10)).concat(e," ").concat(parseInt(this.borderInputBottom.value,10)).concat(e," ").concat(parseInt(this.borderInputLeft.value,10)).concat(e);this.updateValue(t)}},{key:"updateValue",value:function(e){this.hiddenInput.value=e,jt(Vt,this).call(this,e)}},{key:"getButton",value:function(){var e=this;return this.button=document.createElement("button"),this.button.type="button",this.button.textContent=ge("Border Radius","formidable"),jt(Ct,this)&&this.button.classList.add("frm-active"),this.button.addEventListener("click",function(){e.button.classList.toggle("frm-active"),e.borderIndividualInputsWrapper.classList.toggle("frm_hidden")}),this.button}},{key:"onChange",set:function(e){if("function"!=typeof e)throw new TypeError("Expected a function, but received ".concat(vt(e)));It(Vt,this,e)}},{key:"borderRadiusDefaultValue",set:function(e){It(Pt,this,e),It(Ct,this,!/^(\d+)(px|em|%)?$/.test(e)&&""!==e)}}],[{key:"parseValueUnit",value:function(e){var t=e.match(/^(\d+)(px|em|%)?$/);return t?{value:parseInt(t[1],10),unit:t[2]||"px"}:{value:0,unit:"px"}}}])}(f),zt={_:0};customElements.define("frm-tab-navigator-component",x),customElements.define("frm-colorpicker-component",M),customElements.define("frm-range-slider-component",Fe),customElements.define("frm-dropdown-component",et),customElements.define("frm-typography-component",bt),customElements.define("frm-border-radius-component",At)})()})(); \ No newline at end of file diff --git a/js/formidable.js b/js/formidable.js index c4af8cf617..a7d853bd51 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1,5 +1,4 @@ /* exported frmRecaptcha, frmAfterRecaptcha */ -/* eslint-disable prefer-const */ function frmFrontFormJS() { 'use strict'; @@ -34,7 +33,7 @@ function frmFrontFormJS() { * * @param {HTMLElement|jQuery} field * @param {boolean} fullID - * @return {string|number} Field ID. + * @returns {string|number} Field ID. */ function getFieldId( field, fullID ) { let nameParts, fieldId, @@ -47,14 +46,14 @@ function frmFrontFormJS() { fieldName = field.name; - if ( typeof fieldName === 'undefined' ) { + if ( fieldName === undefined ) { fieldName = ''; } if ( fieldName === '' ) { fieldName = field.getAttribute( 'data-name' ); - if ( typeof fieldName === 'undefined' ) { + if ( fieldName === undefined ) { fieldName = ''; } @@ -137,7 +136,7 @@ function frmFrontFormJS() { * * @param {HTMLElement} form * - * @return {void} + * @returns {void} */ function enableSubmitButton( form ) { form.querySelectorAll( 'input[type="submit"], input[type="button"], button[type="submit"]' ).forEach( @@ -184,7 +183,7 @@ function frmFrontFormJS() { * Validate form with JS. * * @param {HTMLElement|jQuery} object - * @return {Array} Errors. + * @returns {Array} Errors. */ function validateForm( object ) { let errors = []; @@ -248,7 +247,7 @@ function frmFrontFormJS() { * * @param {HTMLElement} field * @param {Array} errors - * @return {void} + * @returns {void} */ function checkValidity( field, errors ) { let fieldID; @@ -257,7 +256,7 @@ function frmFrontFormJS() { } fieldID = getFieldId( field, true ); - if ( 'undefined' === typeof errors[ fieldID ] ) { + if ( errors[ fieldID ] === undefined ) { errors[ fieldID ] = getFieldValidationMessage( field, 'data-invmsg' ); } @@ -272,7 +271,7 @@ function frmFrontFormJS() { * * @param {Object} element * @param {string} targetClass - * @return {boolean} True if the element has the target class. + * @returns {boolean} True if the element has the target class. */ function hasClass( element, targetClass ) { return element.classList && element.classList.contains( targetClass ); @@ -307,7 +306,7 @@ function frmFrontFormJS() { * * @param {HTMLElement} field * - * @return {void} + * @returns {void} */ function validateField( field ) { let errors, key; @@ -368,16 +367,16 @@ function frmFrontFormJS() { * @since 6.15 Added `onSubmit` to the data. */ triggerCustomEvent( document, 'frm_validate_field_value', { - field: field, - errors: errors, - onSubmit: onSubmit + field, + errors, + onSubmit } ); } /** * @param {HTMLElement} field * @param {Array} errors - * @return {Array} Errors + * @returns {Array} Errors */ function checkRequiredField( field, errors ) { let tempVal, i, placeholder, @@ -402,12 +401,12 @@ function frmFrontFormJS() { } ); } ); } else if ( field.type === 'file' || fileID ) { - if ( typeof fileID === 'undefined' ) { + if ( fileID === undefined ) { fileID = getFieldId( field, true ); fileID = fileID.replace( 'file', '' ); } - if ( typeof errors[ fileID ] === 'undefined' ) { + if ( errors[ fileID ] === undefined ) { val = getFileVals( fileID ); } fieldID = fileID; @@ -479,7 +478,7 @@ function frmFrontFormJS() { /** * @param {HTMLElement} field - * @return {boolean} True if the input is a typed signature input. + * @returns {boolean} True if the input is a typed signature input. */ function isSignatureField( field ) { const name = field.getAttribute( 'name' ); @@ -488,7 +487,7 @@ function frmFrontFormJS() { /** * @param {HTMLElement} field - * @return {boolean} True if the field is a SSA appointment field. + * @returns {boolean} True if the field is a SSA appointment field. */ function isAppointmentField( field ) { return hasClass( field, 'ssa_appointment_form_field_appointment_id' ); @@ -496,7 +495,7 @@ function frmFrontFormJS() { /** * @param {HTMLElement} field - * @return {boolean} True if the field is inline datepicker field. + * @returns {boolean} True if the field is inline datepicker field. */ function isInlineDatepickerField( field ) { return 'hidden' === field.type && '_alt' === field.id.substr( -4 ) && hasClass( field.nextElementSibling, 'frm_date_inline' ); @@ -504,7 +503,7 @@ function frmFrontFormJS() { /** * @param {string|number} fileID - * @return {string} File input value. + * @returns {string} File input value. */ function getFileVals( fileID ) { let val = ''; @@ -521,7 +520,7 @@ function frmFrontFormJS() { /** * @param {HTMLElement} field * @param {Array} errors - * @return {void} + * @returns {void} */ function checkUrlField( field, errors ) { let fieldID, @@ -542,7 +541,7 @@ function frmFrontFormJS() { * * @param {HTMLElement} field Field input. * @param {boolean} onSubmit Is `true` if the form is being submitted. - * @return {boolean} True if we should confirm the field. + * @returns {boolean} True if we should confirm the field. */ function shouldCheckConfirmField( field, onSubmit ) { if ( onSubmit ) { @@ -599,7 +598,7 @@ function frmFrontFormJS() { /** * @param {HTMLElement} field * @param {Array} errors - * @return {void} + * @returns {void} */ function confirmField( field, errors ) { let value, confirmValue, firstField, @@ -608,7 +607,7 @@ function frmFrontFormJS() { strippedFieldID = fieldID.replace( 'conf_', '' ), confirmField = document.getElementById( strippedId.replace( 'field_', 'field_conf_' ) ); - if ( confirmField === null || typeof errors[ 'conf_' + strippedFieldID ] !== 'undefined' ) { + if ( confirmField === null || errors[ 'conf_' + strippedFieldID ] !== undefined ) { return; } @@ -627,7 +626,7 @@ function frmFrontFormJS() { /** * @param {HTMLElement} field * @param {Array} errors - * @return {void} + * @returns {void} */ function checkNumberField( field, errors ) { let fieldID, @@ -644,7 +643,7 @@ function frmFrontFormJS() { /** * @param {HTMLElement} field * @param {Array} errors - * @return {void} + * @returns {void} */ function checkPatternField( field, errors ) { let fieldID, @@ -708,7 +707,7 @@ function frmFrontFormJS() { /** * @param {HTMLElement|jQuery} object * - * @return {HTMLElement|false} Captcha element if there is an invisible recaptcha. + * @returns {HTMLElement|false} Captcha element if there is an invisible recaptcha. */ function hasInvisibleRecaptcha( object ) { if ( isGoingToPrevPage( object ) ) { @@ -735,7 +734,7 @@ function frmFrontFormJS() { /** * @param {HTMLElement} invisibleRecaptcha * - * @return {void} + * @returns {void} */ function executeInvisibleRecaptcha( invisibleRecaptcha ) { const recaptchaID = invisibleRecaptcha.dataset.rid; @@ -780,7 +779,7 @@ function frmFrontFormJS() { /** * @param {HTMLElement} field * @param {string} messageType - * @return {string} The error message to display. + * @returns {string} The error message to display. */ function getFieldValidationMessage( field, messageType ) { let msg = field.getAttribute( messageType ); @@ -798,7 +797,7 @@ function frmFrontFormJS() { /** * @param {string} msg * @param {HTMLElement} field - * @return {string} The error HTML to use. + * @returns {string} The error HTML to use. */ function wrapErrorHtml( msg, field ) { let errorHtml = field.getAttribute( 'data-error-html' ); @@ -825,7 +824,7 @@ function frmFrontFormJS() { * Check if JS validation should happen. * * @param {HTMLElement|Object} object Form object. - * @return {boolean} True if validation is enabled and we are not saving a draft or going to a previous page. + * @returns {boolean} True if validation is enabled and we are not saving a draft or going to a previous page. */ function shouldJSValidate( object ) { if ( 'function' === typeof object.get ) { @@ -843,7 +842,7 @@ function frmFrontFormJS() { /** * @param {HTMLElement} object * @param {string} action - * @return {void} + * @returns {void} */ function getFormErrors( object, action ) { let data, success, error, shouldTriggerEvent; @@ -851,7 +850,7 @@ function frmFrontFormJS() { const fieldsets = object.querySelectorAll( '.frm_form_field' ); fieldsets.forEach( field => field.classList.add( 'frm_doing_ajax' ) ); - data = jQuery( object ).serialize() + '&action=frm_entries_' + action + '&nonce=' + frm_js.nonce; // eslint-disable-line no-jquery/no-serialize, camelcase + data = jQuery( object ).serialize() + '&action=frm_entries_' + action + '&nonce=' + frm_js.nonce; // eslint-disable-line no-jquery/no-serialize shouldTriggerEvent = object.classList.contains( 'frm_trigger_event_on_submit' ); const doRedirect = response => { @@ -892,7 +891,7 @@ function frmFrontFormJS() { } } - if ( typeof response.redirect !== 'undefined' ) { + if ( response.redirect !== undefined ) { if ( shouldTriggerEvent ) { triggerCustomEvent( object, 'frmSubmitEvent' ); return; @@ -916,7 +915,7 @@ function frmFrontFormJS() { } removeSubmitLoading( jQuery( object ) ); - if ( frm_js.offset != -1 ) { // eslint-disable-line camelcase + if ( frm_js.offset != -1 ) { frmFrontForm.scrollMsg( jQuery( object ), false ); } @@ -1038,18 +1037,18 @@ function frmFrontFormJS() { function postToAjaxUrl( form, data, success, error ) { let ajaxUrl, action, ajaxParams; - ajaxUrl = frm_js.ajax_url; // eslint-disable-line camelcase + ajaxUrl = frm_js.ajax_url; action = form.getAttribute( 'action' ); - if ( 'string' === typeof action && -1 !== action.indexOf( '?action=frm_forms_preview' ) ) { + if ( 'string' === typeof action && action.includes( '?action=frm_forms_preview' ) ) { ajaxUrl = action.split( '?action=frm_forms_preview' )[ 0 ]; } ajaxParams = { type: 'POST', url: ajaxUrl, - data: data, - success: success + data, + success }; if ( 'function' === typeof error ) { @@ -1077,7 +1076,7 @@ function frmFrontFormJS() { * * @param {HTMLElement} object The form. * @param {Object} response The response from submitting the form with AJAX. - * @return {void} + * @returns {void} */ function afterFormSubmittedBeforeReplace( object, response ) { const tempDiv = document.createElement( 'div' ); @@ -1113,7 +1112,7 @@ function frmFrontFormJS() { function addUrlParam( response ) { let url; - if ( history.pushState && typeof response.page !== 'undefined' ) { + if ( history.pushState && response.page !== undefined ) { url = addQueryVar( 'frm_page', response.page ); window.history.pushState( { html: response.html }, '', '?' + url ); } @@ -1162,10 +1161,10 @@ function frmFrontFormJS() { frmThemeOverride_frmPlaceError( key, jsErrors ); } else { let errorHtml; - if ( -1 !== jsErrors[ key ].indexOf( '' + jsErrors[ key ] + '
'; } container.insertAdjacentHTML( 'beforeend', errorHtml ); @@ -1204,7 +1203,7 @@ function frmFrontFormJS() { * * @param {string} key * @param {HTMLElement} input - * @return {string} The ID to use for the error element. + * @returns {string} The ID to use for the error element. */ function getErrorElementId( key, input ) { if ( isNaN( key ) || ! input || ! input.id ) { @@ -1219,7 +1218,7 @@ function frmFrontFormJS() { * This prevents issues with stale errors that has since been fixed. * * @param {HTMLElement|jQuery} fieldCont Field container element. - * @return {void} + * @returns {void} */ function removeFieldError( fieldCont ) { const container = fieldCont instanceof jQuery ? fieldCont.get( 0 ) : fieldCont; @@ -1270,7 +1269,7 @@ function frmFrontFormJS() { /** * @param {HTMLElement|Object} object Form object. - * @return {void} + * @returns {void} */ function scrollToFirstField( object ) { if ( 'function' === typeof object.get ) { @@ -1391,7 +1390,7 @@ function frmFrontFormJS() { * @since 6.16.3 * * @param {HTMLElement} element - * @return {boolean} True if the focus was set on a combo field. + * @returns {boolean} True if the focus was set on a combo field. */ function maybeFocusOnComboSubField( element ) { if ( 'FIELDSET' !== element.nodeName ) { @@ -1411,7 +1410,7 @@ function frmFrontFormJS() { function checkForErrorsAndMaybeSetFocus() { let errors, element, timeoutCallback; - if ( ! frm_js.focus_first_error ) { // eslint-disable-line camelcase + if ( ! frm_js.focus_first_error ) { return; } @@ -1423,7 +1422,7 @@ function frmFrontFormJS() { element = errors[ 0 ]; do { element = element.previousSibling; - if ( -1 !== [ 'input', 'select', 'textarea' ].indexOf( element.nodeName.toLowerCase() ) ) { + if ( [ 'input', 'select', 'textarea' ].includes( element.nodeName.toLowerCase() ) ) { focusInput( element ); break; } @@ -1432,7 +1431,7 @@ function frmFrontFormJS() { break; } - if ( 'undefined' !== typeof element.classList ) { + if ( element.classList !== undefined ) { if ( element.classList.contains( 'html-active' ) ) { timeoutCallback = function() { const textarea = element.querySelector( 'textarea' ); @@ -1466,7 +1465,7 @@ function frmFrontFormJS() { * @since 6.16.3 * * @param {HTMLElement} input - * @return {void} + * @returns {void} */ function focusInput( input ) { if ( input.offsetParent !== null ) { @@ -1487,7 +1486,7 @@ function frmFrontFormJS() { * @param {boolean | Object} options Options to be added to `addEventListener()` method. Default is `false`. */ function documentOn( event, selector, handler, options ) { - if ( 'undefined' === typeof options ) { + if ( options === undefined ) { options = false; } @@ -1560,7 +1559,7 @@ function frmFrontFormJS() { } ); runOnLoad = function( firstLoad ) { - if ( firstLoad && document.activeElement && -1 !== [ 'INPUT', 'SELECT', 'TEXTAREA' ].indexOf( document.activeElement.tagName ) ) { + if ( firstLoad && document.activeElement && [ 'INPUT', 'SELECT', 'TEXTAREA' ].includes( document.activeElement.tagName ) ) { checkFloatLabel( document.activeElement ); } else if ( firstLoad ) { document.querySelectorAll( '.frm_inside_container' ).forEach( @@ -1692,7 +1691,7 @@ function frmFrontFormJS() { /** * @since 6.16.3 * - * @return {string} Unique key, used for duplicate checks. + * @returns {string} Unique key, used for duplicate checks. */ function getUniqueKey() { const uniqueKey = Array.from( window.crypto.getRandomValues( new Uint8Array( 8 ) ) ) @@ -1710,7 +1709,7 @@ function frmFrontFormJS() { * @param {number} start * @param {number} end * @param {number} duration - * @return {void} + * @returns {void} */ function animateScroll( start, end, duration ) { if ( ! window.hasOwnProperty( 'performance' ) || ! window.hasOwnProperty( 'requestAnimationFrame' ) ) { @@ -1718,7 +1717,6 @@ function frmFrontFormJS() { return; } - /* eslint-disable compat/compat */ const startTime = performance.now(); const step = currentTime => { const progress = Math.min( ( currentTime - startTime ) / duration, 1 ); @@ -1728,7 +1726,7 @@ function frmFrontFormJS() { } }; requestAnimationFrame( step ); - /* eslint-enable compat/compat */ + } /** @@ -1739,7 +1737,7 @@ function frmFrontFormJS() { * @since 6.25.1 * * @param {HTMLElement} captcha - * @return {void} + * @returns {void} */ function maybeFixCaptchaLabel( captcha ) { const form = captcha.closest( 'form' ); @@ -1756,7 +1754,7 @@ function frmFrontFormJS() { } return { - init: function() { + init() { jQuery( document ).off( 'submit.formidable', '.frm-show-form' ); jQuery( document ).on( 'submit.formidable', '.frm-show-form', frmFrontForm.submitForm ); @@ -1797,9 +1795,9 @@ function frmFrontFormJS() { * * @param {HTMLElement} captcha * @param {string} captchaSelector - * @return {void} + * @returns {void} */ - renderCaptcha: function( captcha, captchaSelector ) { + renderCaptcha( captcha, captchaSelector ) { const rendered = captcha.getAttribute( 'data-rid' ) !== null; if ( rendered ) { return; @@ -1808,7 +1806,7 @@ function frmFrontFormJS() { const size = captcha.getAttribute( 'data-size' ); const params = { sitekey: captcha.getAttribute( 'data-sitekey' ), - size: size, + size, theme: captcha.getAttribute( 'data-theme' ) }; @@ -1834,27 +1832,27 @@ function frmFrontFormJS() { maybeFixCaptchaLabel( captcha ); }, - afterSingleRecaptcha: function() { + afterSingleRecaptcha() { const recaptcha = document.querySelector( '.frm-show-form .g-recaptcha' ); const object = recaptcha ? recaptcha.closest( 'form' ) : null; frmFrontForm.submitFormNow( object ); }, - afterRecaptcha: function( _, formID ) { + afterRecaptcha( _, formID ) { const object = document.querySelector( '#frm_form_' + formID + '_container form' ); frmFrontForm.submitFormNow( object ); }, - submitForm: function( e ) { + submitForm( e ) { frmFrontForm.submitFormManual( e, this ); }, /** * @param {Event} e * @param {HTMLElement} object The form object that is being submitted. - * @return {void} + * @returns {void} */ - submitFormManual: function( e, object ) { + submitFormManual( e, object ) { if ( document.body.classList.contains( 'wp-admin' ) && ! object.closest( '.frmapi-form' ) ) { return; } @@ -1882,7 +1880,7 @@ function frmFrontFormJS() { } }, - submitFormNow: function( object ) { + submitFormNow( object ) { let hasFileFields, antispamInput, classList = object.className.trim().split( /\s+/gi ); @@ -1920,9 +1918,9 @@ function frmFrontFormJS() { /** * @param {HTMLElement|Object} object Form object. This might be a jQuery object. * - * @return {Array} List of errors. + * @returns {Array} List of errors. */ - validateFormSubmit: function( object ) { + validateFormSubmit( object ) { const form = object instanceof jQuery ? object.get( 0 ) : object; if ( typeof tinyMCE !== 'undefined' && form && form.querySelector( '.wp-editor-wrap' ) ) { tinyMCE.triggerSave(); @@ -1943,9 +1941,9 @@ function frmFrontFormJS() { /** * @param {HTMLElement|Object} object Form object. This might be a jQuery object. - * @return {Array} List of errors. + * @returns {Array} List of errors. */ - getAjaxFormErrors: function( object ) { + getAjaxFormErrors( object ) { let customErrors, key; const form = object instanceof jQuery ? object.get( 0 ) : object; @@ -1971,9 +1969,9 @@ function frmFrontFormJS() { /** * @param {HTMLElement|Object} object Form object. This might be a jQuery object. - * @return {void} + * @returns {void} */ - addAjaxFormErrors: function( object ) { + addAjaxFormErrors( object ) { let key; const form = object instanceof jQuery ? object.get( 0 ) : object; removeAllErrors(); @@ -1998,15 +1996,15 @@ function frmFrontFormJS() { showSubmitLoading, removeSubmitLoading, - scrollToID: function( id ) { + scrollToID( id ) { const object = jQuery( document.getElementById( id ) ); frmFrontForm.scrollMsg( object, false ); }, - scrollMsg: function( id, object, animate ) { + scrollMsg( id, object, animate ) { let newPos, m, b, screenTop, screenBottom, scrollObj = ''; - if ( typeof object === 'undefined' ) { + if ( object === undefined ) { scrollObj = jQuery( document.getElementById( 'frm_form_' + id + '_container' ) ); if ( scrollObj.length < 1 ) { return; @@ -2021,10 +2019,10 @@ function frmFrontFormJS() { jQuery( scrollObj ).trigger( 'focus' ); newPos = scrollObj.offset().top; - if ( ! newPos || frm_js.offset === '-1' ) { // eslint-disable-line camelcase + if ( ! newPos || frm_js.offset === '-1' ) { return; } - newPos = newPos - frm_js.offset; // eslint-disable-line camelcase + newPos = newPos - frm_js.offset; m = getComputedStyle( document.documentElement ).marginTop; b = getComputedStyle( document.body ).marginTop; @@ -2038,7 +2036,7 @@ function frmFrontFormJS() { if ( newPos > screenBottom || newPos < screenTop ) { // Not in view - if ( typeof animate === 'undefined' ) { + if ( animate === undefined ) { document.documentElement.scrollTop = newPos; } else { animateScroll( screenTop, newPos, 500 ); @@ -2048,7 +2046,7 @@ function frmFrontFormJS() { } }, - fieldValueChanged: function( e ) { + fieldValueChanged( e ) { /*jshint validthis:true */ const fieldId = frmFrontForm.getFieldId( this, false ); @@ -2067,7 +2065,7 @@ function frmFrontFormJS() { } }, - escapeHtml: function( text ) { + escapeHtml( text ) { console.warn( 'DEPRECATED: function frmFrontForm.escapeHtml in v6.17' ); return text .replace( /&/g, '&' ) @@ -2077,7 +2075,7 @@ function frmFrontFormJS() { .replace( /'/g, ''' ); }, - triggerCustomEvent: triggerCustomEvent, + triggerCustomEvent, documentOn }; } diff --git a/js/formidable.min.js b/js/formidable.min.js index 2456109e1b..96d1e30596 100644 --- a/js/formidable.min.js +++ b/js/formidable.min.js @@ -1,75 +1,75 @@ -function frmFrontFormJS(){let jsErrors=[];function triggerCustomEvent(el,eventName,data){if(typeof window.CustomEvent!=="function")return;const event=new CustomEvent(eventName);event.frmData=data;el.dispatchEvent(event)}function getFieldId(field,fullID){let nameParts,fieldId,isRepeating=false,fieldName="";if(field instanceof jQuery)field=field.get(0);fieldName=field.name;if(typeof fieldName==="undefined")fieldName="";if(fieldName===""){fieldName=field.getAttribute("data-name");if(typeof fieldName=== -"undefined")fieldName="";if(fieldName!==""&&fieldName)return fieldName;return 0}nameParts=fieldName.replace("item_meta[","").replace("[]","").split("]");if(nameParts.length<1)return 0;nameParts=nameParts.filter(function(n){return n!==""});fieldId=nameParts[0];if(nameParts.length===1)return fieldId;if(nameParts[1]==="[form"||nameParts[1]==="[row_ids")return 0;if(document.querySelector('input[name="item_meta['+fieldId+'][form]"]')){fieldId=nameParts[2].replace("[","");isRepeating=true}if("other"=== -fieldId)if(isRepeating)fieldId=nameParts[3].replace("[","");else fieldId=nameParts[1].replace("[","");if(fullID===true)if(fieldId===nameParts[0])fieldId=fieldId+"-"+nameParts[1].replace("[","");else fieldId=fieldId+"-"+nameParts[0]+"-"+nameParts[1].replace("[","");return fieldId}function disableSubmitButton($form){const form=$form instanceof jQuery?$form.get(0):$form;if(!form)return;form.querySelectorAll('input[type="submit"], input[type="button"], button[type="submit"], button.frm_save_draft').forEach(button=> -button.disabled=true)}function enableSubmitButton(form){form.querySelectorAll('input[type="submit"], input[type="button"], button[type="submit"]').forEach(button=>button.disabled=false)}function disableSaveDraft($form){const form=$form instanceof jQuery?$form.get(0):$form;if(!form)return;form.querySelectorAll("a.frm_save_draft").forEach(link=>link.style.pointerEvents="none")}function enableSaveDraft($form){const form=$form instanceof jQuery?$form.get(0):$form;if(!form)return;form.querySelectorAll(".frm_save_draft").forEach(saveDraftButton=> +function frmFrontFormJS(){let jsErrors=[];function triggerCustomEvent(el,eventName,data){if(typeof window.CustomEvent!=="function")return;const event=new CustomEvent(eventName);event.frmData=data;el.dispatchEvent(event)}function getFieldId(field,fullID){let nameParts,fieldId,isRepeating=false,fieldName="";if(field instanceof jQuery)field=field.get(0);fieldName=field.name;if(fieldName===undefined)fieldName="";if(fieldName===""){fieldName=field.getAttribute("data-name");if(fieldName===undefined)fieldName= +"";if(fieldName!==""&&fieldName)return fieldName;return 0}nameParts=fieldName.replace("item_meta[","").replace("[]","").split("]");if(nameParts.length<1)return 0;nameParts=nameParts.filter(function(n){return n!==""});fieldId=nameParts[0];if(nameParts.length===1)return fieldId;if(nameParts[1]==="[form"||nameParts[1]==="[row_ids")return 0;if(document.querySelector('input[name="item_meta['+fieldId+'][form]"]')){fieldId=nameParts[2].replace("[","");isRepeating=true}if("other"===fieldId)if(isRepeating)fieldId= +nameParts[3].replace("[","");else fieldId=nameParts[1].replace("[","");if(fullID===true)if(fieldId===nameParts[0])fieldId=fieldId+"-"+nameParts[1].replace("[","");else fieldId=fieldId+"-"+nameParts[0]+"-"+nameParts[1].replace("[","");return fieldId}function disableSubmitButton($form){const form=$form instanceof jQuery?$form.get(0):$form;if(!form)return;form.querySelectorAll('input[type="submit"], input[type="button"], button[type="submit"], button.frm_save_draft').forEach(button=>button.disabled= +true)}function enableSubmitButton(form){form.querySelectorAll('input[type="submit"], input[type="button"], button[type="submit"]').forEach(button=>button.disabled=false)}function disableSaveDraft($form){const form=$form instanceof jQuery?$form.get(0):$form;if(!form)return;form.querySelectorAll("a.frm_save_draft").forEach(link=>link.style.pointerEvents="none")}function enableSaveDraft($form){const form=$form instanceof jQuery?$form.get(0):$form;if(!form)return;form.querySelectorAll(".frm_save_draft").forEach(saveDraftButton=> {saveDraftButton.disabled=false;saveDraftButton.style.pointerEvents=""})}function validateForm(object){let errors=[];const vanillaJsObject="function"===typeof object.get?object.get(0):object;vanillaJsObject?.querySelectorAll(".frm_required_field").forEach(requiredField=>{const isVisible=requiredField.offsetParent!==null;if(!isVisible)return;requiredField.querySelectorAll("input, select, textarea").forEach(requiredInput=>{if(hasClass(requiredInput,"frm_optional")||hasClass(requiredInput,"ed_button"))return; errors=checkRequiredField(requiredInput,errors)})});vanillaJsObject?.querySelectorAll("input,select,textarea").forEach(field=>{if(""===field.value){if("number"===field.type)checkValidity(field,errors);const isConfirmationField=field.name&&0===field.name.indexOf("item_meta[conf_");if(!isConfirmationField)return}validateFieldValue(field,errors,true);checkValidity(field,errors)});if(!hasInvisibleRecaptcha(object))errors=validateRecaptcha(object,errors);return errors}function checkValidity(field,errors){let fieldID; -if("object"!==typeof field.validity||false!==field.validity.valid)return;fieldID=getFieldId(field,true);if("undefined"===typeof errors[fieldID])errors[fieldID]=getFieldValidationMessage(field,"data-invmsg");if("function"===typeof field.reportValidity)field.reportValidity()}function hasClass(element,targetClass){return element.classList&&element.classList.contains(targetClass)}function maybeValidateChange(field){if(field.type==="url")maybeAddHttpsToUrl(field);const form=field.closest("form");if(form&& -hasClass(form,"frm_js_validate"))validateField(field)}function maybeAddHttpsToUrl(field){const url=field.value;const matches=url.match(/^(https?|ftps?|mailto|news|feed|telnet):/);if(field.value!==""&&matches===null)field.value="https://"+url}function validateField(field){let errors,key;errors=[];const fieldContainer=field.closest(".frm_form_field");if(!fieldContainer)return;if(hasClass(fieldContainer,"frm_required_field")&&!hasClass(field,"frm_optional"))errors=checkRequiredField(field,errors);if(errors.length< +if("object"!==typeof field.validity||false!==field.validity.valid)return;fieldID=getFieldId(field,true);if(errors[fieldID]===undefined)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg");if("function"===typeof field.reportValidity)field.reportValidity()}function hasClass(element,targetClass){return element.classList&&element.classList.contains(targetClass)}function maybeValidateChange(field){if(field.type==="url")maybeAddHttpsToUrl(field);const form=field.closest("form");if(form&&hasClass(form, +"frm_js_validate"))validateField(field)}function maybeAddHttpsToUrl(field){const url=field.value;const matches=url.match(/^(https?|ftps?|mailto|news|feed|telnet):/);if(field.value!==""&&matches===null)field.value="https://"+url}function validateField(field){let errors,key;errors=[];const fieldContainer=field.closest(".frm_form_field");if(!fieldContainer)return;if(hasClass(fieldContainer,"frm_required_field")&&!hasClass(field,"frm_optional"))errors=checkRequiredField(field,errors);if(errors.length< 1)validateFieldValue(field,errors,false);removeFieldError(fieldContainer);if(Object.keys(errors).length>0)for(key in errors)addFieldError(fieldContainer,key,errors)}function validateFieldValue(field,errors,onSubmit){if(field.type==="hidden");else if(field.type==="number")checkNumberField(field,errors);else if(field.type==="email")checkEmailField(field,errors,onSubmit);else if(field.type==="password")checkPasswordField(field,errors,onSubmit);else if(field.type==="url")checkUrlField(field,errors);else if(field.pattern!== -null)checkPatternField(field,errors);if("tel"===field.type&&shouldCheckConfirmField(field,onSubmit))confirmField(field,errors);triggerCustomEvent(document,"frm_validate_field_value",{field:field,errors:errors,onSubmit:onSubmit})}function checkRequiredField(field,errors){let tempVal,i,placeholder,val="",fieldID="",fileID=field.getAttribute("data-frmfile");if(field.type==="hidden"&&fileID===null&&!isAppointmentField(field)&&!isInlineDatepickerField(field))return errors;if(field.type==="checkbox"||field.type=== -"radio")document.querySelectorAll('input[name="'+field.name+'"]').forEach(function(input){const requiredField=input.closest(".frm_required_field");if(!requiredField)return;const checkedInputs=requiredField.querySelectorAll("input:checked");checkedInputs.forEach(function(checkedInput){val=checkedInput.value})});else if(field.type==="file"||fileID){if(typeof fileID==="undefined"){fileID=getFieldId(field,true);fileID=fileID.replace("file","")}if(typeof errors[fileID]==="undefined")val=getFileVals(fileID); -fieldID=fileID}else{if(hasClass(field,"frm_pos_none"))return errors;val=jQuery(field).val();if(val===null)val="";else if(typeof val!=="string"){tempVal=val;val="";for(i=0;i()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i;if(""!==field.value&&pattern.test(field.value)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg");if(shouldCheckConfirmField(field,onSubmit))confirmField(field, -errors)}function checkPasswordField(field,errors,onSubmit){if(shouldCheckConfirmField(field,onSubmit))confirmField(field,errors)}function confirmField(field,errors){let value,confirmValue,firstField,fieldID=getFieldId(field,true),strippedId=field.id.replace("conf_",""),strippedFieldID=fieldID.replace("conf_",""),confirmField=document.getElementById(strippedId.replace("field_","field_conf_"));if(confirmField===null||typeof errors["conf_"+strippedFieldID]!=="undefined")return;if(fieldID!==strippedFieldID){firstField= -document.getElementById(strippedId);value=firstField.value;confirmValue=confirmField.value;if(value!==confirmValue)errors["conf_"+strippedFieldID]=getFieldValidationMessage(confirmField,"data-confmsg")}else validateField(confirmField)}function checkNumberField(field,errors){let fieldID,number=field.value;if(number!==""&&isNaN(number/1)!==false){fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}}function checkPatternField(field,errors){let fieldID, -text=field.value,format=getFieldValidationMessage(field,"pattern");if(format!==""&&text!==""){fieldID=getFieldId(field,true);if(!(fieldID in errors))if("object"===typeof window.frmProForm&&"function"===typeof window.frmProForm.isIntlPhoneInput&&window.frmProForm.isIntlPhoneInput(field)){if(!window.frmProForm.validateIntlPhoneInput(field))errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}else{format=new RegExp("^"+format+"$","i");if(format.test(text)===false)errors[fieldID]=getFieldValidationMessage(field, -"data-invmsg")}}}function setSelectPlaceholderColor(){let selects=document.querySelectorAll(".form-field select"),styleElement=document.querySelector(".with_frm_style"),textColorDisabled=styleElement?getComputedStyle(styleElement).getPropertyValue("--text-color-disabled").trim():"",changeSelectColor;if(!selects.length||!textColorDisabled)return;changeSelectColor=function(select){if(select.options[select.selectedIndex]&&hasClass(select.options[select.selectedIndex],"frm-select-placeholder"))select.style.setProperty("color", +null)checkPatternField(field,errors);if("tel"===field.type&&shouldCheckConfirmField(field,onSubmit))confirmField(field,errors);triggerCustomEvent(document,"frm_validate_field_value",{field,errors,onSubmit})}function checkRequiredField(field,errors){let tempVal,i,placeholder,val="",fieldID="",fileID=field.getAttribute("data-frmfile");if(field.type==="hidden"&&fileID===null&&!isAppointmentField(field)&&!isInlineDatepickerField(field))return errors;if(field.type==="checkbox"||field.type==="radio")document.querySelectorAll('input[name="'+ +field.name+'"]').forEach(function(input){const requiredField=input.closest(".frm_required_field");if(!requiredField)return;const checkedInputs=requiredField.querySelectorAll("input:checked");checkedInputs.forEach(function(checkedInput){val=checkedInput.value})});else if(field.type==="file"||fileID){if(fileID===undefined){fileID=getFieldId(field,true);fileID=fileID.replace("file","")}if(errors[fileID]===undefined)val=getFileVals(fileID);fieldID=fileID}else{if(hasClass(field,"frm_pos_none"))return errors; +val=jQuery(field).val();if(val===null)val="";else if(typeof val!=="string"){tempVal=val;val="";for(i=0;i()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i;if(""!==field.value&&pattern.test(field.value)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg");if(shouldCheckConfirmField(field,onSubmit))confirmField(field,errors)}function checkPasswordField(field, +errors,onSubmit){if(shouldCheckConfirmField(field,onSubmit))confirmField(field,errors)}function confirmField(field,errors){let value,confirmValue,firstField,fieldID=getFieldId(field,true),strippedId=field.id.replace("conf_",""),strippedFieldID=fieldID.replace("conf_",""),confirmField=document.getElementById(strippedId.replace("field_","field_conf_"));if(confirmField===null||errors["conf_"+strippedFieldID]!==undefined)return;if(fieldID!==strippedFieldID){firstField=document.getElementById(strippedId); +value=firstField.value;confirmValue=confirmField.value;if(value!==confirmValue)errors["conf_"+strippedFieldID]=getFieldValidationMessage(confirmField,"data-confmsg")}else validateField(confirmField)}function checkNumberField(field,errors){let fieldID,number=field.value;if(number!==""&&isNaN(number/1)!==false){fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}}function checkPatternField(field,errors){let fieldID,text=field.value,format= +getFieldValidationMessage(field,"pattern");if(format!==""&&text!==""){fieldID=getFieldId(field,true);if(!(fieldID in errors))if("object"===typeof window.frmProForm&&"function"===typeof window.frmProForm.isIntlPhoneInput&&window.frmProForm.isIntlPhoneInput(field)){if(!window.frmProForm.validateIntlPhoneInput(field))errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}else{format=new RegExp("^"+format+"$","i");if(format.test(text)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}}} +function setSelectPlaceholderColor(){let selects=document.querySelectorAll(".form-field select"),styleElement=document.querySelector(".with_frm_style"),textColorDisabled=styleElement?getComputedStyle(styleElement).getPropertyValue("--text-color-disabled").trim():"",changeSelectColor;if(!selects.length||!textColorDisabled)return;changeSelectColor=function(select){if(select.options[select.selectedIndex]&&hasClass(select.options[select.selectedIndex],"frm-select-placeholder"))select.style.setProperty("color", textColorDisabled,"important");else select.style.color=""};Array.prototype.forEach.call(selects,function(select){changeSelectColor(select);select.addEventListener("change",function(){changeSelectColor(select)})})}function hasInvisibleRecaptcha(object){if(isGoingToPrevPage(object))return false;const form=object instanceof jQuery?object.get(0):object;if(!form)return false;const recaptcha=form.querySelector('.frm-g-recaptcha[data-size="invisible"], .g-recaptcha[data-size="invisible"]');if(recaptcha){const recaptchaID= recaptcha.dataset.rid;const alreadyChecked=grecaptcha.getResponse(recaptchaID);if(alreadyChecked.length===0)return recaptcha}return false}function executeInvisibleRecaptcha(invisibleRecaptcha){const recaptchaID=invisibleRecaptcha.dataset.rid;grecaptcha.reset(recaptchaID);grecaptcha.execute(recaptchaID)}function validateRecaptcha(form,errors){const formEl=form instanceof jQuery?form.get(0):form;if(!formEl)return errors;const recaptcha=formEl.querySelector(".frm-g-recaptcha");if(!recaptcha)return errors; const recaptchaID=recaptcha.dataset.rid;let response;try{response=grecaptcha.getResponse(recaptchaID)}catch(e){if(formEl.querySelector('input[name="recaptcha_checked"]'))return errors;response=""}if(response.length===0){const fieldContainer=recaptcha.closest(".frm_form_field");if(fieldContainer&&fieldContainer.id){const fieldID=fieldContainer.id.replace("frm_field_","").replace("_container","");errors[fieldID]=""}}return errors}function getFieldValidationMessage(field,messageType){let msg=field.getAttribute(messageType); if(null===msg)msg="";if(""!==msg&&shouldWrapErrorHtmlAroundMessageType(messageType))msg=wrapErrorHtml(msg,field);return msg}function wrapErrorHtml(msg,field){let errorHtml=field.getAttribute("data-error-html");if(null===errorHtml)return msg;errorHtml=errorHtml.replace(/\+/g,"%20");msg=decodeURIComponent(errorHtml).replace("[error]",msg);const fieldId=getFieldId(field,false);const split=fieldId.split("-");const fieldIdParts=field.id.split("_");fieldIdParts.shift();split[0]=fieldIdParts.join("_");const errorKey= split.join("-");return msg.replace("[key]",errorKey)}function shouldWrapErrorHtmlAroundMessageType(type){return"pattern"!==type}function shouldJSValidate(object){if("function"===typeof object.get)object=object.get(0);let validate=hasClass(object,"frm_js_validate");if(validate&&typeof frmProForm!=="undefined"&&(frmProForm.savingDraft(object)||frmProForm.goingToPreviousPage(object)))validate=false;return validate}function getFormErrors(object,action){let data,success,error,shouldTriggerEvent;const fieldsets= object.querySelectorAll(".frm_form_field");fieldsets.forEach(field=>field.classList.add("frm_doing_ajax"));data=jQuery(object).serialize()+"&action=frm_entries_"+action+"&nonce="+frm_js.nonce;shouldTriggerEvent=object.classList.contains("frm_trigger_event_on_submit");const doRedirect=response=>{jQuery(document).trigger("frmBeforeFormRedirect",[object,response]);if(!response.openInNewTab){window.location=response.redirect;return}const newTab=window.open(response.redirect,"_blank");if(!newTab&&response.fallbackMsg&& -response.content)response.content=response.content.trim().replace(/(<\/div><\/div>)$/," "+response.fallbackMsg+"
")};success=function(response){let defaultResponse,formID,replaceContent,pageOrder,formReturned,contSubmit,delay,$fieldCont,key,inCollapsedSection,frmTrigger;defaultResponse={content:"",errors:{},pass:false};if(response===null)response=defaultResponse;else{response=response.replace(/^\s+|\s+$/g,"");if(response.indexOf("{")===0)response=JSON.parse(response);else response=defaultResponse}if(typeof response.redirect!== -"undefined"){if(shouldTriggerEvent){triggerCustomEvent(object,"frmSubmitEvent");return}if(response.delay)setTimeout(function(){doRedirect(response)},1E3*response.delay);else doRedirect(response)}if("string"===typeof response.content&&response.content!==""){if(shouldTriggerEvent){triggerCustomEvent(object,"frmSubmitEvent",{content:response.content});return}removeSubmitLoading(jQuery(object));if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object),false);const formIdInput=object.querySelector('input[name="form_id"]'); +response.content)response.content=response.content.trim().replace(/(<\/div><\/div>)$/," "+response.fallbackMsg+"")};success=function(response){let defaultResponse,formID,replaceContent,pageOrder,formReturned,contSubmit,delay,$fieldCont,key,inCollapsedSection,frmTrigger;defaultResponse={content:"",errors:{},pass:false};if(response===null)response=defaultResponse;else{response=response.replace(/^\s+|\s+$/g,"");if(response.indexOf("{")===0)response=JSON.parse(response);else response=defaultResponse}if(response.redirect!== +undefined){if(shouldTriggerEvent){triggerCustomEvent(object,"frmSubmitEvent");return}if(response.delay)setTimeout(function(){doRedirect(response)},1E3*response.delay);else doRedirect(response)}if("string"===typeof response.content&&response.content!==""){if(shouldTriggerEvent){triggerCustomEvent(object,"frmSubmitEvent",{content:response.content});return}removeSubmitLoading(jQuery(object));if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object),false);const formIdInput=object.querySelector('input[name="form_id"]'); formID=formIdInput?formIdInput.value:"";response.content=response.content.replace(/ frm_pro_form /g," frm_pro_form frm_no_hide ");replaceContent=jQuery(object).closest(".frm_forms");removeAddedScripts(replaceContent,formID);delay=maybeSlideOut(replaceContent,response.content);setTimeout(function(){afterFormSubmittedBeforeReplace(object,response);replaceContent.replaceWith(response.content);addUrlParam(response);if(typeof frmThemeOverride_frmAfterSubmit==="function"){const pageOrderInput=document.querySelector('input[name="frm_page_order_'+ formID+'"]');pageOrder=pageOrderInput?pageOrderInput.value:"";const tempDiv=document.createElement("div");tempDiv.innerHTML=response.content;const formReturnedInput=tempDiv.querySelector('input[name="form_id"]');formReturned=formReturnedInput?formReturnedInput.value:"";frmThemeOverride_frmAfterSubmit(formReturned,pageOrder,response.content,object)}afterFormSubmitted(object,response)},delay)}else if(Object.keys(response.errors).length){removeSubmitLoading(jQuery(object),"enable");contSubmit=true;removeAllErrors(); $fieldCont=null;for(key in response.errors){const fieldContEl=object.querySelector("#frm_field_"+key+"_container");$fieldCont=fieldContEl?jQuery(fieldContEl):jQuery();if($fieldCont.length){if(!$fieldCont.is(":visible")){inCollapsedSection=$fieldCont.closest(".frm_toggle_container");if(inCollapsedSection.length){frmTrigger=inCollapsedSection.prev();if(!frmTrigger.hasClass("frm_trigger"))frmTrigger=frmTrigger.prev(".frm_trigger");frmTrigger.trigger("click")}}if($fieldCont.is(":visible")){addFieldError($fieldCont, key,response.errors);contSubmit=false}}}object.querySelectorAll(".frm-g-recaptcha, .g-recaptcha, .h-captcha").forEach(function(captchaEl){const recaptchaID=captchaEl.dataset.rid;if(typeof grecaptcha!=="undefined"&&grecaptcha)if(recaptchaID)grecaptcha.reset(recaptchaID);else grecaptcha.reset();if(typeof hcaptcha!=="undefined"&&hcaptcha)hcaptcha.reset()});if(window.turnstile)object.querySelectorAll(".frm-cf-turnstile").forEach(turnstileField=>turnstileField.dataset.rid&&turnstile.reset(turnstileField.dataset.rid)); jQuery(document).trigger("frmFormErrors",[object,response]);fieldsets.forEach(field=>field.classList.remove("frm_doing_ajax"));scrollToFirstField(object);if(contSubmit)object.submit();else{object.insertAdjacentHTML("afterbegin",response.error_message);checkForErrorsAndMaybeSetFocus()}}else{showFileLoading(object);object.submit()}};error=function(){object.querySelectorAll('input[type="submit"], input[type="button"]').forEach(button=>button.disabled=false);object.submit()};postToAjaxUrl(object,data, -success,error)}function postToAjaxUrl(form,data,success,error){let ajaxUrl,action,ajaxParams;ajaxUrl=frm_js.ajax_url;action=form.getAttribute("action");if("string"===typeof action&&-1!==action.indexOf("?action=frm_forms_preview"))ajaxUrl=action.split("?action=frm_forms_preview")[0];ajaxParams={type:"POST",url:ajaxUrl,data:data,success:success};if("function"===typeof error)ajaxParams.error=error;jQuery.ajax(ajaxParams)}function afterFormSubmitted(object,response){const tempDiv=document.createElement("div"); -tempDiv.innerHTML=response.content;const formCompleted=tempDiv.querySelector(".frm_message");if(formCompleted)jQuery(document).trigger("frmFormComplete",[object,response]);else jQuery(document).trigger("frmPageChanged",[object,response])}function afterFormSubmittedBeforeReplace(object,response){const tempDiv=document.createElement("div");tempDiv.innerHTML=response.content;const formCompleted=tempDiv.querySelector(".frm_message");if(formCompleted)triggerCustomEvent(document,"frmFormCompleteBeforeReplace", -{object,response})}function removeAddedScripts(formContainer,formID){const endReplace=document.querySelectorAll(".frm_end_ajax_"+formID);if(endReplace.length){formContainer.nextUntil(".frm_end_ajax_"+formID).remove();endReplace.forEach(el=>el.remove())}}function maybeSlideOut(oldContent,newContent){let c,newClass="frm_slideout";if(newContent.includes(" frm_slide")){c=oldContent.children();if(newContent.includes(" frm_going_back"))newClass+=" frm_going_back";c.removeClass("frm_going_back");c.addClass(newClass); -return 300}return 0}function addUrlParam(response){let url;if(history.pushState&&typeof response.page!=="undefined"){url=addQueryVar("frm_page",response.page);window.history.pushState({html:response.html},"","?"+url)}}function addQueryVar(key,value){let kvp,i,x;key=encodeURI(key);value=encodeURI(value);kvp=document.location.search.substr(1).split("&");i=kvp.length;while(i--){x=kvp[i].split("=");if(x[0]==key){x[1]=value;kvp[i]=x.join("=");break}}if(i<0)kvp[kvp.length]=[key,value].join("=");return kvp.join("&")} -function addFieldError($fieldCont,key,jsErrors){let id,describedBy,roleString;const container=$fieldCont instanceof jQuery?$fieldCont.get(0):$fieldCont;if(!container||container.offsetParent===null)return;container.classList.add("frm_blank_field");const input=container.querySelector("input, select, textarea");id=getErrorElementId(key,input);describedBy=input?input.getAttribute("aria-describedby"):null;if(typeof frmThemeOverride_frmPlaceError==="function")frmThemeOverride_frmPlaceError(key,jsErrors); -else{let errorHtml;if(-1!==jsErrors[key].indexOf("'+jsErrors[key]+""}container.insertAdjacentHTML("beforeend",errorHtml);if(input){if(!describedBy)describedBy=id;else if(!describedBy.includes(id)&&!describedBy.includes("frm_error_field_")){const errorFirst=input.dataset.errorFirst;if(errorFirst==="0")describedBy=describedBy+" "+id;else describedBy= -id+" "+describedBy}input.setAttribute("aria-describedby",describedBy)}}if(input)if(["radio","checkbox"].includes(input.type)){const group=input.closest('[role="radiogroup"], [role="group"]');if(group)group.setAttribute("aria-invalid","true")}else input.setAttribute("aria-invalid","true");jQuery(document).trigger("frmAddFieldError",[jQuery(container),key,jsErrors])}function getErrorElementId(key,input){if(isNaN(key)||!input||!input.id)return"frm_error_field_"+key;return"frm_error_"+input.id}function removeFieldError(fieldCont){const container= -fieldCont instanceof jQuery?fieldCont.get(0):fieldCont;if(!container)return;const errorMessage=container.querySelector(".frm_error");const errorId=errorMessage?errorMessage.id:"";const input=container.querySelector("input, select, textarea");let describedBy=input?input.getAttribute("aria-describedby"):null;container.classList.remove("frm_blank_field","has-error");if(input)if("true"===input.getAttribute("aria-invalid"))input.setAttribute("aria-invalid","false");else if(["radio","checkbox"].includes(input.type)){const group= -input.closest('[role="radiogroup"], [role="group"]');if(group)group.setAttribute("aria-invalid","false")}if(errorMessage)errorMessage.remove();if(input){input.removeAttribute("aria-describedby");if(describedBy){describedBy=describedBy.replace(errorId,"").trim();if(describedBy)input.setAttribute("aria-describedby",describedBy)}}}function removeAllErrors(){document.querySelectorAll(".form-field").forEach(field=>{field.classList.remove("frm_blank_field","has-error")});document.querySelectorAll(".form-field .frm_error").forEach(error=> -error.remove());document.querySelectorAll(".frm_error_style").forEach(error=>error.remove())}function scrollToFirstField(object){if("function"===typeof object.get)object=object.get(0);const field=object.querySelector(".frm_blank_field");if(field)frmFrontForm.scrollMsg(jQuery(field),object,true)}function showSubmitLoading($object){showLoadingIndicator($object);disableSubmitButton($object);disableSaveDraft($object)}function showLoadingIndicator($object){if(!$object.hasClass("frm_loading_form")&&!$object.hasClass("frm_loading_prev")){addLoadingClass($object); -$object.trigger("frmStartFormLoading")}}function addLoadingClass($object){const loadingClass=isGoingToPrevPage($object)?"frm_loading_prev":"frm_loading_form";$object.addClass(loadingClass)}function isGoingToPrevPage($object){return typeof frmProForm!=="undefined"&&frmProForm.goingToPreviousPage($object)}function removeSubmitLoading(_,enable,processesRunning){if(processesRunning>0)return;document.querySelectorAll(".frm_loading_form").forEach(function(form){form.classList.remove("frm_loading_form", -"frm_loading_prev");jQuery(form).trigger("frmEndFormLoading");if(enable==="enable"){enableSubmitButton(form);enableSaveDraft(form)}})}function showFileLoading(object){const loading=document.getElementById("frm_loading");if(loading===null)return;const fileInput=object.querySelector("input[type=file]");const fileval=fileInput?fileInput.value:"";if(fileval!=="")setTimeout(function(){jQuery(loading).fadeIn("slow")},2E3)}function confirmClick(){const message=this.dataset.frmconfirm;return confirm(message)} -function onHoneypotFieldChange(){const css=window.getComputedStyle(this).boxShadow;if(css&&css.match(/inset/))this.remove()}function changeFocusWhenClickComboFieldLabel(){let label;const comboInputsContainer=document.querySelectorAll(".frm_combo_inputs_container");comboInputsContainer.forEach(function(inputsContainer){if(!inputsContainer.closest(".frm_form_field"))return;label=inputsContainer.closest(".frm_form_field").querySelector(".frm_primary_label");if(!label)return;label.addEventListener("click", -function(){inputsContainer.querySelector(".frm_form_field:first-child input, .frm_form_field:first-child select, .frm_form_field:first-child textarea").focus()})})}function maybeFocusOnComboSubField(element){if("FIELDSET"!==element.nodeName)return false;if(!element.querySelector(".frm_combo_inputs_container"))return false;const comboSubfield=element.querySelector('[aria-invalid="true"]');if(comboSubfield){focusInput(comboSubfield);return true}return false}function checkForErrorsAndMaybeSetFocus(){let errors, -element,timeoutCallback;if(!frm_js.focus_first_error)return;errors=document.querySelectorAll(".frm_form_field .frm_error");if(!errors.length)return;element=errors[0];do{element=element.previousSibling;if(-1!==["input","select","textarea"].indexOf(element.nodeName.toLowerCase())){focusInput(element);break}if(maybeFocusOnComboSubField(element))break;if("undefined"!==typeof element.classList){if(element.classList.contains("html-active"))timeoutCallback=function(){const textarea=element.querySelector("textarea"); -if(null!==textarea)textarea.focus()};else if(element.classList.contains("tmce-active"))timeoutCallback=function(){tinyMCE.activeEditor.focus()};else if(element.classList.contains("frm_opt_container")){const firstInput=element.querySelector("input");if(firstInput){focusInput(firstInput);break}}if("function"===typeof timeoutCallback){setTimeout(timeoutCallback,0);break}}}while(element.previousSibling)}function focusInput(input){if(input.offsetParent!==null)input.focus();else triggerCustomEvent(document, -"frmMaybeDelayFocus",{input})}function documentOn(event,selector,handler,options){if("undefined"===typeof options)options=false;document.addEventListener(event,function(e){let target;for(target=e.target;target&&target!=this;target=target.parentNode)if(target.matches&&target.matches(selector)){handler.call(target,e);break}},options)}function initFloatingLabels(){let checkFloatLabel,checkDropdownLabel,runOnLoad,selector,floatClass;selector=".frm-show-form .frm_inside_container input, .frm-show-form .frm_inside_container select, .frm-show-form .frm_inside_container textarea"; -floatClass="frm_label_float_top";checkFloatLabel=function(input){let container,shouldFloatTop,firstOpt;container=input.closest(".frm_inside_container");if(!container)return;shouldFloatTop=input.value||document.activeElement===input;container.classList.toggle(floatClass,shouldFloatTop);if("SELECT"===input.tagName){firstOpt=input.querySelector("option:first-child");if(shouldFloatTop){if(firstOpt.hasAttribute("data-label")){firstOpt.textContent=firstOpt.getAttribute("data-label");firstOpt.removeAttribute("data-label")}}else if(firstOpt.textContent){firstOpt.setAttribute("data-label", -firstOpt.textContent);firstOpt.textContent=""}}};checkDropdownLabel=function(){document.querySelectorAll(".frm-show-form .frm_inside_container:not(."+floatClass+") select").forEach(function(input){const firstOpt=input.querySelector("option:first-child");if(firstOpt.textContent){firstOpt.setAttribute("data-label",firstOpt.textContent);firstOpt.textContent=""}})};["focus","blur","change"].forEach(function(eventName){documentOn(eventName,selector,function(event){checkFloatLabel(event.target)},true)}); -runOnLoad=function(firstLoad){if(firstLoad&&document.activeElement&&-1!==["INPUT","SELECT","TEXTAREA"].indexOf(document.activeElement.tagName))checkFloatLabel(document.activeElement);else if(firstLoad)document.querySelectorAll(".frm_inside_container").forEach(function(container){const input=container.querySelector("input, select, textarea");if(input&&""!==input.value)checkFloatLabel(input)});checkDropdownLabel()};runOnLoad(true);jQuery(document).on("frmPageChanged",function(event){runOnLoad()});document.addEventListener("frm_after_start_over", -function(event){runOnLoad()})}function shouldUpdateValidityMessage(target){if("INPUT"!==target.nodeName)return false;if(!target.dataset.invmsg)return false;if("text"!==target.getAttribute("type"))return false;if(target.classList.contains("frm_verify"))return false;return true}function maybeClearCustomValidityMessage(event,field){let key,isInvalid=false;if(!shouldUpdateValidityMessage(field))return;for(key in field.validity){if("customError"===key)continue;if("valid"!==key&&field.validity[key]===true){isInvalid= -true;break}}if(!isInvalid)field.setCustomValidity("")}function maybeShowNewTabFallbackMessage(){let messageEl;if(!window.frmShowNewTabFallback)return;messageEl=document.querySelector("#frm_form_"+frmShowNewTabFallback.formId+"_container .frm_message");if(!messageEl)return;messageEl.insertAdjacentHTML("beforeend"," "+frmShowNewTabFallback.message)}function setCustomValidityMessage(){let forms,length,index;forms=document.getElementsByClassName("frm-show-form");length=forms.length;for(index=0;index< -length;++index)forms[index].addEventListener("invalid",function(event){const target=event.target;if(shouldUpdateValidityMessage(target))target.setCustomValidity(target.dataset.invmsg)},true)}function enableSubmitButtonOnBackButtonPress(){window.addEventListener("pageshow",function(event){if(event.persisted){document.querySelectorAll(".frm_loading_form").forEach(function(form){enableSubmitButton(form)});removeSubmitLoading()}})}function destroyhCaptcha(){if(!window.hasOwnProperty("hcaptcha")||!document.querySelector(".frm-show-form .h-captcha"))return; -window.hcaptcha=null}function getUniqueKey(){const uniqueKey=Array.from(window.crypto.getRandomValues(new Uint8Array(8))).map(b=>b.toString(16).padStart(2,"0")).join("");const timestamp=Date.now().toString(16);return uniqueKey+"-"+timestamp}function animateScroll(start,end,duration){if(!window.hasOwnProperty("performance")||!window.hasOwnProperty("requestAnimationFrame")){document.documentElement.scrollTop=end;return}const startTime=performance.now();const step=currentTime=>{const progress=Math.min((currentTime- -startTime)/duration,1);document.documentElement.scrollTop=start+(end-start)*progress;if(progress<1)requestAnimationFrame(step)};requestAnimationFrame(step)}function maybeFixCaptchaLabel(captcha){const form=captcha.closest("form");if(!form)return;const label=form.querySelector('label[for="g-recaptcha-response"], label[for="cf-turnstile-response"]');const captchaResponse=form.querySelector('[name="g-recaptcha-response"], [name="cf-turnstile-response"]');if(label&&captchaResponse)label.htmlFor=captchaResponse.id} -return{init:function(){jQuery(document).off("submit.formidable",".frm-show-form");jQuery(document).on("submit.formidable",".frm-show-form",frmFrontForm.submitForm);jQuery(document).on("change",'.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]',frmFrontForm.fieldValueChanged);jQuery(document).on("change",".frm_verify[id^=field_]",onHoneypotFieldChange);jQuery(document).on("click","a[data-frmconfirm]",confirmClick);checkForErrorsAndMaybeSetFocus(); -changeFocusWhenClickComboFieldLabel();initFloatingLabels();maybeShowNewTabFallbackMessage();jQuery(document).on("frmAfterAddRow",setCustomValidityMessage);setCustomValidityMessage();jQuery(document).on("frmFieldChanged",maybeClearCustomValidityMessage);setSelectPlaceholderColor();jQuery(document).on("elementor/popup/show",frmRecaptcha);enableSubmitButtonOnBackButtonPress();jQuery(document).on("frmPageChanged",destroyhCaptcha)},getFieldId,renderCaptcha:function(captcha,captchaSelector){const rendered= -captcha.getAttribute("data-rid")!==null;if(rendered)return;const size=captcha.getAttribute("data-size");const params={sitekey:captcha.getAttribute("data-sitekey"),size:size,theme:captcha.getAttribute("data-theme")};if(size==="invisible"){const formID=captcha.closest("form")?.querySelector('input[name="form_id"]')?.value;const captchaLabel=captcha.closest(".frm_form_field")?.querySelector(".frm_primary_label");if(captchaLabel)captchaLabel.style.display="none";params.callback=function(token){frmFrontForm.afterRecaptcha(token, -formID)}}const activeCaptcha=getSelectedCaptcha(captchaSelector);const captchaContainer=typeof turnstile!=="undefined"&&turnstile===activeCaptcha?"#"+captcha.id:captcha.id;const captchaID=activeCaptcha.render(captchaContainer,params);captcha.setAttribute("data-rid",captchaID);maybeFixCaptchaLabel(captcha)},afterSingleRecaptcha:function(){const recaptcha=document.querySelector(".frm-show-form .g-recaptcha");const object=recaptcha?recaptcha.closest("form"):null;frmFrontForm.submitFormNow(object)},afterRecaptcha:function(_, -formID){const object=document.querySelector("#frm_form_"+formID+"_container form");frmFrontForm.submitFormNow(object)},submitForm:function(e){frmFrontForm.submitFormManual(e,this)},submitFormManual:function(e,object){if(document.body.classList.contains("wp-admin")&&!object.closest(".frmapi-form"))return;e.preventDefault();if(typeof frmProForm!=="undefined"&&typeof frmProForm.submitAllowed==="function"&&!frmProForm.submitAllowed(object))return;const errors=frmFrontForm.validateFormSubmit(object);if(Object.keys(errors).length!== -0)return;const invisibleRecaptcha=hasInvisibleRecaptcha(object);if(invisibleRecaptcha){showLoadingIndicator(jQuery(object));executeInvisibleRecaptcha(invisibleRecaptcha)}else{showSubmitLoading(jQuery(object));frmFrontForm.submitFormNow(object)}},submitFormNow:function(object){let hasFileFields,antispamInput,classList=object.className.trim().split(/\s+/gi);if(object.hasAttribute("data-token")&&null===object.querySelector('[name="antispam_token"]')){antispamInput=document.createElement("input");antispamInput.type= -"hidden";antispamInput.name="antispam_token";antispamInput.value=object.getAttribute("data-token");object.append(antispamInput)}const uniqueIDInput=document.createElement("input");uniqueIDInput.type="hidden";uniqueIDInput.name="unique_id";uniqueIDInput.value=getUniqueKey();object.append(uniqueIDInput);if(classList.includes("frm_ajax_submit")){const fileInputs=object.querySelectorAll('input[type="file"]');hasFileFields=Array.from(fileInputs).filter(input=>!!input.value).length;if(hasFileFields<1){const actionInput= -object.querySelector('input[name="frm_action"]');const action=actionInput?actionInput.value:"";frmFrontForm.checkFormErrors(object,action)}else object.submit()}else object.submit()},validateFormSubmit:function(object){const form=object instanceof jQuery?object.get(0):object;if(typeof tinyMCE!=="undefined"&&form&&form.querySelector(".wp-editor-wrap"))tinyMCE.triggerSave();jsErrors=[];if(shouldJSValidate(object)){frmFrontForm.getAjaxFormErrors(object);if(Object.keys(jsErrors).length)frmFrontForm.addAjaxFormErrors(object)}return jsErrors}, -getAjaxFormErrors:function(object){let customErrors,key;const form=object instanceof jQuery?object.get(0):object;jsErrors=validateForm(object);if(typeof frmThemeOverride_jsErrors==="function"){const actionInput=form?form.querySelector('input[name="frm_action"]'):null;const action=actionInput?actionInput.value:"";customErrors=frmThemeOverride_jsErrors(action,object);if(Object.keys(customErrors).length)for(key in customErrors)jsErrors[key]=customErrors[key]}triggerCustomEvent(document,"frm_get_ajax_form_errors", -{formEl:object,errors:jsErrors});return jsErrors},addAjaxFormErrors:function(object){let key;const form=object instanceof jQuery?object.get(0):object;removeAllErrors();for(key in jsErrors){const fieldCont=form?form.querySelector("#frm_field_"+key+"_container"):null;if(fieldCont)addFieldError(fieldCont,key,jsErrors);else delete jsErrors[key]}scrollToFirstField(object);checkForErrorsAndMaybeSetFocus()},checkFormErrors:getFormErrors,checkRequiredField,showSubmitLoading,removeSubmitLoading,scrollToID:function(id){const object= -jQuery(document.getElementById(id));frmFrontForm.scrollMsg(object,false)},scrollMsg:function(id,object,animate){let newPos,m,b,screenTop,screenBottom,scrollObj="";if(typeof object==="undefined"){scrollObj=jQuery(document.getElementById("frm_form_"+id+"_container"));if(scrollObj.length<1)return}else if(typeof id==="string"){const formEl=object instanceof jQuery?object.get(0):object;const fieldEl=formEl?formEl.querySelector("#frm_field_"+id+"_container"):null;scrollObj=fieldEl?jQuery(fieldEl):jQuery()}else scrollObj= -id;jQuery(scrollObj).trigger("focus");newPos=scrollObj.offset().top;if(!newPos||frm_js.offset==="-1")return;newPos=newPos-frm_js.offset;m=getComputedStyle(document.documentElement).marginTop;b=getComputedStyle(document.body).marginTop;if(m||b)newPos=newPos-parseInt(m)-parseInt(b);if(newPos&&window.innerHeight){screenTop=document.documentElement.scrollTop||document.body.scrollTop;screenBottom=screenTop+window.innerHeight;if(newPos>screenBottom||newPos/g,">").replace(/"/g, -""").replace(/'/g,"'")},triggerCustomEvent:triggerCustomEvent,documentOn}}window.frmFrontForm=frmFrontFormJS();jQuery(document).ready(function(){frmFrontForm.init()});function frmRecaptcha(){frmCaptcha(".frm-g-recaptcha")}function frmHcaptcha(){frmCaptcha(".h-captcha")}function frmTurnstile(){frmCaptcha(".frm-cf-turnstile")} +success,error)}function postToAjaxUrl(form,data,success,error){let ajaxUrl,action,ajaxParams;ajaxUrl=frm_js.ajax_url;action=form.getAttribute("action");if("string"===typeof action&&action.includes("?action=frm_forms_preview"))ajaxUrl=action.split("?action=frm_forms_preview")[0];ajaxParams={type:"POST",url:ajaxUrl,data,success};if("function"===typeof error)ajaxParams.error=error;jQuery.ajax(ajaxParams)}function afterFormSubmitted(object,response){const tempDiv=document.createElement("div");tempDiv.innerHTML= +response.content;const formCompleted=tempDiv.querySelector(".frm_message");if(formCompleted)jQuery(document).trigger("frmFormComplete",[object,response]);else jQuery(document).trigger("frmPageChanged",[object,response])}function afterFormSubmittedBeforeReplace(object,response){const tempDiv=document.createElement("div");tempDiv.innerHTML=response.content;const formCompleted=tempDiv.querySelector(".frm_message");if(formCompleted)triggerCustomEvent(document,"frmFormCompleteBeforeReplace",{object,response})} +function removeAddedScripts(formContainer,formID){const endReplace=document.querySelectorAll(".frm_end_ajax_"+formID);if(endReplace.length){formContainer.nextUntil(".frm_end_ajax_"+formID).remove();endReplace.forEach(el=>el.remove())}}function maybeSlideOut(oldContent,newContent){let c,newClass="frm_slideout";if(newContent.includes(" frm_slide")){c=oldContent.children();if(newContent.includes(" frm_going_back"))newClass+=" frm_going_back";c.removeClass("frm_going_back");c.addClass(newClass);return 300}return 0} +function addUrlParam(response){let url;if(history.pushState&&response.page!==undefined){url=addQueryVar("frm_page",response.page);window.history.pushState({html:response.html},"","?"+url)}}function addQueryVar(key,value){let kvp,i,x;key=encodeURI(key);value=encodeURI(value);kvp=document.location.search.substr(1).split("&");i=kvp.length;while(i--){x=kvp[i].split("=");if(x[0]==key){x[1]=value;kvp[i]=x.join("=");break}}if(i<0)kvp[kvp.length]=[key,value].join("=");return kvp.join("&")}function addFieldError($fieldCont, +key,jsErrors){let id,describedBy,roleString;const container=$fieldCont instanceof jQuery?$fieldCont.get(0):$fieldCont;if(!container||container.offsetParent===null)return;container.classList.add("frm_blank_field");const input=container.querySelector("input, select, textarea");id=getErrorElementId(key,input);describedBy=input?input.getAttribute("aria-describedby"):null;if(typeof frmThemeOverride_frmPlaceError==="function")frmThemeOverride_frmPlaceError(key,jsErrors);else{let errorHtml;if(jsErrors[key].includes("'+jsErrors[key]+""}container.insertAdjacentHTML("beforeend",errorHtml);if(input){if(!describedBy)describedBy=id;else if(!describedBy.includes(id)&&!describedBy.includes("frm_error_field_")){const errorFirst=input.dataset.errorFirst;if(errorFirst==="0")describedBy=describedBy+" "+id;else describedBy=id+" "+describedBy}input.setAttribute("aria-describedby",describedBy)}}if(input)if(["radio", +"checkbox"].includes(input.type)){const group=input.closest('[role="radiogroup"], [role="group"]');if(group)group.setAttribute("aria-invalid","true")}else input.setAttribute("aria-invalid","true");jQuery(document).trigger("frmAddFieldError",[jQuery(container),key,jsErrors])}function getErrorElementId(key,input){if(isNaN(key)||!input||!input.id)return"frm_error_field_"+key;return"frm_error_"+input.id}function removeFieldError(fieldCont){const container=fieldCont instanceof jQuery?fieldCont.get(0): +fieldCont;if(!container)return;const errorMessage=container.querySelector(".frm_error");const errorId=errorMessage?errorMessage.id:"";const input=container.querySelector("input, select, textarea");let describedBy=input?input.getAttribute("aria-describedby"):null;container.classList.remove("frm_blank_field","has-error");if(input)if("true"===input.getAttribute("aria-invalid"))input.setAttribute("aria-invalid","false");else if(["radio","checkbox"].includes(input.type)){const group=input.closest('[role="radiogroup"], [role="group"]'); +if(group)group.setAttribute("aria-invalid","false")}if(errorMessage)errorMessage.remove();if(input){input.removeAttribute("aria-describedby");if(describedBy){describedBy=describedBy.replace(errorId,"").trim();if(describedBy)input.setAttribute("aria-describedby",describedBy)}}}function removeAllErrors(){document.querySelectorAll(".form-field").forEach(field=>{field.classList.remove("frm_blank_field","has-error")});document.querySelectorAll(".form-field .frm_error").forEach(error=>error.remove());document.querySelectorAll(".frm_error_style").forEach(error=> +error.remove())}function scrollToFirstField(object){if("function"===typeof object.get)object=object.get(0);const field=object.querySelector(".frm_blank_field");if(field)frmFrontForm.scrollMsg(jQuery(field),object,true)}function showSubmitLoading($object){showLoadingIndicator($object);disableSubmitButton($object);disableSaveDraft($object)}function showLoadingIndicator($object){if(!$object.hasClass("frm_loading_form")&&!$object.hasClass("frm_loading_prev")){addLoadingClass($object);$object.trigger("frmStartFormLoading")}} +function addLoadingClass($object){const loadingClass=isGoingToPrevPage($object)?"frm_loading_prev":"frm_loading_form";$object.addClass(loadingClass)}function isGoingToPrevPage($object){return typeof frmProForm!=="undefined"&&frmProForm.goingToPreviousPage($object)}function removeSubmitLoading(_,enable,processesRunning){if(processesRunning>0)return;document.querySelectorAll(".frm_loading_form").forEach(function(form){form.classList.remove("frm_loading_form","frm_loading_prev");jQuery(form).trigger("frmEndFormLoading"); +if(enable==="enable"){enableSubmitButton(form);enableSaveDraft(form)}})}function showFileLoading(object){const loading=document.getElementById("frm_loading");if(loading===null)return;const fileInput=object.querySelector("input[type=file]");const fileval=fileInput?fileInput.value:"";if(fileval!=="")setTimeout(function(){jQuery(loading).fadeIn("slow")},2E3)}function confirmClick(){const message=this.dataset.frmconfirm;return confirm(message)}function onHoneypotFieldChange(){const css=window.getComputedStyle(this).boxShadow; +if(css&&css.match(/inset/))this.remove()}function changeFocusWhenClickComboFieldLabel(){let label;const comboInputsContainer=document.querySelectorAll(".frm_combo_inputs_container");comboInputsContainer.forEach(function(inputsContainer){if(!inputsContainer.closest(".frm_form_field"))return;label=inputsContainer.closest(".frm_form_field").querySelector(".frm_primary_label");if(!label)return;label.addEventListener("click",function(){inputsContainer.querySelector(".frm_form_field:first-child input, .frm_form_field:first-child select, .frm_form_field:first-child textarea").focus()})})} +function maybeFocusOnComboSubField(element){if("FIELDSET"!==element.nodeName)return false;if(!element.querySelector(".frm_combo_inputs_container"))return false;const comboSubfield=element.querySelector('[aria-invalid="true"]');if(comboSubfield){focusInput(comboSubfield);return true}return false}function checkForErrorsAndMaybeSetFocus(){let errors,element,timeoutCallback;if(!frm_js.focus_first_error)return;errors=document.querySelectorAll(".frm_form_field .frm_error");if(!errors.length)return;element= +errors[0];do{element=element.previousSibling;if(["input","select","textarea"].includes(element.nodeName.toLowerCase())){focusInput(element);break}if(maybeFocusOnComboSubField(element))break;if(element.classList!==undefined){if(element.classList.contains("html-active"))timeoutCallback=function(){const textarea=element.querySelector("textarea");if(null!==textarea)textarea.focus()};else if(element.classList.contains("tmce-active"))timeoutCallback=function(){tinyMCE.activeEditor.focus()};else if(element.classList.contains("frm_opt_container")){const firstInput= +element.querySelector("input");if(firstInput){focusInput(firstInput);break}}if("function"===typeof timeoutCallback){setTimeout(timeoutCallback,0);break}}}while(element.previousSibling)}function focusInput(input){if(input.offsetParent!==null)input.focus();else triggerCustomEvent(document,"frmMaybeDelayFocus",{input})}function documentOn(event,selector,handler,options){if(options===undefined)options=false;document.addEventListener(event,function(e){let target;for(target=e.target;target&&target!=this;target= +target.parentNode)if(target.matches&&target.matches(selector)){handler.call(target,e);break}},options)}function initFloatingLabels(){let checkFloatLabel,checkDropdownLabel,runOnLoad,selector,floatClass;selector=".frm-show-form .frm_inside_container input, .frm-show-form .frm_inside_container select, .frm-show-form .frm_inside_container textarea";floatClass="frm_label_float_top";checkFloatLabel=function(input){let container,shouldFloatTop,firstOpt;container=input.closest(".frm_inside_container");if(!container)return; +shouldFloatTop=input.value||document.activeElement===input;container.classList.toggle(floatClass,shouldFloatTop);if("SELECT"===input.tagName){firstOpt=input.querySelector("option:first-child");if(shouldFloatTop){if(firstOpt.hasAttribute("data-label")){firstOpt.textContent=firstOpt.getAttribute("data-label");firstOpt.removeAttribute("data-label")}}else if(firstOpt.textContent){firstOpt.setAttribute("data-label",firstOpt.textContent);firstOpt.textContent=""}}};checkDropdownLabel=function(){document.querySelectorAll(".frm-show-form .frm_inside_container:not(."+ +floatClass+") select").forEach(function(input){const firstOpt=input.querySelector("option:first-child");if(firstOpt.textContent){firstOpt.setAttribute("data-label",firstOpt.textContent);firstOpt.textContent=""}})};["focus","blur","change"].forEach(function(eventName){documentOn(eventName,selector,function(event){checkFloatLabel(event.target)},true)});runOnLoad=function(firstLoad){if(firstLoad&&document.activeElement&&["INPUT","SELECT","TEXTAREA"].includes(document.activeElement.tagName))checkFloatLabel(document.activeElement); +else if(firstLoad)document.querySelectorAll(".frm_inside_container").forEach(function(container){const input=container.querySelector("input, select, textarea");if(input&&""!==input.value)checkFloatLabel(input)});checkDropdownLabel()};runOnLoad(true);jQuery(document).on("frmPageChanged",function(event){runOnLoad()});document.addEventListener("frm_after_start_over",function(event){runOnLoad()})}function shouldUpdateValidityMessage(target){if("INPUT"!==target.nodeName)return false;if(!target.dataset.invmsg)return false; +if("text"!==target.getAttribute("type"))return false;if(target.classList.contains("frm_verify"))return false;return true}function maybeClearCustomValidityMessage(event,field){let key,isInvalid=false;if(!shouldUpdateValidityMessage(field))return;for(key in field.validity){if("customError"===key)continue;if("valid"!==key&&field.validity[key]===true){isInvalid=true;break}}if(!isInvalid)field.setCustomValidity("")}function maybeShowNewTabFallbackMessage(){let messageEl;if(!window.frmShowNewTabFallback)return; +messageEl=document.querySelector("#frm_form_"+frmShowNewTabFallback.formId+"_container .frm_message");if(!messageEl)return;messageEl.insertAdjacentHTML("beforeend"," "+frmShowNewTabFallback.message)}function setCustomValidityMessage(){let forms,length,index;forms=document.getElementsByClassName("frm-show-form");length=forms.length;for(index=0;index +b.toString(16).padStart(2,"0")).join("");const timestamp=Date.now().toString(16);return uniqueKey+"-"+timestamp}function animateScroll(start,end,duration){if(!window.hasOwnProperty("performance")||!window.hasOwnProperty("requestAnimationFrame")){document.documentElement.scrollTop=end;return}const startTime=performance.now();const step=currentTime=>{const progress=Math.min((currentTime-startTime)/duration,1);document.documentElement.scrollTop=start+(end-start)*progress;if(progress<1)requestAnimationFrame(step)}; +requestAnimationFrame(step)}function maybeFixCaptchaLabel(captcha){const form=captcha.closest("form");if(!form)return;const label=form.querySelector('label[for="g-recaptcha-response"], label[for="cf-turnstile-response"]');const captchaResponse=form.querySelector('[name="g-recaptcha-response"], [name="cf-turnstile-response"]');if(label&&captchaResponse)label.htmlFor=captchaResponse.id}return{init(){jQuery(document).off("submit.formidable",".frm-show-form");jQuery(document).on("submit.formidable",".frm-show-form", +frmFrontForm.submitForm);jQuery(document).on("change",'.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]',frmFrontForm.fieldValueChanged);jQuery(document).on("change",".frm_verify[id^=field_]",onHoneypotFieldChange);jQuery(document).on("click","a[data-frmconfirm]",confirmClick);checkForErrorsAndMaybeSetFocus();changeFocusWhenClickComboFieldLabel();initFloatingLabels();maybeShowNewTabFallbackMessage();jQuery(document).on("frmAfterAddRow", +setCustomValidityMessage);setCustomValidityMessage();jQuery(document).on("frmFieldChanged",maybeClearCustomValidityMessage);setSelectPlaceholderColor();jQuery(document).on("elementor/popup/show",frmRecaptcha);enableSubmitButtonOnBackButtonPress();jQuery(document).on("frmPageChanged",destroyhCaptcha)},getFieldId,renderCaptcha(captcha,captchaSelector){const rendered=captcha.getAttribute("data-rid")!==null;if(rendered)return;const size=captcha.getAttribute("data-size");const params={sitekey:captcha.getAttribute("data-sitekey"), +size,theme:captcha.getAttribute("data-theme")};if(size==="invisible"){const formID=captcha.closest("form")?.querySelector('input[name="form_id"]')?.value;const captchaLabel=captcha.closest(".frm_form_field")?.querySelector(".frm_primary_label");if(captchaLabel)captchaLabel.style.display="none";params.callback=function(token){frmFrontForm.afterRecaptcha(token,formID)}}const activeCaptcha=getSelectedCaptcha(captchaSelector);const captchaContainer=typeof turnstile!=="undefined"&&turnstile===activeCaptcha? +"#"+captcha.id:captcha.id;const captchaID=activeCaptcha.render(captchaContainer,params);captcha.setAttribute("data-rid",captchaID);maybeFixCaptchaLabel(captcha)},afterSingleRecaptcha(){const recaptcha=document.querySelector(".frm-show-form .g-recaptcha");const object=recaptcha?recaptcha.closest("form"):null;frmFrontForm.submitFormNow(object)},afterRecaptcha(_,formID){const object=document.querySelector("#frm_form_"+formID+"_container form");frmFrontForm.submitFormNow(object)},submitForm(e){frmFrontForm.submitFormManual(e, +this)},submitFormManual(e,object){if(document.body.classList.contains("wp-admin")&&!object.closest(".frmapi-form"))return;e.preventDefault();if(typeof frmProForm!=="undefined"&&typeof frmProForm.submitAllowed==="function"&&!frmProForm.submitAllowed(object))return;const errors=frmFrontForm.validateFormSubmit(object);if(Object.keys(errors).length!==0)return;const invisibleRecaptcha=hasInvisibleRecaptcha(object);if(invisibleRecaptcha){showLoadingIndicator(jQuery(object));executeInvisibleRecaptcha(invisibleRecaptcha)}else{showSubmitLoading(jQuery(object)); +frmFrontForm.submitFormNow(object)}},submitFormNow(object){let hasFileFields,antispamInput,classList=object.className.trim().split(/\s+/gi);if(object.hasAttribute("data-token")&&null===object.querySelector('[name="antispam_token"]')){antispamInput=document.createElement("input");antispamInput.type="hidden";antispamInput.name="antispam_token";antispamInput.value=object.getAttribute("data-token");object.append(antispamInput)}const uniqueIDInput=document.createElement("input");uniqueIDInput.type="hidden"; +uniqueIDInput.name="unique_id";uniqueIDInput.value=getUniqueKey();object.append(uniqueIDInput);if(classList.includes("frm_ajax_submit")){const fileInputs=object.querySelectorAll('input[type="file"]');hasFileFields=Array.from(fileInputs).filter(input=>!!input.value).length;if(hasFileFields<1){const actionInput=object.querySelector('input[name="frm_action"]');const action=actionInput?actionInput.value:"";frmFrontForm.checkFormErrors(object,action)}else object.submit()}else object.submit()},validateFormSubmit(object){const form= +object instanceof jQuery?object.get(0):object;if(typeof tinyMCE!=="undefined"&&form&&form.querySelector(".wp-editor-wrap"))tinyMCE.triggerSave();jsErrors=[];if(shouldJSValidate(object)){frmFrontForm.getAjaxFormErrors(object);if(Object.keys(jsErrors).length)frmFrontForm.addAjaxFormErrors(object)}return jsErrors},getAjaxFormErrors(object){let customErrors,key;const form=object instanceof jQuery?object.get(0):object;jsErrors=validateForm(object);if(typeof frmThemeOverride_jsErrors==="function"){const actionInput= +form?form.querySelector('input[name="frm_action"]'):null;const action=actionInput?actionInput.value:"";customErrors=frmThemeOverride_jsErrors(action,object);if(Object.keys(customErrors).length)for(key in customErrors)jsErrors[key]=customErrors[key]}triggerCustomEvent(document,"frm_get_ajax_form_errors",{formEl:object,errors:jsErrors});return jsErrors},addAjaxFormErrors(object){let key;const form=object instanceof jQuery?object.get(0):object;removeAllErrors();for(key in jsErrors){const fieldCont=form? +form.querySelector("#frm_field_"+key+"_container"):null;if(fieldCont)addFieldError(fieldCont,key,jsErrors);else delete jsErrors[key]}scrollToFirstField(object);checkForErrorsAndMaybeSetFocus()},checkFormErrors:getFormErrors,checkRequiredField,showSubmitLoading,removeSubmitLoading,scrollToID(id){const object=jQuery(document.getElementById(id));frmFrontForm.scrollMsg(object,false)},scrollMsg(id,object,animate){let newPos,m,b,screenTop,screenBottom,scrollObj="";if(object===undefined){scrollObj=jQuery(document.getElementById("frm_form_"+ +id+"_container"));if(scrollObj.length<1)return}else if(typeof id==="string"){const formEl=object instanceof jQuery?object.get(0):object;const fieldEl=formEl?formEl.querySelector("#frm_field_"+id+"_container"):null;scrollObj=fieldEl?jQuery(fieldEl):jQuery()}else scrollObj=id;jQuery(scrollObj).trigger("focus");newPos=scrollObj.offset().top;if(!newPos||frm_js.offset==="-1")return;newPos=newPos-frm_js.offset;m=getComputedStyle(document.documentElement).marginTop;b=getComputedStyle(document.body).marginTop; +if(m||b)newPos=newPos-parseInt(m)-parseInt(b);if(newPos&&window.innerHeight){screenTop=document.documentElement.scrollTop||document.body.scrollTop;screenBottom=screenTop+window.innerHeight;if(newPos>screenBottom||newPos/g,">").replace(/"/g,""").replace(/'/g,"'")},triggerCustomEvent,documentOn}}window.frmFrontForm=frmFrontFormJS();jQuery(document).ready(function(){frmFrontForm.init()});function frmRecaptcha(){frmCaptcha(".frm-g-recaptcha")} +function frmHcaptcha(){frmCaptcha(".h-captcha")}function frmTurnstile(){frmCaptcha(".frm-cf-turnstile")} function frmCaptcha(captchaSelector){if(".h-captcha"===captchaSelector){const captchaLabels=document.querySelectorAll('label[for="h-captcha-response"]');if(captchaLabels.length)captchaLabels.forEach(label=>{const captchaResponse=label.closest("form")?.querySelector('[name="h-captcha-response"]');if(captchaResponse)label.htmlFor=captchaResponse.id});return}let c;const captchas=document.querySelectorAll(captchaSelector);const cl=captchas.length;for(c=0;c{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(8793),i=r(1323);function o(e){var t=(0,n.A)(e);return function(e){return(0,i.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function i(e,t){var r,i,o,a,l,s,d=[];for(r=0;r{"use strict";r.d(t,{A:()=>i});var n=r(65);function i(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,i,o,a;function l(e){for(var t,r,l,s,d=[],c=[];t=e.match(a);){for(r=t[0],(l=e.substr(0,t.index).trim())&&d.push(l);s=c.pop();){if(o[r]){if(o[r][0]===s){r=o[r][1]||r;break}}else if(i.indexOf(s)>=0||n[s]l}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},i=["(","?"],o={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){return function(r,o,a){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,s=e[t];if((0,i.A)(r)&&(0,n.A)(o))if("function"==typeof a)if("number"==typeof l){var d={callback:a,priority:l,namespace:o};if(s[r]){var c,u=s[r].handlers;for(c=u.length;c>0&&!(l>=u[c-1].priority);c--);c===u.length?u[c]=d:u.splice(c,0,d),s.__current.forEach(function(e){e.name===r&&e.currentIndex>=c&&e.currentIndex++})}else s[r]={handlers:[d],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,o,a,l)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,i=e[t];return null!==(r=null===(n=i.__current[i.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7395);const i=function(e,t){return function(r){var i=e[t];if((0,n.A)(r))return i[r]&&i[r].runs?i[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some(function(e){return e.namespace===n}):r in i}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(3029),i=r(7521),o=r(4194),a=r(8830),l=r(6763),s=r(11),d=r(3561),c=r(5375),u=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,i.A)(this,"actions"),this.addFilter=(0,i.A)(this,"filters"),this.removeAction=(0,o.A)(this,"actions"),this.removeFilter=(0,o.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,o.A)(this,"actions",!0),this.removeAllFilters=(0,o.A)(this,"filters",!0),this.doAction=(0,l.A)(this,"actions"),this.applyFilters=(0,l.A)(this,"filters",!0),this.currentAction=(0,s.A)(this,"actions"),this.currentFilter=(0,s.A)(this,"filters"),this.doingAction=(0,d.A)(this,"actions"),this.doingFilter=(0,d.A)(this,"filters"),this.didAction=(0,c.A)(this,"actions"),this.didFilter=(0,c.A)(this,"filters")};const f=function(){return new u}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o,a){var l=e[t];if((0,i.A)(o)&&(r||(0,n.A)(a))){if(!l[o])return 0;var s=0;if(r)s=l[o].handlers.length,l[o]={runs:l[o].runs,handlers:[]};else for(var d=l[o].handlers,c=function(e){d[e].namespace===a&&(d.splice(e,1),s++,l.__current.forEach(function(t){t.name===o&&t.currentIndex>=e&&t.currentIndex--}))},u=d.length-1;u>=0;u--)c(u);return"hookRemoved"!==o&&e.doAction("hookRemoved",o,a),s}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,l=new Array(a>1?a-1:0),s=1;s{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>d});var n=r(4467),i=r(5397);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},l),n.data[t]),e),n.data[t][""]=a(a({},l[""]),n.data[t][""])},u=function(e,t){c(e,t),d()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||c(void 0,e),n.dcnpgettext(e,t,r,i,o)},m=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},_=function(e,t,n){var i=f(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+m(n),i,e,t,n)):i};if(e&&u(e,t),r){var p=function(e){s.test(e)&&d()};r.addAction("hookAdded","core/i18n",p),r.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:u,resetLocaleData:function(e,t){n.data={},n.pluralForms={},u(e,t)},subscribe:function(e){return o.add(e),function(){return o.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+m(t),n,e,t)):n},_x:_,_n:function(e,t,n,i){var o=f(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+m(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=f(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+m(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===_("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,l=t?t+""+e:e,s=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[l]);return r&&(s=r.applyFilters("i18n.has_translation",s,e,t,i),s=r.applyFilters("i18n.has_translation_"+m(i),s,e,t,i)),s}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),i=r(2133),o=(0,n.h)(void 0,void 0,i.se),a=(o.getLocaleData.bind(o),o.setLocaleData.bind(o),o.resetLocaleData.bind(o),o.subscribe.bind(o),o.__.bind(o));o._x.bind(o),o._n.bind(o),o._nx.bind(o),o.isRTL.bind(o),o.hasTranslation.bind(o)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),i=r.n(n);r(7604),i()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>c,afterAddonInstall:()=>d,extractErrorFromAddOnResponse:()=>s,toggleAddonState:()=>l});var n=r(9575),i=frmDom,o=i.div,a=i.svg;function l(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var i=jQuery(e),o=i.attr("rel"),a=i.parent(),l=a.parent().find(".addon-status-label");i.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:o},success:function(e){var r,n,o;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(o=e.saveAndReload),e=e.message);var u=s(e);u?c(u,a,i):(d(e,i,l,a,o,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){i.removeClass("frm_loading_button")}})}function s(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function d(e,t,r,i,l){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",d=frm_admin_js,c=document.querySelectorAll(".frm-addon-status");c.forEach(function(t){t.textContent=e,t.style.display="block"}),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach(function(e){e.style.display="none"}),function(){var e=document.getElementById("frm_upgrade_modal");if(e){e.classList.add("frm-success");var t=e.querySelector(".frm-upgrade-message");if(t){var r=t.querySelector("img");t.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&t.append(r)}var i=document.querySelector(".frm-addon-status");i&&(i.textContent="");var o,l=e.querySelector(".frm-circled-icon");if(l)l.classList.add("frm-circled-icon-green"),null===(o=l.querySelector("svg"))||void 0===o||o.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:d.active},frm_deactivate_addon:{class:"frm-addon-installed",message:d.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:d.not_installed}};f.frm_install_addon=f.frm_activate_addon;var m=r[0];m&&(m.textContent=f[s].message);var _=i[0].parentElement;_.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),_.classList.add(f[s].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(l)&&c.forEach(function(e){var t=null!==e.closest("#frm_upgrade_modal");e.append(function(e,t){var r,i=[u(e)];return t&&i.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),o({className:"frm-save-and-reload-options",children:i})}(l,t))})}function c(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",f)):(t.append('

'+e.message+"

"),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function u(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()}),t}function f(e){e.preventDefault();var t=jQuery(this),r=t.parent().parent(),n=t.attr("rel");t.addClass("frm_loading_button"),jQuery.ajax({url:ajaxurl,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:"frm_install_addon",nonce:frmAdminJs.nonce,plugin:n,hostname:r.find("#hostname").val(),username:r.find("#username").val(),password:r.find("#password").val()},success:function(e){var n,i,o=s(e=null!==(n=null===(i=e)||void 0===i?void 0:i.data)&&void 0!==n?n:e);o?c(o,r,t):d(e,t,message,r)},error:function(){t.removeClass("frm_loading_button")}})}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>o,initModal:()=>a,initUpgradeModal:()=>l});var n=r(9575),i=frmDom.svg;function o(e,t,r){var o;if("modal"===t)o=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;o=document.getElementById(e.getAttribute("href").substr(1))}var a,l=o.querySelector(".frm-oneclick"),s=o.querySelector(".frm-upgrade-message"),d=o.querySelector(".frm-upgrade-link"),c=o.querySelector(".frm-oneclick-button"),u=o.querySelector(".frm-addon-status"),f=e.getAttribute("data-oneclick"),m=e.getAttribute("data-message"),_="block",p="block",g="none",y=o.querySelector(".frm-circled-icon");y&&(y.classList.remove("frm-circled-icon-green"),null===(a=y.querySelector("svg"))||void 0===a||a.replaceWith(i({href:"#frm_filled_lock_icon"})));var h=o.querySelector(".frm-learn-more");if(h&&(h.href=e.dataset.learnMore),null!==l&&null!==c&&void 0!==f&&f){null===m&&(p="none"),_="none",g="block",f=JSON.parse(f),c.className=c.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),c.className=c.className+" "+f.class,c.rel=f.url,l.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),c.textContent=(0,n.__)("Activate","formidable");var v=e.querySelector("use");v&&(null==y||y.querySelector("svg").replaceWith(i({href:v.getAttribute("href")||v.getAttribute("xlink:href"),classList:["frm_svg32"]})))}m||(m=s.getAttribute("data-default")),void 0!==r&&(m=m.replace('',r)),s.innerHTML=m,e.dataset.upsellImage&&s.append(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),d.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,d),u.style.display="none",l&&(l.style.display=g),c&&(c.style.display="block"===g?"inline-block":g),s.style.display=p,d.style.display="block"===_?"inline-block":_;var b=d.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===_?"flex":_)}function a(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function l(){var e=a("#frm_upgrade_modal");function t(t){var r,n,i;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var l=r.options[r.selectedIndex];l&&l.dataset.upgrade&&(r=l)}if(!r.dataset.upgrade){var s=r.closest("[data-upgrade]");if(!s){if(!(s=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=s}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var d=r.dataset.upgrade;if(d&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var c=e.get(0),u=c.querySelector(".frm_lock_icon");u&&(u.style.display="block",u.classList.remove("frm_lock_open_icon"),u.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",m=document.getElementById(f);m&&m.remove(),r.dataset.image&&u&&(u.style.display="none",u.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),u));var _=c.querySelector(".license-level");_&&(_.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),o(r,"modal",d),c.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",c.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",c.querySelector(".frm_feature_label").textContent=d,c.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",c.querySelector("h2").style.display="block",e.dialog("open");var p=c.querySelector(".button-primary:not(.frm-oneclick-button)");n=p.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(i=r.getAttribute("data-content"))&&(i=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+i),p.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,l=r,s=arguments.length;e:for(;l;){if(l.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,l,s,d,c,u,f,m=1,_=e.length,p="";for(n=0;n<_;n++)if("string"==typeof e[n])p+=e[n];else if("object"==typeof e[n]){if((l=e[n]).keys)for(r=t[m],a=0;a=0),l.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,l.width?parseInt(l.width):0);break;case"e":r=l.precision?parseFloat(r).toExponential(l.precision):parseFloat(r).toExponential();break;case"f":r=l.precision?parseFloat(r).toFixed(l.precision):parseFloat(r);break;case"g":r=l.precision?String(Number(r.toPrecision(l.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=l.precision?r.substring(0,l.precision):r;break;case"t":r=String(!!r),r=l.precision?r.substring(0,l.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=l.precision?r.substring(0,l.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=l.precision?r.substring(0,l.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(l.type)?p+=r:(!i.number.test(l.type)||u&&!l.sign?f="":(f=u?"+":"-",r=r.toString().replace(i.sign,"")),d=l.pad_char?"0"===l.pad_char?"0":l.pad_char.charAt(1):" ",c=l.width-(f+r).length,s=l.width&&c>0?d.repeat(c):"",p+=l.align?f+r+s:"0"===d?f+s+r:s+f+r)}return p}(function(e){if(l[e])return l[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],s=t[2],d=[];if(null===(d=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(d[1]);""!==(s=s.substring(d[0].length));)if(null!==(d=i.key_access.exec(s)))a.push(d[1]);else{if(null===(d=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(d[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return l[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var l=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(1364),i={contextDelimiter:"",onMissingKey:null};function o(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},i)this.options[r]=void 0!==t&&r in t?t[r]:i[r]}o.prototype.getPluralForm=function(e,t){var r,i,o,a=this.pluralForms[e];return a||("function"!=typeof(o=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(i=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},4467:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(9922);function i(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},2327:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2284);function i(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=(0,n.A)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},9922:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2284),i=r(2327);function o(e){var t=(0,i.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2284:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}function n(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||i(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){if(e){if("string"==typeof e)return o(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},window.FrmFormsConnect=window.FrmFormsConnect||function(e,t,r){var n={messageBox:null,reset:null,setElements:function(){n.messageBox=e.querySelector(".frm_pro_license_msg"),n.reset=e.getElementById("frm_reconnect_link")}},i={init:function(){n.setElements(),r(e.getElementById("frm_deauthorize_link")).on("click",i.deauthorize),r(".frm_authorize_link").on("click",i.authorize),r(".frm-dashboard-license-options").on("click","#frm_deauthorize_link",i.deauthorize),r(".frm-dashboard-license-options").on("click","#frm_reconnect_link",i.reauthorize),null!==n.reset&&r(n.reset).on("click",i.reauthorize)},authorize:function(){var t=this,n=this.getAttribute("data-plugin"),o=e.getElementById("edd_"+n+"_license_key"),a=o.value,l=e.getElementById("proplug-wpmu");this.classList.add("frm_loading_button"),l=null===l?0:l.checked?1:0,r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_addon_activate",license:a,plugin:n,wpmu:l,nonce:frmGlobal.nonce},success:function(e){i.afterAuthorize(e,o),t.classList.remove("frm_loading_button")}})},afterAuthorize:function(e,t){!0===e.success&&(t.value="•••••••••••••••••••"),wp.hooks.doAction("frm_after_authorize",e),i.showMessage(e)},showProgress:function(e){null===n.messageBox&&n.setElements();var t=n.messageBox;null!==t&&(!0===e.success?(t.classList.remove("frm_error_style"),t.classList.add("frm_message","frm_updated_message")):(t.classList.add("frm_error_style"),t.classList.remove("frm_message","frm_updated_message")),t.classList.remove("frm_hidden"),t.innerHTML=e.message)},showMessage:function(r){null===n.messageBox&&n.setElements();var o=n.messageBox;!0===r.success&&(i.showAuthorized(!0),i.showInlineSuccess(),wp.hooks.doAction("frmAdmin.afterLicenseAuthorizeSuccess",{msg:r})),i.showProgress(r),""!==r.message&&(setTimeout(function(){o.innerHTML="",o.classList.add("frm_hidden"),o.classList.remove("frm_error_style","frm_message","frm_updated_message")},1e4),e.querySelector(".frm-admin-page-dashboard")&&setTimeout(function(){t.location.reload()},1e3))},showAuthorized:function(t){var r=t?"unauthorized":"authorized",n=t?"authorized":"unauthorized",i=e.querySelectorAll(".frm_"+r+"_box");i.length&&i.forEach(function(e){e.className=e.className.replace("frm_"+r+"_box","frm_"+n+"_box")})},showInlineSuccess:function(){var t=e.querySelectorAll(".frm-confirm-msg [data-success]");t.length&&t.forEach(function(e){e.innerHTML=frmAdminBuild.purifyHtml(e.getAttribute("data-success"))})},reauthorize:function(){return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_reset_cache",plugin:"formidable_pro",nonce:frmGlobal.nonce},success:function(e){n.reset.textContent=e.message,"1"===n.reset.getAttribute("data-refresh")&&t.location.reload()}}),!1},deauthorize:function(){if(!confirm(frmGlobal.deauthorize))return!1;var t=this.getAttribute("data-plugin"),n=e.getElementById("edd_"+t+"_license_key"),o=n.value,a=this;return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,data:{action:"frm_addon_deactivate",license:o,plugin:t,nonce:frmGlobal.nonce},success:function(){i.showAuthorized(!1),n.value="",a.replaceWith("Disconnected"),wp.hooks.doAction("frmAdmin.afterLicenseDeauthorizeSuccess",{})}}),!1}};return i}(document,window,jQuery),window.frmAdminBuildJS=function(){var e,t,o=frm_admin_js,l=frmDom,s=l.tag,d=l.div,c=l.span,u=l.a,f=l.svg,m=l.img,_=frmDom.util.onClickPreventDefault,p=frmDom.ajax.doJsonPost;o.contextualShortcodes=(t=null===(e=document.getElementById("frm_adv_info"))||void 0===e?void 0:e.dataset.contextualShortcodes)?((t=JSON.parse(t)).addressSelector="[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]",t.bodySelector="[id^=email_message_]",t):[];var g,y,h,v={save:f({href:"#frm_save_icon"}),drag:f({href:"#frm_drag_icon",classList:["frm_drag_icon","frm-drag"]})},b=jQuery(document.getElementById("frm-show-fields")),j=document.getElementById("new_fields"),w=document.getElementById("form_id"),Q=!1,x=0,E=0,k=0,A={},S=0,L=wp.i18n,I=L.__,B=L.sprintf,q={dragging:!1};null!==w&&(E=w.value);var C,N=new URL(window.location.href),T=N.searchParams,O=document.getElementById("frm_builder_page");function F(e){e.stopPropagation(),e.preventDefault(),D(this)}function D(e){var t=e.getAttribute("data-frmverify"),r=e.getAttribute("data-loaded-from");return null===t||"frm-confirmed-click"===e.id||("entries-list"===r?wp.hooks.applyFilters("frm_on_multiple_entries_delete",{link:e,initModal:Bo}):function(e){var t,r,n,i,o,a=Bo("#frm_confirm_modal","400px"),l=document.getElementById("frm-confirmed-click");if(!1===a)return!1;if(l&&(l.style.display="block"),o=(t=e.getAttribute("data-frmverify"))?e.getAttribute("data-frmverify-btn"):"",(r=jQuery(".frm-confirm-msg")).empty(),t&&(r.append(document.createTextNode(t)),o&&(null==l||l.classList.add(o))),i=e.dataset,l){for(n in l.dataset)l.removeAttribute("data-"+n);for(n in i)"frmverify"!==n&&l.setAttribute("data-"+n,i[n])}return wp.hooks.doAction("frmAdmin.beforeOpenConfirmModal",{$info:a,link:e}),a.dialog("open"),null==l||l.setAttribute("href",e.getAttribute("href")||e.getAttribute("data-href")),!1}(e))}function M(e){var t=Bo("#frm_info_modal","400px");return!1===t||(jQuery(".frm-info-msg").html(e),t.dialog("open")),!1}function P(e){var t=this.getAttribute("data-frmtoggle"),r=this.getAttribute("data-toggletext"),n=jQuery(t);return e.preventDefault(),n.toggle(),null!==r&&""!==r&&(this.setAttribute("data-toggletext",this.innerHTML),this.textContent=r),!1}function H(e){var t=this.getAttribute("data-frmhide"),r=this.getAttribute("data-frmshow"),n=this.getAttribute("data-frmuncheck"),i=n?n.split(","):[];"INPUT"!==this.nodeName||"checkbox"!==this.type||this.checked||(null!==t?(r=t,t=null):null!==r&&(t=r,r=null)),e.preventDefault();var o=this.getAttribute("data-toggleclass")||"frm_hidden";null!==t&&jQuery(t).addClass(o),null!==r&&jQuery(r).removeClass(o);var a=this.parentNode.querySelectorAll("a.current");if(null!==a){for(var l=0;l1&&(e="",t=""):0===i.indexOf("frm_postmeta_")&&(jQuery("#frm_postmeta_rows .frm_postmeta_row").length<2&&(e=".frm_add_postmeta_row.button"),jQuery(".frm_toggle_cf_opts").length&&jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().length&&(""!==e&&(e+=","),e+="#"+jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().attr("id")+" .frm_toggle_cf_opts"));var o=document.getElementById(i),a=jQuery(o);return a.fadeOut(300,function(){var r;a.remove(),Mi(),""!==t&&jQuery(t).hide(),""!==e&&jQuery(e+" a,"+e).removeClass("frm_hidden").fadeIn("slow"),this.closest(".frm_form_action_settings")&&function(e){si(e);var t={type:e};wp.hooks.doAction("frm_after_action_removed",t)}(this.closest(".frm_form_action_settings").querySelector(".frm_action_name").value),null===(r=document.querySelector(".tooltip"))||void 0===r||r.remove()}),void 0!==r&&(r=jQuery(r)).fadeOut(400,function(){r.remove()}),""!==e&&jQuery(this).closest(".frm_logic_rows").fadeOut("slow"),wp.hooks.doAction("frm_admin_tag_removed",i,o),!1}}function G(e,t){void 0===t&&(t=this),Ze(t,!1);var r=jQuery(t).closest(".frm_form_action_settings"),n=e.target;if(r.length&&void 0!==n){var i=n.parentElement.className;if("string"==typeof i&&(i.includes("frm_email_icons")||i.includes("frm_toggle")))return void e.stopPropagation()}var o=r.children(".widget-inside");if(r.length&&o.find("p, div, table").length<1){var a=r.find('input[name$="[ID]"]').val(),l=r.find('input[name$="[post_excerpt]"]').val();l&&(o.html(''),r.find(".spinner").fadeIn("slow"),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_form_action_fill",action_id:a,action_type:l,nonce:frmGlobal.nonce},success:function(e){o.html(e),so(),Xn("#"+r.attr("id")),yo(o),jQuery(t).trigger("frm-action-loaded"),wp.hooks.doAction("frm_filled_form_action",o)}}))}jQuery(t).closest(".frm_field_box").siblings().find(".widget-inside").slideUp("fast"),void 0!==t.className&&t.className.includes("widget-action")||jQuery(t).closest(".start_divider").length<1||((o=jQuery(t).closest("div.widget").children(".widget-inside")).is(":hidden")?o.slideDown("fast"):o.slideUp("fast"))}function W(){var e=this.getAttribute("href");if(void 0===e)return!1;var t=e.replace("#","."),r=jQuery(this);r.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),r.closest("div").children(".tabs-panel").not(e).not(t).hide();var n=document.getElementById(e.replace("#",""));return n&&(n.style.display="block"),"frm_insert_fields_tab"!==this.id||this.closest("#frm_adv_info")||$e(),!1}function U(e,t){var r=(e=jQuery(e)).attr("href");if(void 0!==r){var n,i,o=r.replace("#",".");if(e.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),e.closest("div").find(".tabs-panel").length)e.closest("div").children(".tabs-panel").not(r).not(o).hide();else if(null!==document.getElementById("form_global_settings")){var a=e.data("frmajax");e.closest(".frm_wrap").find(".tabs-panel, .hide_with_tabs").hide(),void 0!==a&&"1"==a&&(n=r.replace("#",""),(i=jQuery(".frm_"+n+"_ajax")).length&&jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_settings_tab",tab:n.replace("_settings",""),nonce:frmGlobal.nonce},success:function(e){i.replaceWith(e)}}))}else jQuery("#frm-categorydiv .tabs-panel, .hide_with_tabs").hide();jQuery(r).show(),jQuery(o).show(),Vi(),"auto"!==t&&(jQuery(".frm_updated_message").hide(),jQuery(".frm_warning_style").hide()),jQuery(e).closest("#frm_adv_info").length||(jQuery(".frm_form_settings").length?jQuery(".frm_form_settings").attr("action","?page=formidable&frm_action=settings&id="+jQuery('.frm_form_settings input[name="id"]').val()+"&t="+r.replace("#","")):jQuery(".frm_settings_form").attr("action","?page=formidable-settings&t="+r.replace("#","")))}}function V(e){var t,r;document.querySelectorAll(e).forEach(function(e){$(e),Array.from(e.children).forEach(function(e){return X(e,".frm-move")});var t=jQuery(e).children('[data-type="divider"]').children(".divider_section_only");t.length&&$(t)}),t=jQuery("#frm_builder_page"),r={items:".frm_sortable_field_opts li",axis:"y",opacity:.65,forcePlaceholderSize:!1,handle:".frm-drag",helper:function(e,t){return Q=t.clone().insertAfter(t),t.clone()},stop:function(e,t){Q&&Q.remove(),on(t.item.attr("id").replace("frm_delete_field_","").replace("-"+t.item.data("optkey")+"_container","")),Mi()}},jQuery(t).sortable(r)}function $(e){jQuery(e).droppable({accept:".frmbutton, li.frm_field_box",deactivate:re,over:K,out:J,tolerance:"pointer"})}function K(e,t){var r=function(e){return e.classList.contains("divider_section_only")&&(e=jQuery(e).nextAll(".start_divider.frm_sorting").get(0)),e}(e.target);if(!je(t.draggable[0],r,e))return r.classList.remove("frm-over-droppable"),void jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable");document.querySelectorAll(".frm-over-droppable").forEach(function(e){return e.classList.remove("frm-over-droppable")}),r.classList.add("frm-over-droppable"),jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable")}function J(e){e.target.classList.remove("frm-over-droppable")}function X(e,t){var r={helper:Y,revert:"invalid",delay:10,start:Z,stop:ee,drag:te,cursor:"grabbing",refreshPositions:!0,cursorAt:{top:0,left:90}};"string"==typeof t&&(r.handle=t),jQuery(e).draggable(r)}function Y(e){var t,r=e.delegateTarget;if(Qe(r)){var n=document.getElementById("frm-insert-fields").querySelector(".frm_ttext").cloneNode(!0);return n.querySelector("use").setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_field_group_layout_icon"),n.querySelector("span").textContent=I("Field Group","formidable"),n.classList.add("frm_field_box"),n.classList.add("ui-sortable-helper"),n}if(r.classList.contains("frmbutton"))return(t=r.cloneNode(!0)).classList.add("ui-sortable-helper"),r.classList.add("frm-new-field"),t;if(r.hasAttribute("data-ftype")){var i=r.getAttribute("data-ftype");if(t=document.getElementById("frm-insert-fields").querySelector(".frm_t"+i))return(t=t.cloneNode(!0)).classList.add("form-field"),t.classList.add("ui-sortable-helper"),t.cloneNode(!0)}return d({className:"frmbutton"})}function Z(e,t){if(e.target.classList.contains("frm_at_limit"))return Se(),!1;q.dragging=!0;var r,n=y;n.classList.add("frm-dragging-field"),document.body.classList.add("frm-dragging"),t.helper.addClass("frm-sortable-helper"),t.helper.initialOffset=n.scrollTop,e.target.classList.add("frm-drag-fade"),yr(),(r=document.querySelectorAll("ul.start_divider")).length&&r.forEach(function(e){[].slice.call(e.children).forEach(function(e){(0===e.children.length||1===e.children.length&&"ul"===e.firstElementChild.nodeName.toLowerCase()&&0===e.firstElementChild.children.length)&&e.remove()})}),Fe(),Ne(),z()}function ee(){y.classList.remove("frm-dragging-field"),document.body.classList.remove("frm-dragging");var e=document.querySelector(".frm-drag-fade");e&&e.classList.remove("frm-drag-fade")}function te(e,t){!function(e){h.scrollTop(function(t,r){var n=e.clientY,i=y.offsetHeight,o=e.clientY-y.offsetTop,a=o-i/2;return o>i-50&&n>5?r+.1*a:o<70&&n<130?r-Math.abs(.1*a):r})}(e);var r=e.target,n=function(){for(var e=document.getElementById("frm-show-fields");e.querySelector(".frm-over-droppable");)e=e.querySelector(".frm-over-droppable");return"frm-show-fields"!==e.id||e.classList.contains("frm-over-droppable")||(e=!1),e}(),i=document.getElementById("frm_drag_placeholder");if(je(r,n,e)){i||(i=s("li",{id:"frm_drag_placeholder",className:"sortable-placeholder"}));var o,a=t.helper.get(0);if((a.classList.contains("form-field")||a.classList.contains("frm_field_box"))&&(a.style.transform="translateY("+(o=t.helper,y.scrollTop-o.initialOffset+"px)")),"frm-show-fields"===n.id||n.classList.contains("start_divider"))return i.style.left=0,void function(e){var t,r=e.y,n=e.placeholder,i=jQuery(e.droppable),o=i.children().not(".edit_field_type_end_divider");if(0===o.length)i.prepend(n),t=0;else{var a=ne(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().top+l.outerHeight(),i.append(n);var s=i.children(".edit_field_type_end_divider");s.length&&i.append(s)}else t=jQuery(o.get(a)).offset().top,jQuery(o.get(a)).before(n)}t-=i.offset().top,n.style.top=t+"px"}({droppable:n,y:e.clientY,placeholder:i});i.style.top="",function(e){var t,r=e.x,n=e.placeholder,i=jQuery(e.droppable),o=oe(i);if(o.length){var a=function(e,t){var r,n,i,o,a=oe(e);for(o=0,r=a.length-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().left)){o=r,t>i+jQuery(n).outerWidth()/2&&(o=r+1);break}return o}(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().left+l.outerWidth(),i.append(n)}else t=jQuery(o.get(a)).offset().left,jQuery(o.get(a)).before(n),t-=0===a?4:8;t-=i.offset().left,n.style.left=t+"px"}}({droppable:n,x:e.clientX,placeholder:i})}else i&&i.remove()}function re(e,t){if(q.dragging){q.dragging=!1;var r=t.draggable[0],n=document.getElementById("frm_drag_placeholder");if(!n)return t.helper.remove(),void g();!function(e){if(e.previousElementSibling&&e.previousElementSibling.classList.contains("frm-is-collapsed")){var t=jQuery(e).prevUntil('[data-type="break"]');if(t.length){var r=t.find(".frm-collapse-page").get(0);r&&r.click()}}}(n);var i=t.helper.parent(),o=t.helper.get(0).closest("ul.start_divider"),a=n.closest("ul.start_divider");r.classList.contains("frm-new-field")?function(e){if(pe(e))wp.hooks.doAction("frm_stopped_inserting_by_dragging",e);else{var t=document.getElementById("frm_drag_placeholder"),r=e.replace("|","-")+"_"+be(),n=s("li",{id:r,className:"frm-wait frmbutton_loadingnow"}),i=jQuery(n),o=ce(jQuery(t)),a=ue(o),l=fe(o);t.parentNode.insertBefore(n,t),t.remove(),ae(i);var d=0;"summary"===e&&(d=jQuery(".frmbutton_loadingnow#"+r).prevAll('li[data-type="break"]').length?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:_e(e,l,a,d),success:function(t){ge(t,i);var r=ye(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:a})},error:ve})}}(r.id):(function(e,t){t.parentNode.insertBefore(e,t)}(r,n),function(e){if("UL"===e.nodeName&&!e.classList.contains("start_divider")&&"frm-show-fields"!==e.id){var t=e.closest("li");t&&!t.classList.contains("ui-draggable")&&X(t,".frm-move")}}(n.parentElement));var l=o?parseInt(o.closest(".edit_field_type_divider").getAttribute("data-fid")):0,d=a?parseInt(a.closest(".edit_field_type_divider").getAttribute("data-fid")):0;n.remove(),t.helper.remove();var c=i.length?oe(i):[];!function(e,t){var r;e.length&&(t.length?ae(t.first()):(r=e.get(0).closest("li.frm_field_box"))&&!r.classList.contains("edit_field_type_divider")&&r.remove())}(i,c),function(e,t){0===t.length&&1===oe(jQuery(e.parentNode)).length||ae(jQuery(e))}(r,c),l!==d&&me(jQuery(r),o),g()}}function ne(e,t){var r,n,i,o,a=e.children().not(".edit_field_type_end_divider"),l=a.length;if(!document.querySelector(".frm-has-fields .frm_no_fields"))return 0;for(o=0,r=l-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().top)){o=r,t>i+jQuery(n).outerHeight()/2&&(o=r+1);break}return o}function ie(){document.querySelectorAll("ul#frm-show-fields, ul.start_divider").forEach(function(e){e.childNodes.forEach(function(e){void 0!==e.classList&&(e.classList.contains("edit_field_type_end_divider")||void 0!==e.classList&&e.classList.contains("form-field")&&We(e))})}),kn(),document.querySelectorAll(".edit_field_type_end_divider").forEach(function(e){return e.parentNode.append(e)}),document.querySelectorAll("li.form_field_box:not(.form-field)").forEach(function(e){return!e.children.length&&e.remove()}),En();var e=new Event("frm_sync_after_drag_and_drop",{bubbles:!1});document.dispatchEvent(e)}function oe(e){var t=jQuery(),r=e.get(0);return r.children?(Array.from(r.children).forEach(function(e){if("none"!==e.style.display){var r=e.classList;!r.contains("form-field")||r.contains("edit_field_type_end_divider")||r.contains("frm-sortable-helper")||(t=t.add(e))}}),t):t}function ae(e,t){var r,n,i,o;void 0===t&&(t="even"),r=e.parent().children("li.form-field, li.frmbutton_loadingnow").not(".edit_field_type_end_divider"),n=r.length,i=["frm_full","frm_half","frm_third","frm_fourth","frm_sixth","frm_two_thirds","frm_three_fourths","frm1","frm2","frm3","frm4","frm5","frm6","frm7","frm8","frm9","frm10","frm11","frm12"],"even"===t&&5!==n?r.each(de(i,$t(n))):"clear"===t?r.each(de(i,"")):(o=-1!==["left","right","middle","even"].indexOf(t)?function(e){return Vt(n,t,e)}:function(e){return lr(t[e])},r.each(de(i,o))),le(e.parent(),r.length)}function le(e,t){var r,n;if(void 0!==e.offset()){if(r=t>=2,null===(n=document.getElementById("frm_field_group_controls"))){if(!r)return;(n=d()).id="frm_field_group_controls",n.setAttribute("role","group"),n.setAttribute("tabindex",0),function(e){var t,r;(t=document.createElement("span")).innerHTML='';var n=I("Set Row Layout","formidable");se(t,n),zt(t,n),(r=document.createElement("span")).innerHTML='',r.classList.add("frm-move");var i=I("Move Field Group","formidable");se(r,i),zt(r,i),e.innerHTML="",e.append(t),e.append(r),e.append(function(){var e=c({className:"dropdown"}),t=u({className:"frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle",children:[c({child:f({href:"#frm_thick_more_vert_icon"})}),c({className:"screen-reader-text",text:I("Toggle More Options Dropdown","formidable")})]});frmDom.setAttributes(t,{title:I("More Options","formidable"),"data-bs-toggle":"dropdown","data-bs-container":"body","data-bs-display":"static"}),zt(t,I("More Options","formidable")),e.append(t);var r=d({className:"frm-dropdown-menu dropdown-menu dropdown-menu-right"});return r.setAttribute("role","menu"),e.append(r),e}())}(n),O.append(n)}e.append(n),n.style.display=r?"block":"none"}}function se(e,t){e.setAttribute("data-bs-toggle","tooltip"),e.setAttribute("data-bs-container","body"),e.setAttribute("title",t),e.addEventListener("mouseover",function(){null===e.getAttribute("data-original-title")&&jQuery(e).tooltip()})}function de(e,t){return function(r){var n,i,o,a,l,s,d;for(n="function"==typeof t?t(r):t,i=e.length,l=!1,o=0;o0&&document.getElementById("form_id").value!==r||(i.last_row_field_ids=function(){var e=document.querySelector(".edit_field_type_submit");if(!e)return[];for(var t=e.parentNode.children,r=[],n=0;nt.childElementCount-1:o<=jQuery(t.querySelector(".edit_field_type_submit").closest("#frm-show-fields > li")).index()}if(n)return!(t.classList.contains("start_divider")||!we(t.parentElement)&&(!we(t.parentElement.nextElementSibling)||e.parentElement.querySelector("li.frm_field_box:not(.edit_field_type_submit)")));var a,l,s,d=t.classList.contains("start_divider")&&null!==t.closest(".repeat_section"),c=null!==t.closest(".repeat_section");if(d||c){if(e.classList.contains("edit_field_type_gdpr")||"gdpr"===e.id)return!1;if(wp.hooks.applyFilters("frm_deny_drop_in_repeater",!1,e))return!1}if(!d){if(a=oe(jQuery(t)),l=jQuery(e),!(a.length<12)&&(a.length>12||(s=l.attr("data-fid"),1!==jQuery(a).filter('[data-fid="'+s+'"]').length)))return!1;if("divider"===e.id&&t.closest(".start_divider"))return!1}return e.classList.contains("frm-new-field")?function(e,t){var r=e.classList,n=r.contains("frm_tbreak"),i=r.contains("frm_thidden"),o=r.contains("frm_tdivider"),a=r.contains("frm_tform"),l=r.contains("frm_tuser_id");return"frm-show-fields"===t.id||t.classList.contains("start_divider")?!(n||i||o||a)||(!(t.classList.contains("start_divider")||null!==t.closest(".start_divider"))||!a&&!o):!(xe(t)||i||n||l)}(e,t):function(e,t){if(Qe(e))return function(e,t){return!(!t.classList.contains("start_divider")||null!==e.querySelector(".start_divider"))}(e,t);if(e.classList.contains("edit_field_type_break"))return!1;if(t.classList.contains("start_divider"))return function(e){return!e.classList.contains("edit_field_type_form")&&!e.querySelector(".edit_field_type_form")&&!(e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"))}(e);var r=e.classList.contains("edit_field_type_hidden"),n=e.classList.contains("edit_field_type_user_id");return!r&&!n&&function(e,t){if(xe(t))return!1;if(jQuery(e).children("ul.frm_sorting").not(".start_divider").length>0)return!1;var r=e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"),n=e.classList.contains("edit_field_type_form");return null===t.closest(".start_divider")||!r&&!n}(e,t)}(e,t)}function we(e){return e&&e.matches("#frm-show-fields > li:last-child")}function Qe(e){return e.classList.contains("frm_field_box")&&!e.classList.contains("form-field")}function xe(e){return null!==e.querySelector(".edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id")}function Ee(e){var t=document.getElementById(e),r=jQuery(t),n=[],i=function(e){var t=e.querySelector(".frm_hidden_fdata");e.classList.add("frm_load_now"),null!==t&&n.push(t.innerHTML)};i(t);for(var o=ke(t);o&&n.length<15;)i(o),o=ke(o);jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_load_field",field:n,form_id:E,nonce:frmGlobal.nonce},success:function(e){return function(e,t,r){var n,i;if(0===(e=e.replace(/^\s+|\s+$/g,"")).indexOf("{")){for(n in e=JSON.parse(e)){jQuery("#frm_field_id_"+n).replaceWith(e[n]);var o=document.getElementById("frm_field_id_"+n);o&&(o.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))}),o.querySelectorAll(".frm-dropdown-menu").forEach(function(e){return e.classList.add("dropdown-menu")})),V("#frm_field_id_"+n+".edit_field_type_divider ul.frm_sorting"),X(document.getElementById("frm_field_id_"+n))}((i=t.nextAll(".frm_field_loading:not(.frm_load_now)")).length||(i=jQuery(document.getElementById("frm-show-fields")).find(".frm_field_loading:not(.frm_load_now)")).length)&&Ee(i.attr("id")),so(),Fr(),Ie();var a=new Event("frm_ajax_loaded_field",{bubbles:!1});a.frmFields=r.map(function(e){return JSON.parse(e)}),document.dispatchEvent(a)}else jQuery(".frm_load_now").removeClass(".frm_load_now").html("Error")}(e,r,n)}})}function ke(e){var t;return e.nextElementSibling?e.nextElementSibling:null===(t=e.parentNode)||void 0===t||null===(t=t.closest(".frm_field_box"))||void 0===t||null===(t=t.nextElementSibling)||void 0===t?void 0:t.querySelector(".form-field")}function Ae(){var e=jQuery(this);if(e.hasClass("disabled"))return!1;var t=e.closest(".frmbutton"),r=t.attr("id");if(t.hasClass("frm_at_limit"))return Se(),!1;if(!pe(r)){var n=0;"summary"===r&&(n=b.children('li[data-type="break"]').length>0?1:0);var i=E;return jQuery.ajax({type:"POST",url:ajaxurl,data:_e(r,0,i,n),success:function(e){Le(e);var t=ye(e);t&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:e,fieldId:t,fieldType:r,form_id:i})},error:ve}),!1}}function Se(){var e=document.querySelector(".frm_wrap");if(e){var t=document.createElement("a");t.setAttribute("data-frmverify",I("This field type has reached its limit.","formidable")),e.append(t),t.click(),t.remove();var r=document.getElementById("frm-confirmed-click");r&&(r.style.display="none")}}function Le(e){document.getElementById("frm_form_editor_container").classList.add("frm-has-fields");var t=Ge(e),r=b[0].querySelector(".edit_field_type_submit");r?jQuery(r.closest(".frm_field_box:not(.form-field)")).before(t):b.append(t),Ue(e,!0),t.each(function(){$(this.querySelector("ul.frm_sorting")),X(this.querySelector(".form-field"),".frm-move")})}function Ie(){var e=!0,t=document.querySelectorAll(".frmjs_prod_field_opt_cont");b.find("li.edit_field_type_product").length>1&&(e=!1);for(var r=0;r',i.append(document.createTextNode(" ")),i.append(o),n.append(i),e.append(n)})}(t,!0===e),(r=jQuery(t)).offset().left>jQuery(window).width()-r.outerWidth()&&(t.style.left=-r.outerWidth()+"px");var n=t.firstElementChild.querySelector("a");n&&n.focus()}},0)}function Pe(){Me(!0)}function He(e){var t=e.target.closest(".frm-section-collapsed");t&&("show"===e.type?t.style.zIndex=3:t.style.zIndex=1)}function ze(e){var t={class:"frm_delete",icon:"frm_delete_icon"};return t.label=I(e?"Delete Group":"Delete","formidable"),t}function Re(e){var t={class:"frm_clone",icon:"frm_clone_icon"};return t.label=I(e?"Duplicate Group":"Duplicate","formidable"),t}function Ge(e){var t=d();"string"==typeof e?t.innerHTML=e:t.append(e);var r=jQuery();return Array.from(t.children).forEach(function(e){r=r.add(jQuery("
  • ").addClass("frm_field_box").html(jQuery("
      ").addClass("frm_grid_container frm_sorting").append(e)))}),r}function We(e){var t=s("ul",{className:"frm_grid_container frm_sorting"}),r=s("li",{className:"frm_field_box",child:t});e.replaceWith(r),t.append(e),$(t),X(r,".frm-move")}function Ue(e,t){var r,n,i=/id="(\S+)"/.exec(e),o=document.getElementById(i[1]),l="#"+i[1]+".edit_field_type_divider ul.frm_sorting.start_divider",s=jQuery(l),c=o.getAttribute("data-type");r=e,(n=d()).innerHTML=r,n.querySelectorAll(".form-field").forEach(Ve);var u,f,m=!1;if(Mi(),V(l),"quantity"===c&&function(e){var t=e.getAttribute("data-fid"),r=document.getElementById("field_options[product_field_"+t+"]");null!==r&&(rt(r),ii(document.getElementById("frm-single-settings-"+t)))}(o),"product"!==c&&"quantity"!==c||Ie(),s.length)s.parent(".frm_field_box").children(".frm_no_section_fields").addClass("frm_block");else{var _=jQuery(o).closest("ul.frm_sorting.start_divider");_.length&&(An(_),m=!0)}e.includes("frm-collapse-page")&&Fr(),f="frm-newly-added",(u=o).classList?u.classList.add(f):u.className+=" "+f,setTimeout(function(){o.classList.remove("frm-newly-added")},1e3);var p,g=o.querySelector("#frm-last-row-fields-order");if(g&&((p=JSON.parse(g.value))&&"object"===a(p)&&Object.keys(p).forEach(function(e){var t=document.querySelector('input[name="field_options[field_order_'+e+']"]');t&&(t.value=p[e])})),t){var y=o.getBoundingClientRect(),h=document.getElementById("post-body-content");y.top>=0&&y.left>=0&&y.right<=(window.innerWidth||document.documentElement.clientWidth)&&y.bottom<=(window.innerHeight||document.documentElement.clientHeight)||h.scroll({top:h.scrollHeight,left:0,behavior:"smooth"}),!1===m&&An(s)}Ke(),so(),document.getElementById("frm-show-fields").classList.remove("frm-over-droppable"),function(e){var t=document.getElementById(e);t&&t.dataset.limit&&kr(e)>=t.dataset.limit&&t.classList.add("frm_at_limit")}(c),o.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))}),o.querySelectorAll(".frm-dropdown-menu").forEach(function(e){return e.classList.add("dropdown-menu")});var v=new Event("frm_added_field",{bubbles:!1});v.frmField=o,v.frmSection=l,v.frmType=c,v.frmToggles=m,document.dispatchEvent(v)}function Ve(e){if(e.dataset.fid){var t=document.getElementById("draft_fields");t&&(""===t.value?t.value=e.dataset.fid:t.value.split(",").includes(e.dataset.fid)||(t.value+=","+e.dataset.fid))}}function $e(e){jQuery("#new_fields .frm-single-settings").addClass("frm_hidden"),jQuery("#frm-options-panel > .frm-single-settings").removeClass("frm_hidden"),Ke(e)}function Ke(e){jQuery("li.ui-state-default.selected").removeClass("selected"),jQuery(".frm-show-field-settings.selected").removeClass("selected"),e||yr()}function Je(){var e=this.value,t=function(e){var t,r=[],n=e.split(""),i=n.length,a=["{","[","("],l={"}":"{",")":"(","]":"["},s=!1;for(t=0;t0||s?o.unmatched_parens+"\n\n":""}(e);t+=function(e,t){var r=function(e,t){var r="";return function(e){return jQuery(e).siblings('label[for^="calc_type"]').children("input").prop("checked")}(t)||/\[(date|time|email|ip)\]/.test(e)&&(r=o.text_shortcodes+"\n\n"),r}(e,t);return r+=function(e){var t="";return/\[id\]|\[key\]|\[if\s\w+\]|\[foreach\s\w+\]|\[created-at(\s*)?/g.test(e)&&(t+=o.view_shortcodes+"\n\n"),t}(e)}(e,this),""!==t&&M(e+"\n\n"+t)}function Xe(e,t){for(var r=!1,n=0;n"+l[t].fieldName+"")):(r=r?" checked":"",i.push('"));e.innerHTML=i.join("")}function nt(){for(var e=document.querySelectorAll(".frmjs_prod_field_opt"),t=0;t'):(c.innerHTML=_n(d),"TEXTAREA"===c.nodeName&&c.classList.contains("wp-editor-area")&&jQuery(c).trigger("change"),c.classList.contains("frm_primary_label")&&"break"===c.nextElementSibling.getAttribute("data-ftype")&&(c.nextElementSibling.querySelector(".frm_button_submit").textContent=d)))}function at(e){var t=parseFloat(e.getAttribute("max")),r=parseFloat(e.getAttribute("min"));return(t-r)/2+r}function lt(){var e,t=this.getAttribute("data-fid"),r="";["field_options_max_","frm_format_"].forEach(function(e){var n=document.getElementById(e+t);n&&(r+=n.value)}),"text"===(e=document.getElementsByName("field_options[type_"+t+"]")[0]).options[e.selectedIndex].value&&dt(""!==r,".frm_invalid_msg"+t)}function st(){var e=this.id.replace("frm_","").replace("req_field_",""),t=this.checked,r=jQuery("#field_label_"+e+" .frm_required");if(dt(t,".frm_required_details"+e),t){var n=jQuery('input[name="field_options[required_indicator_'+e+']"]');""===n.val()&&n.val("*"),r.removeClass("frm_hidden")}else r.addClass("frm_hidden")}function dt(e,t){var r=jQuery(t);if(e)r.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");else{var n=r.fadeOut("fast").closest(".frm_validation_box"),i=n.css("display","block").children(":not("+t+"):visible").length;n.css("display",""),0===i&&r.closest(".frm_validation_msg").fadeOut("fast")}}function ct(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(".frm_unique_details"+e);if(this.checked){t.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");var r=jQuery(".frm_unique_details"+e+" input");""===r.val()&&r.val(o.default_unique)}else{var n=t.fadeOut("fast").closest(".frm_validation_box"),i=n.css("display","block").children(":not(.frm_unique_details"+e+"):visible").length;n.css("display",""),0===i&&t.closest(".frm_validation_msg").fadeOut("fast")}}function ut(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(this).val(),r=jQuery(document.getElementById("frm_field_id_"+e));if(dt(""!==t,".frm_conf_details"+e),""!==t){var n=jQuery(".frm_validation_box .frm_conf_details"+e+" input");""===n.val()&&n.val(o.default_conf),function(e){var t=document.getElementsByName("field_options[type_"+e+"]")[0].value;ft(document.getElementById("field_description_"+e),"field_options[description_"+e+"]",o["enter_"+t]),ft(document.getElementById("conf_field_description_"+e),"field_options[conf_desc_"+e+"]",o["confirm_"+t])}(e),"inline"===t?r.removeClass("frm_conf_below").addClass("frm_conf_inline"):"below"===t&&r.removeClass("frm_conf_inline").addClass("frm_conf_below"),jQuery(".frm-conf-box-"+e).removeClass("frm_hidden")}else jQuery(".frm-conf-box-"+e).addClass("frm_hidden"),setTimeout(function(){r.removeClass("frm_conf_inline frm_conf_below")},200)}function ft(e,t,r){e.innerHTML===o.desc&&(e.innerHTML=r,document.getElementsByName(t)[0].value=r)}function mt(e){var t=JSON.parse(this.getAttribute("data-opts"));return e.preventDefault(),document.getElementById("frm_bulk_options").value=t.join("\n"),!1}function _t(){var e,t,r,n,i=jQuery(this).closest(".frm-single-settings").data("fid"),o=jQuery("#frm_field_"+i+"_opts .frm_option_template").prop("outerHTML"),a=jQuery(this).data("opttype"),l=0,s=function(e){for(var t=0,r=0,n=jQuery("#frm_field_"+e+"_opts li"),i=0;ti||"000"===i)&&(i=r)}return i}(i);if("000"!==s&&(l=s+1),"other"===a){document.getElementById("other_input_"+i).value=1;var d=jQuery(this).data("ftype");"radio"!==d&&"select"!==d||jQuery(this).fadeOut("slow");var c={action:"frm_add_field_option",field_id:i,opt_key:l,opt_type:a,nonce:frmGlobal.nonce};jQuery.post(ajaxurl,c,function(e){jQuery(document.getElementById("frm_field_"+i+"_opts")).append(e),on(i)})}else{o=(o=(o=(o=(o=o.replace(new RegExp('optkey="000"',"g"),'optkey="'+l+'"')).replace(new RegExp("-000_","g"),"-"+l+"_")).replace(new RegExp('-000"',"g"),"-"+l+'"')).replace(new RegExp("\\[000\\]","g"),"["+l+"]")).replace("frm_hidden frm_option_template",""),Do(i,o={newOption:o});var u=this.closest(".frm_single_option");u?u.after(o.newOption):jQuery("#frm_field_".concat(i,"_opts")).append(o.newOption),on(i)}null==(n=(e=this).classList.contains("frm-add-option-legacy")?null===(t=e.closest(".frm-collapse-me"))||void 0===t?void 0:t.querySelector(".frm_sortable_field_opts"):e.closest(".frm_sortable_field_opts"))||null===(r=n.querySelectorAll(".frm_remove_tag.frm_disabled"))||void 0===r||r.forEach(function(e){return e.classList.remove("frm_disabled")}),Mi()}function pt(){gt(jQuery(this).closest(".frm-single-settings").data("fid"),this.value)}function gt(e,t){var r=jQuery(".frm_multiple_cont_"+e);"select"===t?r.fadeIn("fast"):r.fadeOut("fast")}function yt(){var e=jQuery(this).closest(".frm-single-settings").data("fid");qo(jQuery(".field_"+e+"_option_key")),jQuery(".field_"+e+"_option").toggleClass("frm_with_key")}function ht(){var e,t,r=jQuery(this).closest(".frm-single-settings"),n=r.data("fid"),i=document.getElementById("frm_field_id_"+n);wt(jQuery(this)),qo(jQuery(".field_"+n+"_image_id")),qo(jQuery(".frm_toggle_image_options_"+n)),qo(jQuery(".frm_image_size_"+n)),qo(jQuery(".frm_alignment_"+n)),qo(jQuery(".frm-add-other#frm_add_field_"+n)),(e=hn(n))?(bt(n,"inline"),vt(i),t=nn(n),i.classList.add("frm_image_options"),i.classList.add("frm_image_size_"+t),r.find(".frm-bulk-edit-link").hide()):(i.classList.remove("frm_image_options"),vt(i),bt(n,"block"),r.find(".frm-bulk-edit-link").show()),wp.hooks.doAction("frm_image_options_toggled",r[0],e)}function vt(e){e.classList.remove("frm_image_size_","frm_image_size_small","frm_image_size_medium","frm_image_size_large","frm_image_size_xlarge")}function bt(e,t){jQuery("#field_options_align_"+e).val(t).trigger("change")}function jt(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);Qt(),hn(e)&&(vt(t),t.classList.add("frm_image_options"),t.classList.add("frm_image_size_"+nn(e)))}function wt(e){var t=e.closest(".frm-single-settings").data("fid");jQuery(".field_"+t+"_option").trigger("change")}function Qt(){wt(jQuery(this))}function xt(e){var t,r=e.target.closest(".frm_image_preview_wrapper");if(null!==(t=wp)&&void 0!==t&&t.media&&(null==r||!r.dataset.upgrade)){e.preventDefault(),wp.media.model.settings.post.id=0;var n=wp.media.frames.file_frame=wp.media({multiple:!1,library:{type:["image"]}});n.on("select",function(){var e=n.state().get("selection").first().toJSON(),t=r.querySelector("img");t.setAttribute("src",e.url),t.classList.remove("frm_hidden"),t.removeAttribute("srcset"),r.querySelector(".frm_image_preview_frame").style.display="block",r.querySelector(".frm_image_preview_title").textContent=e.filename,r.querySelector(".frm_choose_image_box").style.display="none";var i=jQuery(r);i.siblings('input[name*="[label]"]').data("frmimgurl",e.url),i.find("input.frm_image_id").val(e.id).trigger("change"),wp.media.model.settings.post.id=0}),n.open()}}function Et(e){var t=jQuery(this).closest(".frm_image_preview_wrapper");e.preventDefault(),e.stopPropagation(),t.find("img").attr("src",""),t.find(".frm_image_preview_frame").hide(),t.find(".frm_choose_image_box").show(),t.find("input.frm_image_id").val(0).trigger("change")}function kt(){var e=jQuery(this).closest("li").find(".frm_form_fields select");this.checked?e.attr("multiple","multiple"):e.removeAttr("multiple")}function At(){var e=document.getElementById("dropform-search-input");null!==e&&setTimeout(function(){e.focus()},100)}function St(e){var t=e.target,r=t.closest(".frm_warning_style");jQuery(r).fadeOut(400,function(){return r.remove()});var n=t.dataset.action,i=new FormData;p(n,i)}function Lt(e){e.preventDefault()}function It(){var e,t=this.parentNode,r=t.parentNode,n=r.querySelectorAll("li:not(.frm_hidden)");2===n.length&&(null===(e=Array.from(n).find(function(e){return e!==t}).querySelector(".frm_remove_tag"))||void 0===e||e.classList.add("frm_disabled"));var i,o=this.getAttribute("data-fid");jQuery(t).fadeOut("fast",function(){wp.hooks.doAction("frm_before_delete_field_option",this),jQuery(t).remove(),jQuery(r).find(".frm_other_option").length<1&&(null!==(i=document.getElementById("other_input_"+o))&&(i.value=0),jQuery("#other_button_"+o).fadeIn("fast"))}),Mi()}function Bt(){var e,t,r,n;(e=jQuery(this)).is(":checked")&&(t=function(){setTimeout(function(){e.prop("checked",!1)},0)},r=function(){e.off("mouseup",n)},n=function(){t(),r()},e.on("mouseup",n),e.one("mouseout",r))}function qt(){this.value===o.new_option&&(this.setAttribute("data-value-on-focus",this.value),this.value="")}function Ct(e){return B(I("Are you sure you want to delete these %1$s selected field(s)?","formidable"),e)}function Nt(){var e=o.conf_delete,t=this.parentNode.parentNode.parentNode.parentNode.parentNode,r=t.parentNode,n=jQuery(this).closest("li.form-field"),i=n.data("fid");if("divider"===n.data("ftype")){var a=document.querySelectorAll(".frm-field-group-hover-target .start_divider .frm_field_box"),l=0;a.forEach(function(e){var t=e.querySelectorAll("li.form-field");t&&(l+=t.length)}),l&&(e=Ct(++l))}return r.classList.contains("frm-section-collapsed")||r.classList.contains("frm-page-collapsed")||("divider_section_only"===t.className&&(e=o.conf_delete_sec),this.setAttribute("data-frmverify",e),this.setAttribute("data-frmverify-btn","frm-button-red"),this.setAttribute("data-deletefield",i),Ne(),D(this)),!1}function Tt(){this.closest("li.form-field").click()}function Ot(){var e,t;null!==(e=document.querySelector(".frm-field-group-hover-target"))&&(e.classList.add("frm-selected-field-group"),(t=document.createElement("div")).classList.add("frm-delete-field-groups","frm_hidden"),document.body.append(t),t.click())}function Ft(){var e=document.querySelector(".frm-field-group-hover-target");if(null!==e){var t="frm_field_group_"+be(),r=document.createTextNode("");We(r);var n=jQuery(r).closest("li").get(0);n.classList.add("frm_hidden");var i=n.querySelector("ul");i.id=t,jQuery(e.closest("li.frm_field_box")).after(n);var o=oe(jQuery(e)),a=[],l=[],s=o.length,d={},c=0;jQuery(n).on("frm_added_duplicated_field_to_row",function(e,t){if(d[jQuery(t.duplicatedFieldHtml).attr("data-fid")]=t.originalFieldId,!(s>++c)){var r=jQuery(i),o=oe(r);l.forEach(function(e){e.remove()});for(var u=0;u6?(t.append(Gt(e,"even")),t):(5!==e&&t.append(Gt(e,"even")),e%2==1&&t.append(Gt(e,"middle")),e<6?(t.append(Gt(e,"left")),t.append(Gt(e,"right"))):((r=d()).classList.add("frm_fourth"),t.prepend(r)),t)}(e),null!==(o=t.closest("ul.frm_sorting"))&&function(e,t){var r,n,i;for(r=t.children.length,n=0;n6?"frm_full":e%2==1?"frm_fourth":"frm_third"}return r.classList.add(n),r.setAttribute("layout-type",t),r.append(function(e,t){var r,n,i;for(r=Xt(),n=0;n6?"frm1":-1!==[2,3,4,6].indexOf(e)?lr(12/e):5===e&&void 0!==t?0===t?"frm4":"frm2":"frm12"}function Kt(e){switch(e){case 2:case 3:return"frm3";case 4:case 5:return"frm2";case 6:return"frm1"}return"frm12"}function Jt(e){switch(e){case 2:return"frm9";case 3:case 4:return"frm6";case 5:return"frm4";case 6:return"frm7"}return"frm12"}function Xt(){var e=d();return e.classList.add("frm_grid_container"),e}function Yt(){var e=document.querySelector(".frm-field-group-hover-target");if(e){var t=this.getAttribute("layout-type");ae(oe(jQuery(e)).first(),t),ur()}}function Zt(){var e,t;e=er(),t=this.getAttribute("layout-type"),ae(oe(e).first(),t),yr()}function er(){var e=jQuery(".frm-selected-field-group"),t=e.first();return e.not(t).each(function(){oe(jQuery(this)).each(function(){var e=this.parentNode;oe(t).last().after(this),jQuery(e).children("li.form-field").length||e.closest("li.frm_field_box").remove()})}),En(),ae(oe(t).first()),t}function tr(){null===this.closest(".frm-merge-fields-into-row")&&rr(oe(jQuery(".frm-field-group-hover-target")))}function rr(e){var t,r,n,i,o,a,l,s,c,u,f,m,_,p,g;for(t=e.length,(r=document.getElementById("frm_field_group_popup")).innerHTML="",(n=d()).style.padding="0 24px",i=$t(5===t?6:t),(o=d()).style.padding="20px 0",o.classList.add("frm_grid_container"),5===t&&((a=document.createElement("span")).classList.add("frm1"),o.append(a)),!1!==(l=jr()>0&&or($t(t)))&&l>=12&&(l=Math.floor(12/t)),s=0;s',""),t);e.prepend(r),document.getElementById("frm-field-group-message-dismiss").addEventListener("click",function(){_r(document.getElementById("frm-field-group-message"))})}}(),"ul"===e.originalEvent.target.nodeName.toLowerCase()){var t=document.querySelector(".frm-field-group-hover-target");if(t){var r=e.ctrlKey||e.metaKey,n=e.shiftKey,i=t.classList.contains("frm-selected-field-group"),o=function(){var e=jQuery(".frm-selected-field-group");if(e.length)return e;var t=pr();if(t){var r=t.closest("ul");if(r&&1===oe(jQuery(r)).length)return r.classList.add("frm-selected-field-group"),jQuery(r)}return jQuery()}(),a=o.length;if(r||n){var l=pr();if(null===l||jQuery(l).siblings("li.form-field").length||(l.parentNode.classList.add("frm-selected-field-group"),++a),r){if(i)return--a,t.classList.remove("frm-selected-field-group"),void gr(a);++a}else if(n&&!i){++a;var s=o.first();(s.parent().index()=2||1===e&&oe(jQuery(document.querySelector(".frm-selected-field-group"))).length>1?function(){var e,t,r,n,i;if(null!==(e=document.getElementById("frm_field_multiselect_popup")))return e.classList.toggle("frm-unmergable",!vr()),e;(e=d()).id="frm_field_multiselect_popup",vr()||e.classList.add("frm-unmergable"),(t=d()).classList.add("frm-merge-fields-into-row"),t.textContent=I("Merge into row","formidable"),(r=document.createElement("a")).style.marginLeft="5px",r.classList.add("frm_icon_font","frm_arrowdown6_icon"),r.setAttribute("href","#"),t.append(r),e.append(t),(n=d()).classList.add("frm-multiselect-popup-separator"),e.append(n),(i=d()).classList.add("frm-delete-field-groups"),i.append(Rt("frm_trash_svg")),e.append(i),document.getElementById("post-body-content").append(e),jQuery(e).hide().fadeIn()}():hr(),Fe()}function yr(e){if(void 0!==e){if(null!==e.originalEvent.target.closest("#frm-show-fields"))return;if(e.originalEvent.target.classList.contains("frm-merge-fields-into-row"))return;if(null!==e.originalEvent.target.closest(".frm-merge-fields-into-row"))return;if(e.originalEvent.target.classList.contains("frm-custom-field-group-layout"))return;if(e.originalEvent.target.classList.contains("frm-cancel-custom-field-group-layout"))return}jQuery(".frm-selected-field-group").removeClass("frm-selected-field-group"),jQuery(document).off("click",yr),hr()}function hr(){var e=document.getElementById("frm_field_multiselect_popup");null!==e&&e.remove()}function vr(){var e,t,r,n,i;if(1===(r=(e=document.querySelectorAll(".frm-selected-field-group")).length))return!1;for(t=0,n=0;n12)return!1}return!0}function br(e){var t;null===e.originalEvent.target.closest("#frm_field_group_popup")&&(e.originalEvent.target.classList.contains("frm-custom-field-group-layout")||(t=Ht(jr(),document.querySelector(".frm-selected-field-group").firstChild),this.append(t)))}function jr(){var e=0;return jQuery(document.querySelectorAll(".frm-selected-field-group")).each(function(){e+=oe(jQuery(this)).length}),e}function wr(){var e,t,r,n;n=[],jQuery(".frm-selected-field-group > li.form-field").each(function(){n.push(this.dataset.fid)}),t=function(e){return function(t){t.preventDefault(),function(e){e.forEach(function(e){xr(e)})}(e)}}(e=n),null!==(r=document.getElementById("frm_field_multiselect_popup"))&&r.remove(),this.setAttribute("data-frmverify",Ct(e.length)),D(this);var i=document.getElementById("frm-confirmed-click");null==i||i.removeAttribute("data-deletefield"),jQuery(i).on("click",t),jQuery("#frm_confirm_modal").one("dialogclose",function(){jQuery(i).off("click",t)})}function Qr(){xr(this.getAttribute("data-deletefield"))}function xr(e){var t=jQuery("#frm_field_id_"+e);Er(e),t.hasClass("edit_field_type_divider")&&t.find("li.frm_field_box[data-fid]").each(function(){Er(this.getAttribute("data-fid"))}),kn()}function Er(e){jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_delete_field",field_id:e,nonce:frmGlobal.nonce},success:function(){var t,r,n,i=jQuery(document.getElementById("frm_field_id_"+e)),o=jQuery("#frm-single-settings-"+e);o.is(":visible")&&(null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click(),document.querySelector("#frm-options-panel .frm-single-settings").classList.remove("frm_hidden")),function(e){var t=e[0].querySelectorAll(".frm-inline-modal[data-fills]");t.length&&t.forEach(function(e){e.classList.add("frm_hidden"),e.removeAttribute("data-fills"),e.closest("form").append(e)})}(o),o.remove(),i.fadeOut("slow",function(){var e,t=i.closest(".start_divider"),r=i.data("type"),n=i.siblings("li.form-field");if(n.length||(i.is(".edit_field_type_end_divider")?n.length=i.closest("li.form-field").siblings():e=i.closest("ul.frm_sorting").parent()),i.remove(),"break"===r?Fr():"product"===r&&(Ie(),nt()),n.length?ae(n.first()):e.remove(),0===jQuery("#frm-show-fields li").length||function(){if(b.get(0).childElementCount>1)return!1;var e=b.get(0).firstElementChild.firstElementChild.querySelectorAll("li.frm_field_box");return!(e.length>1)&&e[0].classList.contains("edit_field_type_submit")}()){var o=document.getElementById("frm_form_editor_container");o.classList.remove("frm-has-fields"),o.classList.add("frm-empty-fields")}else t.length&&An(t);z()}),i.length&&(r=i.data("type"),(n=document.getElementById(r))&&n.dataset.limit&&kr(r)-11)for(document.getElementById("frm-fake-page").style.display="block",e=0;e200)&&(M(o.repeat_limit_min),this.value="")}function Yr(){var e=this.value;""!==e&&(e<1||e>200)&&(M(o.checkbox_limit),this.value="")}function Zr(e,t){jQuery(e).closest(".frm_field_box").find(".frm_"+t+"_form_row .frm_repeat_label").text(e.value)}function en(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=this.value,r=document.getElementById("frm_show_selected_fields_"+e),n=document.getElementById("frm_show_selected_forms_"+e);jQuery(n).find("select").val(""),"form"===t?(n.style.display="inline",function(e){if(null!==e)for(;e.firstChild;)e.firstChild.remove()}(r)):(r.style.display="none",n.style.display="none",xn(t,e))}function tn(){var e,t;(e=rn(this))&&(t=jQuery(this).closest(".frm_single_option"),function(e,t,r){var n,i,o,a,l,s,c=r.data("optkey"),u=yn(e),f=jQuery('label[for="field_'+t+"-"+c+'"]'),m="field_options[options_"+e+"]["+c+"]",_=jQuery('input[name="'+m+'[label]"]');if(f.length<1)return on(e),void((o=r.find('input[name^="default_value_"]')).is(":checked")&&_.length>0&&jQuery('select[name^="item_meta['+e+']"]').val(_.val()));if(a=f.children("input"),n=_.length<1?(_=jQuery('input[name="'+m+'"]')).val():u?jQuery('input[name="'+m+'[value]"]').val():_.val(),!(_.length<1)){if(i=f[0].childNodes,hn(e))l=function(e,t,r){var n,i,o;return(n=e.find("img"))&&(i=n.attr("src")),o=vn(t),pn(r.val(),o,i)}(r,e,_),(s=f.find(".frm_image_option_container")).length>0?s.replaceWith(l):(i[i.length-1].nodeValue="",f.append(l));else{var p=!1;i.forEach(function(t,r){if(!1===p)"INPUT"===t.tagName&&(p=r);else if(r===p+1){var n="";!function(e){var t=document.getElementsByName("field_options[image_options_"+e+"]"),r=Array.from(t).find(function(e){return e.checked&&"buttons"===e.value});return void 0!==r}(e)?t.nodeValue=" "+_.val():(n=d({className:"frm_label_button_container",text:" "+_.val()}),f[0].replaceChild(n,t))}else t.remove()})}a.val(n),o=r.find('input[name^="default_value_"]'),a.prop("checked",!!o.is(":checked"))}}(e.fieldId,e.fieldKey,t))}function rn(e){var t;return!!(t=jQuery(e).closest(".frm_sortable_field_opts")).length&&{fieldId:t.attr("id").replace("frm_field_","").replace("_opts",""),fieldKey:t.data("key")}}function nn(e){var t,r=document.getElementById("field_options_image_size_"+e),n="";return null!==r&&""!==(t=r.value)&&(n=t),n}function on(e){var t,r,n,i,o,a=jQuery('[name^="item_meta['+e+']"]');if(!(a.length<1)){if(a.is("select"))null===(i=document.getElementById("frm_placeholder_"+e))||""===i.value?cn(a[0],{sourceID:e}):cn(a[0],{sourceID:e,placeholder:i.value});else{r=fn(e),jQuery("#field_"+e+"_inner_container > .frm_form_fields").html(""),o=rn(jQuery("#frm_delete_field_"+e+"-000_container"));var l=jQuery("#field_"+e+"_inner_container > .frm_form_fields"),s=hn(e),d=s?nn(e):"",c=s?"frm_image_option frm_image_"+d+" ":"",u=Oo(e);for(n="hidden"===a.attr("type")?a.data("field-type"):a.attr("type"),t=0;t=0;a--){var m;l=d[a];var _=null===(m=document.getElementById("frm_field_"+e+"_opts").querySelector('.frm_option_key input[type="text"]'))||void 0===m?void 0:m.value;_||(_=l),s=i.querySelector('option[value="'+_+'"]');var p=an(e,l),g=p.newValue,y=p.newLabel,h=document.querySelectorAll("#frm_field_"+e+"_opts input[data-value-on-focus]"),v=Array.from(h).find(function(e){return e.value===l});if(v){var b=v.dataset.valueOnFocus;if(b&&i.querySelector('option[value="'+b+'"]'))continue}sn(i,s,g,y)}null!==(s=i.querySelector('option[value=""]'))&&i.prepend(s)}}function sn(e,t,r,n){null!==t||e.querySelector('option[value="'+r+'"]')||((t=frmDom.tag("option",{text:n})).value=r),e.prepend(t)}function dn(e,t,r,n,i,o){var a,l="",s=t.key.includes("other"),d="field_"+n+"-"+t.key,c="scale"===e?"radio":e;return a='',this.getSingle=function(){return""!==(l=wp.hooks.applyFilters("frm_admin.build_single_option_template",l,{opt:t,type:e,fieldId:r,classes:o,id:d}))?l:'
      "+(s?a:"")+"
      "},this.getSingle()}function cn(e,t){if(null!==e){var r=t.sourceID,n=t.placeholder,i=Oo(r),o=t.other;!function(e){var t;if(void 0!==e.options)for(t=e.options.length-1;t>=0;t--)e.remove(t)}(e);for(var a=fn(r,e.id.includes("frm_field_logic_opt")),l=void 0!==n,s=0;s1&&void 0!==arguments[1]&&arguments[1],s=[],d=jQuery('input[name^="field_options[options_'+e+']"]').filter('[name$="[label]"], [name*="[other_"]'),c=Oo(e),u=vn(e),f=hn(e),m=yn(e);for(t=0;t0||(i=r=d[t].value,o=d[t].name.replace("field_options[options_"+e+"][","").replace("[label]","").replace("]",""),m&&(n=d[t].name.replace("[label]","[value]"),r=jQuery('input[name="'+n+'"]').val(),l&&""===i&&(i=""!==r?r:frm_admin_js.no_label)),f&&(i=pn(i,u,mn(d[t]))),a={saved:r,label:i=frmAdminBuild.hooks.applyFilters("frm_choice_field_label",i,e,d[t],f),checked:gn(d[t].id),key:o},c&&(n=d[t].name.replace("[label]","[price]"),a.price=jQuery('input[name="'+n+'"]').val()),s.push(a));return s}function mn(e){var t,r=jQuery(e).siblings(".frm_image_preview_wrapper");return r.length&&(t=r.find("img")).length?t.attr("src"):""}function _n(e){(e instanceof Element||e instanceof Document)&&(e=e.outerHTML);var t=jQuery.parseHTML(e).reduce(function(e,t){var r=frmDom.cleanNode(t);return"#text"===r.nodeName?e+r.textContent:e+r.outerHTML},"");return t!==e?_n(t):t}function pn(e,t,r){var n,i,a,l=e;return l=_n(l),r?i=m({src:r,alt:l}):(i=d({className:"frm_empty_url"})).innerHTML=o.image_placeholder_icon,n=t?" frm_label_with_image":"",(a=s("span",{className:"frm_text_label_for_image_inner"})).innerHTML=l,s("span",{className:"frm_image_option_container"+n,children:[i,s("span",{className:"frm_text_label_for_image",child:a})]})}function gn(e){var t=jQuery("#"+e);if(0===t.length)return!1;var r=t.siblings("input[type=checkbox]");return r.length&&r.prop("checked")}function yn(e){return bn("separate_value_"+e)}function hn(e){for(var t=!1,r=document.getElementsByName("field_options[image_options_"+e+"]"),n=0;n=0&&(r.splice(t,1),e.val(r),e.next(".btn-group").find('.multiselect-container input[value=""]').prop("checked",!1))}(jQuery(this))}function Bn(e){e.val(""),e.next(".btn-group").find('.multiselect-container input[value!=""]').prop("checked",!1)}function qn(){jQuery(".frm-hide-empty").each(function(){0===jQuery(this).text().trim().length&&jQuery(this).remove()})}function Cn(e){e.preventDefault(),function(e,t,r){var n=document.getElementById(e.getAttribute("data-open")),i=jQuery(e).closest("p,ul"),o=void 0!==t;if(i.hasClass("frm-open"))i.removeClass("frm-open"),n.classList.add("frm_hidden");else{if(o||(t=Wi(e)),null!==t){if(!o){var a=r.key;"Enter"!==a&&" "!==a&&t.focus()}i.after(n),n.setAttribute("data-fills",t.id.replace("-proxy-input","")),0===n.id.indexOf("frm-calc-box")&&Ze(n,!0)}i.addClass("frm-open"),n.classList.remove("frm_hidden"),wp.hooks.doAction("frm_show_inline_modal",n,e)}}(this,void 0,e)}function Nn(e){e.preventDefault(),this.parentNode.classList.add("frm_hidden"),jQuery('.frm-open [data-open="'+this.parentNode.id+'"]').closest(".frm-open").removeClass("frm-open")}function Tn(e){var t=e.target;t.closest(".frm-inline-modal.frm-modal-no-dismiss")||t.closest(".frm-show-inline-modal")||t.closest("#frm_adv_info")||t.closest(".frm-token-proxy-input")||document.querySelectorAll(".frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden"),e.previousElementSibling.classList.remove("frm-open")})}function On(){var e,t=this.getAttribute("data-frmchange").split(",");for(e=0;e').before('')}function Yn(){var e="success";"options[edit_action]"===this.name&&(e="edit");var t=jQuery(this).val();jQuery("."+e+"_action_box").hide(),"redirect"===t?jQuery("."+e+"_action_redirect_box."+e+"_action_box").fadeIn("slow"):"page"===t?jQuery("."+e+"_action_page_box."+e+"_action_box").fadeIn("slow"):jQuery("."+e+"_action_message_box."+e+"_action_box").fadeIn("slow")}function Zn(e){if(m=e.target,p=jQuery(m),g=p.closest(".frm_form_action_settings"),(y=g.find(".widget-inside")).find("p, div, table").length||((_=g.find(".widget-top")).on("frm-action-loaded",function(){p.trigger("click"),g.removeClass("open"),y.hide()}),_.trigger("click"),0)){var t=e.target.closest(".frm_form_action_settings"),r=t.querySelectorAll(".wp-editor-area");r.length&&r.forEach(function(e){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,e.id)});var n=jQuery(t).clone(),i=n.attr("id").replace("frm_form_action_",""),o=ei(i);n.find(".frm_action_id, .frm-btn-group").remove(),n.find('input[name$="['+i+'][ID]"]').val(""),n.find(".widget-inside").hide(),n.find("input[type=text], textarea, input[type=number]").prop("defaultValue",function(){return this.value}),n.find("input[type=checkbox], input[type=radio]").prop("defaultChecked",function(){return this.checked});var a=new RegExp("\\["+i+"\\]","g"),l=new RegExp("_"+i+'"',"g"),s=new RegExp("-"+i+'"',"g"),c=new RegExp('"'+i+'"',"g"),u=n.html().replace(a,"["+o+"]").replace(l,"_"+o+'"');u=u.replace(s,"-"+o+'"').replace(c,'"'+o+'"');var f=d({id:"frm_form_action_"+o,className:n.get(0).className});f.setAttribute("data-actionkey",o),f.innerHTML=u,f.querySelectorAll(".wp-editor-wrap, .wp-editor-wrap *").forEach(function(e){"string"==typeof e.className&&(e.className=e.className.replace(i,o)),e.id=e.id.replace(i,o)}),f.classList.remove("open"),document.getElementById("frm_notification_settings").append(f),r.length&&(r.forEach(function(e){frmDom.wysiwyg.init(e)}),f.querySelectorAll(".wp-editor-area").forEach(function(e){frmDom.wysiwyg.init(e)})),f.classList.contains("frm_single_on_submit_settings")&&f.querySelector("input.frm-page-search")&&yo(f),so(),wp.hooks.doAction("frm_after_duplicate_action",f)}var m,_,p,g,y}function ei(e){var t=parseInt(e,10)+11;return null!==document.getElementById("frm_form_action_"+t)&&(t=ei(++t)),t}function ti(){var e,t=jQuery(this).data("actiontype");if(!di(t)){var r=(e=Sr(document.querySelectorAll(".frm_form_action_settings"),"frm_form_action_"),void 0!==document.getElementById("frm_form_action_"+e)&&(e+=100),S>=e&&(e=S+1),S=e,e),n=E,i=document.createElement("div");i.classList.add("frm_single_"+t+"_settings");var o=document.getElementById("frm_notification_settings");o.append(i),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_action",type:t,list_id:r,form_id:n,nonce:frmGlobal.nonce},success:function(e){Mi(),i.remove(),document.querySelectorAll(".frm_form_action_settings.open").forEach(function(e){return e.classList.remove("open")});var n=d();n.innerHTML=e;var a=n.querySelector(".widget-top");Array.from(n.children).forEach(function(e){return o.append(e)}),jQuery(".frm_form_action_settings").fadeIn("slow");var l=document.getElementById("frm_form_action_"+r);l.classList.add("open"),document.getElementById("post-body-content").scroll({top:l.offsetTop+10,left:0,behavior:"smooth"}),si(t),Xn("#frm_form_action_"+r),so(),yo(l),a&&jQuery(a).trigger("frm-action-loaded"),frmAdminBuild.hooks.doAction("frm_added_form_action",l)}})}}function ri(){var e=document.getElementById("frm_email_addon_menu").classList,t=document.getElementById("actions-search-input");e.contains("frm-all-actions")?(e.remove("frm-all-actions"),e.add("frm-limited-actions")):(e.add("frm-all-actions"),e.remove("frm-limited-actions")),t.value="",ko(t,"input")}function ni(e){e.on("Change",function(){!function(e){var t,r;(t=document.querySelector(".frm-single-settings:not(.frm_hidden)"))&&null!==(r=t.querySelector(".wp-editor-wrap"))&&r.classList.contains("tmce-active")&&!tinyMCE.activeEditor.isHidden()&&(e.targetElm.value=e.getContent(),jQuery(e.targetElm).trigger("change"))}(e)})}function ii(e){var t=this;if(null!==e)return this.fragment=document.createDocumentFragment(),this.initOnceInAllInstances=function(){void 0===ii.prototype.endMarker&&(ii.prototype.endMarker=document.getElementById("frm-end-form-marker"))},this.append=function(e){var r=null!==e?e.parentElement.classList:"";null!==e&&(r.contains("frm_field_box")||r.contains("divider_section_only"))&&t.fragment.append(e)},this.moveFields=function(){j.insertBefore(t.fragment,ii.prototype.endMarker)},this.initOnceInAllInstances(),void 0!==e?(this.append(e),void this.moveFields()):{append:this.append,moveFields:this.moveFields}}function oi(){var e=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),t=this.getAttribute("data-emailrow");jQuery("#frm_form_action_"+e+" .frm_"+t+"_row").fadeIn("slow"),jQuery(this).fadeOut("slow")}function ai(){var e=jQuery(this).closest(".frm_form_action_settings"),t=this.getAttribute("data-emailrow"),r=".frm_"+t+"_row",n=".frm_"+t+"_button";jQuery(e).find(n).fadeIn("slow"),jQuery(e).find(r).fadeOut("slow",function(){jQuery(e).find(r+" input").val("")})}function li(){var e=jQuery(this).closest(".frm_form_action_settings"),t=".frm_from_to_match_row";e.find('input[name$="[post_content][from]"]').val()===e.find('input[name$="[post_content][email_to]"]').val()?jQuery(e).find(t).fadeIn("slow"):jQuery(e).find(t).fadeOut("slow")}function si(e){var t,r,n=document.querySelectorAll(".frm_"+e+"_action");di(e)?(t=n,r=ci(e)>0,t.forEach(function(e){e.classList.remove("frm_active_action"),e.classList.add("frm_inactive_action"),r&&e.classList.add("frm_already_used")})):n.forEach(function(e){e.querySelector(".frm_show_upgrade")||(e.classList.remove("frm_inactive_action","frm_already_used"),e.classList.add("frm_active_action"))})}function di(e){var t=function(e){return jQuery(".frm_single_"+e+"_settings").length}(e)>=ci(e),r={type:e};return wp.hooks.applyFilters("frm_action_at_limit",t,r)}function ci(e){return parseInt(jQuery(".frm_"+e+"_action").data("limit"),10)}function ui(){var e=o.only_one_action,t=this.dataset.limit;void 0!==t&&((t=parseInt(t))>1?e=e.replace(1,t).trim():e+=" "+o.edit_action_text),M(e)}function fi(){var e=jQuery(this).data("emailkey"),t=jQuery(this).closest(".frm_form_action_settings").find(".frm_action_name").val(),r=document.getElementById("form_id").value,n=document.getElementById("frm_logic_row_"+e),i=Sr(n.querySelectorAll(".frm_logic_row"),"frm_logic_"+e+"_"),o=d({id:"frm_logic_"+e+"_"+i,className:"frm_logic_row frm_hidden"});return n.append(o),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_logic_row",email_id:e,form_id:r,meta_name:i,type:t,nonce:frmGlobal.nonce},success:function(t){jQuery(document.getElementById("logic_link_"+e)).fadeOut("slow",function(){o.insertAdjacentHTML("beforebegin",t),o.remove(),jQuery(n).parent(".frm_logic_rows").fadeIn("slow")})}}),!1}function mi(){var e=jQuery("select.frm_single_post_field");e.css("border-color","");var t=this,r=jQuery(t).val();if(""===r||"checkbox"===r)return!1;e.each(function(){if(jQuery(this).val()===r&&this.name!==t.name)return this.style.borderColor="red",jQuery(t).val(""),M(o.field_already_used),!1})}function _i(){var e=jQuery(this).val();""===e?(jQuery(".frm_post_content_opt, select.frm_dyncontent_opt").hide().val(""),jQuery(".frm_dyncontent_opt").hide()):"post_content"===e?(jQuery(".frm_post_content_opt").show(),jQuery(".frm_dyncontent_opt").hide(),jQuery("select.frm_dyncontent_opt").val("")):(jQuery(".frm_post_content_opt").hide().val(""),jQuery("select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt").show())}function pi(){var e=jQuery(this).val(),t=jQuery(document.getElementById("frm_dyncontent"));""===e||"new"===e?(t.val(""),jQuery(".frm_dyncontent_opt").show()):jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_display_get_content",id:e,nonce:frmGlobal.nonce},success:function(e){t.val(e),jQuery(".frm_dyncontent_opt").show()}})}function gi(){var e,t,r=document.getElementById("frm_posttax_rows").childNodes,n=document.querySelector(".frm_post_parent_field"),i=document.querySelector(".frm_post_menu_order_field"),o=this.value;jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_replace_posttax_options",post_type:o,nonce:frmGlobal.nonce},success:function(n){for(var i=0;i');var e=jQuery(this).closest(".frm_form_action_settings").find('select[name$="[post_content][post_type]"]').val(),t=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),r=jQuery(this).closest(".frm_posttax_row").attr("id").replace("frm_posttax_",""),n=jQuery(this).val(),i=jQuery(document.getElementById(r+"_show_exclude")).is(":checked")?1:0,o=jQuery('select[name$="[post_category]['+r+'][field_id]"]').val(),a=jQuery('input[name="id"]').val();jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_posttax_row",form_id:a,post_type:e,tax_key:r,action_key:t,meta_name:n,field_id:o,show_exclude:i,nonce:frmGlobal.nonce},success:function(e){jQuery(document.getElementById("frm_posttax_"+r)).replaceWith(e)}})}}function wi(){var e=jQuery(this).closest(".frm_postmeta_row"),t=e.find(".frm_cancelnew"),r=e.find(".frm_enternew");return e.find("select.frm_cancelnew").is(":visible")?(t.hide(),r.show()):(t.show(),r.hide()),e.find("input.frm_enternew, select.frm_cancelnew").val(""),!1}function Qi(){var e=jQuery(this),t=e.val();"checkbox"===e.attr("type")&&!1===this.checked&&(t="");var r=e.data("toggleclass");""===t?jQuery("."+r).hide():(jQuery("."+r).show(),jQuery(".hide_"+r+"_"+t).hide())}function xi(){Wn()||($n(this),zn(document.querySelector(".frm_form_settings")))}function Ei(e){return e.preventDefault(),ki(jQuery(this),this.getAttribute("data-code")),!1}function ki(e,t){var r=!1,n=e;if("object"===a(e)){if(e.hasClass("frm_noallow"))return;void 0===(n=jQuery(e).closest("[data-fills]").attr("data-fills"))&&void 0!==(n=e.closest("div").attr("class"))&&(n=n.split(" ")[1])}if(void 0===n){var i=document.activeElement;"search"===i.type?null===(n=i.id.replace("-search-input","")).match(/\d/gi)&&(n=(i=jQuery(".frm-single-settings:visible ."+n)).attr("id")):n=i.id}n&&(r=jQuery("#wp-"+n+"-wrap.wp-editor-wrap").length>0);var o=jQuery(document.getElementById(n));if(void 0===e.attr("data-shortcode")&&(!o.length||void 0===o.attr("data-shortcode"))){var l=e.parents("ul.frm_code_list").attr("data-shortcode");"undefined"!==l&&"no"===l||(t="["+t+"]")}if(r&&(wpActiveEditor=n),!o.length)return!1;if("[default-html]"===t||"[default-plain]"===t){var s=0;"[default-plain]"===t&&(s=1),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_get_default_html",form_id:jQuery('input[name="id"]').val(),plain_text:s,nonce:frmGlobal.nonce},elementId:n,success:function(e){if(r){var t=document.createElement("p");t.innerText=e,send_to_editor(t.innerHTML)}else Ai(o,e)}})}else t=function(e,t,r){return"object"===a(t)&&t instanceof jQuery&&0===r[0].id.indexOf("success_url_")&&(t=t[0]).closest("#frm-insert-fields-box")?(t.parentNode.classList.contains("frm_insert_url")||(e=e.replace("]"," sanitize_url=1]")),e):e}(t,e,o),r?send_to_editor(t):Ai(o,t);return!1}function Ai(e,t){if(document.selection)e[0].focus(),document.selection.createRange().text=t;else{var r=e[0],n=r.selectionEnd;t=function(e,t,r,n){var i=e.data("sep");if(void 0===i)return t;var o=e.val();if(!o.trim().length)return t;var a=new RegExp(i+"\\s*$"),l=new RegExp("^\\s*"+i);return o.substr(0,r).trim().length&&!1===a.test(o.substr(0,r))&&(t=i+t),o.substr(n,o.length).trim().length&&!1===l.test(o.substr(n,o.length))&&(t+=i),t}(e,t,r.selectionStart,n),r.value=r.value.substr(0,r.selectionStart)+t+r.value.substr(r.selectionEnd,r.value.length);var i=n+t.length;!function(e,t){if(e.classList.contains("frm_classes")&&Si(t)){var r=e.value.split(" ").filter(Si);r.length&&(e.value=function(e,t,r){var n=e.split(" ").filter(function(e){return(e=e.trim()).length&&!t.includes(e)});return n.includes(r)||n.push(r),n.join(" ")}(e.value,r,t.trim()))}}(r,t),r.focus(),r.setSelectionRange(i,i)}Rn(e)}function Si(e){return["frm_half","frm_third","frm_two_thirds","frm_fourth","frm_three_fourths","frm_fifth","frm_sixth","frm2","frm3","frm4","frm6","frm8","frm9","frm10","frm12"].includes(e.trim())}function Li(){var e=document.getElementById("frm-id-condition"),t=document.getElementById("frm-key-condition");"id"===this.value?(e.classList.remove("frm_hidden"),t.classList.add("frm_hidden"),ko(t,"change")):(e.classList.add("frm_hidden"),t.classList.remove("frm_hidden"),ko(e,"change"))}function Ii(){var e,t,r=document.getElementById("frm-id-key-condition-id").checked?"frm-id-condition":"frm-key-condition",n=document.getElementById("frm-is-condition").value,i=document.getElementById("frm-text-condition").value,a=document.getElementById("frm-insert-condition");t="if "+(e=(r=document.getElementById(r)).options[r.selectedIndex].value)+" "+n+'="'+i+'"]',a.setAttribute("data-code",t+o.conditional_text+"[/if "+e),a.innerHTML="["+t+"[/if "+e+"]"}function Bi(e){return e.getAttribute("href")||e.getAttributeNS("http://www.w3.org/1999/xlink","href")}function qi(e){var t;e.parentNode.parentNode.classList.contains("frm_has_shortcodes")&&(Vi(),"use"===(t=Ui(e)).tagName?Bi(t=t.firstElementChild).includes("frm_close_icon")||Fi(t,"nofocus"):t.classList.contains("frm_close_icon")||Fi(t,"nofocus"))}function Ci(e){e.preventDefault(),e.stopPropagation(),Fi(this)}function Ni(e){!function(e){var t;if(e.id.startsWith("field_options_type_")){var r=e.id.split("_"),n=r.length&&r[r.length-1];null!==(t=document.querySelector("#frm-single-settings-".concat(n)))&&void 0!==t&&t.classList.contains("frm-type-".concat(e.value))||Ti()}}(e.target)}function Ti(e){var t;void 0===e&&(e=I("You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?","formidable")),frmDom.modal.maybeCreateModal("frmSaveAndReloadModal",{title:I("Save and Reload?","formidable"),content:(t=d(e),t.style.padding="var(--gap-md)",t),footer:function(){var e=frmDom.modal.footerButton({text:I("Save and Reload","formidable"),buttonType:"primary"});_(e,function(){var e;(e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()});var t=frmDom.modal.footerButton({text:I("Cancel","formidable"),buttonType:"cancel"});return t.classList.add("dismiss"),frmDom.div({children:[t,e]})}()})}function Oi(e){var t;if(e instanceof Event){var r=document.querySelectorAll(".frm-single-settings .frm-show-box.frmsvg use"),n=Array.from(r).find(function(e){return"#frm_close_icon"===e.getAttribute("href")});if(void 0===n)return;t=n.parentElement}else t=e;var i=t.getBoundingClientRect(),o=document.getElementById("frm_adv_info"),a=o.parentElement.getBoundingClientRect();o.style.top=i.top-a.top+32+"px",o.style.left=i.left-a.left-280+"px"}function Fi(e,t){var r=Wi(e),n=document.getElementById("frm_adv_info"),a=e.className;if("svg"===e.tagName&&(e=e.firstElementChild),"use"===e.tagName&&(a=Bi(e)),a.includes("frm_close_icon"))Vi(n);else{if(Oi(e),jQuery(".frm_code_list a").removeClass("frm_noallow"),r.classList.contains("frm_not_email_to")?jQuery("#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a").addClass("frm_noallow"):r.classList.contains("frm_not_email_subject")&&jQuery(".frm_code_list li.hide_frm_not_email_subject a").addClass("frm_noallow"),n.setAttribute("data-fills",r.id),n.style.display="block","use"===e.tagName)if(e.hasAttributeNS("http://www.w3.org/1999/xlink","href"))e.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon");else{var l=document.createElementNS("http://www.w3.org/2000/svg","use");l.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon"),e.parentNode.replaceChild(l,e)}else e.className=a.replace("frm_more_horiz_solid_icon","frm_close_icon");"nofocus"!==t&&("none"!==r.style.display?r.focus():jQuery(tinymce.get(r.id)).trigger("focus")),function(e){["address","body"].forEach(function(t){!function(e,t){var r,n;r=o.contextualShortcodes[t+"Selector"],n=o.contextualShortcodes[t];var a,l=e.matches(r),s=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=i(e))){t&&(e=t);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){l=!0,o=e},f:function(){try{a||null==t.return||t.return()}finally{if(l)throw o}}}}(n);try{for(s.s();!(a=s.n()).done;){var d,c=a.value,u=null===(d=document.querySelector('#frm-adv-info-tab .frm_code_list [data-code="'+c+'"]'))||void 0===d?void 0:d.closest("li");null==u||u.classList.toggle("frm_hidden",!l)}}catch(e){s.e(e)}finally{s.f()}}(e,t)})}(r)}}function Di(e){return 0===o.contextualShortcodes.length||!function(e){var t=e.querySelector("a");if(!t)return!1;var r=t.dataset.code;return o.contextualShortcodes.address.includes(r)||o.contextualShortcodes.body.includes(r)}(e)||function(e){var t=e.querySelector("a").dataset.code,r=document.getElementById("frm_adv_info").dataset.fills,n=document.getElementById(r),i=o.contextualShortcodes;return i.address.includes(t)?n.matches(i.addressSelector):n.matches(i.bodySelector)}(e)}function Mi(){x||(x=1,window.addEventListener("beforeunload",Ri))}function Pi(){x=0}function Hi(){x=0}function zi(){x=0}function Ri(e){x&&(e.preventDefault(),e.returnValue="")}function Gi(e,t){var r={my:"top",at:"top+"+t,of:window};e.dialog("option","position",r)}function Wi(e){if(e.classList.contains("frm-input-icon"))return e.previousElementSibling;for(var t,r=e.nextElementSibling;null!==r&&("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName||r.classList.contains("frm-token-input-field"));)r=Wi(r);return r||(r=null===(t=e.closest(".frm-field-formula"))||void 0===t?void 0:t.querySelector(".frm-calc-field")),r}function Ui(e){var t;if(null!==(t=e.nextElementSibling)&&void 0!==t&&t.classList.contains("frm-input-icon"))return e.nextElementSibling;for(var r=e.previousElementSibling;null!==r&&"I"!==r.tagName&&"svg"!==r.tagName;)r=Ui(r);return r}function Vi(e){var t,r,n,i;if((void 0!==e||null!==(e=document.getElementById("frm_adv_info")))&&null===document.getElementById("frm_dyncontent")){for(e.style.display="none",n=document.querySelectorAll(".frm-show-box.frm_close_icon"),t=0;t"+r.data.name+": "+r.data.msg+"

      ":'

      Imported '+r.data.name+"

      ",e.find(".status").prepend(n),e.find(".status").show(),C.importQueue=jQuery.grep(C.importQueue,function(e){return e!=t}),C.imported++,0===C.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(C.imported),e.find(".process-completed").show()):(e.find(".form-current").text(C.imported+1),Zi(e)))})}function eo(e){e.preventDefault();var t=!1,r=jQuery('input[name="frm_export_forms[]"]');jQuery('input[name="frm_export_forms[]"]:checked').val()||(r.closest(".frm-table-box").addClass("frm_blank_field"),t="stop");var n=jQuery('input[name="type[]"]');if(jQuery('input[name="type[]"]:checked').val()||"checkbox"!==n.attr("type")||(n.closest("p").addClass("frm_blank_field"),t="stop"),"stop"===t)return!1;e.stopPropagation(),this.submit()}function to(){var e=jQuery(this).closest(".frm_blank_field");if(void 0!==e){var t=this.name;("type[]"===t&&jQuery('input[name="type[]"]:checked').val()||"frm_export_forms[]"===t&&jQuery(this).val())&&e.removeClass("frm_blank_field")}}function ro(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function no(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function io(e){var t,r,n=e.target.value;ao(n),oo.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function oo(){var e=jQuery(this),t=e.find(":selected"),r=t.data("support"),n=r.indexOf("|");jQuery('input[name="type[]"]').each(function(){this.checked=!1,r.includes(this.value)?(this.disabled=!1,-1===n&&(this.checked=!0)):this.disabled=!0}),"csv"===e.val()?(jQuery(".csv_opts").show(),jQuery(".xml_opts").hide()):(jQuery(".csv_opts").hide(),jQuery(".xml_opts").show());var i=t.data("count"),o=jQuery('input[name="frm_export_forms[]"]');"single"===i?(o.prop("multiple",!1),o.prop("checked",!1)):(o.prop("multiple",!0),o.prop("disabled",!1)),e.trigger("change")}function ao(e){if(""!==e){var t=document.querySelectorAll(".frm-is-repeater");t.length&&("csv"===e?t.forEach(function(e){e.classList.remove("frm_hidden")}):t.forEach(function(e){e.classList.add("frm_hidden")}),Qo.call(document.querySelector(".frm-auto-search")))}}function lo(){var e=jQuery("select[name=format]").find(":selected").data("count"),t=jQuery('input[name="frm_export_forms[]"]');"single"===e&&this.checked?(t.prop("disabled",!0),this.removeAttribute("disabled")):t.prop("disabled",!1)}function so(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function co(e){e.preventDefault(),mo(this,"frm_multiple_addons")}function uo(e){e.preventDefault(),mo(this,"frm_activate_addon")}function fo(e){e.preventDefault(),mo(this,"frm_install_addon")}function mo(e,t){r(1105).toggleAddonState(e,t)}function _o(){go()}function po(e){!function(e,t,r){var n=jQuery("#frm_leave_email_error");n.removeClass("frm_hidden").attr("frm-error",r),jQuery("#frm_leave_email").one("keyup",function(){n.addClass("frm_hidden")})}(0,0,e)}function go(){var e=document.getElementById("frmapi-email-form");jQuery.ajax({dataType:"json",url:e.getAttribute("data-url"),success:function(t){var r=t.renderedHtml;r=r.replace(/]*(formidableforms.css|action=frmpro_css)[^>]*>/gi,""),e.innerHTML=r}})}function yo(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function ho(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),bo(t,r,this)}function vo(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),bo(this,t,r)}function bo(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r .frm-with-line").forEach(function(e){var t=e.nextElementSibling;if(t){var r=t.querySelectorAll(":scope > li.frmbutton"),n=Array.from(r).every(function(e){return e.classList.contains("frm_hidden")});e.classList.toggle("frm_hidden",n)}}),jQuery(this).trigger("frmAfterSearch")}function xo(e,t){return"s"!==t&&"s"!==e[e.length-1]&&(e+"s").includes(t)}function Eo(e){e.stopPropagation()}function ko(e,t){var r=document.createEvent("HTMLEvents");r.initEvent(t,!1,!0),e.dispatchEvent(r)}function Ao(e,t){var r,n=new XMLHttpRequest,i="string"==typeof e?e:Object.keys(e).map(function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])}).join("&");return n.open("post",ajaxurl,!0),n.onreadystatechange=function(){if(n.readyState>3&&200==n.status){r=n.responseText;try{r=JSON.parse(r)}catch(e){}t(r)}},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.setRequestHeader("Content-type","application/x-www-form-urlencoded"),n.send(i),n}function So(e,t){e.classList.add("frm-fade"),setTimeout(t,1e3)}function Lo(e){jQuery(e).css("visibility","hidden")}function Io(e){jQuery(e).css("visibility","visible")}function Bo(e,t){return r(4260).initModal(e,t)}function qo(e,t){if("#"===t){var r=document.getElementById(e),n=r.style.display;r.style.display="none"===n?"block":"none"}else e.is(":visible")?e.hide():e.show()}function Co(){window.onbeforeunload=null;var e=jQuery(window);e.off("beforeunload.widgets"),e.off("beforeunload.edit-post")}function No(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);if(null!==t&&"form"===t.dataset.type)if(t=jQuery(t),this.options[this.selectedIndex].value){t.find(".frm-not-set")[0].classList.add("frm_hidden");var r=t.find(".frm-embed-message");r.html(r.data("embedmsg")+this.options[this.selectedIndex].text),t.find(".frm-embed-field-placeholder")[0].classList.remove("frm_hidden")}else t.find(".frm-not-set")[0].classList.remove("frm_hidden"),t.find(".frm-embed-field-placeholder")[0].classList.add("frm_hidden")}function To(){var e=jQuery(this).closest(".frm-single-settings"),t=e.find(".frmjs_product_choices"),r=e.find(".frm_prod_options_heading"),n=this.options[this.selectedIndex].value;t.removeClass("frm_prod_type_single frm_prod_type_user_def"),r.removeClass("frm_prod_user_def"),"single"===n?t.addClass("frm_prod_type_single"):"user_def"===n&&(t.addClass("frm_prod_type_user_def"),r.addClass("frm_prod_user_def"))}function Oo(e){var t=document.getElementById("frm_field_id_"+e);return null!==t&&"product"===t.getAttribute("data-type")}function Fo(){var e=function(e,t){return window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]},t=function(e,t,r){window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]=r},r=[1,2,3,4,5,6,7,8,9,10,11,12].map(function(e){return"frm"+e}),i=["first","middle","last"];document.addEventListener("change",function(o){o.target.matches(".frm_name_layout_dropdown")&&function(o){var a,l=o.target.value.split("_"),s=o.target.dataset.fieldId,d=document.querySelector("#field_"+s+"_inner_container .frm_combo_inputs_container"),c=(a=l.length,"frm"+parseInt(12/a));i.forEach(function(e){var i,o=d.querySelector('[data-sub-field-name="'+e+'"]');o&&(o.classList.add("frm_hidden"),(i=o.classList).remove.apply(i,n(r)),t(s,e,o))}),l.forEach(function(t){var r=e(s,t);r&&(r.classList.remove("frm_hidden"),r.classList.add(c),d.append(r))}),i.forEach(function(e){var r=document.querySelector(".frm_sub_field_options-"+e+'[data-field-id="'+s+'"]');r&&(r.classList.add("frm_hidden"),t(s,e+"_options",r))}),l.forEach(function(t){var r=e(s,t+"_options");r&&r.classList.remove("frm_hidden")})}(o)},!1)}function Do(e,t){var r,n,i,o=!1,a=!1;(r=t.newOption?(new DOMParser).parseFromString(t.newOption,"text/html").body.childNodes[0]:t).querySelectorAll("svg").forEach(function(e,t){(n=e.getElementsByTagNameNS("http://www.w3.org/2000/svg","use")[0])&&("#frm_drag_icon"===(i=Bi(n))&&(o=!0),"#frm_save_icon"===i&&(a=!0))}),o||r.prepend(v.drag.cloneNode(!0)),r.querySelector("[id^=field_key_".concat(e,"-]"))&&!a&&r.querySelector("[id^=field_key_".concat(e,"-]")).after(v.save.cloneNode(!0)),t.newOption&&(t.newOption=r)}function Mo(){var e=document.getElementById("frm_leave_email").value.trim();if(""!==e)if(!1!==/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e)){var t=jQuery("#frmapi-email-form").find("form"),r=t.find('[type="email"]').not(".frm_verify");if(r.length){if(document.getElementById("frm_empty_inbox")){document.getElementById("frm-add-my-email-address").remove();var n=document.getElementById("frm_leave_email_wrapper");if(n){n.classList.add("frm_hidden");var i=c({className:"frm-wait frm_spinner"});i.style.visibility="visible",i.style.float="none",i.style.width="unset",n.parentElement.insertBefore(i,n.nextElementSibling)}}r.val(e),jQuery.ajax({type:"POST",url:t.attr("action"),data:t.serialize()+"&action=frm_forms_preview"}).done(function(e){if(jQuery(e).find(".frm_message").text().trim().includes("Thanks!")){var t=document.getElementById("frmapi-email-form").parentElement.querySelector(".frm_spinner");t&&t.remove(),wp.hooks.applyFilters("frm_thank_you_on_signup",!0)&&document.getElementById("frm_leave_email_wrapper").replaceWith(c(I("Thank you for signing up!","formidable")))}else po("invalid")})}}else po("invalid");else po("empty")}function Po(e){if(O||e.stopPropagation(),!(e.target.classList.contains("frm-show-box")||e.target.parentElement&&e.target.parentElement.classList.contains("frm-show-box"))){var t=document.getElementById("frm_adv_info");t&&(t.dataset.fills===e.target.id&&void 0!==e.target.id||e.target.closest("#frm_adv_info")||"none"===t.style.display||Vi(t))}}return{init:function(){var e,t,i,o,a,l,s;!function(){jQuery(document).on("click","#frm-add-my-email-address",function(e){e.preventDefault(),Mo()});var e=document.getElementById("frm_empty_inbox"),t=document.getElementById("frm_leave_email");if(e&&t){var r=document.getElementById("frm-leave-email-modal");r.classList.remove("frm_hidden"),r.querySelector(".frm_modal_footer").classList.add("frm_hidden"),t.addEventListener("keyup",function(e){if("Enter"===e.key){var t=document.getElementById("frm-add-my-email-address");t&&t.click()}})}}(),t=document.querySelector(".frm-admin-footer-links"),i=null!==(e=document.querySelector(".frm_page_container"))&&void 0!==e?e:document.getElementById("wpbody-content"),t&&i&&(i.append(t),t.classList.remove("frm_hidden")),document.addEventListener("show.bs.dropdown",function(){z()}),C={},jQuery(".wp-admin").on("click",function(e){var t=jQuery(e.target),r=jQuery(".dropdown.open");!r.length||t.hasClass("dropdown")||t.closest(".dropdown").length||r.removeClass("open")}),jQuery("#frm_bs_dropdown:not(.open) a").on("click",At),void 0===E&&(E=jQuery(document.getElementById("form_id")).val()),document.querySelectorAll(".frm-warning-dismiss").forEach(function(e){_(e,St)}),frmAdminBuild.inboxBannerInit(),b.length>0?frmAdminBuild.buildInit():null!==document.getElementById("frm_notification_settings")?frmAdminBuild.settingsInit():null!==document.getElementById("frm_styling_form")?frmAdminBuild.styleInit():null!==document.getElementById("form_global_settings")?frmAdminBuild.globalSettingsInit():null!==document.getElementById("frm_export_xml")?frmAdminBuild.exportInit():null!==document.querySelector(".frm-inbox-wrapper")?frmAdminBuild.inboxInit():null!==document.getElementById("frm-welcome")?frmAdminBuild.solutionInit():(function(){if(document.body.classList.contains("frm-admin-page-entries")){var e=document.getElementById("screen-options-wrap");if(e){var t=d({className:"frm_warning_style",text:I("Only 10 columns can be selected at a time.","formidable")});t.style.margin=0;var r=e.querySelector("legend");r.parentNode.insertBefore(t,r.nextElementSibling);var n=Array.from(e.querySelectorAll('input[type="checkbox"]')),i=function(){n.reduce(function(e,t){return t.checked?e+1:e},0)>=10?(t.classList.remove("frm_hidden"),n.forEach(function(e){e.checked||(e.parentNode.classList.add("frm_noallow"),e.disabled=!0)})):t.classList.add("frm_hidden")};i(),n.forEach(function(e){e.addEventListener("change",function(e){e.target.checked?i():(t.classList.add("frm_hidden"),n.forEach(function(e){e.parentNode.classList.remove("frm_noallow"),e.disabled=!1}))})})}}}(),yo(),jQuery("[data-frmprint]").on("click",function(){return window.print(),!1})),jQuery(document).on("change","select[data-toggleclass], input[data-toggleclass]",Qi),function(){function e(e){var t=e.options[e.selectedIndex];e.querySelectorAll("option[data-dependency]:not([data-dependency-skip])").forEach(function(e){var r=document.querySelector(e.dataset.dependency);null==r||r.classList.toggle("frm_hidden",t!==e)})}document.querySelectorAll("select.frm_select_with_dependency").forEach(e),frmDom.util.documentOn("change","select.frm_select_with_dependency",function(t){return e(t.target)})}(),(jQuery(document.getElementById("frm_adv_info")).length>0||jQuery(".frm_field_list").length>0)&&frmAdminBuild.panelInit(),o=jQuery(".wrap, .frm_wrap"),a=document.getElementById("frm_confirm_modal"),l=!1,s=!1,jQuery(a).on("click","[data-deletefield]",Qr),jQuery(a).on("click","[data-removeid]",R),jQuery(a).on("click","[data-trashtemplate]",wo),o.on("click",".frm_remove_tag, .frm_remove_form_action",R),o.on("click","a[data-frmverify]",F),o.on("click","a[data-frmtoggle]",P),o.on("click","a[data-frmhide], a[data-frmshow]",H),o.on("change","input[data-frmhide], input[data-frmshow]",H),o.on("click",".widget-top,a.widget-action",G),o.on("mouseenter.frm",".frm_bstooltip, .frm_help",function(){jQuery(this).off("mouseenter.frm"),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e;(r.hasAttribute("data-toggle")||r.hasAttribute("data-bs-toggle"))&&(r.parentElement.setAttribute("title",r.getAttribute("title")),r.removeAttribute("title"),r.classList.remove("frm_bstooltip"),r.parentElement.classList.add("frm_bstooltip"),r=r.parentElement),jQuery(r).tooltip(),t&&(z(),jQuery(r).tooltip("show"))}(this,!0)}),jQuery(document).on("click","#doaction, #doaction2",function(e){var t="doaction"===this.id?"top":"bottom",r=document.getElementById("bulk-action-selector-"+t),n=document.getElementById("confirm-bulk-delete-"+t);if(null!==r&&null!==n){if(l=this,!s&&"bulk_delete"===r.value)return e.preventDefault(),D(n),!1}else l=!1}),jQuery(document).on("click","#frm-confirmed-click",function(e){if(!1!==l&&!e.target.classList.contains("frm-btn-inactive"))return"confirm-bulk-delete"===this.getAttribute("href")?(e.preventDefault(),s=!0,l.click(),!1):void 0}),r(4260).initUpgradeModal(),frmDom.util.documentOn("click","[data-modal-title]",Kn);var c=jQuery(document.getElementById("frm_shortcodediv"));c.length>0&&(jQuery("a.edit-frm_shortcode").on("click",function(){return c.is(":hidden")&&(c.slideDown("fast"),this.style.display="none"),!1}),jQuery(".cancel-frm_shortcode","#frm_shortcodediv").on("click",function(){return c.slideUp("fast"),c.siblings("a.edit-frm_shortcode").show(),!1})),jQuery(document).on("click","#frm-nav-tabs a",W),jQuery(".post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a").on("click",function(){var e=this.classList.contains("frm_show_upgrade_tab");if(!this.classList.contains("frm_noallow")||e)return e&&Jn(this),U(this),!1}),U(jQuery(".starttab a"),"auto"),jQuery(document).on("click","#frm-fid-search-menu a",function(){var e=this.id.replace("fid-","");return jQuery('select[name="fid"]').val(e),zn(document.getElementById("posts-filter")),!1}),jQuery(".frm_select_box").on("click focus",function(){this.select()}),jQuery(document).on("input search change",".frm-auto-search:not(#frm-form-templates-page #template-search-input)",Qo),jQuery(document).on("focusin click",".frm-auto-search",Eo);var u=jQuery(".frm-auto-search");""!==u.val()&&u.trigger("keyup"),FrmFormsConnect.init(),jQuery(document).on("click",".frm-install-addon",fo),jQuery(document).on("click",".frm-activate-addon",uo),jQuery(document).on("click",".frm-solution-multiple",co),jQuery("button, input[type=submit]").on("click",Co),document.addEventListener("click",function(e){if("LABEL"===e.target.nodeName){var t=e.target.getAttribute("for");if(t){var r=document.getElementById(t);if(r&&r.nextElementSibling){var n=r.nextElementSibling.querySelector("button.dropdown-toggle.multiselect");n&&setTimeout(function(){return n.click()},0)}}}}),frmAdminBuild.hooks.addFilter("frm_before_embed_modal",function(e,t){var r,n,i=t.element;if("form"!==t.type)return e;var o=i.closest("tr");if(o)r=parseInt(o.querySelector(".column-id").textContent),n=o.querySelector(".column-form_key").textContent;else{r=document.getElementById("form_id").value;var a=document.getElementById("frm_form_key");if(a)n=a.value;else{var l=document.getElementById("frm-previewDrop");l&&(n=l.nextElementSibling.querySelector(".dropdown-item a").getAttribute("href").split("form=")[1])}}return[r,n]}),document.querySelectorAll("#frm-show-fields > li, .frm_grid_container li").forEach(function(e,t){e.addEventListener("click",function(){var e,t,r;t=(null===(e=this.querySelector("li"))||void 0===e?void 0:e.dataset.fid)||this.dataset.fid,(r=document.querySelectorAll("[id^=frm_delete_field_".concat(t,"-]"))).length<2||n(r).slice(1).forEach(function(e,r){e.classList.contains("frm_other_option")||Do(t,e)})})});var f=document.getElementById("frm_small_screen_proceed_button");f&&_(f,function(){var e;null===(e=document.getElementById("frm_small_device_message_container"))||void 0===e||e.remove(),p("small_screen_proceed",new FormData)});var m=document.getElementById("frm_sale_banner"),g=null==m?void 0:m.querySelector(".dismiss");m&&(_(m,function(e){e.target.closest(".dismiss")||(window.location.href=m.getAttribute("data-url"))}),g&&_(g,function(){m.remove();var e=new FormData;p("sale_banner_dismiss",e)}))},buildInit:function(){var e,t,r;jQuery("#frm_builder_page").on("mouseup","*:not(.frm-show-box)",Po),g=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return frmDom.util.debounce(e,t)}(ie,10),y=document.getElementById("post-body-content"),h=jQuery(y),jQuery(".frm_field_loading").length&&Ee(jQuery(".frm_field_loading").first().attr("id")),V("ul.frm_sorting"),document.querySelectorAll(".field_type_list > li:not(.frm_show_upgrade)").forEach(X),jQuery("ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a").disableSelection(),jQuery(".frm_submit_ajax").on("click",Hn),jQuery(".frm_submit_no_ajax").on("click",Gn),Un(),jQuery("a.edit-form-status").on("click",Sn),jQuery(".cancel-form-status").on("click",Ln),jQuery(".save-form-status").on("click",function(){var e=jQuery(document.getElementById("form_change_status")).val();return jQuery('input[name="new_status"]').val(e),jQuery(document.getElementById("form-status-display")).html(e),jQuery(".cancel-form-status").trigger("click"),!1}),jQuery(".frm_form_builder form").first().on("submit",function(){jQuery(".inplace_field").trigger("blur")}),so(),Fr(),e=jQuery(j),t=document.getElementById("frm_form_editor_container"),e.on("click",".frm_add_logic_row",Ar),e.on("click",".frm_add_watch_lookup_row",Lr),e.on("change",".frm_get_values_form",Tr),e.on("change",".frm_logic_field_opts",wn),e.on("frm-multiselect-changed",'select[name^="field_options[admin_only_"]',In),jQuery(document.getElementById("frm-insert-fields")).on("click",".frm_add_field",Ae),b.on("click",".frm_clone_field",Be),e.on("blur",'input[id^="frm_calc"]',Je),e.on("change","input.frm_format_opt, input.frm_max_length_opt",lt),e.on("change click","[data-changeme]",ot),e.on("click","input.frm_req_field",st),e.on("click",".frm_mark_unique",ct),e.on("change",".frm_repeat_format",Jr),e.on("change",".frm_repeat_limit",Xr),e.on("change",".frm_js_checkbox_limit",Yr),e.on("input",'input[name^="field_options[add_label_"]',function(){Zr(this,"add")}),e.on("input",'input[name^="field_options[remove_label_"]',function(){Zr(this,"remove")}),e.on("change",'select[name^="field_options[data_type_"]',Or),jQuery(t).on("click",".frm-collapse-page",Dr),jQuery(t).on("click",".frm-collapse-section",Hr),e.on("click",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",zr),e.on("keydown",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),zr.call(this,e))}),jQuery(t).on("show.bs.dropdown hide.bs.dropdown",He),e.on("click",".frm_toggle_sep_values",yt),e.on("click",".frm_toggle_image_options",ht),e.on("click",".frm_remove_image_option",Et),e.on("click",".frm_choose_image_box",xt),e.on("change",".frm_hide_image_text",Qt),e.on("change",".frm_field_options_image_size",jt),e.on("click",".frm_multiselect_opt",kt),b.on("mousedown","input, textarea, select",Lt),b.on("click","input[type=radio], input[type=checkbox]",Lt),b.on("click",".frm_delete_field",Nt),b.on("click",".frm_select_field",Tt),jQuery(document).on("click",".frm_delete_field_group",Ot),jQuery(document).on("click",".frm_clone_field_group",Ft),jQuery(document).on("click","#frm_field_group_controls > span:first-child",Dt),jQuery(document).on("click",".frm-row-layout-option",Yt),jQuery(document).on("click",".frm-merge-fields-into-row .frm-row-layout-option",Zt),jQuery(document).on("click",".frm-custom-field-group-layout",tr),jQuery(document).on("click",".frm-merge-fields-into-row .frm-custom-field-group-layout",nr),jQuery(document).on("click",".frm-break-field-group",sr),b.on("click","#frm_field_group_popup .frm_grid_container input",dr),jQuery(document).on("click",".frm-cancel-custom-field-group-layout",cr),jQuery(document).on("click",".frm-save-custom-field-group-layout",fr),b.on("click","ul.frm_sorting",mr),jQuery(document).on("click",".frm-merge-fields-into-row",br),jQuery(document).on("click",".frm-delete-field-groups",wr),b.on("click",'.frm-field-action-icons [data-toggle="dropdown"]',function(){this.closest("li.form-field").classList.add("frm-field-settings-open"),jQuery(document).on("click","#frm_builder_page",Te)}),b.on("mousemove","ul.frm_sorting",Oe),b.on("show.bs.dropdown",".frm-field-action-icons",Me),jQuery(document).on("show.bs.dropdown","#frm_field_group_controls",Pe),e.on("click",".frm_single_option a[data-removeid]",It),e.on("mousedown",".frm_single_option input[type=radio]",Bt),e.on("focusin",".frm_single_option input[type=text]",qt),e.on("click",".frm_add_opt",_t),e.on("change",".frm_single_option input",tn),e.on("change",".frm_image_id",tn),e.on("change",".frm_toggle_mult_sel",pt),b.on("click",".frm_primary_label",Gr),b.on("click",".frm_description",Wr),b.on("click","li.ui-state-default:not(.frm_noallow)",Vr),b.on("dblclick","li.ui-state-default",Kr),e.on("change",".frm_tax_form_select",en),e.on("change","select.conf_field",ut),e.on("change",".frm_get_field_selection",Qn),e.on("click",".frm-show-inline-modal",Cn),e.on("keydown",".frm-show-inline-modal",function(e){var t=e.key;"Enter"!==t&&" "!==t||(e.preventDefault(),Cn.call(this,e))}),e.on("click",".frm-inline-modal .dismiss",Nn),jQuery(document).on("change","[data-frmchange]",On),document.addEventListener("click",Tn),e.on("change",".frm_include_extras_field",et),e.on("change",'select[name^="field_options[form_select_"]',No),jQuery(document).on("submit","#frm_js_build_form",Pi),jQuery(document).on("change","#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea",Mi),nt(),jQuery(document).on("change",".frmjs_prod_data_type_opt",To),jQuery(document).on("focus",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Br),jQuery(document).on("blur",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Cr),frmDom.util.documentOn("click",".frm-show-field-settings",Vr),frmDom.util.documentOn("change","select.frm_format_dropdown, select.frm_phone_type_dropdown",$r),e.on("keydown",'.frm_single_option input[name^="field_options["], .frm_single_option input[name^="rows_"]',function(e){"Enter"===e.key&&function(e){var t=e.closest(".frm_single_option").parentElement.querySelectorAll('.frm_single_option input[name^="field_options[" ], .frm_single_option input[name^="rows_"]'),r=Array.from(t),n=r.indexOf(e);if(!(n<0)){var i=r.slice(n+1).find(function(e){return null!==e.offsetParent});if(i){i.focus();var o=i.value.length;i.setSelectionRange(o,o)}}}(e.currentTarget)}),!1!==(r=Bo("#frm-bulk-modal","700px"))&&(jQuery(".frm-insert-preset").on("click",mt),jQuery(j).on("click","a.frm-bulk-edit-link",function(e){e.preventDefault();var t,n,i,o,a,l="",s=jQuery(this).closest("[data-fid]").data("fid"),d=yn(s),c=Oo(s);if(o=document.getElementById("frm_field_"+s+"_opts")){for(a=o.getElementsByTagName("li"),document.getElementById("bulk-field-id").value=s,t=0;t=a.length-1&&(document.getElementById("frm_bulk_options").value=l);return r.dialog("open"),!1}}),jQuery("#frm-update-bulk-opts").on("click",function(){var e=document.getElementById("bulk-field-id").value;document.getElementById("bulk-option-type").value||(this.classList.add("frm_loading_button"),frmAdminBuild.updateOpts(e,document.getElementById("frm_bulk_options").value,r),Mi())})),qn(),document.addEventListener("frm_added_field",qn),Ie(),Fo(),kn(),frmDom.util.documentOn("change",".frm_show_password_setting_input",function(e){var t=e.target.getAttribute("data-fid"),r=document.getElementById("frm_field_id_"+t);r&&r.classList.toggle("frm_disabled_show_password",!e.target.checked)}),document.addEventListener("scroll",Oi,!0),document.addEventListener("change",Ni),document.querySelector(".frm_form_builder").addEventListener("mousedown",function(e){e.shiftKey&&e.preventDefault()}),wp.hooks.addAction("frmShowedFieldSettings","formidableAdmin",function(e,t){t.querySelectorAll(".frm-collapse-me").forEach(Rr)},9999)},settingsInit:function(){var e,t,r,n,i=jQuery(document.getElementById("frm_notification_settings"));i.on("click",".frm_email_buttons",oi),i.on("click",".frm_remove_field",ai),i.on("change",".frm_to_row, .frm_from_row",li),i.on("change",".frm_tax_selector",ji),i.on("change","select.frm_single_post_field",mi),i.on("change","select.frm_toggle_post_content",_i),i.on("change","select.frm_dyncontent_opt",pi),i.on("change",".frm_post_type",gi),i.on("click",".frm_add_postmeta_row",vi),i.on("click",".frm_add_posttax_row",hi),i.on("click",".frm_toggle_cf_opts",wi),i.on("click",".frm_duplicate_form_action",Zn),jQuery(".frm_actions_list").on("click",".frm_active_action",ti),jQuery("#frm-show-groups, #frm-hide-groups").on("click",ri),so(),jQuery("ul.frm_actions_list li").each(function(){si(jQuery(this).children("a").data("actiontype"));var e=jQuery(this).find("i");"none"!==e.css("background-image")&&e.addClass("frm-inverse")}),jQuery(".frm_submit_settings_btn").on("click",xi),Un(),(e=jQuery(".frm_form_settings")).on("click",".frm_add_form_logic",fi),e.on("click",".frm_already_used",ui),document.addEventListener("click",function(e){var t=e.target;t.closest(".frm_image_preview_wrapper")&&(t.closest(".frm_choose_image_box")?xt.bind(t)(e):t.closest(".frm_remove_image_option")&&Et.bind(t)(e))}),e.on("mouseup","*:not(.frm-show-box)",Po),jQuery(document.getElementById("no_save")).on("change",function(){this.checked&&!0!==confirm(o.no_save_warning)&&jQuery(this).attr("checked",!1)}),jQuery('select[name="options[edit_action]"]').on("change",Yn),t=document.getElementById("logged_in"),jQuery(t).on("change",function(){this.checked?Io(".hide_logged_in"):Lo(".hide_logged_in")}),r=jQuery(document.getElementById("frm_cookie_expiration")),jQuery(document.getElementById("frm_single_entry_type")).on("change",function(){"cookie"===this.value?r.fadeIn("slow"):r.fadeOut("slow")});var a=document.getElementById("single_entry");jQuery(a).on("change",function(){this.checked?Io(".hide_single_entry"):Lo(".hide_single_entry"),this.checked&&"cookie"===jQuery(document.getElementById("frm_single_entry_type")).val()?r.fadeIn("slow"):r.fadeOut("slow")}),jQuery(".hide_save_draft").hide();var l=jQuery(document.getElementById("save_draft"));l.on("change",function(){this.checked?jQuery(".hide_save_draft").fadeIn("slow"):jQuery(".hide_save_draft").fadeOut("slow")}),Rn(l),n=document.getElementById("editable"),jQuery(n).on("change",function(){this.checked?(jQuery(".hide_editable").fadeIn("slow"),Rn(document.getElementById("edit_action"))):(jQuery(".hide_editable").fadeOut("slow"),jQuery(".edit_action_message_box").fadeOut("slow"))}),jQuery(document).on("change","#protect_files",function(){this.checked?jQuery(".hide_protect_files").fadeIn("slow"):jQuery(".hide_protect_files").fadeOut("slow")}),jQuery(document).on("frm-multiselect-changed","#protect_files_role",In),jQuery(document).on("submit",".frm_form_settings",Hi),jQuery(document).on("change","#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea",Mi),yo(),jQuery(document).on("frm-action-loaded",Ki),frmDom.util.documentOn("change",'.frm_on_submit_type input[type="radio"]',function(e){if(e.target.checked){var t=e.target.closest(".frm_form_action_settings");t.querySelectorAll(".frm_on_submit_dependent_setting:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden")}),t.querySelectorAll(".frm_on_submit_dependent_setting[data-show-if-"+e.target.value+"]").forEach(function(e){e.classList.remove("frm_hidden")}),t.setAttribute("data-on-submit-type",e.target.value)}}),wp.hooks.addAction("frm_reset_fields_updated","formidableAdmin",zi)},panelInit:function(){var e,t,r,n;jQuery(".frm_wrap, #postbox-container-1").on("click",".frm_insert_code",Ei),jQuery(document).on("change",".frm_insert_val",function(){ki(jQuery(this).data("target"),jQuery(this).val()),jQuery(this).val("")}),jQuery(document).on("click change",'[name="frm-id-key-condition"]',Li),jQuery(document).on("keyup change",".frm-build-logic",Ii),Xn(),jQuery(document).on("frmElementAdded",function(e,t){Xn(t)}),jQuery(document).on("mousedown",".frm-show-box",Ci),t=document.getElementById("form_settings_page"),r=document.body.classList.contains("post-type-frm_display"),n=document.getElementById("frm_insert_fields_tab"),(null!==t||r||O)&&jQuery(document).on("focusin","form input, form textarea",function(e){var i,o,a,l;if(e.stopPropagation(),qi(this),jQuery(this).is(":not(:submit, input[type=button], .frm-search-input, input[type=checkbox])")){if(jQuery(e.target).closest("#frm_adv_info").length)return;if(null!==t||O)i=jQuery("#frm_html_tab"),jQuery(this).closest("#html_settings").length>0?(i.show(),i.siblings().hide(),jQuery("#frm_html_tab a").trigger("click"),void 0===(l=this.id)||l.includes("-search-input")||(jQuery("#frm-adv-info-tab").attr("data-fills",l.trim()),this.classList.contains("field_custom_html")&&(l="field_custom_html"),a=["after_html","before_html","submit_html","field_custom_html"],jQuery.inArray(l,a)>=0&&(jQuery(".frm_code_list li:not(.show_"+l+")").addClass("frm_hidden"),jQuery(".frm_code_list li.show_"+l).removeClass("frm_hidden")))):((o=jQuery(".frm-category-tabs li"))[0]&&(o[0].style.display=""),n.click(),i.hide(),i.siblings().show());else if(r){var s=new CustomEvent("frm_legacy_views_handle_field_focus");s.frmData={idAttrValue:this.id},document.dispatchEvent(s)}}}),jQuery(".frm_wrap, #postbox-container-1").on("mousedown","#frm_adv_info a, .frm_field_list a",function(e){e.preventDefault()}),(e=jQuery("#frm_adv_info")).on("click",".subsubsub a.frmids",function(e){$i("frmids",e)}),e.on("click",".subsubsub a.frmkeys",function(e){$i("frmkeys",e)})},inboxInit:function(){var e;jQuery(".frm_inbox_dismiss").on("click",function(e){var t=this.parentNode.parentNode,r=t.getAttribute("data-message"),n=this.getAttribute("href"),i=t.cloneNode(!0),o=document.querySelector(".frm-dismissed-inbox-messages");if("free_templates"!==r||this.classList.contains("frm_inbox_dismiss")){e.preventDefault();var a={action:"frm_inbox_dismiss",key:r,nonce:frmGlobal.nonce},l="frm_inbox_slide_in"===t.id;l&&(t.classList.remove("s11-fadein"),t.classList.add("s11-fadeout"),t.addEventListener("animationend",function(){return t.remove()},{once:!0})),Ao(a,function(){if(!l)return"#"!==n?(window.location=n,!0):void So(t,function(){var e;null!==o&&(i.classList.remove("frm-fade"),null===(e=i.querySelector(".frm-inbox-message-heading"))||void 0===e||e.removeChild(i.querySelector(".frm-inbox-message-heading .frm_inbox_dismiss")),o.append(i)),1===t.parentNode.querySelectorAll(".frm-inbox-message-container").length&&(document.getElementById("frm_empty_inbox").classList.remove("frm_hidden"),t.parentNode.closest(".frm-active").classList.add("frm-empty-inbox"),_o()),t.remove()})})}}),!1===(null===(e=document.getElementById("frm_empty_inbox"))||void 0===e?void 0:e.classList.contains("frm_hidden"))&&_o()},solutionInit:function(){jQuery(document).on("submit","#frm-new-template",vo)},styleInit:function(){var e=jQuery(".frm_image_preview_wrapper");e.on("click",".frm_choose_image_box",xt),e.on("click",".frm_remove_image_option",Et),wp.hooks.doAction("frm_style_editor_init")},customCSSInit:function(){console.warn("Calling frmAdminBuild.customCSSInit is deprecated.")},globalSettingsInit:function(){var e;jQuery(document).on("click","[data-frmuninstall]",Ji),so(),null!==(e=document.getElementById("licenses_settings"))&&jQuery(e).on("click",".edd_frm_save_license",Xi),jQuery(document).on("click","#frm-new-template button",ho),jQuery("#frm-dismissable-cta .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_lite_settings_upgrade",nonce:frmGlobal.nonce}),jQuery(".settings-lite-cta").remove()});var t=document.getElementById("frm_re_type");t&&t.addEventListener("change",jo),document.querySelector(".frm_captchas").addEventListener("change",function(e){var t,r=null===(t=document.querySelector('.frm_captchas input[checked="checked"]'))||void 0===t?void 0:t.value,n=e.target.value!==r;document.querySelector(".captcha_settings .frm_note_style").classList.toggle("frm_hidden",!n)}),frmDom.util.documentOn("submit",".frm_settings_form",function(){return x=0});var r=document.getElementById("manage_styles_settings");r&&r.addEventListener("change",function(e){var t=e.target;"SELECT"===t.nodeName&&t.dataset.name&&!t.getAttribute("name")&&t.setAttribute("name",t.dataset.name)});var n=document.getElementById("payments_settings"),i=null==n?void 0:n.querySelectorAll('[name="frm_payment_section"]');i&&i.forEach(function(e){e.addEventListener("change",function(){if(e.checked){var t=n.querySelector('label[for="'.concat(e.id,'"]'));t&&t.setAttribute("aria-selected","true"),i.forEach(function(t){if(t!==e){var r=n.querySelector('label[for="'.concat(t.id,'"]'));r&&r.setAttribute("aria-selected","false")}})}})})},exportInit:function(){jQuery(".frm_form_importer").on("submit",Yi),jQuery(document.getElementById("frm_export_xml")).on("submit",eo),jQuery("#frm_export_xml input, #frm_export_xml select").on("change",to),jQuery('input[name="frm_import_file"]').on("change",ro),document.querySelector('select[name="format"]').addEventListener("change",io),jQuery('input[name="frm_export_forms[]"]').on("click",lo),so(),jQuery(".frm-feature-banner .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_dismiss_migrator",plugin:this.id,nonce:frmGlobal.nonce}),this.parentElement.remove()}),ao(no()),document.querySelector("#frm-export-select-all").addEventListener("change",function(e){document.querySelectorAll('[name="frm_export_forms[]"]').forEach(function(t){return t.checked=e.target.checked})})},inboxBannerInit:function(){var e=document.getElementById("frm_banner");if(e){var t=e.querySelector(".frm-banner-dismiss");document.addEventListener("click",function(r){r.target===t&&Ao({action:"frm_inbox_dismiss",key:e.dataset.key,nonce:frmGlobal.nonce},function(){jQuery(e).fadeOut(400,function(){e.remove()})})})}},updateOpts:function(e,t,r){var n=yn(e),i=Oo(e)?"frm_bulk_products":"frm_import_options";jQuery.ajax({type:"POST",url:ajaxurl,data:{action:i,field_id:e,opts:t,separate:n,nonce:frmGlobal.nonce},success:function(t){document.getElementById("frm_field_"+e+"_opts").innerHTML=t,wp.hooks.doAction("frm_after_bulk_edit_opts",e),on(e),void 0!==r&&(r.dialog("close"),document.getElementById("frm-update-bulk-opts").classList.remove("frm_loading_button"))}})},triggerRemoveLogic:function(e,t){jQuery("#frm_logic_"+e+"_"+t+" .frm_remove_tag").trigger("click")},downloadXML:function(e,t,r){var n=ajaxurl+"?action=frm_"+e+"_xml&ids="+t;null!==r&&(n=n+"&is_template="+r),location.href=n},hooks:{applyFilters:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(function(r){var n=E,i=0;"summary"===e&&(i=b.children('li[data-type="break"]').length>0?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:Object.assign(_e(e,0,n,i),{field_options:t}),success:function(t){r(t),setTimeout(function(){En(),Ue(t,!0);var r=ye(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:n})},10)},error:ve})})},confirmLinkClick:D,handleInsertFieldByDraggingResponse:ge,handleAddFieldClickResponse:Le,syncLayoutClasses:ae,moveFieldSettings:ii,maybeCollapseSettings:zr}},window.frmAdminBuild=frmAdminBuildJS(),jQuery(document).ready(function(){var e;frmAdminBuild.init(),document.querySelectorAll(".frm-dropdown-menu").forEach(function(e){e.classList.add("dropdown-menu");var t,r,n=e.querySelector(".frm-dropdown-toggle");n&&(n.hasAttribute("role")||n.setAttribute("role","button"),n.hasAttribute("tabindex")||n.setAttribute("tabindex",0)),"UL"===e.tagName&&(r=(r=(r=(r=(r=(r=(t=e).outerHTML).replace("
        ","")).replaceAll("
      • ",'
      • ",""),t.outerHTML=r)}),null===(e=document.querySelector(".preview.dropdown .frm-dropdown-toggle"))||void 0===e||e.setAttribute("data-bs-toggle","dropdown"),document.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))})}),window.frm_show_div=function(e,t,r,n){t==r?jQuery(n+e).fadeIn("slow").css("visibility","visible"):jQuery(n+e).fadeOut("slow")},window.frmCheckAll=function(e,t){jQuery('input[name^="'+t+'"]').prop("checked",!!e)},window.frmCheckAllLevel=function(e,t,r){jQuery(".frm_catlevel_"+r).children(".frm_checkbox").children("label").children('input[name^="'+t+'"]').prop("checked",!!e)},window.frmGetFieldValues=function(e,t,r,n,i,o){e&&jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_get_field_values¤t_field="+t+"&field_id="+e+"&name="+i+"&t="+n+"&form_action="+jQuery('input[name="frm_action"]').val()+"&nonce="+frmGlobal.nonce,success:function(e){document.getElementById("frm_show_selected_values_"+t+"_"+r).innerHTML=e,"function"==typeof o&&o()}})},window.frmImportCsv=function(e){var t="";"undefined"!=typeof __FRMURLVARS&&(t=__FRMURLVARS),jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_import_csv&nonce="+frmGlobal.nonce+"&frm_skip_cookie=1"+t,success:function(t){var r=jQuery(".frm_admin_progress_bar").attr("aria-valuemax"),n=r-t,i=n/r*100;jQuery(".frm_admin_progress_bar").css("width",i+"%").attr("aria-valuenow",n),parseInt(t,10)>0?(jQuery(".frm_csv_remaining").html(t),frmImportCsv(e)):(jQuery(document.getElementById("frm_import_message")).html(frm_admin_js.import_complete),setTimeout(function(){location.href="?page=formidable-entries&frm_action=list&form="+e+"&import-message=1"},2e3))}})}})(); \ No newline at end of file +(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(8793),i=r(1323);function o(e){var t=(0,n.A)(e);return function(e){return(0,i.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function i(e,t){var r,i,o,a,l,s,d=[];for(r=0;r{"use strict";r.d(t,{A:()=>i});var n=r(65);function i(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,i,o,a;function l(e){for(var t,r,l,s,d=[],c=[];t=e.match(a);){for(r=t[0],(l=e.substr(0,t.index).trim())&&d.push(l);s=c.pop();){if(o[r]){if(o[r][0]===s){r=o[r][1]||r;break}}else if(i.indexOf(s)>=0||n[s]l}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},i=["(","?"],o={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){return function(r,o,a){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,s=e[t];if((0,i.A)(r)&&(0,n.A)(o))if("function"==typeof a)if("number"==typeof l){var d={callback:a,priority:l,namespace:o};if(s[r]){var c,u=s[r].handlers;for(c=u.length;c>0&&!(l>=u[c-1].priority);c--);c===u.length?u[c]=d:u.splice(c,0,d),s.__current.forEach(function(e){e.name===r&&e.currentIndex>=c&&e.currentIndex++})}else s[r]={handlers:[d],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,o,a,l)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,i=e[t];return null!==(r=null===(n=i.__current[i.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(7395);const i=function(e,t){return function(r){var i=e[t];if((0,n.A)(r))return i[r]&&i[r].runs?i[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some(function(e){return e.namespace===n}):r in i}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(3029),i=r(7521),o=r(4194),a=r(8830),l=r(6763),s=r(11),d=r(3561),c=r(5375),u=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,i.A)(this,"actions"),this.addFilter=(0,i.A)(this,"filters"),this.removeAction=(0,o.A)(this,"actions"),this.removeFilter=(0,o.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,o.A)(this,"actions",!0),this.removeAllFilters=(0,o.A)(this,"filters",!0),this.doAction=(0,l.A)(this,"actions"),this.applyFilters=(0,l.A)(this,"filters",!0),this.currentAction=(0,s.A)(this,"actions"),this.currentFilter=(0,s.A)(this,"filters"),this.doingAction=(0,d.A)(this,"actions"),this.doingFilter=(0,d.A)(this,"filters"),this.didAction=(0,c.A)(this,"actions"),this.didFilter=(0,c.A)(this,"filters")};const f=function(){return new u}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(6956),i=r(7395);const o=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o,a){var l=e[t];if((0,i.A)(o)&&(r||(0,n.A)(a))){if(!l[o])return 0;var s=0;if(r)s=l[o].handlers.length,l[o]={runs:l[o].runs,handlers:[]};else for(var d=l[o].handlers,c=function(e){d[e].namespace===a&&(d.splice(e,1),s++,l.__current.forEach(function(t){t.name===o&&t.currentIndex>=e&&t.currentIndex--}))},u=d.length-1;u>=0;u--)c(u);return"hookRemoved"!==o&&e.doAction("hookRemoved",o,a),s}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,l=new Array(a>1?a-1:0),s=1;s{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>d});var n=r(4467),i=r(5397);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},l),n.data[t]),e),n.data[t][""]=a(a({},l[""]),n.data[t][""])},u=function(e,t){c(e,t),d()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||c(void 0,e),n.dcnpgettext(e,t,r,i,o)},m=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},_=function(e,t,n){var i=f(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+m(n),i,e,t,n)):i};if(e&&u(e,t),r){var p=function(e){s.test(e)&&d()};r.addAction("hookAdded","core/i18n",p),r.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:u,resetLocaleData:function(e,t){n.data={},n.pluralForms={},u(e,t)},subscribe:function(e){return o.add(e),function(){return o.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+m(t),n,e,t)):n},_x:_,_n:function(e,t,n,i){var o=f(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+m(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=f(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+m(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===_("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,l=t?t+""+e:e,s=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[l]);return r&&(s=r.applyFilters("i18n.has_translation",s,e,t,i),s=r.applyFilters("i18n.has_translation_"+m(i),s,e,t,i)),s}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),i=r(2133),o=(0,n.h)(void 0,void 0,i.se),a=(o.getLocaleData.bind(o),o.setLocaleData.bind(o),o.resetLocaleData.bind(o),o.subscribe.bind(o),o.__.bind(o));o._x.bind(o),o._n.bind(o),o._nx.bind(o),o.isRTL.bind(o),o.hasTranslation.bind(o)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),i=r.n(n);r(7604),i()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>c,afterAddonInstall:()=>d,extractErrorFromAddOnResponse:()=>s,toggleAddonState:()=>l});var n=r(9575),i=frmDom,o=i.div,a=i.svg;function l(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var i=jQuery(e),o=i.attr("rel"),a=i.parent(),l=a.parent().find(".addon-status-label");i.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:o},success:function(e){var r,n,o;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(o=e.saveAndReload),e=e.message);var u=s(e);u?c(u,a,i):(d(e,i,l,a,o,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){i.removeClass("frm_loading_button")}})}function s(e){return"string"!=typeof e&&!e.success&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function d(e,t,r,i,l){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",d=frm_admin_js,c=document.querySelectorAll(".frm-addon-status");c.forEach(function(t){t.textContent=e,t.style.display="block"}),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach(function(e){e.style.display="none"}),function(){var e=document.getElementById("frm_upgrade_modal");if(e){e.classList.add("frm-success");var t=e.querySelector(".frm-upgrade-message");if(t){var r=t.querySelector("img");t.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&t.append(r)}var i=document.querySelector(".frm-addon-status");i&&(i.textContent="");var o,l=e.querySelector(".frm-circled-icon");if(l)l.classList.add("frm-circled-icon-green"),null===(o=l.querySelector("svg"))||void 0===o||o.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:d.active},frm_deactivate_addon:{class:"frm-addon-installed",message:d.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:d.not_installed}};f.frm_install_addon=f.frm_activate_addon;var m=r[0];m&&(m.textContent=f[s].message);var _=i[0].parentElement;_.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),_.classList.add(f[s].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(l)&&c.forEach(function(e){var t=null!==e.closest("#frm_upgrade_modal");e.append(function(e,t){var r,i=[u(e)];return t&&i.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),o({className:"frm-save-and-reload-options",children:i})}(l,t))})}function c(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",f)):(t.append('

        '+e.message+"

        "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function u(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()}),t}function f(e){e.preventDefault();var t=jQuery(this),r=t.parent().parent(),n=t.attr("rel");t.addClass("frm_loading_button"),jQuery.ajax({url:ajaxurl,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:"frm_install_addon",nonce:frmAdminJs.nonce,plugin:n,hostname:r.find("#hostname").val(),username:r.find("#username").val(),password:r.find("#password").val()},success:function(e){var n,i,o=s(e=null!==(n=null===(i=e)||void 0===i?void 0:i.data)&&void 0!==n?n:e);o?c(o,r,t):d(e,t,message,r)},error:function(){t.removeClass("frm_loading_button")}})}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>o,initModal:()=>a,initUpgradeModal:()=>l});var n=r(9575),i=frmDom.svg;function o(e,t,r){var o;if("modal"===t)o=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;o=document.getElementById(e.getAttribute("href").substr(1))}var a,l=o.querySelector(".frm-oneclick"),s=o.querySelector(".frm-upgrade-message"),d=o.querySelector(".frm-upgrade-link"),c=o.querySelector(".frm-oneclick-button"),u=o.querySelector(".frm-addon-status"),f=e.getAttribute("data-oneclick"),m=e.getAttribute("data-message"),_="block",p="block",g="none",y=o.querySelector(".frm-circled-icon");y&&(y.classList.remove("frm-circled-icon-green"),null===(a=y.querySelector("svg"))||void 0===a||a.replaceWith(i({href:"#frm_filled_lock_icon"})));var h=o.querySelector(".frm-learn-more");if(h&&(h.href=e.dataset.learnMore),null!==l&&null!==c&&void 0!==f&&f){null===m&&(p="none"),_="none",g="block",f=JSON.parse(f),c.className=c.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),c.className=c.className+" "+f.class,c.rel=f.url,l.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),c.textContent=(0,n.__)("Activate","formidable");var v=e.querySelector("use");v&&(null==y||y.querySelector("svg").replaceWith(i({href:v.getAttribute("href")||v.getAttribute("xlink:href"),classList:["frm_svg32"]})))}m||(m=s.getAttribute("data-default")),void 0!==r&&(m=m.replace('',r)),s.innerHTML=m,e.dataset.upsellImage&&s.append(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),d.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,d),u.style.display="none",l&&(l.style.display=g),c&&(c.style.display="block"===g?"inline-block":g),s.style.display=p,d.style.display="block"===_?"inline-block":_;var b=d.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===_?"flex":_)}function a(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function l(){var e=a("#frm_upgrade_modal");function t(t){var r,n,i;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var l=r.options[r.selectedIndex];l&&l.dataset.upgrade&&(r=l)}if(!r.dataset.upgrade){var s=r.closest("[data-upgrade]");if(!s){if(!(s=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=s}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var d=r.dataset.upgrade;if(d&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var c=e.get(0),u=c.querySelector(".frm_lock_icon");u&&(u.style.display="block",u.classList.remove("frm_lock_open_icon"),u.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",m=document.getElementById(f);m&&m.remove(),r.dataset.image&&u&&(u.style.display="none",u.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),u));var _=c.querySelector(".license-level");_&&(_.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),o(r,"modal",d),c.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",c.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",c.querySelector(".frm_feature_label").textContent=d,c.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",c.querySelector("h2").style.display="block",e.dialog("open");var p=c.querySelector(".button-primary:not(.frm-oneclick-button)");n=p.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(i=r.getAttribute("data-content"))&&(i=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+i),p.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,l=r,s=arguments.length;e:for(;l;){if(l.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,l,s,d,c,u,f,m=1,_=e.length,p="";for(n=0;n<_;n++)if("string"==typeof e[n])p+=e[n];else if("object"==typeof e[n]){if((l=e[n]).keys)for(r=t[m],a=0;a=0),l.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,l.width?parseInt(l.width):0);break;case"e":r=l.precision?parseFloat(r).toExponential(l.precision):parseFloat(r).toExponential();break;case"f":r=l.precision?parseFloat(r).toFixed(l.precision):parseFloat(r);break;case"g":r=l.precision?String(Number(r.toPrecision(l.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=l.precision?r.substring(0,l.precision):r;break;case"t":r=String(!!r),r=l.precision?r.substring(0,l.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=l.precision?r.substring(0,l.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=l.precision?r.substring(0,l.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(l.type)?p+=r:(!i.number.test(l.type)||u&&!l.sign?f="":(f=u?"+":"-",r=r.toString().replace(i.sign,"")),d=l.pad_char?"0"===l.pad_char?"0":l.pad_char.charAt(1):" ",c=l.width-(f+r).length,s=l.width&&c>0?d.repeat(c):"",p+=l.align?f+r+s:"0"===d?f+s+r:s+f+r)}return p}(function(e){if(l[e])return l[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],s=t[2],d=[];if(null===(d=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(d[1]);""!==(s=s.substring(d[0].length));)if(null!==(d=i.key_access.exec(s)))a.push(d[1]);else{if(null===(d=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(d[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return l[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var l=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(1364),i={contextDelimiter:"",onMissingKey:null};function o(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},i)this.options[r]=void 0!==t&&r in t?t[r]:i[r]}o.prototype.getPluralForm=function(e,t){var r,i,o,a=this.pluralForms[e];return a||("function"!=typeof(o=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(i=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},4467:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(9922);function i(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},2327:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2284);function i(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=(0,n.A)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},9922:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2284),i=r(2327);function o(e){var t=(0,i.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2284:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}function n(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||i(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){if(e){if("string"==typeof e)return o(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},window.FrmFormsConnect=window.FrmFormsConnect||function(e,t,r){var n={messageBox:null,reset:null,setElements:function(){n.messageBox=e.querySelector(".frm_pro_license_msg"),n.reset=e.getElementById("frm_reconnect_link")}},i={init:function(){n.setElements(),r(e.getElementById("frm_deauthorize_link")).on("click",i.deauthorize),r(".frm_authorize_link").on("click",i.authorize),r(".frm-dashboard-license-options").on("click","#frm_deauthorize_link",i.deauthorize),r(".frm-dashboard-license-options").on("click","#frm_reconnect_link",i.reauthorize),null!==n.reset&&r(n.reset).on("click",i.reauthorize)},authorize:function(){var t=this,n=this.getAttribute("data-plugin"),o=e.getElementById("edd_"+n+"_license_key"),a=o.value,l=e.getElementById("proplug-wpmu");this.classList.add("frm_loading_button"),l=null===l?0:l.checked?1:0,r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_addon_activate",license:a,plugin:n,wpmu:l,nonce:frmGlobal.nonce},success:function(e){i.afterAuthorize(e,o),t.classList.remove("frm_loading_button")}})},afterAuthorize:function(e,t){!0===e.success&&(t.value="•••••••••••••••••••"),wp.hooks.doAction("frm_after_authorize",e),i.showMessage(e)},showProgress:function(e){null===n.messageBox&&n.setElements();var t=n.messageBox;null!==t&&(!0===e.success?(t.classList.remove("frm_error_style"),t.classList.add("frm_message","frm_updated_message")):(t.classList.add("frm_error_style"),t.classList.remove("frm_message","frm_updated_message")),t.classList.remove("frm_hidden"),t.innerHTML=e.message)},showMessage:function(r){null===n.messageBox&&n.setElements();var o=n.messageBox;!0===r.success&&(i.showAuthorized(!0),i.showInlineSuccess(),wp.hooks.doAction("frmAdmin.afterLicenseAuthorizeSuccess",{msg:r})),i.showProgress(r),""!==r.message&&(setTimeout(function(){o.innerHTML="",o.classList.add("frm_hidden"),o.classList.remove("frm_error_style","frm_message","frm_updated_message")},1e4),e.querySelector(".frm-admin-page-dashboard")&&setTimeout(function(){t.location.reload()},1e3))},showAuthorized:function(t){var r=t?"unauthorized":"authorized",n=t?"authorized":"unauthorized",i=e.querySelectorAll(".frm_"+r+"_box");i.length&&i.forEach(function(e){e.className=e.className.replace("frm_"+r+"_box","frm_"+n+"_box")})},showInlineSuccess:function(){var t=e.querySelectorAll(".frm-confirm-msg [data-success]");t.length&&t.forEach(function(e){e.innerHTML=frmAdminBuild.purifyHtml(e.getAttribute("data-success"))})},reauthorize:function(){return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,dataType:"json",data:{action:"frm_reset_cache",plugin:"formidable_pro",nonce:frmGlobal.nonce},success:function(e){n.reset.textContent=e.message,"1"===n.reset.getAttribute("data-refresh")&&t.location.reload()}}),!1},deauthorize:function(){if(!confirm(frmGlobal.deauthorize))return!1;var t=this.getAttribute("data-plugin"),n=e.getElementById("edd_"+t+"_license_key"),o=n.value,a=this;return this.innerHTML='',r.ajax({type:"POST",url:ajaxurl,data:{action:"frm_addon_deactivate",license:o,plugin:t,nonce:frmGlobal.nonce},success:function(){i.showAuthorized(!1),n.value="",a.replaceWith("Disconnected"),wp.hooks.doAction("frmAdmin.afterLicenseDeauthorizeSuccess",{})}}),!1}};return i}(document,window,jQuery),window.frmAdminBuildJS=function(){var e,t,o=frm_admin_js,l=frmDom,s=l.tag,d=l.div,c=l.span,u=l.a,f=l.svg,m=l.img,_=frmDom.util.onClickPreventDefault,p=frmDom.ajax.doJsonPost;o.contextualShortcodes=(t=null===(e=document.getElementById("frm_adv_info"))||void 0===e?void 0:e.dataset.contextualShortcodes)?((t=JSON.parse(t)).addressSelector="[id^=email_to], [id^=from_], [id^=cc], [id^=bcc]",t.bodySelector="[id^=email_message_]",t):[];var g,y,h,v={save:f({href:"#frm_save_icon"}),drag:f({href:"#frm_drag_icon",classList:["frm_drag_icon","frm-drag"]})},b=jQuery(document.getElementById("frm-show-fields")),j=document.getElementById("new_fields"),w=document.getElementById("form_id"),Q=!1,x=0,E=0,k=0,A={},S=0,L=wp.i18n,I=L.__,B=L.sprintf,q={dragging:!1};null!==w&&(E=w.value);var C,N=new URL(window.location.href),T=N.searchParams,O=document.getElementById("frm_builder_page");function F(e){e.stopPropagation(),e.preventDefault(),D(this)}function D(e){var t=e.getAttribute("data-frmverify"),r=e.getAttribute("data-loaded-from");return null===t||"frm-confirmed-click"===e.id||("entries-list"===r?wp.hooks.applyFilters("frm_on_multiple_entries_delete",{link:e,initModal:Bo}):function(e){var t,r,n,i,o,a=Bo("#frm_confirm_modal","400px"),l=document.getElementById("frm-confirmed-click");if(!1===a)return!1;if(l&&(l.style.display="block"),o=(t=e.getAttribute("data-frmverify"))?e.getAttribute("data-frmverify-btn"):"",(r=jQuery(".frm-confirm-msg")).empty(),t&&(r.append(document.createTextNode(t)),o&&(null==l||l.classList.add(o))),i=e.dataset,l){for(n in l.dataset)l.removeAttribute("data-"+n);for(n in i)"frmverify"!==n&&l.setAttribute("data-"+n,i[n])}return wp.hooks.doAction("frmAdmin.beforeOpenConfirmModal",{$info:a,link:e}),a.dialog("open"),null==l||l.setAttribute("href",e.getAttribute("href")||e.getAttribute("data-href")),!1}(e))}function M(e){var t=Bo("#frm_info_modal","400px");return!1===t||(jQuery(".frm-info-msg").html(e),t.dialog("open")),!1}function P(e){var t=this.getAttribute("data-frmtoggle"),r=this.getAttribute("data-toggletext"),n=jQuery(t);return e.preventDefault(),n.toggle(),null!==r&&""!==r&&(this.setAttribute("data-toggletext",this.innerHTML),this.textContent=r),!1}function H(e){var t=this.getAttribute("data-frmhide"),r=this.getAttribute("data-frmshow"),n=this.getAttribute("data-frmuncheck"),i=n?n.split(","):[];"INPUT"!==this.nodeName||"checkbox"!==this.type||this.checked||(null!==t?(r=t,t=null):null!==r&&(t=r,r=null)),e.preventDefault();var o=this.getAttribute("data-toggleclass")||"frm_hidden";null!==t&&jQuery(t).addClass(o),null!==r&&jQuery(r).removeClass(o);var a=this.parentNode.querySelectorAll("a.current");if(null!==a){for(var l=0;l1&&(e="",t=""):0===i.indexOf("frm_postmeta_")&&(jQuery("#frm_postmeta_rows .frm_postmeta_row").length<2&&(e=".frm_add_postmeta_row.button"),jQuery(".frm_toggle_cf_opts").length&&jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().length&&(""!==e&&(e+=","),e+="#"+jQuery("#frm_postmeta_rows .frm_postmeta_row:not(#"+i+")").last().attr("id")+" .frm_toggle_cf_opts"));var o=document.getElementById(i),a=jQuery(o);return a.fadeOut(300,function(){var r;a.remove(),Mi(),""!==t&&jQuery(t).hide(),""!==e&&jQuery(e+" a,"+e).removeClass("frm_hidden").fadeIn("slow"),this.closest(".frm_form_action_settings")&&function(e){si(e);var t={type:e};wp.hooks.doAction("frm_after_action_removed",t)}(this.closest(".frm_form_action_settings").querySelector(".frm_action_name").value),null===(r=document.querySelector(".tooltip"))||void 0===r||r.remove()}),void 0!==r&&(r=jQuery(r)).fadeOut(400,function(){r.remove()}),""!==e&&jQuery(this).closest(".frm_logic_rows").fadeOut("slow"),wp.hooks.doAction("frm_admin_tag_removed",i,o),!1}}function G(e,t){void 0===t&&(t=this),Ze(t,!1);var r=jQuery(t).closest(".frm_form_action_settings"),n=e.target;if(r.length&&void 0!==n){var i=n.parentElement.className;if("string"==typeof i&&(i.includes("frm_email_icons")||i.includes("frm_toggle")))return void e.stopPropagation()}var o=r.children(".widget-inside");if(r.length&&o.find("p, div, table").length<1){var a=r.find('input[name$="[ID]"]').val(),l=r.find('input[name$="[post_excerpt]"]').val();l&&(o.html(''),r.find(".spinner").fadeIn("slow"),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_form_action_fill",action_id:a,action_type:l,nonce:frmGlobal.nonce},success:function(e){o.html(e),so(),Xn("#"+r.attr("id")),yo(o),jQuery(t).trigger("frm-action-loaded"),wp.hooks.doAction("frm_filled_form_action",o)}}))}jQuery(t).closest(".frm_field_box").siblings().find(".widget-inside").slideUp("fast"),void 0!==t.className&&t.className.includes("widget-action")||jQuery(t).closest(".start_divider").length<1||((o=jQuery(t).closest("div.widget").children(".widget-inside")).is(":hidden")?o.slideDown("fast"):o.slideUp("fast"))}function W(){var e=this.getAttribute("href");if(void 0===e)return!1;var t=e.replace("#","."),r=jQuery(this);r.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),r.closest("div").children(".tabs-panel").not(e).not(t).hide();var n=document.getElementById(e.replace("#",""));return n&&(n.style.display="block"),"frm_insert_fields_tab"!==this.id||this.closest("#frm_adv_info")||$e(),!1}function U(e,t){var r=(e=jQuery(e)).attr("href");if(void 0!==r){var n,i,o=r.replace("#",".");if(e.closest("li").addClass("frm-tabs active").siblings("li").removeClass("frm-tabs active starttab"),e.closest("div").find(".tabs-panel").length)e.closest("div").children(".tabs-panel").not(r).not(o).hide();else if(null!==document.getElementById("form_global_settings")){var a=e.data("frmajax");e.closest(".frm_wrap").find(".tabs-panel, .hide_with_tabs").hide(),void 0!==a&&"1"==a&&(n=r.replace("#",""),(i=jQuery(".frm_"+n+"_ajax")).length&&jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_settings_tab",tab:n.replace("_settings",""),nonce:frmGlobal.nonce},success:function(e){i.replaceWith(e)}}))}else jQuery("#frm-categorydiv .tabs-panel, .hide_with_tabs").hide();jQuery(r).show(),jQuery(o).show(),Vi(),"auto"!==t&&(jQuery(".frm_updated_message").hide(),jQuery(".frm_warning_style").hide()),jQuery(e).closest("#frm_adv_info").length||(jQuery(".frm_form_settings").length?jQuery(".frm_form_settings").attr("action","?page=formidable&frm_action=settings&id="+jQuery('.frm_form_settings input[name="id"]').val()+"&t="+r.replace("#","")):jQuery(".frm_settings_form").attr("action","?page=formidable-settings&t="+r.replace("#","")))}}function V(e){var t,r;document.querySelectorAll(e).forEach(function(e){$(e),Array.from(e.children).forEach(function(e){return X(e,".frm-move")});var t=jQuery(e).children('[data-type="divider"]').children(".divider_section_only");t.length&&$(t)}),t=jQuery("#frm_builder_page"),r={items:".frm_sortable_field_opts li",axis:"y",opacity:.65,forcePlaceholderSize:!1,handle:".frm-drag",helper:function(e,t){return Q=t.clone().insertAfter(t),t.clone()},stop:function(e,t){Q&&Q.remove(),on(t.item.attr("id").replace("frm_delete_field_","").replace("-"+t.item.data("optkey")+"_container","")),Mi()}},jQuery(t).sortable(r)}function $(e){jQuery(e).droppable({accept:".frmbutton, li.frm_field_box",deactivate:re,over:K,out:J,tolerance:"pointer"})}function K(e,t){var r=function(e){return e.classList.contains("divider_section_only")&&(e=jQuery(e).nextAll(".start_divider.frm_sorting").get(0)),e}(e.target);if(!je(t.draggable[0],r,e))return r.classList.remove("frm-over-droppable"),void jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable");document.querySelectorAll(".frm-over-droppable").forEach(function(e){return e.classList.remove("frm-over-droppable")}),r.classList.add("frm-over-droppable"),jQuery(r).parents("ul.frm_sorting").addClass("frm-over-droppable")}function J(e){e.target.classList.remove("frm-over-droppable")}function X(e,t){var r={helper:Y,revert:"invalid",delay:10,start:Z,stop:ee,drag:te,cursor:"grabbing",refreshPositions:!0,cursorAt:{top:0,left:90}};"string"==typeof t&&(r.handle=t),jQuery(e).draggable(r)}function Y(e){var t,r=e.delegateTarget;if(Qe(r)){var n=document.getElementById("frm-insert-fields").querySelector(".frm_ttext").cloneNode(!0);return n.querySelector("use").setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_field_group_layout_icon"),n.querySelector("span").textContent=I("Field Group","formidable"),n.classList.add("frm_field_box"),n.classList.add("ui-sortable-helper"),n}if(r.classList.contains("frmbutton"))return(t=r.cloneNode(!0)).classList.add("ui-sortable-helper"),r.classList.add("frm-new-field"),t;if(r.hasAttribute("data-ftype")){var i=r.getAttribute("data-ftype");if(t=document.getElementById("frm-insert-fields").querySelector(".frm_t"+i))return(t=t.cloneNode(!0)).classList.add("form-field"),t.classList.add("ui-sortable-helper"),t.cloneNode(!0)}return d({className:"frmbutton"})}function Z(e,t){if(e.target.classList.contains("frm_at_limit"))return Se(),!1;q.dragging=!0;var r,n=y;n.classList.add("frm-dragging-field"),document.body.classList.add("frm-dragging"),t.helper.addClass("frm-sortable-helper"),t.helper.initialOffset=n.scrollTop,e.target.classList.add("frm-drag-fade"),yr(),(r=document.querySelectorAll("ul.start_divider")).length&&r.forEach(function(e){[].slice.call(e.children).forEach(function(e){(0===e.children.length||1===e.children.length&&"ul"===e.firstElementChild.nodeName.toLowerCase()&&0===e.firstElementChild.children.length)&&e.remove()})}),Fe(),Ne(),z()}function ee(){y.classList.remove("frm-dragging-field"),document.body.classList.remove("frm-dragging");var e=document.querySelector(".frm-drag-fade");e&&e.classList.remove("frm-drag-fade")}function te(e,t){!function(e){h.scrollTop(function(t,r){var n=e.clientY,i=y.offsetHeight,o=e.clientY-y.offsetTop,a=o-i/2;return o>i-50&&n>5?r+.1*a:o<70&&n<130?r-Math.abs(.1*a):r})}(e);var r=e.target,n=function(){for(var e=document.getElementById("frm-show-fields");e.querySelector(".frm-over-droppable");)e=e.querySelector(".frm-over-droppable");return"frm-show-fields"!==e.id||e.classList.contains("frm-over-droppable")||(e=!1),e}(),i=document.getElementById("frm_drag_placeholder");if(je(r,n,e)){i||(i=s("li",{id:"frm_drag_placeholder",className:"sortable-placeholder"}));var o,a=t.helper.get(0);if((a.classList.contains("form-field")||a.classList.contains("frm_field_box"))&&(a.style.transform="translateY("+(o=t.helper,y.scrollTop-o.initialOffset+"px)")),"frm-show-fields"===n.id||n.classList.contains("start_divider"))return i.style.left=0,void function(e){var t,r=e.y,n=e.placeholder,i=jQuery(e.droppable),o=i.children().not(".edit_field_type_end_divider");if(0===o.length)i.prepend(n),t=0;else{var a=ne(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().top+l.outerHeight(),i.append(n);var s=i.children(".edit_field_type_end_divider");s.length&&i.append(s)}else t=jQuery(o.get(a)).offset().top,jQuery(o.get(a)).before(n)}t-=i.offset().top,n.style.top=t+"px"}({droppable:n,y:e.clientY,placeholder:i});i.style.top="",function(e){var t,r=e.x,n=e.placeholder,i=jQuery(e.droppable),o=oe(i);if(o.length){var a=function(e,t){var r,n,i,o,a=oe(e);for(o=0,r=a.length-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().left)){o=r,t>i+jQuery(n).outerWidth()/2&&(o=r+1);break}return o}(i,r);if(a===o.length){var l=jQuery(o.get(a-1));t=l.offset().left+l.outerWidth(),i.append(n)}else t=jQuery(o.get(a)).offset().left,jQuery(o.get(a)).before(n),t-=0===a?4:8;t-=i.offset().left,n.style.left=t+"px"}}({droppable:n,x:e.clientX,placeholder:i})}else i&&i.remove()}function re(e,t){if(q.dragging){q.dragging=!1;var r=t.draggable[0],n=document.getElementById("frm_drag_placeholder");if(!n)return t.helper.remove(),void g();!function(e){if(e.previousElementSibling&&e.previousElementSibling.classList.contains("frm-is-collapsed")){var t=jQuery(e).prevUntil('[data-type="break"]');if(t.length){var r=t.find(".frm-collapse-page").get(0);r&&r.click()}}}(n);var i=t.helper.parent(),o=t.helper.get(0).closest("ul.start_divider"),a=n.closest("ul.start_divider");r.classList.contains("frm-new-field")?function(e){if(pe(e))wp.hooks.doAction("frm_stopped_inserting_by_dragging",e);else{var t=document.getElementById("frm_drag_placeholder"),r=e.replace("|","-")+"_"+be(),n=s("li",{id:r,className:"frm-wait frmbutton_loadingnow"}),i=jQuery(n),o=ce(jQuery(t)),a=ue(o),l=fe(o);t.parentNode.insertBefore(n,t),t.remove(),ae(i);var d=0;"summary"===e&&(d=jQuery(".frmbutton_loadingnow#"+r).prevAll('li[data-type="break"]').length?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:_e(e,l,a,d),success:function(t){ge(t,i);var r=ye(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:a})},error:ve})}}(r.id):(function(e,t){t.parentNode.insertBefore(e,t)}(r,n),function(e){if("UL"===e.nodeName&&!e.classList.contains("start_divider")&&"frm-show-fields"!==e.id){var t=e.closest("li");t&&!t.classList.contains("ui-draggable")&&X(t,".frm-move")}}(n.parentElement));var l=o?parseInt(o.closest(".edit_field_type_divider").getAttribute("data-fid")):0,d=a?parseInt(a.closest(".edit_field_type_divider").getAttribute("data-fid")):0;n.remove(),t.helper.remove();var c=i.length?oe(i):[];!function(e,t){var r;e.length&&(t.length?ae(t.first()):(r=e.get(0).closest("li.frm_field_box"))&&!r.classList.contains("edit_field_type_divider")&&r.remove())}(i,c),function(e,t){0===t.length&&1===oe(jQuery(e.parentNode)).length||ae(jQuery(e))}(r,c),l!==d&&me(jQuery(r),o),g()}}function ne(e,t){var r,n,i,o,a=e.children().not(".edit_field_type_end_divider"),l=a.length;if(!document.querySelector(".frm-has-fields .frm_no_fields"))return 0;for(o=0,r=l-1;r>=0;--r)if(n=a.get(r),t>(i=jQuery(n).offset().top)){o=r,t>i+jQuery(n).outerHeight()/2&&(o=r+1);break}return o}function ie(){document.querySelectorAll("ul#frm-show-fields, ul.start_divider").forEach(function(e){e.childNodes.forEach(function(e){void 0!==e.classList&&(e.classList.contains("edit_field_type_end_divider")||void 0!==e.classList&&e.classList.contains("form-field")&&We(e))})}),kn(),document.querySelectorAll(".edit_field_type_end_divider").forEach(function(e){return e.parentNode.append(e)}),document.querySelectorAll("li.form_field_box:not(.form-field)").forEach(function(e){return!e.children.length&&e.remove()}),En();var e=new Event("frm_sync_after_drag_and_drop",{bubbles:!1});document.dispatchEvent(e)}function oe(e){var t=jQuery(),r=e.get(0);return r.children?(Array.from(r.children).forEach(function(e){if("none"!==e.style.display){var r=e.classList;!r.contains("form-field")||r.contains("edit_field_type_end_divider")||r.contains("frm-sortable-helper")||(t=t.add(e))}}),t):t}function ae(e,t){var r,n,i,o;void 0===t&&(t="even"),r=e.parent().children("li.form-field, li.frmbutton_loadingnow").not(".edit_field_type_end_divider"),n=r.length,i=["frm_full","frm_half","frm_third","frm_fourth","frm_sixth","frm_two_thirds","frm_three_fourths","frm1","frm2","frm3","frm4","frm5","frm6","frm7","frm8","frm9","frm10","frm11","frm12"],"even"===t&&5!==n?r.each(de(i,$t(n))):"clear"===t?r.each(de(i,"")):(o=["left","right","middle","even"].includes(t)?function(e){return Vt(n,t,e)}:function(e){return lr(t[e])},r.each(de(i,o))),le(e.parent(),r.length)}function le(e,t){var r,n;if(void 0!==e.offset()){if(r=t>=2,null===(n=document.getElementById("frm_field_group_controls"))){if(!r)return;(n=d()).id="frm_field_group_controls",n.setAttribute("role","group"),n.setAttribute("tabindex",0),function(e){var t,r;(t=document.createElement("span")).innerHTML='';var n=I("Set Row Layout","formidable");se(t,n),zt(t,n),(r=document.createElement("span")).innerHTML='',r.classList.add("frm-move");var i=I("Move Field Group","formidable");se(r,i),zt(r,i),e.innerHTML="",e.append(t),e.append(r),e.append(function(){var e=c({className:"dropdown"}),t=u({className:"frm_bstooltip frm-hover-icon frm-dropdown-toggle dropdown-toggle",children:[c({child:f({href:"#frm_thick_more_vert_icon"})}),c({className:"screen-reader-text",text:I("Toggle More Options Dropdown","formidable")})]});frmDom.setAttributes(t,{title:I("More Options","formidable"),"data-bs-toggle":"dropdown","data-bs-container":"body","data-bs-display":"static"}),zt(t,I("More Options","formidable")),e.append(t);var r=d({className:"frm-dropdown-menu dropdown-menu dropdown-menu-right"});return r.setAttribute("role","menu"),e.append(r),e}())}(n),O.append(n)}e.append(n),n.style.display=r?"block":"none"}}function se(e,t){e.setAttribute("data-bs-toggle","tooltip"),e.setAttribute("data-bs-container","body"),e.setAttribute("title",t),e.addEventListener("mouseover",function(){null===e.getAttribute("data-original-title")&&jQuery(e).tooltip()})}function de(e,t){return function(r){var n,i,o,a,l,s,d;for(n="function"==typeof t?t(r):t,i=e.length,l=!1,o=0;o0&&document.getElementById("form_id").value!==r||(i.last_row_field_ids=function(){var e=document.querySelector(".edit_field_type_submit");if(!e)return[];for(var t=e.parentNode.children,r=[],n=0;nt.childElementCount-1:o<=jQuery(t.querySelector(".edit_field_type_submit").closest("#frm-show-fields > li")).index()}if(n)return!(t.classList.contains("start_divider")||!we(t.parentElement)&&(!we(t.parentElement.nextElementSibling)||e.parentElement.querySelector("li.frm_field_box:not(.edit_field_type_submit)")));var a,l,s,d=t.classList.contains("start_divider")&&null!==t.closest(".repeat_section"),c=null!==t.closest(".repeat_section");if(d||c){if(e.classList.contains("edit_field_type_gdpr")||"gdpr"===e.id)return!1;if(wp.hooks.applyFilters("frm_deny_drop_in_repeater",!1,e))return!1}if(!d){if(a=oe(jQuery(t)),l=jQuery(e),!(a.length<12)&&(a.length>12||(s=l.attr("data-fid"),1!==jQuery(a).filter('[data-fid="'+s+'"]').length)))return!1;if("divider"===e.id&&t.closest(".start_divider"))return!1}return e.classList.contains("frm-new-field")?function(e,t){var r=e.classList,n=r.contains("frm_tbreak"),i=r.contains("frm_thidden"),o=r.contains("frm_tdivider"),a=r.contains("frm_tform"),l=r.contains("frm_tuser_id");return"frm-show-fields"===t.id||t.classList.contains("start_divider")?!(n||i||o||a)||(!(t.classList.contains("start_divider")||null!==t.closest(".start_divider"))||!a&&!o):!(xe(t)||i||n||l)}(e,t):function(e,t){if(Qe(e))return function(e,t){return!(!t.classList.contains("start_divider")||null!==e.querySelector(".start_divider"))}(e,t);if(e.classList.contains("edit_field_type_break"))return!1;if(t.classList.contains("start_divider"))return function(e){return!e.classList.contains("edit_field_type_form")&&!e.querySelector(".edit_field_type_form")&&!(e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"))}(e);var r=e.classList.contains("edit_field_type_hidden"),n=e.classList.contains("edit_field_type_user_id");return!r&&!n&&function(e,t){if(xe(t))return!1;if(jQuery(e).children("ul.frm_sorting").not(".start_divider").length>0)return!1;var r=e.classList.contains("edit_field_type_divider")||e.querySelector(".edit_field_type_divider"),n=e.classList.contains("edit_field_type_form");return null===t.closest(".start_divider")||!r&&!n}(e,t)}(e,t)}function we(e){return e&&e.matches("#frm-show-fields > li:last-child")}function Qe(e){return e.classList.contains("frm_field_box")&&!e.classList.contains("form-field")}function xe(e){return null!==e.querySelector(".edit_field_type_break, .edit_field_type_hidden, .edit_field_type_user_id")}function Ee(e){var t=document.getElementById(e),r=jQuery(t),n=[],i=function(e){var t=e.querySelector(".frm_hidden_fdata");e.classList.add("frm_load_now"),null!==t&&n.push(t.innerHTML)};i(t);for(var o=ke(t);o&&n.length<15;)i(o),o=ke(o);jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_load_field",field:n,form_id:E,nonce:frmGlobal.nonce},success:function(e){return function(e,t,r){var n,i;if(0===(e=e.replace(/^\s+|\s+$/g,"")).indexOf("{")){for(n in e=JSON.parse(e)){jQuery("#frm_field_id_"+n).replaceWith(e[n]);var o=document.getElementById("frm_field_id_"+n);o&&(o.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))}),o.querySelectorAll(".frm-dropdown-menu").forEach(function(e){return e.classList.add("dropdown-menu")})),V("#frm_field_id_"+n+".edit_field_type_divider ul.frm_sorting"),X(document.getElementById("frm_field_id_"+n))}((i=t.nextAll(".frm_field_loading:not(.frm_load_now)")).length||(i=jQuery(document.getElementById("frm-show-fields")).find(".frm_field_loading:not(.frm_load_now)")).length)&&Ee(i.attr("id")),so(),Fr(),Ie();var a=new Event("frm_ajax_loaded_field",{bubbles:!1});a.frmFields=r.map(function(e){return JSON.parse(e)}),document.dispatchEvent(a)}else jQuery(".frm_load_now").removeClass(".frm_load_now").html("Error")}(e,r,n)}})}function ke(e){var t;return e.nextElementSibling?e.nextElementSibling:null===(t=e.parentNode)||void 0===t||null===(t=t.closest(".frm_field_box"))||void 0===t||null===(t=t.nextElementSibling)||void 0===t?void 0:t.querySelector(".form-field")}function Ae(){var e=jQuery(this);if(e.hasClass("disabled"))return!1;var t=e.closest(".frmbutton"),r=t.attr("id");if(t.hasClass("frm_at_limit"))return Se(),!1;if(!pe(r)){var n=0;"summary"===r&&(n=b.children('li[data-type="break"]').length>0?1:0);var i=E;return jQuery.ajax({type:"POST",url:ajaxurl,data:_e(r,0,i,n),success:function(e){Le(e);var t=ye(e);t&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:e,fieldId:t,fieldType:r,form_id:i})},error:ve}),!1}}function Se(){var e=document.querySelector(".frm_wrap");if(e){var t=document.createElement("a");t.setAttribute("data-frmverify",I("This field type has reached its limit.","formidable")),e.append(t),t.click(),t.remove();var r=document.getElementById("frm-confirmed-click");r&&(r.style.display="none")}}function Le(e){document.getElementById("frm_form_editor_container").classList.add("frm-has-fields");var t=Ge(e),r=b[0].querySelector(".edit_field_type_submit");r?jQuery(r.closest(".frm_field_box:not(.form-field)")).before(t):b.append(t),Ue(e,!0),t.each(function(){$(this.querySelector("ul.frm_sorting")),X(this.querySelector(".form-field"),".frm-move")})}function Ie(){var e=!0,t=document.querySelectorAll(".frmjs_prod_field_opt_cont");b.find("li.edit_field_type_product").length>1&&(e=!1);for(var r=0;r',i.append(document.createTextNode(" ")),i.append(o),n.append(i),e.append(n)})}(t,!0===e),(r=jQuery(t)).offset().left>jQuery(window).width()-r.outerWidth()?t.style.left=-r.outerWidth()+"px":y&&r.offset().left").addClass("frm_field_box").html(jQuery("
          ").addClass("frm_grid_container frm_sorting").append(e)))}),r}function We(e){var t=s("ul",{className:"frm_grid_container frm_sorting"}),r=s("li",{className:"frm_field_box",child:t});e.replaceWith(r),t.append(e),$(t),X(r,".frm-move")}function Ue(e,t){var r,n,i=/id="(\S+)"/.exec(e),o=document.getElementById(i[1]),l="#"+i[1]+".edit_field_type_divider ul.frm_sorting.start_divider",s=jQuery(l),c=o.getAttribute("data-type");r=e,(n=d()).innerHTML=r,n.querySelectorAll(".form-field").forEach(Ve);var u,f,m=!1;if(Mi(),V(l),"quantity"===c&&function(e){var t=e.getAttribute("data-fid"),r=document.getElementById("field_options[product_field_"+t+"]");null!==r&&(rt(r),ii(document.getElementById("frm-single-settings-"+t)))}(o),"product"!==c&&"quantity"!==c||Ie(),s.length)s.parent(".frm_field_box").children(".frm_no_section_fields").addClass("frm_block");else{var _=jQuery(o).closest("ul.frm_sorting.start_divider");_.length&&(An(_),m=!0)}e.includes("frm-collapse-page")&&Fr(),f="frm-newly-added",(u=o).classList?u.classList.add(f):u.className+=" "+f,setTimeout(function(){o.classList.remove("frm-newly-added")},1e3);var p,g=o.querySelector("#frm-last-row-fields-order");if(g&&((p=JSON.parse(g.value))&&"object"===a(p)&&Object.keys(p).forEach(function(e){var t=document.querySelector('input[name="field_options[field_order_'+e+']"]');t&&(t.value=p[e])})),t){var y=o.getBoundingClientRect(),h=document.getElementById("post-body-content");y.top>=0&&y.left>=0&&y.right<=(window.innerWidth||document.documentElement.clientWidth)&&y.bottom<=(window.innerHeight||document.documentElement.clientHeight)||h.scroll({top:h.scrollHeight,left:0,behavior:"smooth"}),!1===m&&An(s)}Ke(),so(),document.getElementById("frm-show-fields").classList.remove("frm-over-droppable"),function(e){var t=document.getElementById(e);t&&t.dataset.limit&&kr(e)>=t.dataset.limit&&t.classList.add("frm_at_limit")}(c),o.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))}),o.querySelectorAll(".frm-dropdown-menu").forEach(function(e){return e.classList.add("dropdown-menu")});var v=new Event("frm_added_field",{bubbles:!1});v.frmField=o,v.frmSection=l,v.frmType=c,v.frmToggles=m,document.dispatchEvent(v)}function Ve(e){if(e.dataset.fid){var t=document.getElementById("draft_fields");t&&(""===t.value?t.value=e.dataset.fid:t.value.split(",").includes(e.dataset.fid)||(t.value+=","+e.dataset.fid))}}function $e(e){jQuery("#new_fields .frm-single-settings").addClass("frm_hidden"),jQuery("#frm-options-panel > .frm-single-settings").removeClass("frm_hidden"),Ke(e)}function Ke(e){jQuery("li.ui-state-default.selected").removeClass("selected"),jQuery(".frm-show-field-settings.selected").removeClass("selected"),e||yr()}function Je(){var e=this.value,t=function(e){var t,r=[],n=e.split(""),i=n.length,a=["{","[","("],l={"}":"{",")":"(","]":"["},s=!1;for(t=0;t0||s?o.unmatched_parens+"\n\n":""}(e);t+=function(e,t){var r=function(e,t){var r="";return function(e){return jQuery(e).siblings('label[for^="calc_type"]').children("input").prop("checked")}(t)||/\[(date|time|email|ip)\]/.test(e)&&(r=o.text_shortcodes+"\n\n"),r}(e,t);return r+=function(e){var t="";return/\[id\]|\[key\]|\[if\s\w+\]|\[foreach\s\w+\]|\[created-at(\s*)?/g.test(e)&&(t+=o.view_shortcodes+"\n\n"),t}(e)}(e,this),""!==t&&M(e+"\n\n"+t)}function Xe(e,t){for(var r=!1,n=0;n"+l[t].fieldName+"")):(r=r?" checked":"",i.push('"));e.innerHTML=i.join("")}function nt(){for(var e=document.querySelectorAll(".frmjs_prod_field_opt"),t=0;t'):(c.innerHTML=_n(d),"TEXTAREA"===c.nodeName&&c.classList.contains("wp-editor-area")&&jQuery(c).trigger("change"),c.classList.contains("frm_primary_label")&&"break"===c.nextElementSibling.getAttribute("data-ftype")&&(c.nextElementSibling.querySelector(".frm_button_submit").textContent=d)))}function at(e){var t=parseFloat(e.getAttribute("max")),r=parseFloat(e.getAttribute("min"));return(t-r)/2+r}function lt(){var e,t=this.getAttribute("data-fid"),r="";["field_options_max_","frm_format_"].forEach(function(e){var n=document.getElementById(e+t);n&&(r+=n.value)}),"text"===(e=document.getElementsByName("field_options[type_"+t+"]")[0]).options[e.selectedIndex].value&&dt(""!==r,".frm_invalid_msg"+t)}function st(){var e=this.id.replace("frm_","").replace("req_field_",""),t=this.checked,r=jQuery("#field_label_"+e+" .frm_required");if(dt(t,".frm_required_details"+e),t){var n=jQuery('input[name="field_options[required_indicator_'+e+']"]');""===n.val()&&n.val("*"),r.removeClass("frm_hidden")}else r.addClass("frm_hidden")}function dt(e,t){var r=jQuery(t);if(e)r.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");else{var n=r.fadeOut("fast").closest(".frm_validation_box"),i=n.css("display","block").children(":not("+t+"):visible").length;n.css("display",""),0===i&&r.closest(".frm_validation_msg").fadeOut("fast")}}function ct(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(".frm_unique_details"+e);if(this.checked){t.fadeIn("fast").closest(".frm_validation_msg").fadeIn("fast");var r=jQuery(".frm_unique_details"+e+" input");""===r.val()&&r.val(o.default_unique)}else{var n=t.fadeOut("fast").closest(".frm_validation_box"),i=n.css("display","block").children(":not(.frm_unique_details"+e+"):visible").length;n.css("display",""),0===i&&t.closest(".frm_validation_msg").fadeOut("fast")}}function ut(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=jQuery(this).val(),r=jQuery(document.getElementById("frm_field_id_"+e));if(dt(""!==t,".frm_conf_details"+e),""!==t){var n=jQuery(".frm_validation_box .frm_conf_details"+e+" input");""===n.val()&&n.val(o.default_conf),function(e){var t=document.getElementsByName("field_options[type_"+e+"]")[0].value;ft(document.getElementById("field_description_"+e),"field_options[description_"+e+"]",o["enter_"+t]),ft(document.getElementById("conf_field_description_"+e),"field_options[conf_desc_"+e+"]",o["confirm_"+t])}(e),"inline"===t?r.removeClass("frm_conf_below").addClass("frm_conf_inline"):"below"===t&&r.removeClass("frm_conf_inline").addClass("frm_conf_below"),jQuery(".frm-conf-box-"+e).removeClass("frm_hidden")}else jQuery(".frm-conf-box-"+e).addClass("frm_hidden"),setTimeout(function(){r.removeClass("frm_conf_inline frm_conf_below")},200)}function ft(e,t,r){e.innerHTML===o.desc&&(e.innerHTML=r,document.getElementsByName(t)[0].value=r)}function mt(e){var t=JSON.parse(this.getAttribute("data-opts"));return e.preventDefault(),document.getElementById("frm_bulk_options").value=t.join("\n"),!1}function _t(){var e,t,r,n,i=jQuery(this).closest(".frm-single-settings").data("fid"),o=jQuery("#frm_field_"+i+"_opts .frm_option_template").prop("outerHTML"),a=jQuery(this).data("opttype"),l=0,s=function(e){for(var t=0,r=0,n=jQuery("#frm_field_"+e+"_opts li"),i=0;ti||"000"===i)&&(i=r)}return i}(i);if("000"!==s&&(l=s+1),"other"===a){document.getElementById("other_input_"+i).value=1;var d=jQuery(this).data("ftype");"radio"!==d&&"select"!==d||jQuery(this).fadeOut("slow");var c={action:"frm_add_field_option",field_id:i,opt_key:l,opt_type:a,nonce:frmGlobal.nonce};jQuery.post(ajaxurl,c,function(e){jQuery(document.getElementById("frm_field_"+i+"_opts")).append(e),on(i)})}else{o=(o=(o=(o=(o=o.replace(new RegExp('optkey="000"',"g"),'optkey="'+l+'"')).replace(new RegExp("-000_","g"),"-"+l+"_")).replace(new RegExp('-000"',"g"),"-"+l+'"')).replace(new RegExp("\\[000\\]","g"),"["+l+"]")).replace("frm_hidden frm_option_template",""),Do(i,o={newOption:o});var u=this.closest(".frm_single_option");u?u.after(o.newOption):jQuery("#frm_field_".concat(i,"_opts")).append(o.newOption),on(i)}null==(n=(e=this).classList.contains("frm-add-option-legacy")?null===(t=e.closest(".frm-collapse-me"))||void 0===t?void 0:t.querySelector(".frm_sortable_field_opts"):e.closest(".frm_sortable_field_opts"))||null===(r=n.querySelectorAll(".frm_remove_tag.frm_disabled"))||void 0===r||r.forEach(function(e){return e.classList.remove("frm_disabled")}),Mi()}function pt(){gt(jQuery(this).closest(".frm-single-settings").data("fid"),this.value)}function gt(e,t){var r=jQuery(".frm_multiple_cont_"+e);"select"===t?r.fadeIn("fast"):r.fadeOut("fast")}function yt(){var e=jQuery(this).closest(".frm-single-settings").data("fid");qo(jQuery(".field_"+e+"_option_key")),jQuery(".field_"+e+"_option").toggleClass("frm_with_key")}function ht(){var e,t,r=jQuery(this).closest(".frm-single-settings"),n=r.data("fid"),i=document.getElementById("frm_field_id_"+n);wt(jQuery(this)),qo(jQuery(".field_"+n+"_image_id")),qo(jQuery(".frm_toggle_image_options_"+n)),qo(jQuery(".frm_image_size_"+n)),qo(jQuery(".frm_alignment_"+n)),qo(jQuery(".frm-add-other#frm_add_field_"+n)),(e=hn(n))?(bt(n,"inline"),vt(i),t=nn(n),i.classList.add("frm_image_options"),i.classList.add("frm_image_size_"+t),r.find(".frm-bulk-edit-link").hide()):(i.classList.remove("frm_image_options"),vt(i),bt(n,"block"),r.find(".frm-bulk-edit-link").show()),wp.hooks.doAction("frm_image_options_toggled",r[0],e)}function vt(e){e.classList.remove("frm_image_size_","frm_image_size_small","frm_image_size_medium","frm_image_size_large","frm_image_size_xlarge")}function bt(e,t){jQuery("#field_options_align_"+e).val(t).trigger("change")}function jt(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);Qt(),hn(e)&&(vt(t),t.classList.add("frm_image_options"),t.classList.add("frm_image_size_"+nn(e)))}function wt(e){var t=e.closest(".frm-single-settings").data("fid");jQuery(".field_"+t+"_option").trigger("change")}function Qt(){wt(jQuery(this))}function xt(e){var t,r=e.target.closest(".frm_image_preview_wrapper");if(null!==(t=wp)&&void 0!==t&&t.media&&(null==r||!r.dataset.upgrade)){e.preventDefault(),wp.media.model.settings.post.id=0;var n=wp.media.frames.file_frame=wp.media({multiple:!1,library:{type:["image"]}});n.on("select",function(){var e=n.state().get("selection").first().toJSON(),t=r.querySelector("img");t.setAttribute("src",e.url),t.classList.remove("frm_hidden"),t.removeAttribute("srcset"),r.querySelector(".frm_image_preview_frame").style.display="block",r.querySelector(".frm_image_preview_title").textContent=e.filename,r.querySelector(".frm_choose_image_box").style.display="none";var i=jQuery(r);i.siblings('input[name*="[label]"]').data("frmimgurl",e.url),i.find("input.frm_image_id").val(e.id).trigger("change"),wp.media.model.settings.post.id=0}),n.open()}}function Et(e){var t=jQuery(this).closest(".frm_image_preview_wrapper");e.preventDefault(),e.stopPropagation(),t.find("img").attr("src",""),t.find(".frm_image_preview_frame").hide(),t.find(".frm_choose_image_box").show(),t.find("input.frm_image_id").val(0).trigger("change")}function kt(){var e=jQuery(this).closest("li").find(".frm_form_fields select");this.checked?e.attr("multiple","multiple"):e.removeAttr("multiple")}function At(){var e=document.getElementById("dropform-search-input");null!==e&&setTimeout(function(){e.focus()},100)}function St(e){var t=e.target,r=t.closest(".frm_warning_style");jQuery(r).fadeOut(400,function(){return r.remove()});var n=t.dataset.action,i=new FormData;p(n,i)}function Lt(e){e.preventDefault()}function It(){var e,t=this.parentNode,r=t.parentNode,n=r.querySelectorAll("li:not(.frm_hidden)");2===n.length&&(null===(e=Array.from(n).find(function(e){return e!==t}).querySelector(".frm_remove_tag"))||void 0===e||e.classList.add("frm_disabled"));var i,o=this.getAttribute("data-fid");jQuery(t).fadeOut("fast",function(){wp.hooks.doAction("frm_before_delete_field_option",this),jQuery(t).remove(),jQuery(r).find(".frm_other_option").length<1&&(null!==(i=document.getElementById("other_input_"+o))&&(i.value=0),jQuery("#other_button_"+o).fadeIn("fast"))}),Mi()}function Bt(){var e,t,r,n;(e=jQuery(this)).is(":checked")&&(t=function(){setTimeout(function(){e.prop("checked",!1)},0)},r=function(){e.off("mouseup",n)},n=function(){t(),r()},e.on("mouseup",n),e.one("mouseout",r))}function qt(){this.value===o.new_option&&(this.setAttribute("data-value-on-focus",this.value),this.value="")}function Ct(e){return B(I("Are you sure you want to delete these %1$s selected field(s)?","formidable"),e)}function Nt(){var e=o.conf_delete,t=this.parentNode.parentNode.parentNode.parentNode.parentNode,r=t.parentNode,n=jQuery(this).closest("li.form-field"),i=n.data("fid");if("divider"===n.data("ftype")){var a=document.querySelectorAll(".frm-field-group-hover-target .start_divider .frm_field_box"),l=0;a.forEach(function(e){var t=e.querySelectorAll("li.form-field");t&&(l+=t.length)}),l&&(e=Ct(++l))}return r.classList.contains("frm-section-collapsed")||r.classList.contains("frm-page-collapsed")||("divider_section_only"===t.className&&(e=o.conf_delete_sec),this.setAttribute("data-frmverify",e),this.setAttribute("data-frmverify-btn","frm-button-red"),this.setAttribute("data-deletefield",i),Ne(),D(this)),!1}function Tt(){this.closest("li.form-field").click()}function Ot(){var e,t;null!==(e=document.querySelector(".frm-field-group-hover-target"))&&(e.classList.add("frm-selected-field-group"),(t=document.createElement("div")).classList.add("frm-delete-field-groups","frm_hidden"),document.body.append(t),t.click())}function Ft(){var e=document.querySelector(".frm-field-group-hover-target");if(null!==e){var t="frm_field_group_"+be(),r=document.createTextNode("");We(r);var n=jQuery(r).closest("li").get(0);n.classList.add("frm_hidden");var i=n.querySelector("ul");i.id=t,jQuery(e.closest("li.frm_field_box")).after(n);var o=oe(jQuery(e)),a=[],l=[],s=o.length,d={},c=0;jQuery(n).on("frm_added_duplicated_field_to_row",function(e,t){if(d[jQuery(t.duplicatedFieldHtml).attr("data-fid")]=t.originalFieldId,!(s>++c)){var r=jQuery(i),o=oe(r);l.forEach(function(e){e.remove()});for(var u=0;u6?(t.append(Gt(e,"even")),t):(5!==e&&t.append(Gt(e,"even")),e%2==1&&t.append(Gt(e,"middle")),e<6?(t.append(Gt(e,"left")),t.append(Gt(e,"right"))):((r=d()).classList.add("frm_fourth"),t.prepend(r)),t)}(e),null!==(o=t.closest("ul.frm_sorting"))&&function(e,t){var r,n,i;for(r=t.children.length,n=0;n6?"frm_full":e%2==1?"frm_fourth":"frm_third"}return r.classList.add(n),r.setAttribute("layout-type",t),r.append(function(e,t){var r,n,i;for(r=Xt(),n=0;n6?"frm1":[2,3,4,6].includes(e)?lr(12/e):5===e&&void 0!==t?0===t?"frm4":"frm2":"frm12"}function Kt(e){switch(e){case 2:case 3:return"frm3";case 4:case 5:return"frm2";case 6:return"frm1"}return"frm12"}function Jt(e){switch(e){case 2:return"frm9";case 3:case 4:return"frm6";case 5:return"frm4";case 6:return"frm7"}return"frm12"}function Xt(){var e=d();return e.classList.add("frm_grid_container"),e}function Yt(){var e=document.querySelector(".frm-field-group-hover-target");if(e){var t=this.getAttribute("layout-type");ae(oe(jQuery(e)).first(),t),ur()}}function Zt(){var e,t;e=er(),t=this.getAttribute("layout-type"),ae(oe(e).first(),t),yr()}function er(){var e=jQuery(".frm-selected-field-group"),t=e.first();return e.not(t).each(function(){oe(jQuery(this)).each(function(){var e=this.parentNode;oe(t).last().after(this),jQuery(e).children("li.form-field").length||e.closest("li.frm_field_box").remove()})}),En(),ae(oe(t).first()),t}function tr(){null===this.closest(".frm-merge-fields-into-row")&&rr(oe(jQuery(".frm-field-group-hover-target")))}function rr(e){var t,r,n,i,o,a,l,s,c,u,f,m,_,p,g;for(t=e.length,(r=document.getElementById("frm_field_group_popup")).innerHTML="",(n=d()).style.padding="0 24px",i=$t(5===t?6:t),(o=d()).style.padding="20px 0",o.classList.add("frm_grid_container"),5===t&&((a=document.createElement("span")).classList.add("frm1"),o.append(a)),!1!==(l=jr()>0&&or($t(t)))&&l>=12&&(l=Math.floor(12/t)),s=0;s',""),t);e.prepend(r),document.getElementById("frm-field-group-message-dismiss").addEventListener("click",function(){_r(document.getElementById("frm-field-group-message"))})}}(),"ul"===e.originalEvent.target.nodeName.toLowerCase()){var t=document.querySelector(".frm-field-group-hover-target");if(t){var r=e.ctrlKey||e.metaKey,n=e.shiftKey,i=t.classList.contains("frm-selected-field-group"),o=function(){var e=jQuery(".frm-selected-field-group");if(e.length)return e;var t=pr();if(t){var r=t.closest("ul");if(r&&1===oe(jQuery(r)).length)return r.classList.add("frm-selected-field-group"),jQuery(r)}return jQuery()}(),a=o.length;if(r||n){var l=pr();if(null===l||jQuery(l).siblings("li.form-field").length||(l.parentNode.classList.add("frm-selected-field-group"),++a),r){if(i)return--a,t.classList.remove("frm-selected-field-group"),void gr(a);++a}else if(n&&!i){++a;var s=o.first();(s.parent().index()=2||1===e&&oe(jQuery(document.querySelector(".frm-selected-field-group"))).length>1?function(){var e,t,r,n,i;if(null!==(e=document.getElementById("frm_field_multiselect_popup")))return e.classList.toggle("frm-unmergable",!vr()),e;(e=d()).id="frm_field_multiselect_popup",vr()||e.classList.add("frm-unmergable"),(t=d()).classList.add("frm-merge-fields-into-row"),t.textContent=I("Merge into row","formidable"),(r=document.createElement("a")).style.marginLeft="5px",r.classList.add("frm_icon_font","frm_arrowdown6_icon"),r.setAttribute("href","#"),t.append(r),e.append(t),(n=d()).classList.add("frm-multiselect-popup-separator"),e.append(n),(i=d()).classList.add("frm-delete-field-groups"),i.append(Rt("frm_trash_svg")),e.append(i),document.getElementById("post-body-content").append(e),jQuery(e).hide().fadeIn()}():hr(),Fe()}function yr(e){if(void 0!==e){if(null!==e.originalEvent.target.closest("#frm-show-fields"))return;if(e.originalEvent.target.classList.contains("frm-merge-fields-into-row"))return;if(null!==e.originalEvent.target.closest(".frm-merge-fields-into-row"))return;if(e.originalEvent.target.classList.contains("frm-custom-field-group-layout"))return;if(e.originalEvent.target.classList.contains("frm-cancel-custom-field-group-layout"))return}jQuery(".frm-selected-field-group").removeClass("frm-selected-field-group"),jQuery(document).off("click",yr),hr()}function hr(){var e=document.getElementById("frm_field_multiselect_popup");null!==e&&e.remove()}function vr(){var e,t,r,n,i;if(1===(r=(e=document.querySelectorAll(".frm-selected-field-group")).length))return!1;for(t=0,n=0;n12)return!1}return!0}function br(e){var t;null===e.originalEvent.target.closest("#frm_field_group_popup")&&(e.originalEvent.target.classList.contains("frm-custom-field-group-layout")||(t=Ht(jr(),document.querySelector(".frm-selected-field-group").firstChild),this.append(t)))}function jr(){var e=0;return jQuery(document.querySelectorAll(".frm-selected-field-group")).each(function(){e+=oe(jQuery(this)).length}),e}function wr(){var e,t,r,n;n=[],jQuery(".frm-selected-field-group > li.form-field").each(function(){n.push(this.dataset.fid)}),t=function(e){return function(t){t.preventDefault(),function(e){e.forEach(function(e){xr(e)})}(e)}}(e=n),null!==(r=document.getElementById("frm_field_multiselect_popup"))&&r.remove(),this.setAttribute("data-frmverify",Ct(e.length)),D(this);var i=document.getElementById("frm-confirmed-click");null==i||i.removeAttribute("data-deletefield"),jQuery(i).on("click",t),jQuery("#frm_confirm_modal").one("dialogclose",function(){jQuery(i).off("click",t)})}function Qr(){xr(this.getAttribute("data-deletefield"))}function xr(e){var t=jQuery("#frm_field_id_"+e);Er(e),t.hasClass("edit_field_type_divider")&&t.find("li.frm_field_box[data-fid]").each(function(){Er(this.getAttribute("data-fid"))}),kn()}function Er(e){jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_delete_field",field_id:e,nonce:frmGlobal.nonce},success:function(){var t,r,n,i=jQuery(document.getElementById("frm_field_id_"+e)),o=jQuery("#frm-single-settings-"+e);o.is(":visible")&&(null===(t=document.querySelector(".frm-settings-panel .frm-tabs-navs ul > li:first-child"))||void 0===t||t.click(),document.querySelector("#frm-options-panel .frm-single-settings").classList.remove("frm_hidden")),function(e){var t=e[0].querySelectorAll(".frm-inline-modal[data-fills]");t.length&&t.forEach(function(e){e.classList.add("frm_hidden"),e.removeAttribute("data-fills"),e.closest("form").append(e)})}(o),o.remove(),i.fadeOut("slow",function(){var e,t=i.closest(".start_divider"),r=i.data("type"),n=i.siblings("li.form-field");if(n.length||(i.is(".edit_field_type_end_divider")?n.length=i.closest("li.form-field").siblings():e=i.closest("ul.frm_sorting").parent()),i.remove(),"break"===r?Fr():"product"===r&&(Ie(),nt()),n.length?ae(n.first()):e.remove(),0===jQuery("#frm-show-fields li").length||function(){if(b.get(0).childElementCount>1)return!1;var e=b.get(0).firstElementChild.firstElementChild.querySelectorAll("li.frm_field_box");return!(e.length>1)&&e[0].classList.contains("edit_field_type_submit")}()){var o=document.getElementById("frm_form_editor_container");o.classList.remove("frm-has-fields"),o.classList.add("frm-empty-fields")}else t.length&&An(t);z()}),i.length&&(r=i.data("type"),(n=document.getElementById(r))&&n.dataset.limit&&kr(r)-11)for(document.getElementById("frm-fake-page").style.display="block",e=0;e200)&&(M(o.repeat_limit_min),this.value="")}function Yr(){var e=this.value;""!==e&&(e<1||e>200)&&(M(o.checkbox_limit),this.value="")}function Zr(e,t){jQuery(e).closest(".frm_field_box").find(".frm_"+t+"_form_row .frm_repeat_label").text(e.value)}function en(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=this.value,r=document.getElementById("frm_show_selected_fields_"+e),n=document.getElementById("frm_show_selected_forms_"+e);jQuery(n).find("select").val(""),"form"===t?(n.style.display="inline",function(e){if(null!==e)for(;e.firstChild;)e.firstChild.remove()}(r)):(r.style.display="none",n.style.display="none",xn(t,e))}function tn(){var e,t;(e=rn(this))&&(t=jQuery(this).closest(".frm_single_option"),function(e,t,r){var n,i,o,a,l,s,c=r.data("optkey"),u=yn(e),f=jQuery('label[for="field_'+t+"-"+c+'"]'),m="field_options[options_"+e+"]["+c+"]",_=jQuery('input[name="'+m+'[label]"]');if(f.length<1)return on(e),void((o=r.find('input[name^="default_value_"]')).is(":checked")&&_.length>0&&jQuery('select[name^="item_meta['+e+']"]').val(_.val()));if(a=f.children("input"),n=_.length<1?(_=jQuery('input[name="'+m+'"]')).val():u?jQuery('input[name="'+m+'[value]"]').val():_.val(),!(_.length<1)){if(i=f[0].childNodes,hn(e))l=function(e,t,r){var n,i,o;return(n=e.find("img"))&&(i=n.attr("src")),o=vn(t),pn(r.val(),o,i)}(r,e,_),(s=f.find(".frm_image_option_container")).length>0?s.replaceWith(l):(i[i.length-1].nodeValue="",f.append(l));else{var p=!1;i.forEach(function(t,r){if(!1===p)"INPUT"===t.tagName&&(p=r);else if(r===p+1){var n="";!function(e){var t=document.getElementsByName("field_options[image_options_"+e+"]"),r=Array.from(t).find(function(e){return e.checked&&"buttons"===e.value});return void 0!==r}(e)?t.nodeValue=" "+_.val():(n=d({className:"frm_label_button_container",text:" "+_.val()}),f[0].replaceChild(n,t))}else t.remove()})}a.val(n),o=r.find('input[name^="default_value_"]'),a.prop("checked",!!o.is(":checked"))}}(e.fieldId,e.fieldKey,t))}function rn(e){var t;return!!(t=jQuery(e).closest(".frm_sortable_field_opts")).length&&{fieldId:t.attr("id").replace("frm_field_","").replace("_opts",""),fieldKey:t.data("key")}}function nn(e){var t,r=document.getElementById("field_options_image_size_"+e),n="";return null!==r&&""!==(t=r.value)&&(n=t),n}function on(e){var t,r,n,i,o,a=jQuery('[name^="item_meta['+e+']"]');if(!(a.length<1)){if(a.is("select"))null===(i=document.getElementById("frm_placeholder_"+e))||""===i.value?cn(a[0],{sourceID:e}):cn(a[0],{sourceID:e,placeholder:i.value});else{r=fn(e),jQuery("#field_"+e+"_inner_container > .frm_form_fields").html(""),o=rn(jQuery("#frm_delete_field_"+e+"-000_container"));var l=jQuery("#field_"+e+"_inner_container > .frm_form_fields"),s=hn(e),d=s?nn(e):"",c=s?"frm_image_option frm_image_"+d+" ":"",u=Oo(e);for(n="hidden"===a.attr("type")?a.data("field-type"):a.attr("type"),t=0;t=0;a--){var m;l=d[a];var _=null===(m=document.getElementById("frm_field_"+e+"_opts").querySelector('.frm_option_key input[type="text"]'))||void 0===m?void 0:m.value;_||(_=l),s=i.querySelector('option[value="'+_+'"]');var p=an(e,l),g=p.newValue,y=p.newLabel,h=document.querySelectorAll("#frm_field_"+e+"_opts input[data-value-on-focus]"),v=Array.from(h).find(function(e){return e.value===l});if(v){var b=v.dataset.valueOnFocus;if(b&&i.querySelector('option[value="'+b+'"]'))continue}sn(i,s,g,y)}null!==(s=i.querySelector('option[value=""]'))&&i.prepend(s)}}function sn(e,t,r,n){null!==t||e.querySelector('option[value="'+r+'"]')||((t=frmDom.tag("option",{text:n})).value=r),e.prepend(t)}function dn(e,t,r,n,i,o){var a,l="",s=t.key.includes("other"),d="field_"+n+"-"+t.key,c="scale"===e?"radio":e;return a='',this.getSingle=function(){return""!==(l=wp.hooks.applyFilters("frm_admin.build_single_option_template",l,{opt:t,type:e,fieldId:r,classes:o,id:d}))?l:'
          "+(s?a:"")+"
          "},this.getSingle()}function cn(e,t){if(null!==e){var r=t.sourceID,n=t.placeholder,i=Oo(r),o=t.other;!function(e){var t;if(void 0!==e.options)for(t=e.options.length-1;t>=0;t--)e.remove(t)}(e);for(var a=fn(r,e.id.includes("frm_field_logic_opt")),l=void 0!==n,s=0;s1&&void 0!==arguments[1]&&arguments[1],s=[],d=jQuery('input[name^="field_options[options_'+e+']"]').filter('[name$="[label]"], [name*="[other_"]'),c=Oo(e),u=vn(e),f=hn(e),m=yn(e);for(t=0;t0||(i=r=d[t].value,o=d[t].name.replace("field_options[options_"+e+"][","").replace("[label]","").replace("]",""),m&&(n=d[t].name.replace("[label]","[value]"),r=jQuery('input[name="'+n+'"]').val(),l&&""===i&&(i=""!==r?r:frm_admin_js.no_label)),f&&(i=pn(i,u,mn(d[t]))),a={saved:r,label:i=frmAdminBuild.hooks.applyFilters("frm_choice_field_label",i,e,d[t],f),checked:gn(d[t].id),key:o},c&&(n=d[t].name.replace("[label]","[price]"),a.price=jQuery('input[name="'+n+'"]').val()),s.push(a));return s}function mn(e){var t,r=jQuery(e).siblings(".frm_image_preview_wrapper");return r.length&&(t=r.find("img")).length?t.attr("src"):""}function _n(e){(e instanceof Element||e instanceof Document)&&(e=e.outerHTML);var t=jQuery.parseHTML(e).reduce(function(e,t){var r=frmDom.cleanNode(t);return"#text"===r.nodeName?e+r.textContent:e+r.outerHTML},"");return t!==e?_n(t):t}function pn(e,t,r){var n,i,a,l=e;return l=_n(l),r?i=m({src:r,alt:l}):(i=d({className:"frm_empty_url"})).innerHTML=o.image_placeholder_icon,n=t?" frm_label_with_image":"",(a=s("span",{className:"frm_text_label_for_image_inner"})).innerHTML=l,s("span",{className:"frm_image_option_container"+n,children:[i,s("span",{className:"frm_text_label_for_image",child:a})]})}function gn(e){var t=jQuery("#"+e);if(0===t.length)return!1;var r=t.siblings("input[type=checkbox]");return r.length&&r.prop("checked")}function yn(e){return bn("separate_value_"+e)}function hn(e){for(var t=!1,r=document.getElementsByName("field_options[image_options_"+e+"]"),n=0;n=0&&(r.splice(t,1),e.val(r),e.next(".btn-group").find('.multiselect-container input[value=""]').prop("checked",!1))}(jQuery(this))}function Bn(e){e.val(""),e.next(".btn-group").find('.multiselect-container input[value!=""]').prop("checked",!1)}function qn(){jQuery(".frm-hide-empty").each(function(){0===jQuery(this).text().trim().length&&jQuery(this).remove()})}function Cn(e){e.preventDefault(),function(e,t,r){var n=document.getElementById(e.getAttribute("data-open")),i=jQuery(e).closest("p,ul"),o=void 0!==t;if(i.hasClass("frm-open"))i.removeClass("frm-open"),n.classList.add("frm_hidden");else{if(o||(t=Wi(e)),null!==t){if(!o){var a=r.key;"Enter"!==a&&" "!==a&&t.focus()}i.after(n),n.setAttribute("data-fills",t.id.replace("-proxy-input","")),0===n.id.indexOf("frm-calc-box")&&Ze(n,!0)}i.addClass("frm-open"),n.classList.remove("frm_hidden"),wp.hooks.doAction("frm_show_inline_modal",n,e)}}(this,void 0,e)}function Nn(e){e.preventDefault(),this.parentNode.classList.add("frm_hidden"),jQuery('.frm-open [data-open="'+this.parentNode.id+'"]').closest(".frm-open").removeClass("frm-open")}function Tn(e){var t=e.target;t.closest(".frm-inline-modal.frm-modal-no-dismiss")||t.closest(".frm-show-inline-modal")||t.closest("#frm_adv_info")||t.closest(".frm-token-proxy-input")||document.querySelectorAll(".frm-inline-modal.frm-modal-no-dismiss:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden"),e.previousElementSibling.classList.remove("frm-open")})}function On(){var e,t=this.getAttribute("data-frmchange").split(",");for(e=0;e').before('')}function Yn(){var e="success";"options[edit_action]"===this.name&&(e="edit");var t=jQuery(this).val();jQuery("."+e+"_action_box").hide(),"redirect"===t?jQuery("."+e+"_action_redirect_box."+e+"_action_box").fadeIn("slow"):"page"===t?jQuery("."+e+"_action_page_box."+e+"_action_box").fadeIn("slow"):jQuery("."+e+"_action_message_box."+e+"_action_box").fadeIn("slow")}function Zn(e){if(m=e.target,p=jQuery(m),g=p.closest(".frm_form_action_settings"),(y=g.find(".widget-inside")).find("p, div, table").length||((_=g.find(".widget-top")).on("frm-action-loaded",function(){p.trigger("click"),g.removeClass("open"),y.hide()}),_.trigger("click"),0)){var t=e.target.closest(".frm_form_action_settings"),r=t.querySelectorAll(".wp-editor-area");r.length&&r.forEach(function(e){tinymce.EditorManager.execCommand("mceRemoveEditor",!0,e.id)});var n=jQuery(t).clone(),i=n.attr("id").replace("frm_form_action_",""),o=ei(i);n.find(".frm_action_id, .frm-btn-group").remove(),n.find('input[name$="['+i+'][ID]"]').val(""),n.find(".widget-inside").hide(),n.find("input[type=text], textarea, input[type=number]").prop("defaultValue",function(){return this.value}),n.find("input[type=checkbox], input[type=radio]").prop("defaultChecked",function(){return this.checked});var a=new RegExp("\\["+i+"\\]","g"),l=new RegExp("_"+i+'"',"g"),s=new RegExp("-"+i+'"',"g"),c=new RegExp('"'+i+'"',"g"),u=n.html().replace(a,"["+o+"]").replace(l,"_"+o+'"');u=u.replace(s,"-"+o+'"').replace(c,'"'+o+'"');var f=d({id:"frm_form_action_"+o,className:n.get(0).className});f.setAttribute("data-actionkey",o),f.innerHTML=u,f.querySelectorAll(".wp-editor-wrap, .wp-editor-wrap *").forEach(function(e){"string"==typeof e.className&&(e.className=e.className.replace(i,o)),e.id=e.id.replace(i,o)}),f.classList.remove("open"),document.getElementById("frm_notification_settings").append(f),r.length&&(r.forEach(function(e){frmDom.wysiwyg.init(e)}),f.querySelectorAll(".wp-editor-area").forEach(function(e){frmDom.wysiwyg.init(e)})),f.classList.contains("frm_single_on_submit_settings")&&f.querySelector("input.frm-page-search")&&yo(f),so(),wp.hooks.doAction("frm_after_duplicate_action",f)}var m,_,p,g,y}function ei(e){var t=parseInt(e,10)+11;return null!==document.getElementById("frm_form_action_"+t)&&(t=ei(++t)),t}function ti(){var e,t=jQuery(this).data("actiontype");if(!di(t)){var r=(e=Sr(document.querySelectorAll(".frm_form_action_settings"),"frm_form_action_"),void 0!==document.getElementById("frm_form_action_"+e)&&(e+=100),S>=e&&(e=S+1),S=e,e),n=E,i=document.createElement("div");i.classList.add("frm_single_"+t+"_settings");var o=document.getElementById("frm_notification_settings");o.append(i),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_action",type:t,list_id:r,form_id:n,nonce:frmGlobal.nonce},success:function(e){Mi(),i.remove(),document.querySelectorAll(".frm_form_action_settings.open").forEach(function(e){return e.classList.remove("open")});var n=d();n.innerHTML=e;var a=n.querySelector(".widget-top");Array.from(n.children).forEach(function(e){return o.append(e)}),jQuery(".frm_form_action_settings").fadeIn("slow");var l=document.getElementById("frm_form_action_"+r);l.classList.add("open"),document.getElementById("post-body-content").scroll({top:l.offsetTop+10,left:0,behavior:"smooth"}),si(t),Xn("#frm_form_action_"+r),so(),yo(l),a&&jQuery(a).trigger("frm-action-loaded"),frmAdminBuild.hooks.doAction("frm_added_form_action",l)}})}}function ri(){var e=document.getElementById("frm_email_addon_menu").classList,t=document.getElementById("actions-search-input");e.contains("frm-all-actions")?(e.remove("frm-all-actions"),e.add("frm-limited-actions")):(e.add("frm-all-actions"),e.remove("frm-limited-actions")),t.value="",ko(t,"input")}function ni(e){e.on("Change",function(){!function(e){var t,r;(t=document.querySelector(".frm-single-settings:not(.frm_hidden)"))&&null!==(r=t.querySelector(".wp-editor-wrap"))&&r.classList.contains("tmce-active")&&!tinyMCE.activeEditor.isHidden()&&(e.targetElm.value=e.getContent(),jQuery(e.targetElm).trigger("change"))}(e)})}function ii(e){var t=this;if(null!==e)return this.fragment=document.createDocumentFragment(),this.initOnceInAllInstances=function(){void 0===ii.prototype.endMarker&&(ii.prototype.endMarker=document.getElementById("frm-end-form-marker"))},this.append=function(e){var r=null!==e?e.parentElement.classList:"";null!==e&&(r.contains("frm_field_box")||r.contains("divider_section_only"))&&t.fragment.append(e)},this.moveFields=function(){j.insertBefore(t.fragment,ii.prototype.endMarker)},this.initOnceInAllInstances(),void 0!==e?(this.append(e),void this.moveFields()):{append:this.append,moveFields:this.moveFields}}function oi(){var e=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),t=this.getAttribute("data-emailrow");jQuery("#frm_form_action_"+e+" .frm_"+t+"_row").fadeIn("slow"),jQuery(this).fadeOut("slow")}function ai(){var e=jQuery(this).closest(".frm_form_action_settings"),t=this.getAttribute("data-emailrow"),r=".frm_"+t+"_row",n=".frm_"+t+"_button";jQuery(e).find(n).fadeIn("slow"),jQuery(e).find(r).fadeOut("slow",function(){jQuery(e).find(r+" input").val("")})}function li(){var e=jQuery(this).closest(".frm_form_action_settings"),t=".frm_from_to_match_row";e.find('input[name$="[post_content][from]"]').val()===e.find('input[name$="[post_content][email_to]"]').val()?jQuery(e).find(t).fadeIn("slow"):jQuery(e).find(t).fadeOut("slow")}function si(e){var t,r,n=document.querySelectorAll(".frm_"+e+"_action");di(e)?(t=n,r=ci(e)>0,t.forEach(function(e){e.classList.remove("frm_active_action"),e.classList.add("frm_inactive_action"),r&&e.classList.add("frm_already_used")})):n.forEach(function(e){e.querySelector(".frm_show_upgrade")||(e.classList.remove("frm_inactive_action","frm_already_used"),e.classList.add("frm_active_action"))})}function di(e){var t=function(e){return jQuery(".frm_single_"+e+"_settings").length}(e)>=ci(e),r={type:e};return wp.hooks.applyFilters("frm_action_at_limit",t,r)}function ci(e){return parseInt(jQuery(".frm_"+e+"_action").data("limit"),10)}function ui(){var e=o.only_one_action,t=this.dataset.limit;void 0!==t&&((t=parseInt(t))>1?e=e.replace(1,t).trim():e+=" "+o.edit_action_text),M(e)}function fi(){var e=jQuery(this).data("emailkey"),t=jQuery(this).closest(".frm_form_action_settings").find(".frm_action_name").val(),r=document.getElementById("form_id").value,n=document.getElementById("frm_logic_row_"+e),i=Sr(n.querySelectorAll(".frm_logic_row"),"frm_logic_"+e+"_"),o=d({id:"frm_logic_"+e+"_"+i,className:"frm_logic_row frm_hidden"});return n.append(o),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_form_logic_row",email_id:e,form_id:r,meta_name:i,type:t,nonce:frmGlobal.nonce},success:function(t){jQuery(document.getElementById("logic_link_"+e)).fadeOut("slow",function(){o.insertAdjacentHTML("beforebegin",t),o.remove(),jQuery(n).parent(".frm_logic_rows").fadeIn("slow")})}}),!1}function mi(){var e=jQuery("select.frm_single_post_field");e.css("border-color","");var t=this,r=jQuery(t).val();if(""===r||"checkbox"===r)return!1;e.each(function(){if(jQuery(this).val()===r&&this.name!==t.name)return this.style.borderColor="red",jQuery(t).val(""),M(o.field_already_used),!1})}function _i(){var e=jQuery(this).val();""===e?(jQuery(".frm_post_content_opt, select.frm_dyncontent_opt").hide().val(""),jQuery(".frm_dyncontent_opt").hide()):"post_content"===e?(jQuery(".frm_post_content_opt").show(),jQuery(".frm_dyncontent_opt").hide(),jQuery("select.frm_dyncontent_opt").val("")):(jQuery(".frm_post_content_opt").hide().val(""),jQuery("select.frm_dyncontent_opt, .frm_form_field.frm_dyncontent_opt").show())}function pi(){var e=jQuery(this).val(),t=jQuery(document.getElementById("frm_dyncontent"));""===e||"new"===e?(t.val(""),jQuery(".frm_dyncontent_opt").show()):jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_display_get_content",id:e,nonce:frmGlobal.nonce},success:function(e){t.val(e),jQuery(".frm_dyncontent_opt").show()}})}function gi(){var e,t,r=document.getElementById("frm_posttax_rows").childNodes,n=document.querySelector(".frm_post_parent_field"),i=document.querySelector(".frm_post_menu_order_field"),o=this.value;jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_replace_posttax_options",post_type:o,nonce:frmGlobal.nonce},success:function(n){for(var i=0;i');var e=jQuery(this).closest(".frm_form_action_settings").find('select[name$="[post_content][post_type]"]').val(),t=jQuery(this).closest(".frm_form_action_settings").data("actionkey"),r=jQuery(this).closest(".frm_posttax_row").attr("id").replace("frm_posttax_",""),n=jQuery(this).val(),i=jQuery(document.getElementById(r+"_show_exclude")).is(":checked")?1:0,o=jQuery('select[name$="[post_category]['+r+'][field_id]"]').val(),a=jQuery('input[name="id"]').val();jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_add_posttax_row",form_id:a,post_type:e,tax_key:r,action_key:t,meta_name:n,field_id:o,show_exclude:i,nonce:frmGlobal.nonce},success:function(e){jQuery(document.getElementById("frm_posttax_"+r)).replaceWith(e)}})}}function wi(){var e=jQuery(this).closest(".frm_postmeta_row"),t=e.find(".frm_cancelnew"),r=e.find(".frm_enternew");return e.find("select.frm_cancelnew").is(":visible")?(t.hide(),r.show()):(t.show(),r.hide()),e.find("input.frm_enternew, select.frm_cancelnew").val(""),!1}function Qi(){var e=jQuery(this),t=e.val();"checkbox"===e.attr("type")&&!1===this.checked&&(t="");var r=e.data("toggleclass");""===t?jQuery("."+r).hide():(jQuery("."+r).show(),jQuery(".hide_"+r+"_"+t).hide())}function xi(){Wn()||($n(this),zn(document.querySelector(".frm_form_settings")))}function Ei(e){return e.preventDefault(),ki(jQuery(this),this.getAttribute("data-code")),!1}function ki(e,t){var r=!1,n=e;if("object"===a(e)){if(e.hasClass("frm_noallow"))return;void 0===(n=jQuery(e).closest("[data-fills]").attr("data-fills"))&&void 0!==(n=e.closest("div").attr("class"))&&(n=n.split(" ")[1])}if(void 0===n){var i=document.activeElement;"search"===i.type?null===(n=i.id.replace("-search-input","")).match(/\d/gi)&&(n=(i=jQuery(".frm-single-settings:visible ."+n)).attr("id")):n=i.id}n&&(r=jQuery("#wp-"+n+"-wrap.wp-editor-wrap").length>0);var o=jQuery(document.getElementById(n));if(void 0===e.attr("data-shortcode")&&(!o.length||void 0===o.attr("data-shortcode"))){var l=e.parents("ul.frm_code_list").attr("data-shortcode");"undefined"!==l&&"no"===l||(t="["+t+"]")}if(r&&(wpActiveEditor=n),!o.length)return!1;if("[default-html]"===t||"[default-plain]"===t){var s=0;"[default-plain]"===t&&(s=1),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:"frm_get_default_html",form_id:jQuery('input[name="id"]').val(),plain_text:s,nonce:frmGlobal.nonce},elementId:n,success:function(e){if(r){var t=document.createElement("p");t.innerText=e,send_to_editor(t.innerHTML)}else Ai(o,e)}})}else t=function(e,t,r){return"object"===a(t)&&t instanceof jQuery&&0===r[0].id.indexOf("success_url_")&&(t=t[0]).closest("#frm-insert-fields-box")?(t.parentNode.classList.contains("frm_insert_url")||(e=e.replace("]"," sanitize_url=1]")),e):e}(t,e,o),r?send_to_editor(t):Ai(o,t);return!1}function Ai(e,t){if(document.selection)e[0].focus(),document.selection.createRange().text=t;else{var r=e[0],n=r.selectionEnd;t=function(e,t,r,n){var i=e.data("sep");if(void 0===i)return t;var o=e.val();if(!o.trim().length)return t;var a=new RegExp(i+"\\s*$"),l=new RegExp("^\\s*"+i);return o.substr(0,r).trim().length&&!1===a.test(o.substr(0,r))&&(t=i+t),o.substr(n,o.length).trim().length&&!1===l.test(o.substr(n,o.length))&&(t+=i),t}(e,t,r.selectionStart,n),r.value=r.value.substr(0,r.selectionStart)+t+r.value.substr(r.selectionEnd,r.value.length);var i=n+t.length;!function(e,t){if(e.classList.contains("frm_classes")&&Si(t)){var r=e.value.split(" ").filter(Si);r.length&&(e.value=function(e,t,r){var n=e.split(" ").filter(function(e){return(e=e.trim()).length&&!t.includes(e)});return n.includes(r)||n.push(r),n.join(" ")}(e.value,r,t.trim()))}}(r,t),r.focus(),r.setSelectionRange(i,i)}Rn(e)}function Si(e){return["frm_half","frm_third","frm_two_thirds","frm_fourth","frm_three_fourths","frm_fifth","frm_sixth","frm2","frm3","frm4","frm6","frm8","frm9","frm10","frm12"].includes(e.trim())}function Li(){var e=document.getElementById("frm-id-condition"),t=document.getElementById("frm-key-condition");"id"===this.value?(e.classList.remove("frm_hidden"),t.classList.add("frm_hidden"),ko(t,"change")):(e.classList.add("frm_hidden"),t.classList.remove("frm_hidden"),ko(e,"change"))}function Ii(){var e,t,r=document.getElementById("frm-id-key-condition-id").checked?"frm-id-condition":"frm-key-condition",n=document.getElementById("frm-is-condition").value,i=document.getElementById("frm-text-condition").value,a=document.getElementById("frm-insert-condition");t="if "+(e=(r=document.getElementById(r)).options[r.selectedIndex].value)+" "+n+'="'+i+'"]',a.setAttribute("data-code",t+o.conditional_text+"[/if "+e),a.innerHTML="["+t+"[/if "+e+"]"}function Bi(e){return e.getAttribute("href")||e.getAttributeNS("http://www.w3.org/1999/xlink","href")}function qi(e){var t;e.parentNode.parentNode.classList.contains("frm_has_shortcodes")&&(Vi(),"use"===(t=Ui(e)).tagName?Bi(t=t.firstElementChild).includes("frm_close_icon")||Fi(t,"nofocus"):t.classList.contains("frm_close_icon")||Fi(t,"nofocus"))}function Ci(e){e.preventDefault(),e.stopPropagation(),Fi(this)}function Ni(e){!function(e){var t;if(e.id.startsWith("field_options_type_")){var r=e.id.split("_"),n=r.length&&r[r.length-1];null!==(t=document.querySelector("#frm-single-settings-".concat(n)))&&void 0!==t&&t.classList.contains("frm-type-".concat(e.value))||Ti()}}(e.target)}function Ti(e){var t;void 0===e&&(e=I("You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?","formidable")),frmDom.modal.maybeCreateModal("frmSaveAndReloadModal",{title:I("Save and Reload?","formidable"),content:(t=d(e),t.style.padding="var(--gap-md)",t),footer:function(){var e=frmDom.modal.footerButton({text:I("Save and Reload","formidable"),buttonType:"primary"});_(e,function(){var e;(e=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&e.setAttribute("data-new-addon-installed",!0),e.click()});var t=frmDom.modal.footerButton({text:I("Cancel","formidable"),buttonType:"cancel"});return t.classList.add("dismiss"),frmDom.div({children:[t,e]})}()})}function Oi(e){var t;if(e instanceof Event){var r=document.querySelectorAll(".frm-single-settings .frm-show-box.frmsvg use"),n=Array.from(r).find(function(e){return"#frm_close_icon"===e.getAttribute("href")});if(void 0===n)return;t=n.parentElement}else t=e;var i=t.getBoundingClientRect(),o=document.getElementById("frm_adv_info"),a=o.parentElement.getBoundingClientRect();o.style.top=i.top-a.top+32+"px",o.style.left=i.left-a.left-280+"px"}function Fi(e,t){var r=Wi(e),n=document.getElementById("frm_adv_info"),a=e.className;if("svg"===e.tagName&&(e=e.firstElementChild),"use"===e.tagName&&(a=Bi(e)),a.includes("frm_close_icon"))Vi(n);else{if(Oi(e),jQuery(".frm_code_list a").removeClass("frm_noallow"),r.classList.contains("frm_not_email_to")?jQuery("#frm-insert-fields-box .frm_code_list li:not(.show_frm_not_email_to) a").addClass("frm_noallow"):r.classList.contains("frm_not_email_subject")&&jQuery(".frm_code_list li.hide_frm_not_email_subject a").addClass("frm_noallow"),n.setAttribute("data-fills",r.id),n.style.display="block","use"===e.tagName)if(e.hasAttributeNS("http://www.w3.org/1999/xlink","href"))e.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon");else{var l=document.createElementNS("http://www.w3.org/2000/svg","use");l.setAttributeNS("http://www.w3.org/1999/xlink","href","#frm_close_icon"),e.parentNode.replaceChild(l,e)}else e.className=a.replace("frm_more_horiz_solid_icon","frm_close_icon");"nofocus"!==t&&("none"!==r.style.display?r.focus():jQuery(tinymce.get(r.id)).trigger("focus")),function(e){["address","body"].forEach(function(t){!function(e,t){var r,n;r=o.contextualShortcodes[t+"Selector"],n=o.contextualShortcodes[t];var a,l=e.matches(r),s=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=i(e))){t&&(e=t);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){l=!0,o=e},f:function(){try{a||null==t.return||t.return()}finally{if(l)throw o}}}}(n);try{for(s.s();!(a=s.n()).done;){var d,c=a.value,u=null===(d=document.querySelector('#frm-adv-info-tab .frm_code_list [data-code="'+c+'"]'))||void 0===d?void 0:d.closest("li");null==u||u.classList.toggle("frm_hidden",!l)}}catch(e){s.e(e)}finally{s.f()}}(e,t)})}(r)}}function Di(e){return 0===o.contextualShortcodes.length||!function(e){var t=e.querySelector("a");if(!t)return!1;var r=t.dataset.code;return o.contextualShortcodes.address.includes(r)||o.contextualShortcodes.body.includes(r)}(e)||function(e){var t=e.querySelector("a").dataset.code,r=document.getElementById("frm_adv_info").dataset.fills,n=document.getElementById(r),i=o.contextualShortcodes;return i.address.includes(t)?n.matches(i.addressSelector):n.matches(i.bodySelector)}(e)}function Mi(){x||(x=1,window.addEventListener("beforeunload",Ri))}function Pi(){x=0}function Hi(){x=0}function zi(){x=0}function Ri(e){x&&(e.preventDefault(),e.returnValue="")}function Gi(e,t){var r={my:"top",at:"top+"+t,of:window};e.dialog("option","position",r)}function Wi(e){if(e.classList.contains("frm-input-icon"))return e.previousElementSibling;for(var t,r=e.nextElementSibling;null!==r&&("INPUT"!==r.tagName&&"TEXTAREA"!==r.tagName||r.classList.contains("frm-token-input-field"));)r=Wi(r);return r||(r=null===(t=e.closest(".frm-field-formula"))||void 0===t?void 0:t.querySelector(".frm-calc-field")),r}function Ui(e){var t;if(null!==(t=e.nextElementSibling)&&void 0!==t&&t.classList.contains("frm-input-icon"))return e.nextElementSibling;for(var r=e.previousElementSibling;null!==r&&"I"!==r.tagName&&"svg"!==r.tagName;)r=Ui(r);return r}function Vi(e){var t,r,n,i;if((void 0!==e||null!==(e=document.getElementById("frm_adv_info")))&&null===document.getElementById("frm_dyncontent")){for(e.style.display="none",n=document.querySelectorAll(".frm-show-box.frm_close_icon"),t=0;t"+r.data.name+": "+r.data.msg+"

          ":'

          Imported '+r.data.name+"

          ",e.find(".status").prepend(n),e.find(".status").show(),C.importQueue=jQuery.grep(C.importQueue,function(e){return e!=t}),C.imported++,0===C.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(C.imported),e.find(".process-completed").show()):(e.find(".form-current").text(C.imported+1),Zi(e)))})}function eo(e){e.preventDefault();var t=!1,r=jQuery('input[name="frm_export_forms[]"]');jQuery('input[name="frm_export_forms[]"]:checked').val()||(r.closest(".frm-table-box").addClass("frm_blank_field"),t="stop");var n=jQuery('input[name="type[]"]');if(jQuery('input[name="type[]"]:checked').val()||"checkbox"!==n.attr("type")||(n.closest("p").addClass("frm_blank_field"),t="stop"),"stop"===t)return!1;e.stopPropagation(),this.submit()}function to(){var e=jQuery(this).closest(".frm_blank_field");if(void 0!==e){var t=this.name;("type[]"===t&&jQuery('input[name="type[]"]:checked').val()||"frm_export_forms[]"===t&&jQuery(this).val())&&e.removeClass("frm_blank_field")}}function ro(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function no(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function io(e){var t,r,n=e.target.value;ao(n),oo.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function oo(){var e=jQuery(this),t=e.find(":selected"),r=t.data("support"),n=r.indexOf("|");jQuery('input[name="type[]"]').each(function(){this.checked=!1,r.includes(this.value)?(this.disabled=!1,-1===n&&(this.checked=!0)):this.disabled=!0}),"csv"===e.val()?(jQuery(".csv_opts").show(),jQuery(".xml_opts").hide()):(jQuery(".csv_opts").hide(),jQuery(".xml_opts").show());var i=t.data("count"),o=jQuery('input[name="frm_export_forms[]"]');"single"===i?(o.prop("multiple",!1),o.prop("checked",!1)):(o.prop("multiple",!0),o.prop("disabled",!1)),e.trigger("change")}function ao(e){if(""!==e){var t=document.querySelectorAll(".frm-is-repeater");t.length&&("csv"===e?t.forEach(function(e){e.classList.remove("frm_hidden")}):t.forEach(function(e){e.classList.add("frm_hidden")}),Qo.call(document.querySelector(".frm-auto-search")))}}function lo(){var e=jQuery("select[name=format]").find(":selected").data("count"),t=jQuery('input[name="frm_export_forms[]"]');"single"===e&&this.checked?(t.prop("disabled",!0),this.removeAttribute("disabled")):t.prop("disabled",!1)}function so(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function co(e){e.preventDefault(),mo(this,"frm_multiple_addons")}function uo(e){e.preventDefault(),mo(this,"frm_activate_addon")}function fo(e){e.preventDefault(),mo(this,"frm_install_addon")}function mo(e,t){r(1105).toggleAddonState(e,t)}function _o(){go()}function po(e){!function(e,t,r){var n=jQuery("#frm_leave_email_error");n.removeClass("frm_hidden").attr("frm-error",r),jQuery("#frm_leave_email").one("keyup",function(){n.addClass("frm_hidden")})}(0,0,e)}function go(){var e=document.getElementById("frmapi-email-form");jQuery.ajax({dataType:"json",url:e.getAttribute("data-url"),success:function(t){var r=t.renderedHtml;r=r.replace(/]*(formidableforms.css|action=frmpro_css)[^>]*>/gi,""),e.innerHTML=r}})}function yo(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function ho(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),bo(t,r,this)}function vo(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),bo(this,t,r)}function bo(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r .frm-with-line").forEach(function(e){var t=e.nextElementSibling;if(t){var r=t.querySelectorAll(":scope > li.frmbutton"),n=Array.from(r).every(function(e){return e.classList.contains("frm_hidden")});e.classList.toggle("frm_hidden",n)}}),jQuery(this).trigger("frmAfterSearch")}function xo(e,t){return"s"!==t&&"s"!==e[e.length-1]&&(e+"s").includes(t)}function Eo(e){e.stopPropagation()}function ko(e,t){var r=document.createEvent("HTMLEvents");r.initEvent(t,!1,!0),e.dispatchEvent(r)}function Ao(e,t){var r,n=new XMLHttpRequest,i="string"==typeof e?e:Object.keys(e).map(function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])}).join("&");return n.open("post",ajaxurl,!0),n.onreadystatechange=function(){if(n.readyState>3&&200==n.status){r=n.responseText;try{r=JSON.parse(r)}catch(e){}t(r)}},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.setRequestHeader("Content-type","application/x-www-form-urlencoded"),n.send(i),n}function So(e,t){e.classList.add("frm-fade"),setTimeout(t,1e3)}function Lo(e){jQuery(e).css("visibility","hidden")}function Io(e){jQuery(e).css("visibility","visible")}function Bo(e,t){return r(4260).initModal(e,t)}function qo(e,t){if("#"===t){var r=document.getElementById(e),n=r.style.display;r.style.display="none"===n?"block":"none"}else e.is(":visible")?e.hide():e.show()}function Co(){window.onbeforeunload=null;var e=jQuery(window);e.off("beforeunload.widgets"),e.off("beforeunload.edit-post")}function No(){var e=jQuery(this).closest(".frm-single-settings").data("fid"),t=document.getElementById("frm_field_id_"+e);if(null!==t&&"form"===t.dataset.type)if(t=jQuery(t),this.options[this.selectedIndex].value){t.find(".frm-not-set")[0].classList.add("frm_hidden");var r=t.find(".frm-embed-message");r.html(r.data("embedmsg")+this.options[this.selectedIndex].text),t.find(".frm-embed-field-placeholder")[0].classList.remove("frm_hidden")}else t.find(".frm-not-set")[0].classList.remove("frm_hidden"),t.find(".frm-embed-field-placeholder")[0].classList.add("frm_hidden")}function To(){var e=jQuery(this).closest(".frm-single-settings"),t=e.find(".frmjs_product_choices"),r=e.find(".frm_prod_options_heading"),n=this.options[this.selectedIndex].value;t.removeClass("frm_prod_type_single frm_prod_type_user_def"),r.removeClass("frm_prod_user_def"),"single"===n?t.addClass("frm_prod_type_single"):"user_def"===n&&(t.addClass("frm_prod_type_user_def"),r.addClass("frm_prod_user_def"))}function Oo(e){var t=document.getElementById("frm_field_id_"+e);return null!==t&&"product"===t.getAttribute("data-type")}function Fo(){var e=function(e,t){return window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]},t=function(e,t,r){window.frmCachedSubFields=window.frmCachedSubFields||{},window.frmCachedSubFields[e]=window.frmCachedSubFields[e]||{},window.frmCachedSubFields[e][t]=r},r=[1,2,3,4,5,6,7,8,9,10,11,12].map(function(e){return"frm"+e}),i=["first","middle","last"];document.addEventListener("change",function(o){o.target.matches(".frm_name_layout_dropdown")&&function(o){var a,l=o.target.value.split("_"),s=o.target.dataset.fieldId,d=document.querySelector("#field_"+s+"_inner_container .frm_combo_inputs_container"),c=(a=l.length,"frm"+parseInt(12/a));i.forEach(function(e){var i,o=d.querySelector('[data-sub-field-name="'+e+'"]');o&&(o.classList.add("frm_hidden"),(i=o.classList).remove.apply(i,n(r)),t(s,e,o))}),l.forEach(function(t){var r=e(s,t);r&&(r.classList.remove("frm_hidden"),r.classList.add(c),d.append(r))}),i.forEach(function(e){var r=document.querySelector(".frm_sub_field_options-"+e+'[data-field-id="'+s+'"]');r&&(r.classList.add("frm_hidden"),t(s,e+"_options",r))}),l.forEach(function(t){var r=e(s,t+"_options");r&&r.classList.remove("frm_hidden")})}(o)},!1)}function Do(e,t){var r,n,i,o=!1,a=!1;(r=t.newOption?(new DOMParser).parseFromString(t.newOption,"text/html").body.childNodes[0]:t).querySelectorAll("svg").forEach(function(e,t){(n=e.getElementsByTagNameNS("http://www.w3.org/2000/svg","use")[0])&&("#frm_drag_icon"===(i=Bi(n))&&(o=!0),"#frm_save_icon"===i&&(a=!0))}),o||r.prepend(v.drag.cloneNode(!0)),r.querySelector("[id^=field_key_".concat(e,"-]"))&&!a&&r.querySelector("[id^=field_key_".concat(e,"-]")).after(v.save.cloneNode(!0)),t.newOption&&(t.newOption=r)}function Mo(){var e=document.getElementById("frm_leave_email").value.trim();if(""!==e)if(!1!==/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e)){var t=jQuery("#frmapi-email-form").find("form"),r=t.find('[type="email"]').not(".frm_verify");if(r.length){if(document.getElementById("frm_empty_inbox")){document.getElementById("frm-add-my-email-address").remove();var n=document.getElementById("frm_leave_email_wrapper");if(n){n.classList.add("frm_hidden");var i=c({className:"frm-wait frm_spinner"});i.style.visibility="visible",i.style.float="none",i.style.width="unset",n.parentElement.insertBefore(i,n.nextElementSibling)}}r.val(e),jQuery.ajax({type:"POST",url:t.attr("action"),data:t.serialize()+"&action=frm_forms_preview"}).done(function(e){if(jQuery(e).find(".frm_message").text().trim().includes("Thanks!")){var t=document.getElementById("frmapi-email-form").parentElement.querySelector(".frm_spinner");t&&t.remove(),wp.hooks.applyFilters("frm_thank_you_on_signup",!0)&&document.getElementById("frm_leave_email_wrapper").replaceWith(c(I("Thank you for signing up!","formidable")))}else po("invalid")})}}else po("invalid");else po("empty")}function Po(e){if(O||e.stopPropagation(),!(e.target.classList.contains("frm-show-box")||e.target.parentElement&&e.target.parentElement.classList.contains("frm-show-box"))){var t=document.getElementById("frm_adv_info");t&&(t.dataset.fills===e.target.id&&void 0!==e.target.id||e.target.closest("#frm_adv_info")||"none"===t.style.display||Vi(t))}}return{init:function(){var e,t,i,o,a,l,s;!function(){jQuery(document).on("click","#frm-add-my-email-address",function(e){e.preventDefault(),Mo()});var e=document.getElementById("frm_empty_inbox"),t=document.getElementById("frm_leave_email");if(e&&t){var r=document.getElementById("frm-leave-email-modal");r.classList.remove("frm_hidden"),r.querySelector(".frm_modal_footer").classList.add("frm_hidden"),t.addEventListener("keyup",function(e){if("Enter"===e.key){var t=document.getElementById("frm-add-my-email-address");t&&t.click()}})}}(),t=document.querySelector(".frm-admin-footer-links"),i=null!==(e=document.querySelector(".frm_page_container"))&&void 0!==e?e:document.getElementById("wpbody-content"),t&&i&&(i.append(t),t.classList.remove("frm_hidden")),document.addEventListener("show.bs.dropdown",function(){z()}),C={},jQuery(".wp-admin").on("click",function(e){var t=jQuery(e.target),r=jQuery(".dropdown.open");!r.length||t.hasClass("dropdown")||t.closest(".dropdown").length||r.removeClass("open")}),jQuery("#frm_bs_dropdown:not(.open) a").on("click",At),void 0===E&&(E=jQuery(document.getElementById("form_id")).val()),document.querySelectorAll(".frm-warning-dismiss").forEach(function(e){_(e,St)}),frmAdminBuild.inboxBannerInit(),b.length>0?frmAdminBuild.buildInit():null!==document.getElementById("frm_notification_settings")?frmAdminBuild.settingsInit():null!==document.getElementById("frm_styling_form")?frmAdminBuild.styleInit():null!==document.getElementById("form_global_settings")?frmAdminBuild.globalSettingsInit():null!==document.getElementById("frm_export_xml")?frmAdminBuild.exportInit():null!==document.querySelector(".frm-inbox-wrapper")?frmAdminBuild.inboxInit():null!==document.getElementById("frm-welcome")?frmAdminBuild.solutionInit():(function(){if(document.body.classList.contains("frm-admin-page-entries")){var e=document.getElementById("screen-options-wrap");if(e){var t=d({className:"frm_warning_style",text:I("Only 10 columns can be selected at a time.","formidable")});t.style.margin=0;var r=e.querySelector("legend");r.parentNode.insertBefore(t,r.nextElementSibling);var n=Array.from(e.querySelectorAll('input[type="checkbox"]')),i=function(){n.reduce(function(e,t){return t.checked?e+1:e},0)>=10?(t.classList.remove("frm_hidden"),n.forEach(function(e){e.checked||(e.parentNode.classList.add("frm_noallow"),e.disabled=!0)})):t.classList.add("frm_hidden")};i(),n.forEach(function(e){e.addEventListener("change",function(e){e.target.checked?i():(t.classList.add("frm_hidden"),n.forEach(function(e){e.parentNode.classList.remove("frm_noallow"),e.disabled=!1}))})})}}}(),yo(),jQuery("[data-frmprint]").on("click",function(){return window.print(),!1})),jQuery(document).on("change","select[data-toggleclass], input[data-toggleclass]",Qi),function(){function e(e){var t=e.options[e.selectedIndex];e.querySelectorAll("option[data-dependency]:not([data-dependency-skip])").forEach(function(e){var r=document.querySelector(e.dataset.dependency);null==r||r.classList.toggle("frm_hidden",t!==e)})}document.querySelectorAll("select.frm_select_with_dependency").forEach(e),frmDom.util.documentOn("change","select.frm_select_with_dependency",function(t){return e(t.target)})}(),(jQuery(document.getElementById("frm_adv_info")).length>0||jQuery(".frm_field_list").length>0)&&frmAdminBuild.panelInit(),o=jQuery(".wrap, .frm_wrap"),a=document.getElementById("frm_confirm_modal"),l=!1,s=!1,jQuery(a).on("click","[data-deletefield]",Qr),jQuery(a).on("click","[data-removeid]",R),jQuery(a).on("click","[data-trashtemplate]",wo),o.on("click",".frm_remove_tag, .frm_remove_form_action",R),o.on("click","a[data-frmverify]",F),o.on("click","a[data-frmtoggle]",P),o.on("click","a[data-frmhide], a[data-frmshow]",H),o.on("change","input[data-frmhide], input[data-frmshow]",H),o.on("click",".widget-top,a.widget-action",G),o.on("mouseenter.frm",".frm_bstooltip, .frm_help",function(){jQuery(this).off("mouseenter.frm"),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e;(r.hasAttribute("data-toggle")||r.hasAttribute("data-bs-toggle"))&&(r.parentElement.setAttribute("title",r.getAttribute("title")),r.removeAttribute("title"),r.classList.remove("frm_bstooltip"),r.parentElement.classList.add("frm_bstooltip"),r=r.parentElement),jQuery(r).tooltip(),t&&(z(),jQuery(r).tooltip("show"))}(this,!0)}),jQuery(document).on("click","#doaction, #doaction2",function(e){var t="doaction"===this.id?"top":"bottom",r=document.getElementById("bulk-action-selector-"+t),n=document.getElementById("confirm-bulk-delete-"+t);if(null!==r&&null!==n){if(l=this,!s&&"bulk_delete"===r.value)return e.preventDefault(),D(n),!1}else l=!1}),jQuery(document).on("click","#frm-confirmed-click",function(e){if(!1!==l&&!e.target.classList.contains("frm-btn-inactive"))return"confirm-bulk-delete"===this.getAttribute("href")?(e.preventDefault(),s=!0,l.click(),!1):void 0}),r(4260).initUpgradeModal(),frmDom.util.documentOn("click","[data-modal-title]",Kn);var c=jQuery(document.getElementById("frm_shortcodediv"));c.length>0&&(jQuery("a.edit-frm_shortcode").on("click",function(){return c.is(":hidden")&&(c.slideDown("fast"),this.style.display="none"),!1}),jQuery(".cancel-frm_shortcode","#frm_shortcodediv").on("click",function(){return c.slideUp("fast"),c.siblings("a.edit-frm_shortcode").show(),!1})),jQuery(document).on("click","#frm-nav-tabs a",W),jQuery(".post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a").on("click",function(){var e=this.classList.contains("frm_show_upgrade_tab");if(!this.classList.contains("frm_noallow")||e)return e&&Jn(this),U(this),!1}),U(jQuery(".starttab a"),"auto"),jQuery(document).on("click","#frm-fid-search-menu a",function(){var e=this.id.replace("fid-","");return jQuery('select[name="fid"]').val(e),zn(document.getElementById("posts-filter")),!1}),jQuery(".frm_select_box").on("click focus",function(){this.select()}),jQuery(document).on("input search change",".frm-auto-search:not(#frm-form-templates-page #template-search-input)",Qo),jQuery(document).on("focusin click",".frm-auto-search",Eo);var u=jQuery(".frm-auto-search");""!==u.val()&&u.trigger("keyup"),FrmFormsConnect.init(),jQuery(document).on("click",".frm-install-addon",fo),jQuery(document).on("click",".frm-activate-addon",uo),jQuery(document).on("click",".frm-solution-multiple",co),jQuery("button, input[type=submit]").on("click",Co),document.addEventListener("click",function(e){if("LABEL"===e.target.nodeName){var t=e.target.getAttribute("for");if(t){var r=document.getElementById(t);if(r&&r.nextElementSibling){var n=r.nextElementSibling.querySelector("button.dropdown-toggle.multiselect");n&&setTimeout(function(){return n.click()},0)}}}}),frmAdminBuild.hooks.addFilter("frm_before_embed_modal",function(e,t){var r,n,i=t.element;if("form"!==t.type)return e;var o=i.closest("tr");if(o)r=parseInt(o.querySelector(".column-id").textContent),n=o.querySelector(".column-form_key").textContent;else{r=document.getElementById("form_id").value;var a=document.getElementById("frm_form_key");if(a)n=a.value;else{var l=document.getElementById("frm-previewDrop");l&&(n=l.nextElementSibling.querySelector(".dropdown-item a").getAttribute("href").split("form=")[1])}}return[r,n]}),document.querySelectorAll("#frm-show-fields > li, .frm_grid_container li").forEach(function(e,t){e.addEventListener("click",function(){var e,t,r;t=(null===(e=this.querySelector("li"))||void 0===e?void 0:e.dataset.fid)||this.dataset.fid,(r=document.querySelectorAll("[id^=frm_delete_field_".concat(t,"-]"))).length<2||n(r).slice(1).forEach(function(e,r){e.classList.contains("frm_other_option")||Do(t,e)})})});var f=document.getElementById("frm_small_screen_proceed_button");f&&_(f,function(){var e;null===(e=document.getElementById("frm_small_device_message_container"))||void 0===e||e.remove(),p("small_screen_proceed",new FormData)});var m=document.getElementById("frm_sale_banner"),g=null==m?void 0:m.querySelector(".dismiss");m&&(_(m,function(e){e.target.closest(".dismiss")||(window.location.href=m.getAttribute("data-url"))}),g&&_(g,function(){m.remove();var e=new FormData;p("sale_banner_dismiss",e)}))},buildInit:function(){var e,t,r;jQuery("#frm_builder_page").on("mouseup","*:not(.frm-show-box)",Po),g=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return frmDom.util.debounce(e,t)}(ie,10),y=document.getElementById("post-body-content"),h=jQuery(y),jQuery(".frm_field_loading").length&&Ee(jQuery(".frm_field_loading").first().attr("id")),V("ul.frm_sorting"),document.querySelectorAll(".field_type_list > li:not(.frm_show_upgrade)").forEach(X),jQuery("ul.field_type_list, .field_type_list li, ul.frm_code_list, .frm_code_list li, .frm_code_list li a, #frm_adv_info #category-tabs li, #frm_adv_info #category-tabs li a").disableSelection(),jQuery(".frm_submit_ajax").on("click",Hn),jQuery(".frm_submit_no_ajax").on("click",Gn),Un(),jQuery("a.edit-form-status").on("click",Sn),jQuery(".cancel-form-status").on("click",Ln),jQuery(".save-form-status").on("click",function(){var e=jQuery(document.getElementById("form_change_status")).val();return jQuery('input[name="new_status"]').val(e),jQuery(document.getElementById("form-status-display")).html(e),jQuery(".cancel-form-status").trigger("click"),!1}),jQuery(".frm_form_builder form").first().on("submit",function(){jQuery(".inplace_field").trigger("blur")}),so(),Fr(),e=jQuery(j),t=document.getElementById("frm_form_editor_container"),e.on("click",".frm_add_logic_row",Ar),e.on("click",".frm_add_watch_lookup_row",Lr),e.on("change",".frm_get_values_form",Tr),e.on("change",".frm_logic_field_opts",wn),e.on("frm-multiselect-changed",'select[name^="field_options[admin_only_"]',In),jQuery(document.getElementById("frm-insert-fields")).on("click",".frm_add_field",Ae),b.on("click",".frm_clone_field",Be),e.on("blur",'input[id^="frm_calc"]',Je),e.on("change","input.frm_format_opt, input.frm_max_length_opt",lt),e.on("change click","[data-changeme]",ot),e.on("click","input.frm_req_field",st),e.on("click",".frm_mark_unique",ct),e.on("change",".frm_repeat_format",Jr),e.on("change",".frm_repeat_limit",Xr),e.on("change",".frm_js_checkbox_limit",Yr),e.on("input",'input[name^="field_options[add_label_"]',function(){Zr(this,"add")}),e.on("input",'input[name^="field_options[remove_label_"]',function(){Zr(this,"remove")}),e.on("change",'select[name^="field_options[data_type_"]',Or),jQuery(t).on("click",".frm-collapse-page",Dr),jQuery(t).on("click",".frm-collapse-section",Hr),e.on("click",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",zr),e.on("keydown",".frm-single-settings h3, .frm-single-settings h4.frm-collapsible",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),zr.call(this,e))}),jQuery(t).on("show.bs.dropdown hide.bs.dropdown",He),e.on("click",".frm_toggle_sep_values",yt),e.on("click",".frm_toggle_image_options",ht),e.on("click",".frm_remove_image_option",Et),e.on("click",".frm_choose_image_box",xt),e.on("change",".frm_hide_image_text",Qt),e.on("change",".frm_field_options_image_size",jt),e.on("click",".frm_multiselect_opt",kt),b.on("mousedown","input, textarea, select",Lt),b.on("click","input[type=radio], input[type=checkbox]",Lt),b.on("click",".frm_delete_field",Nt),b.on("click",".frm_select_field",Tt),jQuery(document).on("click",".frm_delete_field_group",Ot),jQuery(document).on("click",".frm_clone_field_group",Ft),jQuery(document).on("click","#frm_field_group_controls > span:first-child",Dt),jQuery(document).on("click",".frm-row-layout-option",Yt),jQuery(document).on("click",".frm-merge-fields-into-row .frm-row-layout-option",Zt),jQuery(document).on("click",".frm-custom-field-group-layout",tr),jQuery(document).on("click",".frm-merge-fields-into-row .frm-custom-field-group-layout",nr),jQuery(document).on("click",".frm-break-field-group",sr),b.on("click","#frm_field_group_popup .frm_grid_container input",dr),jQuery(document).on("click",".frm-cancel-custom-field-group-layout",cr),jQuery(document).on("click",".frm-save-custom-field-group-layout",fr),b.on("click","ul.frm_sorting",mr),jQuery(document).on("click",".frm-merge-fields-into-row",br),jQuery(document).on("click",".frm-delete-field-groups",wr),b.on("click",'.frm-field-action-icons [data-toggle="dropdown"]',function(){this.closest("li.form-field").classList.add("frm-field-settings-open"),jQuery(document).on("click","#frm_builder_page",Te)}),b.on("mousemove","ul.frm_sorting",Oe),b.on("show.bs.dropdown",".frm-field-action-icons",Me),jQuery(document).on("show.bs.dropdown","#frm_field_group_controls",Pe),e.on("click",".frm_single_option a[data-removeid]",It),e.on("mousedown",".frm_single_option input[type=radio]",Bt),e.on("focusin",".frm_single_option input[type=text]",qt),e.on("click",".frm_add_opt",_t),e.on("change",".frm_single_option input",tn),e.on("change",".frm_image_id",tn),e.on("change",".frm_toggle_mult_sel",pt),b.on("click",".frm_primary_label",Gr),b.on("click",".frm_description",Wr),b.on("click","li.ui-state-default:not(.frm_noallow)",Vr),b.on("dblclick","li.ui-state-default",Kr),e.on("change",".frm_tax_form_select",en),e.on("change","select.conf_field",ut),e.on("change",".frm_get_field_selection",Qn),e.on("click",".frm-show-inline-modal",Cn),e.on("keydown",".frm-show-inline-modal",function(e){var t=e.key;"Enter"!==t&&" "!==t||(e.preventDefault(),Cn.call(this,e))}),e.on("click",".frm-inline-modal .dismiss",Nn),jQuery(document).on("change","[data-frmchange]",On),document.addEventListener("click",Tn),e.on("change",".frm_include_extras_field",et),e.on("change",'select[name^="field_options[form_select_"]',No),jQuery(document).on("submit","#frm_js_build_form",Pi),jQuery(document).on("change","#frm_builder_page input:not(.frm-search-input):not(.frm-custom-grid-size-input), #frm_builder_page select, #frm_builder_page textarea",Mi),nt(),jQuery(document).on("change",".frmjs_prod_data_type_opt",To),jQuery(document).on("focus",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Br),jQuery(document).on("blur",'.frm-single-settings ul input[type="text"][name^="field_options[options_"]',Cr),frmDom.util.documentOn("click",".frm-show-field-settings",Vr),frmDom.util.documentOn("change","select.frm_format_dropdown, select.frm_phone_type_dropdown",$r),e.on("keydown",'.frm_single_option input[name^="field_options["], .frm_single_option input[name^="rows_"]',function(e){"Enter"===e.key&&function(e){var t=e.closest(".frm_single_option").parentElement.querySelectorAll('.frm_single_option input[name^="field_options[" ], .frm_single_option input[name^="rows_"]'),r=Array.from(t),n=r.indexOf(e);if(!(n<0)){var i=r.slice(n+1).find(function(e){return null!==e.offsetParent});if(i){i.focus();var o=i.value.length;i.setSelectionRange(o,o)}}}(e.currentTarget)}),!1!==(r=Bo("#frm-bulk-modal","700px"))&&(jQuery(".frm-insert-preset").on("click",mt),jQuery(j).on("click","a.frm-bulk-edit-link",function(e){e.preventDefault();var t,n,i,o,a,l="",s=jQuery(this).closest("[data-fid]").data("fid"),d=yn(s),c=Oo(s);if(o=document.getElementById("frm_field_"+s+"_opts")){for(a=o.getElementsByTagName("li"),document.getElementById("bulk-field-id").value=s,t=0;t=a.length-1&&(document.getElementById("frm_bulk_options").value=l);return r.dialog("open"),!1}}),jQuery("#frm-update-bulk-opts").on("click",function(){var e=document.getElementById("bulk-field-id").value;document.getElementById("bulk-option-type").value||(this.classList.add("frm_loading_button"),frmAdminBuild.updateOpts(e,document.getElementById("frm_bulk_options").value,r),Mi())})),qn(),document.addEventListener("frm_added_field",qn),Ie(),Fo(),kn(),frmDom.util.documentOn("change",".frm_show_password_setting_input",function(e){var t=e.target.getAttribute("data-fid"),r=document.getElementById("frm_field_id_"+t);r&&r.classList.toggle("frm_disabled_show_password",!e.target.checked)}),document.addEventListener("scroll",Oi,!0),document.addEventListener("change",Ni),document.querySelector(".frm_form_builder").addEventListener("mousedown",function(e){e.shiftKey&&e.preventDefault()}),wp.hooks.addAction("frmShowedFieldSettings","formidableAdmin",function(e,t){t.querySelectorAll(".frm-collapse-me").forEach(Rr)},9999)},settingsInit:function(){var e,t,r,n,i=jQuery(document.getElementById("frm_notification_settings"));i.on("click",".frm_email_buttons",oi),i.on("click",".frm_remove_field",ai),i.on("change",".frm_to_row, .frm_from_row",li),i.on("change",".frm_tax_selector",ji),i.on("change","select.frm_single_post_field",mi),i.on("change","select.frm_toggle_post_content",_i),i.on("change","select.frm_dyncontent_opt",pi),i.on("change",".frm_post_type",gi),i.on("click",".frm_add_postmeta_row",vi),i.on("click",".frm_add_posttax_row",hi),i.on("click",".frm_toggle_cf_opts",wi),i.on("click",".frm_duplicate_form_action",Zn),jQuery(".frm_actions_list").on("click",".frm_active_action",ti),jQuery("#frm-show-groups, #frm-hide-groups").on("click",ri),so(),jQuery("ul.frm_actions_list li").each(function(){si(jQuery(this).children("a").data("actiontype"));var e=jQuery(this).find("i");"none"!==e.css("background-image")&&e.addClass("frm-inverse")}),jQuery(".frm_submit_settings_btn").on("click",xi),Un(),(e=jQuery(".frm_form_settings")).on("click",".frm_add_form_logic",fi),e.on("click",".frm_already_used",ui),document.addEventListener("click",function(e){var t=e.target;t.closest(".frm_image_preview_wrapper")&&(t.closest(".frm_choose_image_box")?xt.bind(t)(e):t.closest(".frm_remove_image_option")&&Et.bind(t)(e))}),e.on("mouseup","*:not(.frm-show-box)",Po),jQuery(document.getElementById("no_save")).on("change",function(){this.checked&&!0!==confirm(o.no_save_warning)&&jQuery(this).attr("checked",!1)}),jQuery('select[name="options[edit_action]"]').on("change",Yn),t=document.getElementById("logged_in"),jQuery(t).on("change",function(){this.checked?Io(".hide_logged_in"):Lo(".hide_logged_in")}),r=jQuery(document.getElementById("frm_cookie_expiration")),jQuery(document.getElementById("frm_single_entry_type")).on("change",function(){"cookie"===this.value?r.fadeIn("slow"):r.fadeOut("slow")});var a=document.getElementById("single_entry");jQuery(a).on("change",function(){this.checked?Io(".hide_single_entry"):Lo(".hide_single_entry"),this.checked&&"cookie"===jQuery(document.getElementById("frm_single_entry_type")).val()?r.fadeIn("slow"):r.fadeOut("slow")}),jQuery(".hide_save_draft").hide();var l=jQuery(document.getElementById("save_draft"));l.on("change",function(){this.checked?jQuery(".hide_save_draft").fadeIn("slow"):jQuery(".hide_save_draft").fadeOut("slow")}),Rn(l),n=document.getElementById("editable"),jQuery(n).on("change",function(){this.checked?(jQuery(".hide_editable").fadeIn("slow"),Rn(document.getElementById("edit_action"))):(jQuery(".hide_editable").fadeOut("slow"),jQuery(".edit_action_message_box").fadeOut("slow"))}),jQuery(document).on("change","#protect_files",function(){this.checked?jQuery(".hide_protect_files").fadeIn("slow"):jQuery(".hide_protect_files").fadeOut("slow")}),jQuery(document).on("frm-multiselect-changed","#protect_files_role",In),jQuery(document).on("submit",".frm_form_settings",Hi),jQuery(document).on("change","#form_settings_page input:not(.frm-search-input), #form_settings_page select, #form_settings_page textarea",Mi),yo(),jQuery(document).on("frm-action-loaded",Ki),frmDom.util.documentOn("change",'.frm_on_submit_type input[type="radio"]',function(e){if(e.target.checked){var t=e.target.closest(".frm_form_action_settings");t.querySelectorAll(".frm_on_submit_dependent_setting:not(.frm_hidden)").forEach(function(e){e.classList.add("frm_hidden")}),t.querySelectorAll(".frm_on_submit_dependent_setting[data-show-if-"+e.target.value+"]").forEach(function(e){e.classList.remove("frm_hidden")}),t.setAttribute("data-on-submit-type",e.target.value)}}),wp.hooks.addAction("frm_reset_fields_updated","formidableAdmin",zi)},panelInit:function(){var e,t,r,n;jQuery(".frm_wrap, #postbox-container-1").on("click",".frm_insert_code",Ei),jQuery(document).on("change",".frm_insert_val",function(){ki(jQuery(this).data("target"),jQuery(this).val()),jQuery(this).val("")}),jQuery(document).on("click change",'[name="frm-id-key-condition"]',Li),jQuery(document).on("keyup change",".frm-build-logic",Ii),Xn(),jQuery(document).on("frmElementAdded",function(e,t){Xn(t)}),jQuery(document).on("mousedown",".frm-show-box",Ci),t=document.getElementById("form_settings_page"),r=document.body.classList.contains("post-type-frm_display"),n=document.getElementById("frm_insert_fields_tab"),(null!==t||r||O)&&jQuery(document).on("focusin","form input, form textarea",function(e){var i,o,a,l;if(e.stopPropagation(),qi(this),jQuery(this).is(":not(:submit, input[type=button], .frm-search-input, input[type=checkbox])")){if(jQuery(e.target).closest("#frm_adv_info").length)return;if(null!==t||O)i=jQuery("#frm_html_tab"),jQuery(this).closest("#html_settings").length>0?(i.show(),i.siblings().hide(),jQuery("#frm_html_tab a").trigger("click"),void 0===(l=this.id)||l.includes("-search-input")||(jQuery("#frm-adv-info-tab").attr("data-fills",l.trim()),this.classList.contains("field_custom_html")&&(l="field_custom_html"),a=["after_html","before_html","submit_html","field_custom_html"],jQuery.inArray(l,a)>=0&&(jQuery(".frm_code_list li:not(.show_"+l+")").addClass("frm_hidden"),jQuery(".frm_code_list li.show_"+l).removeClass("frm_hidden")))):((o=jQuery(".frm-category-tabs li"))[0]&&(o[0].style.display=""),n.click(),i.hide(),i.siblings().show());else if(r){var s=new CustomEvent("frm_legacy_views_handle_field_focus");s.frmData={idAttrValue:this.id},document.dispatchEvent(s)}}}),jQuery(".frm_wrap, #postbox-container-1").on("mousedown","#frm_adv_info a, .frm_field_list a",function(e){e.preventDefault()}),(e=jQuery("#frm_adv_info")).on("click",".subsubsub a.frmids",function(e){$i("frmids",e)}),e.on("click",".subsubsub a.frmkeys",function(e){$i("frmkeys",e)})},inboxInit:function(){var e;jQuery(".frm_inbox_dismiss").on("click",function(e){var t=this.parentNode.parentNode,r=t.getAttribute("data-message"),n=this.getAttribute("href"),i=t.cloneNode(!0),o=document.querySelector(".frm-dismissed-inbox-messages");if("free_templates"!==r||this.classList.contains("frm_inbox_dismiss")){e.preventDefault();var a={action:"frm_inbox_dismiss",key:r,nonce:frmGlobal.nonce},l="frm_inbox_slide_in"===t.id;l&&(t.classList.remove("s11-fadein"),t.classList.add("s11-fadeout"),t.addEventListener("animationend",function(){return t.remove()},{once:!0})),Ao(a,function(){if(!l)return"#"!==n?(window.location=n,!0):void So(t,function(){var e;null!==o&&(i.classList.remove("frm-fade"),null===(e=i.querySelector(".frm-inbox-message-heading .frm_inbox_dismiss"))||void 0===e||e.remove(),o.append(i)),1===t.parentNode.querySelectorAll(".frm-inbox-message-container").length&&(document.getElementById("frm_empty_inbox").classList.remove("frm_hidden"),t.parentNode.closest(".frm-active").classList.add("frm-empty-inbox"),_o()),t.remove()})})}}),!1===(null===(e=document.getElementById("frm_empty_inbox"))||void 0===e?void 0:e.classList.contains("frm_hidden"))&&_o()},solutionInit:function(){jQuery(document).on("submit","#frm-new-template",vo)},styleInit:function(){var e=jQuery(".frm_image_preview_wrapper");e.on("click",".frm_choose_image_box",xt),e.on("click",".frm_remove_image_option",Et),wp.hooks.doAction("frm_style_editor_init")},customCSSInit:function(){console.warn("Calling frmAdminBuild.customCSSInit is deprecated.")},globalSettingsInit:function(){var e;jQuery(document).on("click","[data-frmuninstall]",Ji),so(),null!==(e=document.getElementById("licenses_settings"))&&jQuery(e).on("click",".edd_frm_save_license",Xi),jQuery(document).on("click","#frm-new-template button",ho),jQuery("#frm-dismissable-cta .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_lite_settings_upgrade",nonce:frmGlobal.nonce}),jQuery(".settings-lite-cta").remove()});var t=document.getElementById("frm_re_type");t&&t.addEventListener("change",jo),document.querySelector(".frm_captchas").addEventListener("change",function(e){var t,r=null===(t=document.querySelector('.frm_captchas input[checked="checked"]'))||void 0===t?void 0:t.value,n=e.target.value!==r;document.querySelector(".captcha_settings .frm_note_style").classList.toggle("frm_hidden",!n)}),frmDom.util.documentOn("submit",".frm_settings_form",function(){return x=0});var r=document.getElementById("manage_styles_settings");r&&r.addEventListener("change",function(e){var t=e.target;"SELECT"===t.nodeName&&t.dataset.name&&!t.getAttribute("name")&&t.setAttribute("name",t.dataset.name)});var n=document.getElementById("payments_settings"),i=null==n?void 0:n.querySelectorAll('[name="frm_payment_section"]');i&&i.forEach(function(e){e.addEventListener("change",function(){if(e.checked){var t=n.querySelector('label[for="'.concat(e.id,'"]'));t&&t.setAttribute("aria-selected","true"),i.forEach(function(t){if(t!==e){var r=n.querySelector('label[for="'.concat(t.id,'"]'));r&&r.setAttribute("aria-selected","false")}})}})})},exportInit:function(){jQuery(".frm_form_importer").on("submit",Yi),jQuery(document.getElementById("frm_export_xml")).on("submit",eo),jQuery("#frm_export_xml input, #frm_export_xml select").on("change",to),jQuery('input[name="frm_import_file"]').on("change",ro),document.querySelector('select[name="format"]').addEventListener("change",io),jQuery('input[name="frm_export_forms[]"]').on("click",lo),so(),jQuery(".frm-feature-banner .dismiss").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"frm_dismiss_migrator",plugin:this.id,nonce:frmGlobal.nonce}),this.parentElement.remove()}),ao(no()),document.querySelector("#frm-export-select-all").addEventListener("change",function(e){document.querySelectorAll('[name="frm_export_forms[]"]').forEach(function(t){return t.checked=e.target.checked})})},inboxBannerInit:function(){var e=document.getElementById("frm_banner");if(e){var t=e.querySelector(".frm-banner-dismiss");document.addEventListener("click",function(r){r.target===t&&Ao({action:"frm_inbox_dismiss",key:e.dataset.key,nonce:frmGlobal.nonce},function(){jQuery(e).fadeOut(400,function(){e.remove()})})})}},updateOpts:function(e,t,r){var n=yn(e),i=Oo(e)?"frm_bulk_products":"frm_import_options";jQuery.ajax({type:"POST",url:ajaxurl,data:{action:i,field_id:e,opts:t,separate:n,nonce:frmGlobal.nonce},success:function(t){document.getElementById("frm_field_"+e+"_opts").innerHTML=t,wp.hooks.doAction("frm_after_bulk_edit_opts",e),on(e),void 0!==r&&(r.dialog("close"),document.getElementById("frm-update-bulk-opts").classList.remove("frm_loading_button"))}})},triggerRemoveLogic:function(e,t){jQuery("#frm_logic_"+e+"_"+t+" .frm_remove_tag").trigger("click")},downloadXML:function(e,t,r){var n=ajaxurl+"?action=frm_"+e+"_xml&ids="+t;null!==r&&(n=n+"&is_template="+r),location.href=n},hooks:{applyFilters:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(function(r){var n=E,i=0;"summary"===e&&(i=b.children('li[data-type="break"]').length>0?1:0),jQuery.ajax({type:"POST",url:ajaxurl,data:Object.assign(_e(e,0,n,i),{field_options:t}),success:function(t){r(t),setTimeout(function(){En(),Ue(t,!0);var r=ye(t);r&&wp.hooks.doAction("frm_after_field_added_in_form_builder",{field:t,fieldId:r,fieldType:e,form_id:n})},10)},error:ve})})},confirmLinkClick:D,handleInsertFieldByDraggingResponse:ge,handleAddFieldClickResponse:Le,syncLayoutClasses:ae,moveFieldSettings:ii,maybeCollapseSettings:zr}},window.frmAdminBuild=frmAdminBuildJS(),jQuery(document).ready(function(){var e;frmAdminBuild.init(),document.querySelectorAll(".frm-dropdown-menu").forEach(function(e){e.classList.add("dropdown-menu");var t,r,n=e.querySelector(".frm-dropdown-toggle");n&&(n.hasAttribute("role")||n.setAttribute("role","button"),n.hasAttribute("tabindex")||n.setAttribute("tabindex",0)),"UL"===e.tagName&&(r=(r=(r=(r=(r=(r=(t=e).outerHTML).replace("
            ","")).replaceAll("
          • ",'
          • ",""),t.outerHTML=r)}),null===(e=document.querySelector(".preview.dropdown .frm-dropdown-toggle"))||void 0===e||e.setAttribute("data-bs-toggle","dropdown"),document.querySelectorAll("[data-toggle]").forEach(function(e){return e.setAttribute("data-bs-toggle",e.getAttribute("data-toggle"))})}),window.frm_show_div=function(e,t,r,n){t==r?jQuery(n+e).fadeIn("slow").css("visibility","visible"):jQuery(n+e).fadeOut("slow")},window.frmCheckAll=function(e,t){jQuery('input[name^="'+t+'"]').prop("checked",!!e)},window.frmCheckAllLevel=function(e,t,r){jQuery(".frm_catlevel_"+r).children(".frm_checkbox").children("label").children('input[name^="'+t+'"]').prop("checked",!!e)},window.frmGetFieldValues=function(e,t,r,n,i,o){e&&jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_get_field_values¤t_field="+t+"&field_id="+e+"&name="+i+"&t="+n+"&form_action="+jQuery('input[name="frm_action"]').val()+"&nonce="+frmGlobal.nonce,success:function(e){document.getElementById("frm_show_selected_values_"+t+"_"+r).innerHTML=e,"function"==typeof o&&o()}})},window.frmImportCsv=function(e){var t="";"undefined"!=typeof __FRMURLVARS&&(t=__FRMURLVARS),jQuery.ajax({type:"POST",url:ajaxurl,data:"action=frm_import_csv&nonce="+frmGlobal.nonce+"&frm_skip_cookie=1"+t,success:function(t){var r=jQuery(".frm_admin_progress_bar").attr("aria-valuemax"),n=r-t,i=n/r*100;jQuery(".frm_admin_progress_bar").css("width",i+"%").attr("aria-valuenow",n),parseInt(t,10)>0?(jQuery(".frm_csv_remaining").html(t),frmImportCsv(e)):(jQuery(document.getElementById("frm_import_message")).html(frm_admin_js.import_complete),setTimeout(function(){location.href="?page=formidable-entries&frm_action=list&form="+e+"&import-message=1"},2e3))}})}})(); \ No newline at end of file diff --git a/js/formidable_admin_global.js b/js/formidable_admin_global.js index bf62d9f8a6..ad64678abf 100644 --- a/js/formidable_admin_global.js +++ b/js/formidable_admin_global.js @@ -1,6 +1,5 @@ /* global jQuery:false, frmGlobal, tb_remove, ajaxurl, adminpage */ /* exported frm_install_now, frmSelectSubnav, frmCreatePostEntry */ -/* eslint-disable prefer-const, compat/compat */ jQuery( document ).ready( function() { let deauthLink, submenuItem, li, @@ -37,7 +36,7 @@ function frm_install_now() { // eslint-disable-line camelcase action: 'frm_install', nonce: frmGlobal.nonce }, - success: function() { + success() { $msg.fadeOut( 'slow' ); } } ); @@ -66,13 +65,13 @@ function frmInstallPro( e ) { data: { action: 'frm_install_addon', nonce: frmGlobal.nonce, - plugin: plugin + plugin }, - success: function() { + success() { $msg.fadeOut( 'slow' ); $msg.parent().fadeOut( 'slow' ); }, - error: function() { + error() { $msg.fadeOut( 'slow' ); } } ); @@ -91,7 +90,7 @@ function frmDeauthorizeNow() { action: 'frm_deauthorize', nonce: frmGlobal.nonce }, - success: function() { + success() { jQuery( '.error' ).fadeOut( 'slow' ); } } ); @@ -111,11 +110,11 @@ function frmCreatePostEntry( id, postId ) { url: ajaxurl, data: { action: 'frm_create_post_entry', - id: id, + id, post_id: postId, nonce: frmGlobal.nonce }, - success: function() { + success() { jQuery( document.getElementById( 'frm_create_entry' ) ).fadeOut( 'slow' ); } } ); @@ -157,7 +156,7 @@ function frmAdminPopupJS() { shortcode: val, nonce: frmGlobal.nonce }, - success: function( html ) { + success( html ) { $spinner.hide(); $scOpts.append( html ); jQuery( document.getElementById( 'sc-' + val ) ).trigger( 'click' ); @@ -206,7 +205,7 @@ function frmAdminPopupJS() { form_id: formId, nonce: frmGlobal.nonce }, - success: function( msg ) { + success( msg ) { const baseId = thisId.replace( '_form', '' ); msg = msg.replace( 'name="field_options[form_select_0]"', 'id="frmsc_' + baseId + '_fields"' ); jQuery( document.getElementById( baseId + '_fields_container' ) ).html( msg ); @@ -220,7 +219,7 @@ function frmAdminPopupJS() { } return { - init: function() { + init() { let $scOptsDiv; jQuery( '.frm_switch_sc' ).on( 'click', switchSc ); @@ -266,7 +265,7 @@ function frmWidgetsJS() { display_id: displayId, nonce: frmGlobal.nonce }, - success: function( opts ) { + success( opts ) { let titleField, catField = widget.find( '.frm_list_items_cat_id' ); catField.find( 'option' ).remove().end(); @@ -287,7 +286,7 @@ function frmWidgetsJS() { } return { - init: function() { + init() { jQuery( document ).on( 'click', '.frm_list_items_cat_list', toggleCatOpt ); jQuery( document ).on( 'change', '.frm_list_items_display_id', getFields ); } diff --git a/js/formidable_blocks.js b/js/formidable_blocks.js index 82a11e4740..efc2d448cb 100644 --- a/js/formidable_blocks.js +++ b/js/formidable_blocks.js @@ -1 +1 @@ -(()=>{var e={2532:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6314),o=r.n(n)()(function(e){return e[1]});o.push([e.id,"button.X_GKlxRFRHSOWckGcSPJ {\n\tcursor: progress;\n\topacity: 0.7;\n\tposition: relative;\n\ttext-indent: -999px;\n\tmin-width: 70px;\n\toverflow: hidden;\n}\nbutton.X_GKlxRFRHSOWckGcSPJ:before {\n\tcontent: '';\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground: transparent;\n\tborder: 1px solid #fff;\n\tborder-top-color: transparent;\n\tborder-left-color: transparent;\n\tborder-radius: 50%;\n\n\tbox-sizing: border-box;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -10px;\n\tmargin-left: -10px;\n\twidth: 20px;\n\theight: 20px;\n\n\tanimation: _3ywaXb1_tykjJGTtxpG 2s linear infinite;\n}",""]),o.locals={"frm-loading":"X_GKlxRFRHSOWckGcSPJ",spin:"_3ywaXb1_tykjJGTtxpG"};const i=o},6314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=e(t);return t[2]?"@media ".concat(t[2]," {").concat(r,"}"):r}).join("")},t.i=function(e,r,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var i=0;i{"use strict";var n=r(6925);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,i,l){if(l!==n){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},5556:(e,t,r)=>{e.exports=r(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},5072:e=>{"use strict";var t=[];function r(e){for(var r=-1,n=0;n{"use strict";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t),t}},5056:(e,t,r)=>{"use strict";e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},7825:e=>{"use strict";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n=r.css,o=r.media,i=r.sourceMap;o?e.setAttribute("media",o):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(n,e)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={id:n,exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.nc=void 0,(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t,r,n){var o,i,l;n((o={},l=r,(i=function(t){var r=function(t){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(r)?r:r+""}(i=t))in o?Object.defineProperty(o,i,{value:l,enumerable:!0,configurable:!0,writable:!0}):o[i]=l,o))}function n(e,t){return e?" ".concat(t,'="').concat(e,'"'):""}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r-1&&(n=e.substr(0,r)),n+"wp-admin/admin.php?page=formidable&frm_action=edit&id=".concat(c))},V("Go to form","formidable")))),wp.element.createElement(W,{title:V("Options","formidable"),initialOpen:!1},wp.element.createElement(J,{label:V("Show Form Title","formidable"),checked:s,onChange:function(e){t("title",e?"1":"",i)}}),wp.element.createElement(J,{label:V("Show Form Description","formidable"),checked:m,onChange:function(e){t("description",e?"1":"",i)}}),wp.element.createElement(J,{label:V("Minimize HTML","formidable"),checked:f,onChange:function(e){t("minimize",e?"1":"",i)}})),wp.element.createElement(W,{title:V("Shortcode","formidable"),initialOpen:!1},wp.element.createElement(U,null,wp.element.createElement(u,this.props.attributes))))}}])&&F(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(M);function K(e){return K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},K(e)}function $(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e={2532:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6314),o=r.n(n)()(function(e){return e[1]});o.push([e.id,'button.X_GKlxRFRHSOWckGcSPJ {\n\tcursor: progress;\n\topacity: 0.7;\n\tposition: relative;\n\ttext-indent: -999px;\n\tmin-width: 70px;\n\toverflow: hidden;\n}\n\nbutton.X_GKlxRFRHSOWckGcSPJ::before {\n\tcontent: "";\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground: transparent;\n\tborder: 1px solid #fff;\n\tborder-top-color: transparent;\n\tborder-left-color: transparent;\n\tborder-radius: 50%;\n\n\tbox-sizing: border-box;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -10px;\n\tmargin-left: -10px;\n\twidth: 20px;\n\theight: 20px;\n\n\tanimation: _3ywaXb1_tykjJGTtxpG 2s linear infinite;\n}\n',""]),o.locals={"frm-loading":"X_GKlxRFRHSOWckGcSPJ",spin:"_3ywaXb1_tykjJGTtxpG"};const i=o},6314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=e(t);return t[2]?"@media ".concat(t[2]," {").concat(r,"}"):r}).join("")},t.i=function(e,r,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var i=0;i{"use strict";var n=r(6925);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,i,l){if(l!==n){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},5556:(e,t,r)=>{e.exports=r(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},5072:e=>{"use strict";var t=[];function r(e){for(var r=-1,n=0;n{"use strict";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t),t}},5056:(e,t,r)=>{"use strict";e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},7825:e=>{"use strict";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n=r.css,o=r.media,i=r.sourceMap;o?e.setAttribute("media",o):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(n,e)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={id:n,exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.nc=void 0,(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t,r,n){var o,i,l;n((o={},l=r,(i=function(t){var r=function(t){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(r)?r:r+""}(i=t))in o?Object.defineProperty(o,i,{value:l,enumerable:!0,configurable:!0,writable:!0}):o[i]=l,o))}function n(e,t){return e?" ".concat(t,'="').concat(e,'"'):""}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r-1&&(n=e.substr(0,r)),n+"wp-admin/admin.php?page=formidable&frm_action=edit&id=".concat(c))},V("Go to form","formidable")))),wp.element.createElement(W,{title:V("Options","formidable"),initialOpen:!1},wp.element.createElement(J,{label:V("Show Form Title","formidable"),checked:s,onChange:function(e){t("title",e?"1":"",i)}}),wp.element.createElement(J,{label:V("Show Form Description","formidable"),checked:m,onChange:function(e){t("description",e?"1":"",i)}}),wp.element.createElement(J,{label:V("Minimize HTML","formidable"),checked:f,onChange:function(e){t("minimize",e?"1":"",i)}})),wp.element.createElement(W,{title:V("Shortcode","formidable"),initialOpen:!1},wp.element.createElement(U,null,wp.element.createElement(u,this.props.attributes))))}}])&&F(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(M);function K(e){return K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},K(e)}function $(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(8793),o=r(1323);function i(e){var t=(0,n.A)(e);return function(e){return(0,o.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function o(e,t){var r,o,i,a,s,l,c=[];for(r=0;r{"use strict";r.d(t,{A:()=>o});var n=r(65);function o(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,o,i,a;function s(e){for(var t,r,s,l,c=[],u=[];t=e.match(a);){for(r=t[0],(s=e.substr(0,t.index).trim())&&c.push(s);l=u.pop();){if(i[r]){if(i[r][0]===l){r=i[r][1]||r;break}}else if(o.indexOf(l)>=0||n[l]s}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},o=["(","?"],i={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6956),o=r(7395);const i=function(e,t){return function(r,i,a){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,l=e[t];if((0,o.A)(r)&&(0,n.A)(i))if("function"==typeof a)if("number"==typeof s){var c={callback:a,priority:s,namespace:i};if(l[r]){var u,d=l[r].handlers;for(u=d.length;u>0&&!(s>=d[u-1].priority);u--);u===d.length?d[u]=c:d.splice(u,0,c),l.__current.forEach(function(e){e.name===r&&e.currentIndex>=u&&e.currentIndex++})}else l[r]={handlers:[c],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,i,a,s)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,o=e[t];return null!==(r=null===(n=o.__current[o.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7395);const o=function(e,t){return function(r){var o=e[t];if((0,n.A)(r))return o[r]&&o[r].runs?o[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var o=e[t];return void 0!==n?r in o&&o[r].handlers.some(function(e){return e.namespace===n}):r in o}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(3029),o=r(7521),i=r(4194),a=r(8830),s=r(6763),l=r(11),c=r(3561),u=r(5375),d=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,o.A)(this,"actions"),this.addFilter=(0,o.A)(this,"filters"),this.removeAction=(0,i.A)(this,"actions"),this.removeFilter=(0,i.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,i.A)(this,"actions",!0),this.removeAllFilters=(0,i.A)(this,"filters",!0),this.doAction=(0,s.A)(this,"actions"),this.applyFilters=(0,s.A)(this,"filters",!0),this.currentAction=(0,l.A)(this,"actions"),this.currentFilter=(0,l.A)(this,"filters"),this.doingAction=(0,c.A)(this,"actions"),this.doingFilter=(0,c.A)(this,"filters"),this.didAction=(0,u.A)(this,"actions"),this.didFilter=(0,u.A)(this,"filters")};const f=function(){return new d}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6956),o=r(7395);const i=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(i,a){var s=e[t];if((0,o.A)(i)&&(r||(0,n.A)(a))){if(!s[i])return 0;var l=0;if(r)l=s[i].handlers.length,s[i]={runs:s[i].runs,handlers:[]};else for(var c=s[i].handlers,u=function(e){c[e].namespace===a&&(c.splice(e,1),l++,s.__current.forEach(function(t){t.name===i&&t.currentIndex>=e&&t.currentIndex--}))},d=c.length-1;d>=0;d--)u(d);return"hookRemoved"!==i&&e.doAction("hookRemoved",i,a),l}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=e[t];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var i=o[n].handlers,a=arguments.length,s=new Array(a>1?a-1:0),l=1;l{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>c});var n=r(4467),o=r(5397);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},s),n.data[t]),e),n.data[t][""]=a(a({},s[""]),n.data[t][""])},d=function(e,t){u(e,t),c()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return n.data[e]||u(void 0,e),n.dcnpgettext(e,t,r,o,i)},p=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},m=function(e,t,n){var o=f(n,t,e);return r?(o=r.applyFilters("i18n.gettext_with_context",o,e,t,n),r.applyFilters("i18n.gettext_with_context_"+p(n),o,e,t,n)):o};if(e&&d(e,t),r){var v=function(e){l.test(e)&&c()};r.addAction("hookAdded","core/i18n",v),r.addAction("hookRemoved","core/i18n",v)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:d,resetLocaleData:function(e,t){n.data={},n.pluralForms={},d(e,t)},subscribe:function(e){return i.add(e),function(){return i.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+p(t),n,e,t)):n},_x:m,_n:function(e,t,n,o){var i=f(o,void 0,e,t,n);return r?(i=r.applyFilters("i18n.ngettext",i,e,t,n,o),r.applyFilters("i18n.ngettext_"+p(o),i,e,t,n,o)):i},_nx:function(e,t,n,o,i){var a=f(i,o,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,o,i),r.applyFilters("i18n.ngettext_with_context_"+p(i),a,e,t,n,o,i)):a},isRTL:function(){return"rtl"===m("ltr","text direction")},hasTranslation:function(e,t,o){var i,a,s=t?t+""+e:e,l=!(null===(i=n.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[s]);return r&&(l=r.applyFilters("i18n.has_translation",l,e,t,o),l=r.applyFilters("i18n.has_translation_"+p(o),l,e,t,o)),l}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),o=r(2133),i=(0,n.h)(void 0,void 0,o.se),a=(i.getLocaleData.bind(i),i.setLocaleData.bind(i),i.resetLocaleData.bind(i),i.subscribe.bind(i),i.__.bind(i));i._x.bind(i),i._n.bind(i),i._nx.bind(i),i.isRTL.bind(i),i.hasTranslation.bind(i)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),o=r.n(n);r(7604),o()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>u,afterAddonInstall:()=>c,extractErrorFromAddOnResponse:()=>l,toggleAddonState:()=>s});var n=r(9575),o=frmDom,i=o.div,a=o.svg;function s(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var o=jQuery(e),i=o.attr("rel"),a=o.parent(),s=a.parent().find(".addon-status-label");o.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:i},success:function(e){var r,n,i;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(i=e.saveAndReload),e=e.message);var d=l(e);d?u(d,a,o):(c(e,o,s,a,i,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){o.removeClass("frm_loading_button")}})}function l(e){return"string"!=typeof e&&(void 0===e.success||!e.success)&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function c(e,t,r,o,s){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",c=frm_admin_js,u=document.querySelectorAll(".frm-addon-status");u.forEach(function(t){t.textContent=e,t.style.display="block"}),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach(function(e){e.style.display="none"}),function(){var e=document.getElementById("frm_upgrade_modal");if(e){e.classList.add("frm-success");var t=e.querySelector(".frm-upgrade-message");if(t){var r=t.querySelector("img");t.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&t.append(r)}var o=document.querySelector(".frm-addon-status");o&&(o.textContent="");var i,s=e.querySelector(".frm-circled-icon");if(s)s.classList.add("frm-circled-icon-green"),null===(i=s.querySelector("svg"))||void 0===i||i.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:c.active},frm_deactivate_addon:{class:"frm-addon-installed",message:c.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:c.not_installed}};f.frm_install_addon=f.frm_activate_addon;var p=r[0];p&&(p.textContent=f[l].message);var m=o[0].parentElement;m.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),m.classList.add(f[l].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(s)&&u.forEach(function(e){var t=null!==e.closest("#frm_upgrade_modal");e.append(function(e,t){var r,o=[d(e)];return t&&o.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),i({className:"frm-save-and-reload-options",children:o})}(s,t))})}function u(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",f)):(t.append('

            '+e.message+"

            "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function d(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()}),t}function f(e){e.preventDefault();var t=jQuery(this),r=t.parent().parent(),n=t.attr("rel");t.addClass("frm_loading_button"),jQuery.ajax({url:ajaxurl,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:"frm_install_addon",nonce:frmAdminJs.nonce,plugin:n,hostname:r.find("#hostname").val(),username:r.find("#username").val(),password:r.find("#password").val()},success:function(e){var n,o,i=l(e=null!==(n=null===(o=e)||void 0===o?void 0:o.data)&&void 0!==n?n:e);i?u(i,r,t):c(e,t,message,r)},error:function(){t.removeClass("frm_loading_button")}})}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>i,initModal:()=>a,initUpgradeModal:()=>s});var n=r(9575),o=frmDom.svg;function i(e,t,r){var i;if("modal"===t)i=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;i=document.getElementById(e.getAttribute("href").substr(1))}var a,s=i.querySelector(".frm-oneclick"),l=i.querySelector(".frm-upgrade-message"),c=i.querySelector(".frm-upgrade-link"),u=i.querySelector(".frm-oneclick-button"),d=i.querySelector(".frm-addon-status"),f=e.getAttribute("data-oneclick"),p=e.getAttribute("data-message"),m="block",v="block",h="none",g=i.querySelector(".frm-circled-icon");g&&(g.classList.remove("frm-circled-icon-green"),null===(a=g.querySelector("svg"))||void 0===a||a.replaceWith(o({href:"#frm_filled_lock_icon"})));var y=i.querySelector(".frm-learn-more");if(y&&(y.href=e.dataset.learnMore),null!==s&&null!==u&&void 0!==f&&f){null===p&&(v="none"),m="none",h="block",f=JSON.parse(f),u.className=u.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),u.className=u.className+" "+f.class,u.rel=f.url,s.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),u.textContent=(0,n.__)("Activate","formidable");var _=e.querySelector("use");_&&(null==g||g.querySelector("svg").replaceWith(o({href:_.getAttribute("href")||_.getAttribute("xlink:href"),classList:["frm_svg32"]})))}p||(p=l.getAttribute("data-default")),void 0!==r&&(p=p.replace('',r)),l.innerHTML=p,e.dataset.upsellImage&&l.append(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),c.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,c),d.style.display="none",s&&(s.style.display=h),u&&(u.style.display="block"===h?"inline-block":h),l.style.display=v,c.style.display="block"===m?"inline-block":m;var b=c.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===m?"flex":m)}function a(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function s(){var e=a("#frm_upgrade_modal");function t(t){var r,n,o;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var s=r.options[r.selectedIndex];s&&s.dataset.upgrade&&(r=s)}if(!r.dataset.upgrade){var l=r.closest("[data-upgrade]");if(!l){if(!(l=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=l}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var c=r.dataset.upgrade;if(c&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var u=e.get(0),d=u.querySelector(".frm_lock_icon");d&&(d.style.display="block",d.classList.remove("frm_lock_open_icon"),d.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",p=document.getElementById(f);p&&p.remove(),r.dataset.image&&d&&(d.style.display="none",d.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),d));var m=u.querySelector(".license-level");m&&(m.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),i(r,"modal",c),u.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",u.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",u.querySelector(".frm_feature_label").textContent=c,u.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",u.querySelector("h2").style.display="block",e.dialog("open");var v=u.querySelector(".button-primary:not(.frm-oneclick-button)");n=v.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(o=r.getAttribute("data-content"))&&(o=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+o),v.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,o=0;function i(){var i,a,s=r,l=arguments.length;e:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(e){return function(e,t){var r,n,a,s,l,c,u,d,f,p=1,m=e.length,v="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(s.type)?v+=r:(!o.number.test(s.type)||d&&!s.sign?f="":(f=d?"+":"-",r=r.toString().replace(o.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+r).length,l=s.width&&u>0?c.repeat(u):"",v+=s.align?f+r+l:"0"===c?f+l+r:l+f+r)}return v}(function(e){if(s[e])return s[e];for(var t,r=e,n=[],i=0;r;){if(null!==(t=o.text.exec(r)))n.push(t[0]);else if(null!==(t=o.modulo.exec(r)))n.push("%");else{if(null===(t=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var a=[],l=t[2],c=[];if(null===(c=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=o.key_access.exec(l)))a.push(c[1]);else{if(null===(c=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(c[1])}t[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[e]=n}(e),arguments)}function a(e,t){return i.apply(null,[e].concat(t||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(n=function(){return{sprintf:i,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(1364),o={contextDelimiter:"",onMissingKey:null};function i(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},o)this.options[r]=void 0!==t&&r in t?t[r]:o[r]}i.prototype.getPluralForm=function(e,t){var r,o,i,a=this.pluralForms[e];return a||("function"!=typeof(i=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(o=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},4467:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(9922);function o(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},2327:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2284);function o(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=(0,n.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},9922:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2284),o=r(2327);function i(e){var t=(0,o.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2284:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}function n(){var e,t,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",a=r.toStringTag||"@@toStringTag";function s(r,n,i,a){var s=n&&n.prototype instanceof c?n:c,u=Object.create(s.prototype);return o(u,"_invoke",function(r,n,o){var i,a,s,c=0,u=o||[],d=!1,f={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,a=0,s=e,f.n=r,l}};function p(r,n){for(a=r,s=n,t=0;!d&&c&&!o&&t3?(o=m===n)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&pn||n>m)&&(i[4]=r,i[5]=n,f.n=m,a=0))}if(o||r>1)return l;throw d=!0,n}return function(o,u,m){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,m),a=u,s=m;(t=a<2?e:s)||!d;){i||(a?a<3?(a>1&&(f.n=-1),p(a,s)):f.n=s:f.v=s);try{if(c=2,i){if(a||(o="next"),t=i[o]){if(!(t=t.call(i,s)))throw TypeError("iterator result is not an object");if(!t.done)return t;s=t.value,a<2&&(a=0)}else 1===a&&(t=i.return)&&t.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((t=(d=f.n<0)?s:r.call(n,f))!==l)break}catch(t){i=e,a=1,s=t}finally{c=1}}return{value:t,done:d}}}(r,i,a),!0),u}var l={};function c(){}function u(){}function d(){}t=Object.getPrototypeOf;var f=[][i]?t(t([][i]())):(o(t={},i,function(){return this}),t),p=d.prototype=c.prototype=Object.create(f);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,o(e,a,"GeneratorFunction")),e.prototype=Object.create(p),e}return u.prototype=d,o(p,"constructor",d),o(d,"constructor",u),u.displayName="GeneratorFunction",o(d,a,"GeneratorFunction"),o(p),o(p,a,"Generator"),o(p,i,function(){return this}),o(p,"toString",function(){return"[object Generator]"}),(n=function(){return{w:s,m}})()}function o(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,t,r,n){function a(t,r){o(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(a("next",0),a("throw",1),a("return",2))},o(e,t,r,n)}function i(e,t,r,n,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,o)}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e=r(1105).toggleAddonState;function t(){jQuery(document).on("click","#frm_upgrade_modal .frm-install-addon",function(t){t.preventDefault(),e(this,"frm_install_addon")}),jQuery(document).on("click","#frm_upgrade_modal .frm-activate-addon",function(t){t.preventDefault(),e(this,"frm_activate_addon")}),function(){o.apply(this,arguments)}(),a(),jQuery(document).on("mouseenter.frm",".frm_help",function(){jQuery(this).off("mouseenter.frm"),jQuery(this).tooltip("show")})}function o(){var e;return e=n().m(function e(){return n().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,Promise.resolve().then(r.bind(r,4260));case 1:e.v.initUpgradeModal();case 2:return e.a(2)}},e)}),o=function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function s(e){i(a,n,o,s,l,"next",e)}function l(e){i(a,n,o,s,l,"throw",e)}s(void 0)})},o.apply(this,arguments)}function a(){var e=window.frmDom;e.bootstrap.setupBootstrapDropdowns(function(){var e=document.querySelector("#frm_testmode_enabled_form_actions .dropdown-toggle");e&&(e.classList.add("frm-dropdown-toggle"),e.hasAttribute("role")||e.setAttribute("role","button"),e.hasAttribute("tabindex")||e.setAttribute("tabindex",0))});var t=document.getElementById("frm_testmode_enabled_form_actions");t&&(t.style.display="none",e.bootstrap.multiselect.init.bind(t)(),t.disabled&&t.parentElement.querySelector(".dropdown-toggle").classList.add("frm_noallow"))}"complete"===document.readyState?t():document.addEventListener("DOMContentLoaded",t),document.addEventListener("frm_after_start_over",function(){a()}),jQuery(document).on("frmPageChanged frmFormComplete",function(){a()})}()})(); \ No newline at end of file +(()=>{var e={65:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(8793),o=r(1323);function i(e){var t=(0,n.A)(e);return function(e){return(0,o.A)(t,e)}}},1323:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};function o(e,t){var r,o,i,a,s,l,c=[];for(r=0;r{"use strict";r.d(t,{A:()=>o});var n=r(65);function o(e){var t=(0,n.A)(e);return function(e){return+t({n:e})}}},8793:(e,t,r)=>{"use strict";var n,o,i,a;function s(e){for(var t,r,s,l,c=[],u=[];t=e.match(a);){for(r=t[0],(s=e.substr(0,t.index).trim())&&c.push(s);l=u.pop();){if(i[r]){if(i[r][0]===l){r=i[r][1]||r;break}}else if(o.indexOf(l)>=0||n[l]s}),n={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},o=["(","?"],i={")":["("],":":["?","?:"]},a=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/},7521:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6956),o=r(7395);const i=function(e,t){return function(r,i,a){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,l=e[t];if((0,o.A)(r)&&(0,n.A)(i))if("function"==typeof a)if("number"==typeof s){var c={callback:a,priority:s,namespace:i};if(l[r]){var u,d=l[r].handlers;for(u=d.length;u>0&&!(s>=d[u-1].priority);u--);u===d.length?d[u]=c:d.splice(u,0,c),l.__current.forEach(function(e){e.name===r&&e.currentIndex>=u&&e.currentIndex++})}else l[r]={handlers:[c],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,i,a,s)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}}},11:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(){var r,n,o=e[t];return null!==(r=null===(n=o.__current[o.__current.length-1])||void 0===n?void 0:n.name)&&void 0!==r?r:null}}},5375:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7395);const o=function(e,t){return function(r){var o=e[t];if((0,n.A)(r))return o[r]&&o[r].runs?o[r].runs:0}}},3561:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r){var n=e[t];return void 0===r?void 0!==n.__current[0]:!!n.__current[0]&&r===n.__current[0].name}}},8830:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){return function(r,n){var o=e[t];return void 0!==n?r in o&&o[r].handlers.some(function(e){return e.namespace===n}):r in o}}},7765:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(3029),o=r(7521),i=r(4194),a=r(8830),s=r(6763),l=r(11),c=r(3561),u=r(5375),d=function e(){(0,n.A)(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=(0,o.A)(this,"actions"),this.addFilter=(0,o.A)(this,"filters"),this.removeAction=(0,i.A)(this,"actions"),this.removeFilter=(0,i.A)(this,"filters"),this.hasAction=(0,a.A)(this,"actions"),this.hasFilter=(0,a.A)(this,"filters"),this.removeAllActions=(0,i.A)(this,"actions",!0),this.removeAllFilters=(0,i.A)(this,"filters",!0),this.doAction=(0,s.A)(this,"actions"),this.applyFilters=(0,s.A)(this,"filters",!0),this.currentAction=(0,l.A)(this,"actions"),this.currentFilter=(0,l.A)(this,"filters"),this.doingAction=(0,c.A)(this,"actions"),this.doingFilter=(0,c.A)(this,"filters"),this.didAction=(0,u.A)(this,"actions"),this.didFilter=(0,u.A)(this,"filters")};const f=function(){return new d}},4194:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(6956),o=r(7395);const i=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(i,a){var s=e[t];if((0,o.A)(i)&&(r||(0,n.A)(a))){if(!s[i])return 0;var l=0;if(r)l=s[i].handlers.length,s[i]={runs:s[i].runs,handlers:[]};else for(var c=s[i].handlers,u=function(e){c[e].namespace===a&&(c.splice(e,1),l++,s.__current.forEach(function(t){t.name===i&&t.currentIndex>=e&&t.currentIndex--}))},d=c.length-1;d>=0;d--)u(d);return"hookRemoved"!==i&&e.doAction("hookRemoved",i,a),l}}}},6763:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var o=e[t];o[n]||(o[n]={handlers:[],runs:0}),o[n].runs++;for(var i=o[n].handlers,a=arguments.length,s=new Array(a>1?a-1:0),l=1;l{"use strict";r.d(t,{se:()=>n});var n=(0,r(7765).A)();n.addAction,n.addFilter,n.removeAction,n.removeFilter,n.hasAction,n.hasFilter,n.removeAllActions,n.removeAllFilters,n.doAction,n.applyFilters,n.currentAction,n.currentFilter,n.doingAction,n.doingFilter,n.didAction,n.didFilter,n.actions,n.filters},7395:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},6956:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}},772:(e,t,r)=>{"use strict";r.d(t,{h:()=>c});var n=r(4467),o=r(5397);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=a(a(a({},s),n.data[t]),e),n.data[t][""]=a(a({},s[""]),n.data[t][""])},d=function(e,t){u(e,t),c()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return n.data[e]||u(void 0,e),n.dcnpgettext(e,t,r,o,i)},p=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},m=function(e,t,n){var o=f(n,t,e);return r?(o=r.applyFilters("i18n.gettext_with_context",o,e,t,n),r.applyFilters("i18n.gettext_with_context_"+p(n),o,e,t,n)):o};if(e&&d(e,t),r){var v=function(e){l.test(e)&&c()};r.addAction("hookAdded","core/i18n",v),r.addAction("hookRemoved","core/i18n",v)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:d,resetLocaleData:function(e,t){n.data={},n.pluralForms={},d(e,t)},subscribe:function(e){return i.add(e),function(){return i.delete(e)}},__:function(e,t){var n=f(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+p(t),n,e,t)):n},_x:m,_n:function(e,t,n,o){var i=f(o,void 0,e,t,n);return r?(i=r.applyFilters("i18n.ngettext",i,e,t,n,o),r.applyFilters("i18n.ngettext_"+p(o),i,e,t,n,o)):i},_nx:function(e,t,n,o,i){var a=f(i,o,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,o,i),r.applyFilters("i18n.ngettext_with_context_"+p(i),a,e,t,n,o,i)):a},isRTL:function(){return"rtl"===m("ltr","text direction")},hasTranslation:function(e,t,o){var i,a,s=t?t+""+e:e,l=!(null===(i=n.data)||void 0===i||null===(a=i[null!=o?o:"default"])||void 0===a||!a[s]);return r&&(l=r.applyFilters("i18n.has_translation",l,e,t,o),l=r.applyFilters("i18n.has_translation_"+p(o),l,e,t,o)),l}}}},5839:(e,t,r)=>{"use strict";r.d(t,{__:()=>a});var n=r(772),o=r(2133),i=(0,n.h)(void 0,void 0,o.se),a=(i.getLocaleData.bind(i),i.setLocaleData.bind(i),i.resetLocaleData.bind(i),i.subscribe.bind(i),i.__.bind(i));i._x.bind(i),i._n.bind(i),i._nx.bind(i),i.isRTL.bind(i),i.hasTranslation.bind(i)},9575:(e,t,r)=>{"use strict";r.d(t,{__:()=>n.__}),r(181),r(772);var n=r(5839)},181:(e,t,r)=>{"use strict";var n=r(8616),o=r.n(n);r(7604),o()(console.error)},1105:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addonError:()=>u,afterAddonInstall:()=>c,extractErrorFromAddOnResponse:()=>l,toggleAddonState:()=>s});var n=r(9575),o=frmDom,i=o.div,a=o.svg;function s(e,t){var r,n=null!==(r=window.ajaxurl)&&void 0!==r?r:frm_js.ajax_url;jQuery(".frm-addon-error").remove();var o=jQuery(e),i=o.attr("rel"),a=o.parent(),s=a.parent().find(".addon-status-label");o.addClass("frm_loading_button"),jQuery.ajax({url:n,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:t,nonce:frmGlobal.nonce,plugin:i},success:function(e){var r,n,i;"string"!=typeof(e=null!==(r=null===(n=e)||void 0===n?void 0:n.data)&&void 0!==r?r:e)&&"string"==typeof e.message&&(void 0!==e.saveAndReload&&(i=e.saveAndReload),e=e.message);var d=l(e);d?u(d,a,o):(c(e,o,s,a,i,t),wp.hooks.doAction("frm_update_addon_state",e))},error:function(){o.removeClass("frm_loading_button")}})}function l(e){return"string"!=typeof e&&!e.success&&(e.form&&jQuery(e.form).is("#message")?{message:jQuery(e.form).find("p").html()}:e)}function c(e,t,r,o,s){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"frm_activate_addon",c=frm_admin_js,u=document.querySelectorAll(".frm-addon-status");u.forEach(function(t){t.textContent=e,t.style.display="block"}),t.css({opacity:"0"}),document.querySelectorAll(".frm-oneclick").forEach(function(e){e.style.display="none"}),function(){var e=document.getElementById("frm_upgrade_modal");if(e){e.classList.add("frm-success");var t=e.querySelector(".frm-upgrade-message");if(t){var r=t.querySelector("img");t.replaceChildren((0,n.__)("Great! Everything's ready to go!","formidable"),document.createElement("br"),(0,n.__)("You just need to refresh the builder so the new field becomes available.","formidable")),r&&t.append(r)}var o=document.querySelector(".frm-addon-status");o&&(o.textContent="");var i,s=e.querySelector(".frm-circled-icon");if(s)s.classList.add("frm-circled-icon-green"),null===(i=s.querySelector("svg"))||void 0===i||i.replaceWith(a({href:"#frm_checkmark_icon"}))}}();var f={frm_activate_addon:{class:"frm-addon-active",message:c.active},frm_deactivate_addon:{class:"frm-addon-installed",message:c.installed},frm_uninstall_addon:{class:"frm-addon-not-installed",message:c.not_installed}};f.frm_install_addon=f.frm_activate_addon;var p=r[0];p&&(p.textContent=f[l].message);var m=o[0].parentElement;m.classList.remove("frm-addon-not-installed","frm-addon-installed","frm-addon-active"),m.classList.add(f[l].class),t[0].classList.remove("frm_loading_button"),document.querySelectorAll(".frm-admin-page-import, #frm-admin-smtp, #frm-welcome").length>0?window.location.reload():["settings","form_builder"].includes(s)&&u.forEach(function(e){var t=null!==e.closest("#frm_upgrade_modal");e.append(function(e,t){var r,o=[d(e)];return t&&o.push(((r=document.createElement("a")).setAttribute("href","#"),r.classList.add("button","button-secondary","frm-button-secondary","dismiss"),r.textContent=(0,n.__)("Not Now","formidable"),r)),i({className:"frm-save-and-reload-options",children:o})}(s,t))})}function u(e,t,r){e.form?(jQuery(".frm-inline-error").remove(),r.closest(".frm-card").html(e.form).css({padding:5}).find("#upgrade").attr("rel",r.attr("rel")).on("click",f)):(t.append('

            '+e.message+"

            "),r.removeClass("frm_loading_button"),jQuery(".frm-addon-error").delay(4e3).fadeOut())}function d(e){var t=document.createElement("button");return t.classList.add("frm-save-and-reload","button","button-primary","frm-button-primary"),t.textContent=(0,n.__)("Save and Reload","formidable"),t.addEventListener("click",function(){var t;"form_builder"===e?((t=document.getElementById("frm_submit_side_top")).classList.contains("frm_submit_ajax")&&t.setAttribute("data-new-addon-installed",!0),t.click()):"settings"===e&&function(){var e=document.getElementById("form_settings_page");if(null!==e){var t=e.querySelector("form.frm_form_settings");null!==t&&(wp.hooks.doAction("frm_reset_fields_updated"),t.submit())}}()}),t}function f(e){e.preventDefault();var t=jQuery(this),r=t.parent().parent(),n=t.attr("rel");t.addClass("frm_loading_button"),jQuery.ajax({url:ajaxurl,type:"POST",async:!0,cache:!1,dataType:"json",data:{action:"frm_install_addon",nonce:frmAdminJs.nonce,plugin:n,hostname:r.find("#hostname").val(),username:r.find("#username").val(),password:r.find("#password").val()},success:function(e){var n,o,i=l(e=null!==(n=null===(o=e)||void 0===o?void 0:o.data)&&void 0!==n?n:e);i?u(i,r,t):c(e,t,message,r)},error:function(){t.removeClass("frm_loading_button")}})}},4260:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addOneClick:()=>i,initModal:()=>a,initUpgradeModal:()=>s});var n=r(9575),o=frmDom.svg;function i(e,t,r){var i;if("modal"===t)i=document.getElementById("frm_upgrade_modal");else{if("tab"!==t)return;i=document.getElementById(e.getAttribute("href").substr(1))}var a,s=i.querySelector(".frm-oneclick"),l=i.querySelector(".frm-upgrade-message"),c=i.querySelector(".frm-upgrade-link"),u=i.querySelector(".frm-oneclick-button"),d=i.querySelector(".frm-addon-status"),f=e.getAttribute("data-oneclick"),p=e.getAttribute("data-message"),m="block",v="block",h="none",g=i.querySelector(".frm-circled-icon");g&&(g.classList.remove("frm-circled-icon-green"),null===(a=g.querySelector("svg"))||void 0===a||a.replaceWith(o({href:"#frm_filled_lock_icon"})));var y=i.querySelector(".frm-learn-more");if(y&&(y.href=e.dataset.learnMore),null!==s&&null!==u&&void 0!==f&&f){null===p&&(v="none"),m="none",h="block",f=JSON.parse(f),u.className=u.className.replace(" frm-install-addon","").replace(" frm-activate-addon",""),u.className=u.className+" "+f.class,u.rel=f.url,s.textContent=(0,n.__)("This plugin is not activated. Would you like to activate it now?","formidable"),u.textContent=(0,n.__)("Activate","formidable");var _=e.querySelector("use");_&&(null==g||g.querySelector("svg").replaceWith(o({href:_.getAttribute("href")||_.getAttribute("xlink:href"),classList:["frm_svg32"]})))}p||(p=l.getAttribute("data-default")),void 0!==r&&(p=p.replace('',r)),l.innerHTML=p,e.dataset.upsellImage&&l.append(frmDom.img({src:e.dataset.upsellImage,alt:e.dataset.upgrade})),c.href=function(e,t){var r=e.getAttribute("data-link");return null!=r&&""!==r||(r=t.getAttribute("data-default")),r}(e,c),d.style.display="none",s&&(s.style.display=h),u&&(u.style.display="block"===h?"inline-block":h),l.style.display=v,c.style.display="block"===m?"inline-block":m;var b=c.closest(".frm-upgrade-modal-actions");b&&(b.style.display="block"===m?"flex":m)}function a(e,t){var r=jQuery(e);if(!r.length)return!1;void 0===t&&(t="552px");var n={dialogClass:"frm-dialog",modal:!0,autoOpen:!1,closeOnEscape:!0,width:t,resizable:!1,draggable:!1,open:function(){var e,t;jQuery(".ui-dialog-titlebar").addClass("frm_hidden").removeClass("ui-helper-clearfix"),jQuery("#wpwrap").addClass("frm_overlay"),jQuery(".frm-dialog").removeClass("ui-widget ui-widget-content ui-corner-all"),r.removeClass("ui-dialog-content ui-widget-content"),e=r,t=function(){e.dialog("close")},jQuery(".ui-widget-overlay").on("click",t),e.on("click","a.dismiss",t)},close:function(){jQuery("#wpwrap").removeClass("frm_overlay"),jQuery(".spinner").css("visibility","hidden"),this.removeAttribute("data-option-type");var e=document.getElementById("bulk-option-type");e&&(e.value="")}};return r.dialog(n),r}function s(){var e=a("#frm_upgrade_modal");function t(t){var r,n,o;if((r=t.target).classList){var a=r.classList.contains("frm_show_expired_modal")||null!==r.querySelector(".frm_show_expired_modal")||r.closest(".frm_show_expired_modal");if("change"===t.type&&r.classList.contains("frm_select_with_upgrade")){var s=r.options[r.selectedIndex];s&&s.dataset.upgrade&&(r=s)}if(!r.dataset.upgrade){var l=r.closest("[data-upgrade]");if(!l){if(!(l=r.closest(".frm_field_box")))return;r.dataset.upgrade=""}r=l}if(a)wp.hooks.doAction("frm_show_expired_modal",r);else{var c=r.dataset.upgrade;if(c&&!r.classList.contains("frm_show_upgrade_tab")){t.preventDefault();var u=e.get(0),d=u.querySelector(".frm_lock_icon");d&&(d.style.display="block",d.classList.remove("frm_lock_open_icon"),d.querySelector("use").setAttribute("href","#frm_lock_icon"));var f="frm_upgrade_modal_image",p=document.getElementById(f);p&&p.remove(),r.dataset.image&&d&&(d.style.display="none",d.parentNode.insertBefore(frmDom.img({id:f,src:frmGlobal.url+"/images/"+r.dataset.image}),d));var m=u.querySelector(".license-level");m&&(m.textContent=function(e){return e.dataset.requires?e.dataset.requires:"Pro"}(r)),i(r,"modal",c),u.querySelector(".frm_are_not_installed").style.display=r.dataset.image||r.dataset.oneclick?"none":"inline-block",u.querySelector(".frm-upgrade-modal-title-prefix").style.display=r.dataset.oneclick?"inline":"none",u.querySelector(".frm_feature_label").textContent=c,u.querySelector(".frm-upgrade-modal-title-suffix").style.display="none",u.querySelector("h2").style.display="block",e.dialog("open");var v=u.querySelector(".button-primary:not(.frm-oneclick-button)");n=v.getAttribute("href").replace(/(medium=)[a-z_-]+/gi,"$1"+r.getAttribute("data-medium")),null===(o=r.getAttribute("data-content"))&&(o=""),n=n.replace(/(content=)[a-z_-]+/gi,"$1"+o),v.setAttribute("href",n)}}}}!1!==e&&(document.addEventListener("click",t),frmDom.util.documentOn("change","select.frm_select_with_upgrade",t))}},8616:e=>{e.exports=function(e,t){var r,n,o=0;function i(){var i,a,s=r,l=arguments.length;e:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(e){return function(e,t){var r,n,a,s,l,c,u,d,f,p=1,m=e.length,v="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}o.json.test(s.type)?v+=r:(!o.number.test(s.type)||d&&!s.sign?f="":(f=d?"+":"-",r=r.toString().replace(o.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+r).length,l=s.width&&u>0?c.repeat(u):"",v+=s.align?f+r+l:"0"===c?f+l+r:l+f+r)}return v}(function(e){if(s[e])return s[e];for(var t,r=e,n=[],i=0;r;){if(null!==(t=o.text.exec(r)))n.push(t[0]);else if(null!==(t=o.modulo.exec(r)))n.push("%");else{if(null===(t=o.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var a=[],l=t[2],c=[];if(null===(c=o.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=o.key_access.exec(l)))a.push(c[1]);else{if(null===(c=o.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(c[1])}t[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[e]=n}(e),arguments)}function a(e,t){return i.apply(null,[e].concat(t||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(n=function(){return{sprintf:i,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()},5397:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(1364),o={contextDelimiter:"",onMissingKey:null};function i(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},o)this.options[r]=void 0!==t&&r in t?t[r]:o[r]}i.prototype.getPluralForm=function(e,t){var r,o,i,a=this.pluralForms[e];return a||("function"!=typeof(i=(r=this.data[e][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(o=function(e){var t,r,n;for(t=e.split(";"),r=0;r{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,{A:()=>n})},4467:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(9922);function o(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},2327:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2284);function o(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=(0,n.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}},9922:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(2284),o=r(2327);function i(e){var t=(0,o.A)(e,"string");return"symbol"==(0,n.A)(t)?t:t+""}},2284:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}function n(){var e,t,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",a=r.toStringTag||"@@toStringTag";function s(r,n,i,a){var s=n&&n.prototype instanceof c?n:c,u=Object.create(s.prototype);return o(u,"_invoke",function(r,n,o){var i,a,s,c=0,u=o||[],d=!1,f={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,a=0,s=e,f.n=r,l}};function p(r,n){for(a=r,s=n,t=0;!d&&c&&!o&&t3?(o=m===n)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&pn||n>m)&&(i[4]=r,i[5]=n,f.n=m,a=0))}if(o||r>1)return l;throw d=!0,n}return function(o,u,m){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,m),a=u,s=m;(t=a<2?e:s)||!d;){i||(a?a<3?(a>1&&(f.n=-1),p(a,s)):f.n=s:f.v=s);try{if(c=2,i){if(a||(o="next"),t=i[o]){if(!(t=t.call(i,s)))throw TypeError("iterator result is not an object");if(!t.done)return t;s=t.value,a<2&&(a=0)}else 1===a&&(t=i.return)&&t.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((t=(d=f.n<0)?s:r.call(n,f))!==l)break}catch(t){i=e,a=1,s=t}finally{c=1}}return{value:t,done:d}}}(r,i,a),!0),u}var l={};function c(){}function u(){}function d(){}t=Object.getPrototypeOf;var f=[][i]?t(t([][i]())):(o(t={},i,function(){return this}),t),p=d.prototype=c.prototype=Object.create(f);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,o(e,a,"GeneratorFunction")),e.prototype=Object.create(p),e}return u.prototype=d,o(p,"constructor",d),o(d,"constructor",u),u.displayName="GeneratorFunction",o(d,a,"GeneratorFunction"),o(p),o(p,a,"Generator"),o(p,i,function(){return this}),o(p,"toString",function(){return"[object Generator]"}),(n=function(){return{w:s,m}})()}function o(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,t,r,n){function a(t,r){o(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(a("next",0),a("throw",1),a("return",2))},o(e,t,r,n)}function i(e,t,r,n,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,o)}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e=r(1105).toggleAddonState;function t(){jQuery(document).on("click","#frm_upgrade_modal .frm-install-addon",function(t){t.preventDefault(),e(this,"frm_install_addon")}),jQuery(document).on("click","#frm_upgrade_modal .frm-activate-addon",function(t){t.preventDefault(),e(this,"frm_activate_addon")}),function(){o.apply(this,arguments)}(),a(),jQuery(document).on("mouseenter.frm",".frm_help",function(){jQuery(this).off("mouseenter.frm"),jQuery(this).tooltip("show")})}function o(){var e;return e=n().m(function e(){return n().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,Promise.resolve().then(r.bind(r,4260));case 1:e.v.initUpgradeModal();case 2:return e.a(2)}},e)}),o=function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function s(e){i(a,n,o,s,l,"next",e)}function l(e){i(a,n,o,s,l,"throw",e)}s(void 0)})},o.apply(this,arguments)}function a(){var e=window.frmDom;e.bootstrap.setupBootstrapDropdowns(function(){var e=document.querySelector("#frm_testmode_enabled_form_actions .dropdown-toggle");e&&(e.classList.add("frm-dropdown-toggle"),e.hasAttribute("role")||e.setAttribute("role","button"),e.hasAttribute("tabindex")||e.setAttribute("tabindex",0))});var t=document.getElementById("frm_testmode_enabled_form_actions");t&&(t.style.display="none",e.bootstrap.multiselect.init.bind(t)(),t.disabled&&t.parentElement.querySelector(".dropdown-toggle").classList.add("frm_noallow"))}"complete"===document.readyState?t():document.addEventListener("DOMContentLoaded",t),document.addEventListener("frm_after_start_over",function(){a()}),jQuery(document).on("frmPageChanged frmFormComplete",function(){a()})}()})(); \ No newline at end of file diff --git a/js/packages/floating-links/s11-floating-links.js b/js/packages/floating-links/s11-floating-links.js index d5a0d5a4f1..8500b2b4ed 100644 --- a/js/packages/floating-links/s11-floating-links.js +++ b/js/packages/floating-links/s11-floating-links.js @@ -84,7 +84,7 @@ class S11FloatingLinks { } /** - * @return {HTMLElement} The inbox slide-in element. + * @returns {HTMLElement} The inbox slide-in element. */ getInboxSlideIn() { const h3 = frmDom.tag( diff --git a/js/plugin-search.js b/js/plugin-search.js index 33471ff68d..b5106dd2e4 100644 --- a/js/plugin-search.js +++ b/js/plugin-search.js @@ -14,16 +14,16 @@ function frmPS() { /** * Get parent search hint element. * - * @return {Element|null} The parent search hint element. + * @returns {Element|null} The parent search hint element. */ - getCard: function() { + getCard() { return document.querySelector( '.plugin-card-frm-plugin-search' ); }, /** * Replace bottom row of the card to insert logo, text and link to dismiss the card. */ - replaceCardBottom: function() { + replaceCardBottom() { const hint = FormidablePSH.getCard(); if ( 'object' === typeof hint && null !== hint ) { hint.querySelector( '.plugin-card-bottom' ).outerHTML = @@ -45,7 +45,7 @@ function frmPS() { * * @param {Array} mutationsList */ - replaceOnNewResults: function( mutationsList ) { + replaceOnNewResults( mutationsList ) { mutationsList.forEach( function( mutation ) { if ( 'childList' === mutation.type && @@ -59,7 +59,7 @@ function frmPS() { /** * Start suggesting. */ - init: function() { + init() { if ( FormidablePSH.$pluginFilter === null ) { return; } diff --git a/js/src/addons-page/addons/categorizeAddons.js b/js/src/addons-page/addons/categorizeAddons.js index 269f1670fe..1f0805f761 100644 --- a/js/src/addons-page/addons/categorizeAddons.js +++ b/js/src/addons-page/addons/categorizeAddons.js @@ -12,7 +12,7 @@ categorizedAddons[ VIEWS.ACTIVE ] = []; /** * Builds a categorized list of addons. * - * @return {void} + * @returns {void} */ export function buildCategorizedAddons() { const { addons } = getElements(); diff --git a/js/src/addons-page/events/addonToggleListener.js b/js/src/addons-page/events/addonToggleListener.js index d59d8ef22f..b51533b062 100644 --- a/js/src/addons-page/events/addonToggleListener.js +++ b/js/src/addons-page/events/addonToggleListener.js @@ -9,7 +9,7 @@ let targetButton; /** * Manages event handling for addons toggle. * - * @return {void} + * @returns {void} */ function addAddonToggleEvents() { const { addonsToggle } = getElements(); @@ -28,7 +28,7 @@ function addAddonToggleEvents() { * * @private * @param {Event} event The click event object. - * @return {void} + * @returns {void} */ const onAddonToggleClick = event => { if ( targetButton?.classList.contains( 'frm_loading_button' ) ) { diff --git a/js/src/addons-page/events/index.js b/js/src/addons-page/events/index.js index fca9a74f97..41fa9ddcc6 100644 --- a/js/src/addons-page/events/index.js +++ b/js/src/addons-page/events/index.js @@ -13,7 +13,7 @@ import addSearchEvents from './searchListener'; /** * Attaches event listeners for handling user interactions. * - * @return {void} + * @returns {void} */ export function addEventListeners() { addCategoryEvents(); diff --git a/js/src/addons-page/events/searchListener.js b/js/src/addons-page/events/searchListener.js index 62c6890685..3becff45bb 100644 --- a/js/src/addons-page/events/searchListener.js +++ b/js/src/addons-page/events/searchListener.js @@ -11,7 +11,7 @@ const { init: initSearch } = window.frmDom.search; * Adds search-related event listeners by calling the 'initSearch' function. * * @see frmDom.search method - * @return {void} + * @returns {void} */ function addSearchEvents() { const { searchInput } = getElements(); @@ -27,7 +27,7 @@ function addSearchEvents() { * @param {boolean} args.foundSomething True if search yielded results. * @param {boolean} args.notEmptySearchText True if search input is not empty. * @param {Event} event The event object (input, search, or change event). - * @return {void} + * @returns {void} */ function handleSearchResult( { foundSomething, notEmptySearchText }, event ) { // Prevent double calls as window.frmDom.search.init attaches both 'input' and 'search' events, diff --git a/js/src/addons-page/ui/searchState.js b/js/src/addons-page/ui/searchState.js index 6888d5aa92..83dcd06726 100644 --- a/js/src/addons-page/ui/searchState.js +++ b/js/src/addons-page/ui/searchState.js @@ -20,7 +20,7 @@ import { showEmptyState } from '.'; * Updates the UI to display the search state. * * @param {boolean} notEmptySearchText True if search input is not empty. - * @return {void} + * @returns {void} */ export function showSearchState( notEmptySearchText ) { const { bodyContent, bodyContentChildren, addonsList } = getElements(); @@ -45,7 +45,7 @@ export function showSearchState( notEmptySearchText ) { * Displays search results based on search outcome. * * @param {boolean} foundSomething True if search yielded results. - * @return {void} + * @returns {void} */ export function displaySearchElements( foundSomething ) { // Show empty state if no templates found diff --git a/js/src/addons-page/ui/setupInitialView.js b/js/src/addons-page/ui/setupInitialView.js index ee76d12822..a891855a46 100644 --- a/js/src/addons-page/ui/setupInitialView.js +++ b/js/src/addons-page/ui/setupInitialView.js @@ -18,7 +18,7 @@ const CAT_COUNT_CLASS = `.${ SKELETON_PREFIX }-cat-count`; * Sets up the initial view, performing any required * DOM manipulations for proper element presentation. * - * @return {void} + * @returns {void} */ export function setupInitialView() { const { sidebar, searchInput, bodyContent } = getElements(); @@ -43,7 +43,7 @@ export function setupInitialView() { * Sets up the "Active" category, updating the * categorizedAddons object and the category count. * - * @return {void} + * @returns {void} */ export function setupActiveCategory() { const { activeCategory, availableCategory, categoriesTopDivider } = @@ -72,7 +72,7 @@ export function setupActiveCategory() { * categorizedAddons object and the category count. * * @private - * @return {void} + * @returns {void} */ function setupAvailableCategory() { const { bodyContent, availableCategory, availableAddons } = getElements(); @@ -97,7 +97,7 @@ function setupAvailableCategory() { * category count. * * @private - * @return {void} + * @returns {void} */ function setupAllAddonsCategory() { const { allItemsCategory, addons } = getElements(); @@ -111,7 +111,7 @@ function setupAllAddonsCategory() { * category count. * * @private - * @return {void} + * @returns {void} */ function setupPlansCategory() { const { diff --git a/js/src/addons-page/ui/showEmptyState.js b/js/src/addons-page/ui/showEmptyState.js index 93a456b82a..72d77865c8 100644 --- a/js/src/addons-page/ui/showEmptyState.js +++ b/js/src/addons-page/ui/showEmptyState.js @@ -18,7 +18,7 @@ import { addonRequestURL } from '../constants'; /** * Display the search-empty state. * - * @return {void} + * @returns {void} */ export function showEmptyState() { const { selectedCategory } = getState(); diff --git a/js/src/addons-page/ui/showSelectedCategory.js b/js/src/addons-page/ui/showSelectedCategory.js index d25d658fd1..11468f2e66 100644 --- a/js/src/addons-page/ui/showSelectedCategory.js +++ b/js/src/addons-page/ui/showSelectedCategory.js @@ -15,7 +15,7 @@ import { showEmptyState } from '.'; * Show addons based on selected category. * * @param {string} selectedCategory The selected category to display addons for. - * @return {void} + * @returns {void} */ export function showSelectedCategory( selectedCategory ) { const { bodyContent, addons, emptyState, upgradeBanner } = getElements(); diff --git a/js/src/admin/addon-state.js b/js/src/admin/addon-state.js index 55b048b61a..ab54b01313 100644 --- a/js/src/admin/addon-state.js +++ b/js/src/admin/addon-state.js @@ -9,7 +9,7 @@ const { div, svg } = frmDom; * @param {string} action */ export function toggleAddonState( clicked, action ) { - const ajaxurl = window.ajaxurl ?? frm_js.ajax_url; // eslint-disable-line camelcase + const ajaxurl = window.ajaxurl ?? frm_js.ajax_url; // Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated. jQuery( '.frm-addon-error' ).remove(); @@ -28,17 +28,17 @@ export function toggleAddonState( clicked, action ) { cache: false, dataType: 'json', data: { - action: action, + action, nonce: frmGlobal.nonce, - plugin: plugin + plugin }, - success: function( response ) { + success( response ) { response = response?.data ?? response; let saveAndReload; if ( 'string' !== typeof response && 'string' === typeof response.message ) { - if ( 'undefined' !== typeof response.saveAndReload ) { + if ( response.saveAndReload !== undefined ) { saveAndReload = response.saveAndReload; } response = response.message; @@ -59,7 +59,7 @@ export function toggleAddonState( clicked, action ) { */ wp.hooks.doAction( 'frm_update_addon_state', response ); }, - error: function() { + error() { button.removeClass( 'frm_loading_button' ); } } ); @@ -67,7 +67,7 @@ export function toggleAddonState( clicked, action ) { export function extractErrorFromAddOnResponse( response ) { if ( typeof response !== 'string' ) { - if ( typeof response.success !== 'undefined' && response.success ) { + if ( response.success ) { return false; } @@ -86,7 +86,7 @@ export function extractErrorFromAddOnResponse( response ) { } export function afterAddonInstall( response, button, message, el, saveAndReload, action = 'frm_activate_addon' ) { - const frmAdminJs = frm_admin_js; // eslint-disable-line camelcase + const frmAdminJs = frm_admin_js; const addonStatuses = document.querySelectorAll( '.frm-addon-status' ); addonStatuses.forEach( @@ -214,7 +214,7 @@ function saveAndReloadFormBuilder() { * Updates the upgrade modal to show successful addon installation state. * * @private - * @return {void} + * @returns {void} */ function showUpgradeModalSuccess() { const upgradeModal = document.getElementById( 'frm_upgrade_modal' ); @@ -269,12 +269,12 @@ function installAddonWithCreds( e ) { data: { action: 'frm_install_addon', nonce: frmAdminJs.nonce, - plugin: plugin, + plugin, hostname: el.find( '#hostname' ).val(), username: el.find( '#username' ).val(), password: el.find( '#password' ).val() }, - success: function( response ) { + success( response ) { response = response?.data ?? response; const error = extractErrorFromAddOnResponse( response ); @@ -285,7 +285,7 @@ function installAddonWithCreds( e ) { afterAddonInstall( response, proceed, message, el ); }, - error: function() { + error() { proceed.removeClass( 'frm_loading_button' ); } } ); diff --git a/js/src/admin/admin.js b/js/src/admin/admin.js index ebd24de778..4eb2ea025f 100644 --- a/js/src/admin/admin.js +++ b/js/src/admin/admin.js @@ -1,5 +1,4 @@ /* exported frm_add_logic_row, frm_remove_tag, frm_show_div, frmCheckAll, frmCheckAllLevel */ -/* eslint-disable jsdoc/require-param, prefer-const, no-redeclare, @wordpress/no-unused-vars-before-return, jsdoc/check-types, jsdoc/check-tag-names, @wordpress/i18n-translator-comments, @wordpress/valid-sprintf, jsdoc/require-returns-description, jsdoc/require-param-type, no-unused-expressions, compat/compat */ window.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, $ ) { /*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl */ @@ -8,7 +7,7 @@ window.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, messageBox: null, reset: null, - setElements: function() { + setElements() { el.messageBox = document.querySelector( '.frm_pro_license_msg' ); el.reset = document.getElementById( 'frm_reconnect_link' ); } @@ -28,7 +27,7 @@ window.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, * * @since 4.03 */ - init: function() { + init() { el.setElements(); $( document.getElementById( 'frm_deauthorize_link' ) ).on( 'click', app.deauthorize ); @@ -44,7 +43,7 @@ window.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, }, /* Manual license authorization */ - authorize: function() { + authorize() { /*jshint validthis:true */ const button = this; const pluginSlug = this.getAttribute( 'data-plugin' ); @@ -64,19 +63,19 @@ window.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, type: 'POST', url: ajaxurl, dataType: 'json', data: { action: 'frm_addon_activate', - license: license, + license, plugin: pluginSlug, - wpmu: wpmu, + wpmu, nonce: frmGlobal.nonce }, - success: function( msg ) { + success( msg ) { app.afterAuthorize( msg, input ); button.classList.remove( 'frm_loading_button' ); } } ); }, - afterAuthorize: function( msg, input ) { + afterAuthorize( msg, input ) { if ( msg.success === true ) { input.value = '•••••••••••••••••••'; } @@ -85,7 +84,7 @@ window.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, app.showMessage( msg ); }, - showProgress: function( msg ) { + showProgress( msg ) { if ( el.messageBox === null ) { // In case the message box was added after page load. el.setElements(); @@ -107,7 +106,7 @@ window.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, messageBox.innerHTML = msg.message; }, - showMessage: function( msg ) { + showMessage( msg ) { if ( el.messageBox === null ) { // In case the message box was added after page load. el.setElements(); @@ -142,7 +141,7 @@ window.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, } }, - showAuthorized: function( show ) { + showAuthorized( show ) { const from = show ? 'unauthorized' : 'authorized'; const to = show ? 'authorized' : 'unauthorized'; const container = document.querySelectorAll( '.frm_' + from + '_box' ); @@ -157,7 +156,7 @@ window.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, /** * Use the data-success element to replace the element content. */ - showInlineSuccess: function() { + showInlineSuccess() { const successElement = document.querySelectorAll( '.frm-confirm-msg [data-success]' ); if ( successElement.length ) { successElement.forEach( function( element ) { @@ -167,7 +166,7 @@ window.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, }, /* Clear the site license cache */ - reauthorize: function() { + reauthorize() { /*jshint validthis:true */ this.innerHTML = ''; @@ -180,7 +179,7 @@ window.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, plugin: 'formidable_pro', nonce: frmGlobal.nonce }, - success: function( msg ) { + success( msg ) { el.reset.textContent = msg.message; if ( el.reset.getAttribute( 'data-refresh' ) === '1' ) { window.location.reload(); @@ -190,7 +189,7 @@ window.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, return false; }, - deauthorize: function() { + deauthorize() { /*jshint validthis:true */ if ( ! confirm( frmGlobal.deauthorize ) ) { return false; @@ -207,11 +206,11 @@ window.FrmFormsConnect = window.FrmFormsConnect || ( function( document, window, url: ajaxurl, data: { action: 'frm_addon_deactivate', - license: license, + license, plugin: pluginSlug, nonce: frmGlobal.nonce }, - success: function() { + success() { app.showAuthorized( false ); input.value = ''; link.replaceWith( 'Disconnected' ); @@ -237,7 +236,7 @@ window.frmAdminBuildJS = function() { const MAX_FIELD_GROUP_SIZE = 12; - const frmAdminJs = frm_admin_js; // eslint-disable-line camelcase + const frmAdminJs = frm_admin_js; const { tag, div, span, a, svg, img } = frmDom; const { onClickPreventDefault } = frmDom.util; const { doJsonPost } = frmDom.ajax; @@ -411,7 +410,7 @@ window.frmAdminBuildJS = function() { * Toggle a class on target elements when an anchor is clicked, or when a radio or checkbox has been selected. * * @param {Event} e Event with either the change or click type. - * @return {false} + * @returns {false} */ function hideShowItem( e ) { /*jshint validthis:true */ @@ -570,12 +569,12 @@ window.frmAdminBuildJS = function() { const id = deleteButton.attr( 'data-removeid' ); show = deleteButton.attr( 'data-showlast' ); - if ( typeof show === 'undefined' ) { + if ( show === undefined ) { show = ''; } hide = deleteButton.attr( 'data-hidelast' ); - if ( typeof hide === 'undefined' ) { + if ( hide === undefined ) { hide = ''; } @@ -619,7 +618,7 @@ window.frmAdminBuildJS = function() { document.querySelector( '.tooltip' )?.remove(); } ); - if ( typeof removeMore !== 'undefined' ) { + if ( removeMore !== undefined ) { removeMore = jQuery( removeMore ); removeMore.fadeOut( 400, function() { removeMore.remove(); @@ -651,7 +650,7 @@ window.frmAdminBuildJS = function() { function clickWidget( event, b ) { /*jshint validthis:true */ - if ( typeof b === 'undefined' ) { + if ( b === undefined ) { b = this; } @@ -660,7 +659,7 @@ window.frmAdminBuildJS = function() { const cont = jQuery( b ).closest( '.frm_form_action_settings' ); const target = event.target; - if ( cont.length && typeof target !== 'undefined' ) { + if ( cont.length && target !== undefined ) { const className = target.parentElement.className; if ( 'string' === typeof className ) { if ( className.includes( 'frm_email_icons' ) || className.includes( 'frm_toggle' ) ) { @@ -688,7 +687,7 @@ window.frmAdminBuildJS = function() { action_type: actionType, nonce: frmGlobal.nonce }, - success: function( html ) { + success( html ) { inside.html( html ); initiateMultiselect(); showInputIcon( '#' + cont.attr( 'id' ) ); @@ -709,7 +708,7 @@ window.frmAdminBuildJS = function() { } jQuery( b ).closest( '.frm_field_box' ).siblings().find( '.widget-inside' ).slideUp( 'fast' ); - if ( ( typeof b.className !== 'undefined' && b.className.includes( 'widget-action' ) ) || jQuery( b ).closest( '.start_divider' ).length < 1 ) { + if ( ( b.className !== undefined && b.className.includes( 'widget-action' ) ) || jQuery( b ).closest( '.start_divider' ).length < 1 ) { return; } @@ -724,7 +723,7 @@ window.frmAdminBuildJS = function() { function clickNewTab() { /*jshint validthis:true */ const t = this.getAttribute( 'href' ); - if ( typeof t === 'undefined' ) { + if ( t === undefined ) { return false; } @@ -749,7 +748,7 @@ window.frmAdminBuildJS = function() { function clickTab( link, auto ) { link = jQuery( link ); const t = link.attr( 'href' ); - if ( typeof t === 'undefined' ) { + if ( t === undefined ) { return; } @@ -762,7 +761,7 @@ window.frmAdminBuildJS = function() { /* global settings */ const ajax = link.data( 'frmajax' ); link.closest( '.frm_wrap' ).find( '.tabs-panel, .hide_with_tabs' ).hide(); - if ( typeof ajax !== 'undefined' && ajax == '1' ) { + if ( ajax !== undefined && ajax == '1' ) { loadSettingsTab( t ); } } else { @@ -836,7 +835,7 @@ window.frmAdminBuildJS = function() { * Section titles are made droppable, but are not a list, so we need to change the droppable to the section's list instead. * * @param {Element} droppable - * @return {Element} + * @returns {Element} */ function getDroppableForOnDragOver( droppable ) { if ( droppable.classList.contains( 'divider_section_only' ) ) { @@ -1068,7 +1067,7 @@ window.frmAdminBuildJS = function() { * @since 6.24 * * @param {HTMLElement} placeholderParent - * @return {void} + * @returns {void} */ function maybeMakeFieldGroupDraggableAfterDragging( placeholderParent ) { const isDroppingIntoFieldGroup = placeholderParent.nodeName === 'UL' && @@ -1089,7 +1088,7 @@ window.frmAdminBuildJS = function() { * If a page if collapsed, expand it before dragging since only the page break will move. * * @param {Element} placeholder - * @return {void} + * @returns {void} */ function maybeOpenCollapsedPage( placeholder ) { if ( ! placeholder.previousElementSibling || ! placeholder.previousElementSibling.classList.contains( 'frm-is-collapsed' ) ) { @@ -1129,7 +1128,7 @@ window.frmAdminBuildJS = function() { * Remove an empty field group, but don't remove an empty section. * * @param {Element} previousFieldContainer - * @return {void} + * @returns {void} */ function maybeDeleteAnEmptyFieldGroup( previousFieldContainer ) { const closestFieldBox = previousFieldContainer.closest( 'li.frm_field_box' ); @@ -1254,7 +1253,7 @@ window.frmAdminBuildJS = function() { list => { list.childNodes.forEach( child => { - if ( 'undefined' === typeof child.classList ) { + if ( child.classList === undefined ) { return; } @@ -1263,7 +1262,7 @@ window.frmAdminBuildJS = function() { return; } - if ( 'undefined' !== typeof child.classList && child.classList.contains( 'form-field' ) ) { + if ( child.classList !== undefined && child.classList.contains( 'form-field' ) ) { wrapFieldLiInPlace( child ); } } @@ -1342,7 +1341,7 @@ window.frmAdminBuildJS = function() { function syncLayoutClasses( $item, type ) { let $fields, size, layoutClasses, classToAddFunction; - if ( 'undefined' === typeof type ) { + if ( type === undefined ) { type = 'even'; } @@ -1355,7 +1354,7 @@ window.frmAdminBuildJS = function() { } else if ( 'clear' === type ) { $fields.each( getSyncLayoutClass( layoutClasses, '' ) ); } else { - if ( -1 !== [ 'left', 'right', 'middle', 'even' ].indexOf( type ) ) { + if ( [ 'left', 'right', 'middle', 'even' ].includes( type ) ) { classToAddFunction = function( index ) { return getClassForBlock( size, type, index ); }; @@ -1377,7 +1376,7 @@ window.frmAdminBuildJS = function() { rowOffset = $row.offset(); - if ( 'undefined' === typeof rowOffset ) { + if ( rowOffset === undefined ) { return; } @@ -1491,7 +1490,7 @@ window.frmAdminBuildJS = function() { fieldId = this.dataset.fid; - if ( 'undefined' === typeof fieldId ) { + if ( fieldId === undefined ) { // we are syncing the drag/drop placeholder before the actual field has loaded. // this will get called again afterward and the input will exist then. this.classList.add( currentClassToAdd ); @@ -1540,11 +1539,11 @@ window.frmAdminBuildJS = function() { opacity: 0.65, forcePlaceholderSize: false, handle: '.frm-drag', - helper: function( e, li ) { + helper( e, li ) { copyHelper = li.clone().insertAfter( li ); return li.clone(); }, - stop: function( e, ui ) { + stop( e, ui ) { copyHelper && copyHelper.remove(); const fieldId = ui.item.attr( 'id' ).replace( 'frm_delete_field_', '' ).replace( '-' + ui.item.data( 'optkey' ) + '_container', '' ); resetDisplayedOpts( fieldId ); @@ -1557,7 +1556,7 @@ window.frmAdminBuildJS = function() { // Get the section where a field is dropped function getSectionForFieldPlacement( currentItem ) { let section = ''; - if ( typeof currentItem !== 'undefined' && ! currentItem.hasClass( 'edit_field_type_divider' ) ) { + if ( currentItem !== undefined && ! currentItem.hasClass( 'edit_field_type_divider' ) ) { section = currentItem.closest( '.edit_field_type_divider' ); } return section; @@ -1567,16 +1566,16 @@ window.frmAdminBuildJS = function() { function getFormIdForFieldPlacement( section ) { let formId = ''; - if ( typeof section[ 0 ] !== 'undefined' ) { + if ( section[ 0 ] !== undefined ) { const sDivide = section.children( '.start_divider' ); sDivide.children( '.edit_field_type_end_divider' ).appendTo( sDivide ); - if ( typeof section.attr( 'data-formid' ) !== 'undefined' ) { + if ( section.attr( 'data-formid' ) !== undefined ) { const fieldId = section.attr( 'data-fid' ); formId = jQuery( 'input[name="field_options[form_select_' + fieldId + ']"]' ).val(); } } - if ( typeof formId === 'undefined' || formId === '' ) { + if ( formId === undefined || formId === '' ) { formId = thisFormId; } @@ -1586,7 +1585,7 @@ window.frmAdminBuildJS = function() { // Get the section ID where a field is dropped function getSectionIdForFieldPlacement( section ) { let sectionId = 0; - if ( typeof section[ 0 ] !== 'undefined' ) { + if ( section[ 0 ] !== undefined ) { sectionId = section.attr( 'id' ).replace( 'frm_field_id_', '' ); } @@ -1598,7 +1597,7 @@ window.frmAdminBuildJS = function() { * * @param {Object} currentItem * @param {Object} previousSection - * @return {void} + * @returns {void} */ function updateFieldAfterMovingBetweenSections( currentItem, previousSection ) { if ( ! currentItem.hasClass( 'form-field' ) ) { @@ -1628,7 +1627,7 @@ window.frmAdminBuildJS = function() { previous_form_id: previousFormId, nonce: frmGlobal.nonce }, - success: function() { + success() { toggleSectionHolder(); updateInSectionValue( fieldId, sectionId ); } @@ -1650,7 +1649,7 @@ window.frmAdminBuildJS = function() { * @param {string} formId * @param {Number} hasBreak * - * @return {Object} + * @returns {Object} */ function getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ) { const fieldArgs = { @@ -1677,7 +1676,7 @@ window.frmAdminBuildJS = function() { * @since 6.23 * * @param {string} fieldType - * @return {boolean} + * @returns {boolean} */ function shouldStopInsertingField( fieldType ) { return wp.hooks.applyFilters( 'frm_should_stop_inserting_field', false, fieldType ); @@ -1723,7 +1722,7 @@ window.frmAdminBuildJS = function() { type: 'POST', url: ajaxurl, data: getInsertNewFieldArgs( fieldType, sectionId, formId, hasBreak ), - success: function( msg ) { + success( msg ) { handleInsertFieldByDraggingResponse( msg, $placeholder ); const fieldId = checkMsgForFieldId( msg ); @@ -1791,7 +1790,7 @@ window.frmAdminBuildJS = function() { * @since 6.23 * * @param {string} msg - * @return {Number} + * @returns {Number} */ function checkMsgForFieldId( msg ) { const result = msg.match( /data-fid="(\d+)"/ ); @@ -1842,7 +1841,7 @@ window.frmAdminBuildJS = function() { * Can be used for any UI that requires a unique id. * Not to be used in data. * - * @return {number} + * @returns {number} */ function getAutoId() { return ++autoId; @@ -1863,7 +1862,7 @@ window.frmAdminBuildJS = function() { * @param {HTMLElement} draggable * @param {HTMLElement} droppable * @param {Event} event - * @return {Boolean} + * @returns {Boolean} */ function allowDrop( draggable, droppable, event ) { if ( false === droppable ) { @@ -1958,7 +1957,7 @@ window.frmAdminBuildJS = function() { * Checks if given element is the last row in form builder. * * @param {HTMLElement} element Element. - * @return {Boolean} + * @returns {Boolean} */ function isLastRow( element ) { return element && element.matches( '#frm-show-fields > li:last-child' ); @@ -2119,7 +2118,7 @@ window.frmAdminBuildJS = function() { url: ajaxurl, data: { action: 'frm_load_field', - field: field, + field, form_id: thisFormId, nonce: frmGlobal.nonce }, @@ -2210,7 +2209,7 @@ window.frmAdminBuildJS = function() { type: 'POST', url: ajaxurl, data: getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ), - success: function( msg ) { + success( msg ) { handleAddFieldClickResponse( msg ); const fieldId = checkMsgForFieldId( msg ); @@ -2291,7 +2290,7 @@ window.frmAdminBuildJS = function() { type: 'POST', url: ajaxurl, data: Object.assign( getInsertNewFieldArgs( fieldType, 0, formId, hasBreak ), { field_options: fieldOptions } ), - success: function( msg ) { + success( msg ) { resolve( msg ); setTimeout( () => { @@ -2349,7 +2348,7 @@ window.frmAdminBuildJS = function() { * @param {HTMLElement} field * @param {number} maxFieldsInGroup * - * @return {Boolean} + * @returns {Boolean} */ function canDuplicateField( field, maxFieldsInGroup ) { if ( field.classList.contains( 'frm-page-collapsed' ) ) { @@ -2391,10 +2390,10 @@ window.frmAdminBuildJS = function() { action: 'frm_duplicate_field', field_id: fieldId, form_id: thisFormId, - children: children, + children, nonce: frmGlobal.nonce }, - success: function( msg ) { + success( msg ) { let newRow; let replaceWith; @@ -2450,7 +2449,7 @@ window.frmAdminBuildJS = function() { * @param {HTMLElement} field The original field. * @param {HTMLElement} newField The duplicated field. * - * @return {void} + * @returns {void} */ function setLayoutClassesForDuplicatedFieldInGroup( field, newField ) { const hoverTarget = field.closest( '.frm-field-group-hover-target' ); @@ -2482,7 +2481,7 @@ window.frmAdminBuildJS = function() { } newFieldId = jQuery( newFieldHtml ).attr( 'data-fid' ); - if ( 'undefined' === typeof newFieldId ) { + if ( newFieldId === undefined ) { return; } @@ -2506,7 +2505,7 @@ window.frmAdminBuildJS = function() { return; } - if ( -1 === fieldOptionKeys.indexOf( key ) ) { + if ( ! fieldOptionKeys.includes( key ) ) { return; } @@ -2638,7 +2637,7 @@ window.frmAdminBuildJS = function() { function onFieldActionDropdownShow( isFieldGroup ) { unselectFieldGroups(); - // maybe offset the dropdown if it goes off of the right of the screen. + // maybe offset the dropdown if it goes off the edge of the screen or container. setTimeout( function() { let ul, $ul; @@ -2657,6 +2656,9 @@ window.frmAdminBuildJS = function() { $ul = jQuery( ul ); if ( $ul.offset().left > jQuery( window ).width() - $ul.outerWidth() ) { ul.style.left = ( -$ul.outerWidth() ) + 'px'; + } else if ( postBodyContent && $ul.offset().left < postBodyContent.getBoundingClientRect().left ) { + ul.style.right = 'auto'; + ul.style.left = '0'; } const firstAnchor = ul.firstElementChild.querySelector( 'a' ); if ( firstAnchor ) { @@ -2870,7 +2872,7 @@ window.frmAdminBuildJS = function() { * @since 6.27 * * @param {string} type - * @return {void} + * @returns {void} */ function maybeDisableFieldButtonAtLimit( type ) { const button = document.getElementById( type ); @@ -2896,7 +2898,7 @@ window.frmAdminBuildJS = function() { * Since multiple new fields may get added when a new field is inserted, check the HTML. * * @param {string} html - * @return {void} + * @returns {void} */ function checkHtmlForNewFields( html ) { const element = div(); @@ -2906,7 +2908,7 @@ window.frmAdminBuildJS = function() { /** * @param {HTMLElement} field - * @return {void} + * @returns {void} */ function addFieldIdToDraftFieldsInput( field ) { if ( ! field.dataset.fid ) { @@ -2956,7 +2958,7 @@ window.frmAdminBuildJS = function() { * Checks a string for parens, brackets, and curly braces and returns a message if any unmatched are found. * * @param formula - * @return {string} + * @returns {string} */ function checkMatchingParens( formula ) { let stack = [], @@ -2998,7 +3000,7 @@ window.frmAdminBuildJS = function() { * * @param calculation * @param inputElement - * @return {string} + * @returns {string} */ function checkShortcodes( calculation, inputElement ) { let msg = checkNonNumericShortcodes( calculation, inputElement ); @@ -3013,7 +3015,7 @@ window.frmAdminBuildJS = function() { * @param calculation * * @param inputElement - * @return {string} + * @returns {string} */ function checkNonNumericShortcodes( calculation, inputElement ) { let msg = ''; @@ -3043,7 +3045,7 @@ window.frmAdminBuildJS = function() { /** * Returns a regular expression of shortcodes that can't be used in numeric calculations. * - * @return {RegExp} + * @returns {RegExp} */ function getNonNumericShortcodes() { return /\[(date|time|email|ip)\]/; @@ -3053,7 +3055,7 @@ window.frmAdminBuildJS = function() { * Checks if a string has any shortcodes that do not belong in forms and returns a message if any are found. * * @param formula - * @return {string} + * @returns {string} */ function checkNonFormShortcodes( formula ) { let nonFormShortcodes = getNonFormShortcodes(), @@ -3070,7 +3072,7 @@ window.frmAdminBuildJS = function() { * Returns a regular expression of shortcodes that can't be used in forms but can be used in Views, Email * Notifications, and other Formidable areas. * - * @return {RegExp} + * @returns {RegExp} */ function getNonFormShortcodes() { return /\[id\]|\[key\]|\[if\s\w+\]|\[foreach\s\w+\]|\[created-at(\s*)?/g; @@ -3209,7 +3211,7 @@ window.frmAdminBuildJS = function() { let i, fields = [], allFields = document.querySelectorAll( 'li.frm_field_box' ), - checkType = 'undefined' !== typeof fieldType; + checkType = fieldType !== undefined; for ( i = 0; i < allFields.length; i++ ) { // data-ftype is better (than data-type) cos of fields loaded by AJAX - which might not be ready yet @@ -3218,9 +3220,9 @@ window.frmAdminBuildJS = function() { } const fieldId = allFields[ i ].getAttribute( 'data-fid' ); - if ( typeof fieldId !== 'undefined' && fieldId ) { + if ( fieldId ) { fields.push( { - fieldId: fieldId, + fieldId, fieldName: getPossibleValue( 'frm_name_' + fieldId ), fieldType: getPossibleValue( 'field_options_type_' + fieldId ), fieldKey: getPossibleValue( 'field_options_field_key_' + fieldId ) @@ -3250,7 +3252,7 @@ window.frmAdminBuildJS = function() { for ( i = 0; i < products.length; i++ ) { // let's be double sure it's string, else indexOf will fail id = products[ i ].fieldId.toString(); - checked = auto || -1 !== current.indexOf( id ); + checked = auto || current.includes( id ); if ( isSelect ) { // This fallback can be removed after 4.05. checked = checked ? ' selected' : ''; @@ -3371,7 +3373,7 @@ window.frmAdminBuildJS = function() { field.setAttribute( att, newValue ); } - if ( -1 === [ 'value', 'min', 'max' ].indexOf( att ) ) { + if ( ! [ 'value', 'min', 'max' ].includes( att ) ) { return; } @@ -3561,7 +3563,7 @@ window.frmAdminBuildJS = function() { key = opts[ i ].getAttribute( 'data-optkey' ); if ( key !== '000' ) { label = document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][label]' )[ 0 ]; - if ( typeof label !== 'undefined' ) { + if ( label !== undefined ) { content += label.value; if ( separate ) { content += '|' + document.getElementsByName( 'field_options[options_' + fieldId + '][' + key + '][value]' )[ 0 ].value; @@ -4223,7 +4225,7 @@ window.frmAdminBuildJS = function() { function makeTabbable( element, ariaLabel ) { element.setAttribute( 'tabindex', 0 ); element.setAttribute( 'role', 'button' ); - if ( 'undefined' !== typeof ariaLabel ) { + if ( ariaLabel !== undefined ) { element.setAttribute( 'aria-label', ariaLabel ); } } @@ -4350,7 +4352,7 @@ window.frmAdminBuildJS = function() { * @param {number} size 2-12. * @param {string} type even, middle, left, or right. * @param {number} index 0-5. - * @return {string} The class name. + * @returns {string} The class name. */ function getClassForBlock( size, type, index ) { if ( 'even' === type ) { @@ -4373,16 +4375,16 @@ window.frmAdminBuildJS = function() { /** * @param {number} size 2-12. * @param {number|undefined} index 0-5. - * @return {string} The class name. + * @returns {string} The class name. */ function getEvenClassForSize( size, index ) { if ( size > 6 ) { return 'frm1'; } - if ( -1 !== [ 2, 3, 4, 6 ].indexOf( size ) ) { + if ( [ 2, 3, 4, 6 ].includes( size ) ) { return getLayoutClassForSize( 12 / size ); } - if ( 5 === size && 'undefined' !== typeof index ) { + if ( 5 === size && index !== undefined ) { return 0 === index ? 'frm4' : 'frm2'; } return 'frm12'; @@ -4425,7 +4427,7 @@ window.frmAdminBuildJS = function() { /** * Handle when a field group layout option (that sets grid classes/column sizing) is selected in the "Row Layout" popup. * - * @return {void} + * @returns {void} */ function handleFieldGroupLayoutOptionClick() { const row = document.querySelector( '.frm-field-group-hover-target' ); @@ -4781,7 +4783,7 @@ window.frmAdminBuildJS = function() { * Hide the field group message by manipulating classes. * * @param {Element} fieldGroupMessage The field group message element. - * @return {void} + * @returns {void} */ function hideFieldGroupMessage( fieldGroupMessage ) { if ( ! fieldGroupMessage ) { @@ -4796,7 +4798,7 @@ window.frmAdminBuildJS = function() { * Show the field group message by manipulating classes. * * @param {Element} fieldGroupMessage The field group message element. - * @return {void} + * @returns {void} */ function showFieldGroupMessage( fieldGroupMessage ) { if ( ! fieldGroupMessage ) { @@ -4810,7 +4812,7 @@ window.frmAdminBuildJS = function() { /** * Maybe show a message if there are at least two rows. * - * @return {void} + * @returns {void} */ function maybeShowFieldGroupMessage() { let fieldGroupMessage = document.getElementById( 'frm-field-group-message' ); @@ -4854,14 +4856,14 @@ window.frmAdminBuildJS = function() { /** * Get a span element with text about selecting multiple fields. * - * @return {HTMLElement} A span element with the message and style classes. + * @returns {HTMLElement} A span element with the message and style classes. */ function getFieldGroupMessageText() { const text = document.createElement( 'span' ); text.classList.add( 'frm-field-group-message-text', 'frm-flex-center' ); text.innerHTML = sprintf( /* translators: %1$s: Start span HTML, %2$s: end span HTML */ - frm_admin_js.holdShiftMsg, // eslint-disable-line camelcase + frm_admin_js.holdShiftMsg, '', '' ); @@ -4872,7 +4874,7 @@ window.frmAdminBuildJS = function() { /** * Maybe hide the field group message based on the number of selected rows. * - * @return {void} + * @returns {void} */ function maybeHideFieldGroupMessage() { const selectedRowCount = document.querySelectorAll( '.frm-selected-field-group' ).length; @@ -4922,7 +4924,7 @@ window.frmAdminBuildJS = function() { } function unselectFieldGroups( event ) { - if ( 'undefined' !== typeof event ) { + if ( event !== undefined ) { if ( null !== event.originalEvent.target.closest( '#frm-show-fields' ) ) { return; } @@ -5122,7 +5124,7 @@ window.frmAdminBuildJS = function() { /** * Checks if there is only submit field in the form builder. * - * @return {Boolean} + * @returns {Boolean} */ function hasOnlySubmitField() { // If there are at least 2 rows, return false. @@ -5152,7 +5154,7 @@ window.frmAdminBuildJS = function() { * @since 6.22 * * @param {Object} settings - * @return {void} + * @returns {void} */ function moveOpenModalsOutOfFieldOptions( settings ) { const openModals = settings[ 0 ].querySelectorAll( '.frm-inline-modal[data-fills]' ); @@ -5175,7 +5177,7 @@ window.frmAdminBuildJS = function() { field_id: fieldId, nonce: frmGlobal.nonce }, - success: function() { + success() { const $thisField = jQuery( document.getElementById( 'frm_field_id_' + fieldId ) ), settings = jQuery( '#frm-single-settings-' + fieldId ); @@ -5241,7 +5243,7 @@ window.frmAdminBuildJS = function() { * @since 6.27 * * @param {string} type - * @return {void} + * @returns {void} */ function maybeEnableFieldButtonAtLimit( type ) { const button = document.getElementById( type ); @@ -5277,7 +5279,7 @@ window.frmAdminBuildJS = function() { meta_name: getNewRowId( logicRows, 'frm_logic_' + id + '_' ), fields: getFieldList() }, - success: function( html ) { + success( html ) { jQuery( document.getElementById( 'logic_' + id ) ).fadeOut( 'fast', function() { const logicRow = document.getElementById( 'frm_logic_row_' + id ); logicRow.insertAdjacentHTML( 'beforeend', html ); @@ -5298,7 +5300,7 @@ window.frmAdminBuildJS = function() { function getNewRowId( rows, replace, defaultValue ) { if ( ! rows.length ) { - return 'undefined' !== typeof defaultValue ? defaultValue : 0; + return defaultValue !== undefined ? defaultValue : 0; } return parseInt( rows[ rows.length - 1 ].id.replace( replace, '' ), 10 ) + 1; } @@ -5319,7 +5321,7 @@ window.frmAdminBuildJS = function() { row_key: getNewRowId( lookupBlockRows, 'frm_watch_lookup_' + id + '_' ), nonce: frmGlobal.nonce }, - success: function( newRow ) { + success( newRow ) { const watchRowBlock = jQuery( document.getElementById( 'frm_watch_lookup_block_' + id ) ); watchRowBlock.append( newRow ); watchRowBlock.fadeIn( 'slow' ); @@ -5366,7 +5368,7 @@ window.frmAdminBuildJS = function() { input.setAttribute( 'name', 'optionmap[' + fieldId + '][' + this.value + ']' ); this.parentNode.append( input ); - if ( typeof optionMap[ fieldId ] === 'undefined' ) { + if ( optionMap[ fieldId ] === undefined ) { optionMap[ fieldId ] = {}; } @@ -5392,7 +5394,7 @@ window.frmAdminBuildJS = function() { * Returns an object that has the old and new values and labels, when a field choice is changed. * * @param {HTMLElement} input - * @return {Object} + * @returns {Object} */ function getChoiceOldAndNewValues( input ) { const { oldValue, oldLabel } = getChoiceOldValueAndLabel( input ); @@ -5405,7 +5407,7 @@ window.frmAdminBuildJS = function() { * Returns an object that has the new value and label, when a field choice is changed. * * @param {HTMLElement} choiceElement - * @return {Object} + * @returns {Object} */ function getChoiceNewValueAndLabel( choiceElement ) { const singleOptionContainer = choiceElement.closest( '.frm_single_option' ); @@ -5428,7 +5430,7 @@ window.frmAdminBuildJS = function() { * Returns an object that has the old value and label, when a field choice is changed. * * @param {HTMLElement} choiceElement - * @return {Object} + * @returns {Object} */ function getChoiceOldValueAndLabel( choiceElement ) { const usingSeparateValues = choiceElement.closest( '.frm-single-settings' ).querySelector( '.frm_toggle_sep_values' )?.checked ?? false; @@ -5481,7 +5483,7 @@ window.frmAdminBuildJS = function() { if ( optionTextAlreadyExists( this ) ) { this.setAttribute( 'data-duplicate', 'true' ); - if ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) { + if ( optionMap[ fieldId ] !== undefined && optionMap[ fieldId ][ originalValue ] !== undefined ) { // unmap any other change that may have happened before instead of changing it to something unused optionMap[ fieldId ][ originalValue ].value = originalValue; } @@ -5489,7 +5491,7 @@ window.frmAdminBuildJS = function() { return; } - if ( typeof optionMap[ fieldId ] !== 'undefined' && typeof optionMap[ fieldId ][ originalValue ] !== 'undefined' ) { + if ( optionMap[ fieldId ] !== undefined && optionMap[ fieldId ][ originalValue ] !== undefined ) { optionMap[ fieldId ][ originalValue ].value = newValue; } @@ -5552,7 +5554,7 @@ window.frmAdminBuildJS = function() { * * @param {HTMLElement} selectElement * @param {string} searchText - * @return {HTMLElement|null} + * @returns {HTMLElement|null} */ function searchSelectByText( selectElement, searchText ) { const options = selectElement.options; @@ -5585,7 +5587,7 @@ window.frmAdminBuildJS = function() { field_type: fieldType, nonce: frmGlobal.nonce }, - success: function( fields ) { + success( fields ) { fieldSelect.innerHTML = fields; } } ); @@ -5754,7 +5756,7 @@ window.frmAdminBuildJS = function() { * Add slide animation CSS variables to the element * * @param {HTMLElement} element The element to add CSS variables to - * @return {void} + * @returns {void} */ function addSlideAnimationCssVars( element ) { if ( ! element ) { @@ -5782,7 +5784,7 @@ window.frmAdminBuildJS = function() { fieldType = document.getElementById( 'field_options_type_' + fieldId ), fieldTypeName = fieldType.value; - if ( typeof setting !== 'undefined' ) { + if ( setting !== undefined ) { if ( fieldType.tagName === 'SELECT' ) { fieldTypeName = fieldType.options[ fieldType.selectedIndex ].text.toLowerCase(); } else { @@ -5804,7 +5806,7 @@ window.frmAdminBuildJS = function() { function clickDescription() { /*jshint validthis:true */ const setting = document.querySelectorAll( '[data-changeme="' + this.id + '"]' )[ 0 ]; - if ( typeof setting !== 'undefined' ) { + if ( setting !== undefined ) { setTimeout( function() { setting.focus(); autoExpandSettings( setting ); @@ -5865,7 +5867,7 @@ window.frmAdminBuildJS = function() { * @since 6.9 * * @param {Event} event The event object from the format type selection. - * @return {void} + * @returns {void} */ function maybeUpdateFormatInput( event ) { const formatElement = event.target; @@ -5990,8 +5992,8 @@ window.frmAdminBuildJS = function() { fieldKey = allOpts.data( 'key' ); return { - fieldId: fieldId, - fieldKey: fieldKey + fieldId, + fieldKey }; } @@ -6077,7 +6079,7 @@ window.frmAdminBuildJS = function() { const fields = document.getElementsByName( 'field_options[image_options_' + fieldId + ']' ); const result = Array.from( fields ).find( field => field.checked && ( 'buttons' === field.value ) ); - return typeof result !== 'undefined'; + return result !== undefined; } /** @@ -6152,7 +6154,7 @@ window.frmAdminBuildJS = function() { * * @param {Number} fieldId * @param {string} expectedOption - * @return {Object} + * @returns {Object} */ function getNewConditionalLogicOption( fieldId, expectedOption ) { const optionsContainer = document.getElementById( 'frm_field_' + fieldId + '_opts' ); @@ -6295,7 +6297,7 @@ window.frmAdminBuildJS = function() { removeDropdownOpts( field ); let opts = getMultipleOpts( sourceID, field.id.includes( 'frm_field_logic_opt' ) ); - let hasPlaceholder = ( typeof placeholder !== 'undefined' ); + let hasPlaceholder = ( placeholder !== undefined ); for ( let i = 0; i < opts.length; i++ ) { let label = opts[ i ].label, @@ -6368,7 +6370,7 @@ window.frmAdminBuildJS = function() { saved = jQuery( 'input[name="' + labelName + '"]' ).val(); if ( showValueAsLabel && '' === label ) { - label = '' !== saved ? saved : frm_admin_js.no_label; // eslint-disable-line camelcase + label = '' !== saved ? saved : frm_admin_js.no_label; } } @@ -6385,10 +6387,10 @@ window.frmAdminBuildJS = function() { checked = getChecked( optVals[ i ].id ); optObj = { - saved: saved, - label: label, - checked: checked, - key: key + saved, + label, + checked, + key }; if ( isProduct ) { @@ -6493,7 +6495,7 @@ window.frmAdminBuildJS = function() { function removeDropdownOpts( field ) { let i; - if ( typeof field.options === 'undefined' ) { + if ( field.options === undefined ) { return; } @@ -6648,7 +6650,7 @@ window.frmAdminBuildJS = function() { form_id: formId, nonce: frmGlobal.nonce }, - success: function( msg ) { + success( msg ) { const $selectedFields = jQuery( '#frm_show_selected_fields_' + fieldId ); $selectedFields.toggleClass( 'frm6', ! msg.includes( 'frm-inline-message' ) ); $selectedFields.html( msg ).show(); @@ -6661,7 +6663,7 @@ window.frmAdminBuildJS = function() { let self = this; this.initOnceInAllInstances = function() { - if ( 'undefined' !== typeof updateFieldOrder.prototype.orderFieldsObject ) { + if ( updateFieldOrder.prototype.orderFieldsObject !== undefined ) { return; } @@ -6680,7 +6682,7 @@ window.frmAdminBuildJS = function() { const orderFieldsObject = updateFieldOrder.prototype.orderFieldsObject; const fieldSettingsForm = updateFieldOrder.prototype.fieldSettingsForm; - if ( 'undefined' === typeof orderFieldsObject[ fieldId ] ) { + if ( orderFieldsObject[ fieldId ] === undefined ) { field = fieldSettingsForm.querySelector( 'input[name="field_options[field_order_' + fieldId + ']"]' ); if ( null === field ) { field = parent.querySelector( 'input[name="field_options[field_order_' + fieldId + ']"]' ); @@ -6832,7 +6834,7 @@ window.frmAdminBuildJS = function() { fieldId = field.getAttribute( 'data-fid' ); // Include classes from multiple settings. - if ( typeof fieldId !== 'undefined' ) { + if ( fieldId !== undefined ) { if ( setting.classList.contains( 'field_options_align' ) ) { replaceWith += ' ' + document.getElementById( 'frm_classes_' + fieldId ).value; } else if ( setting.classList.contains( 'frm_classes' ) ) { @@ -6852,7 +6854,7 @@ window.frmAdminBuildJS = function() { if ( classes.trim() === '' ) { replace = ' frmstart frmend '; - if ( -1 === field.className.indexOf( replace ) ) { + if ( ! field.className.includes( replace ) ) { replace = ' frmstart frmend '; } replaceWith = ' frmstart ' + replaceWith.trim() + ' frmend '; @@ -6873,7 +6875,7 @@ window.frmAdminBuildJS = function() { function showInlineModal( icon, input, event ) { const box = document.getElementById( icon.getAttribute( 'data-open' ) ), container = jQuery( icon ).closest( 'p,ul' ), - inputTrigger = ( typeof input !== 'undefined' ); + inputTrigger = ( input !== undefined ); if ( container.hasClass( 'frm-open' ) ) { container.removeClass( 'frm-open' ); @@ -7019,7 +7021,7 @@ window.frmAdminBuildJS = function() { type: 'POST', url: ajaxurl, data: { action: 'frm_save_form', frm_compact_fields: v, nonce: frmGlobal.nonce }, - success: function( msg ) { + success( msg ) { afterFormSave( $thisEle ); const $postStuff = document.getElementById( 'post-body-content' ); @@ -7029,7 +7031,7 @@ window.frmAdminBuildJS = function() { $postStuff.insertBefore( $html, $postStuff.firstChild ); reloadIfAddonActivatedAjaxSubmitOnly(); }, - error: function() { + error() { triggerSubmit( document.getElementById( 'frm_js_build_form' ) ); } } ); @@ -7065,7 +7067,7 @@ window.frmAdminBuildJS = function() { /** * Display a modal dialog for naming a new form template, if applicable. * - * @return {boolean} True if the modal is successfully initialized and displayed; false otherwise. + * @returns {boolean} True if the modal is successfully initialized and displayed; false otherwise. */ function showNameYourFormModal() { // Exit early if the 'new_template' URL parameter is not set to 'true' @@ -7088,7 +7090,7 @@ window.frmAdminBuildJS = function() { /** * Returns true if 'Name Your Form' modal should be displayed. * - * @return {Boolean} + * @returns {Boolean} */ function shouldShowNameYourFormNameModal() { const formNameInput = document.getElementById( 'frm_form_name' ); @@ -7096,7 +7098,7 @@ window.frmAdminBuildJS = function() { return false; } - return 'true' === urlParams.get( 'new_template' ) && document.querySelector( '#frm_top_bar #frm_bs_dropdown .frm_bstooltip' )?.textContent.trim() === frm_admin_js.noTitleText; // eslint-disable-line camelcase + return 'true' === urlParams.get( 'new_template' ) && document.querySelector( '#frm_top_bar #frm_bs_dropdown .frm_bstooltip' )?.textContent.trim() === frm_admin_js.noTitleText; } /** @@ -7104,7 +7106,7 @@ window.frmAdminBuildJS = function() { * * Attaches click and keydown event listeners to the save button and input field. * - * @return {void} + * @returns {void} */ function addFormNameModalEvents() { const saveFormNameButton = document.getElementById( 'frm-save-form-name-button' ); @@ -7125,7 +7127,7 @@ window.frmAdminBuildJS = function() { * Handles the click event on the save form name button. * * @param {Event} event The click event object. - * @return {void} + * @returns {void} */ const onSaveFormNameButton = event => { const newFormName = document.getElementById( 'frm_new_form_name_input' ).value.trim(); @@ -7173,7 +7175,7 @@ window.frmAdminBuildJS = function() { * * @since 6.9 * - * @return {void} + * @returns {void} */ function adjustFormatInputBeforeSave() { const formatTypes = document.querySelectorAll( '.frm_format_dropdown, .frm_phone_type_dropdown' ); @@ -7221,7 +7223,7 @@ window.frmAdminBuildJS = function() { * Opens a basic modal with the given title and content. * * @param {Event} event The event object. - * @return {void} + * @returns {void} */ function showBasicModal( event ) { const button = event.target.dataset?.modalTitle ? event.target : event.target.closest( '[data-modal-title]' ); @@ -7360,7 +7362,7 @@ window.frmAdminBuildJS = function() { /* Form settings */ function showInputIcon( parentClass ) { - if ( typeof parentClass === 'undefined' ) { + if ( parentClass === undefined ) { parentClass = ''; } maybeAddFieldSelection( parentClass ); @@ -7528,7 +7530,7 @@ window.frmAdminBuildJS = function() { url: ajaxurl, data: { action: 'frm_add_form_action', - type: type, + type, list_id: actionId, form_id: formId, nonce: frmGlobal.nonce @@ -7608,7 +7610,7 @@ window.frmAdminBuildJS = function() { function getNewActionId() { let actionSettings = document.querySelectorAll( '.frm_form_action_settings' ), len = getNewRowId( actionSettings, 'frm_form_action_' ); - if ( typeof document.getElementById( 'frm_form_action_' + len ) !== 'undefined' ) { + if ( document.getElementById( 'frm_form_action_' + len ) !== undefined ) { len = len + 100; } if ( lastNewActionIdReturned >= len ) { @@ -7750,7 +7752,7 @@ window.frmAdminBuildJS = function() { this.fragment = document.createDocumentFragment(); this.initOnceInAllInstances = function() { - if ( 'undefined' !== typeof moveFieldSettings.prototype.endMarker ) { + if ( moveFieldSettings.prototype.endMarker !== undefined ) { return; } // perform a single search in the DOM and use it across all moveFieldSettings instances @@ -7774,7 +7776,7 @@ window.frmAdminBuildJS = function() { // Move the field if function is called as function with a singleField passed as arg. // In this particular case only 1 field is needed to be moved so the field will get instantly moved. // "singleField" may be undefined when it's called as a constructor instead of a function. Use the constructor to add multiple fields which are passed through "append" and move these all at once via "moveFields". - if ( 'undefined' !== typeof singleField ) { + if ( singleField !== undefined ) { this.append( singleField ); this.moveFields(); return; @@ -7882,7 +7884,7 @@ window.frmAdminBuildJS = function() { let message = frmAdminJs.only_one_action; let limit = this.dataset.limit; - if ( 'undefined' !== typeof limit ) { + if ( limit !== undefined ) { limit = parseInt( limit ); if ( limit > 1 ) { message = message.replace( 1, limit ).trim(); @@ -7915,10 +7917,10 @@ window.frmAdminBuildJS = function() { email_id: id, form_id: formId, meta_name: newRowID, - type: type, + type, nonce: frmGlobal.nonce }, - success: function( html ) { + success( html ) { jQuery( document.getElementById( 'logic_link_' + id ) ).fadeOut( 'slow', () => { placeholder.insertAdjacentHTML( 'beforebegin', html ); placeholder.remove(); @@ -7977,7 +7979,7 @@ window.frmAdminBuildJS = function() { jQuery.ajax( { type: 'POST', url: ajaxurl, data: { action: 'frm_display_get_content', id: v, nonce: frmGlobal.nonce }, - success: function( val ) { + success( val ) { $dyn.val( val ); jQuery( '.frm_dyncontent_opt' ).show(); } @@ -8003,7 +8005,7 @@ window.frmAdminBuildJS = function() { post_type: postType, nonce: frmGlobal.nonce }, - success: function( html ) { + success( html ) { // Loop through each category row, and replace the first dropdown for ( let i = 0; i < catRows.length; i++ ) { // Check if current element is a div @@ -8053,7 +8055,7 @@ window.frmAdminBuildJS = function() { url: ajaxurl, method: 'POST', data: { - action: action, + action, post_type: postType, _wpnonce: frmGlobal.nonce }, @@ -8119,7 +8121,7 @@ window.frmAdminBuildJS = function() { action_key: key, nonce: frmGlobal.nonce }, - success: function( html ) { + success( html ) { let cfOpts, optIndex; jQuery( document.getElementById( 'frm_post' + type + '_rows' ) ).append( html ); jQuery( '.frm_add_post' + type + '_row.button' ).hide(); @@ -8171,7 +8173,7 @@ window.frmAdminBuildJS = function() { show_exclude: showExclude, nonce: frmGlobal.nonce }, - success: function( html ) { + success( html ) { const $tax = jQuery( document.getElementById( 'frm_posttax_' + taxKey ) ); $tax.replaceWith( html ); } @@ -8241,15 +8243,15 @@ window.frmAdminBuildJS = function() { } elementId = jQuery( element ).closest( '[data-fills]' ).attr( 'data-fills' ); - if ( typeof elementId === 'undefined' ) { + if ( elementId === undefined ) { elementId = element.closest( 'div' ).attr( 'class' ); - if ( typeof elementId !== 'undefined' ) { + if ( elementId !== undefined ) { elementId = elementId.split( ' ' )[ 1 ]; } } } - if ( typeof elementId === 'undefined' ) { + if ( elementId === undefined ) { let active = document.activeElement; if ( active.type === 'search' ) { // If the search field has focus, find the correct field. @@ -8268,7 +8270,7 @@ window.frmAdminBuildJS = function() { } const contentBox = jQuery( document.getElementById( elementId ) ); - if ( typeof element.attr( 'data-shortcode' ) === 'undefined' && ( ! contentBox.length || typeof contentBox.attr( 'data-shortcode' ) === 'undefined' ) ) { + if ( element.attr( 'data-shortcode' ) === undefined && ( ! contentBox.length || contentBox.attr( 'data-shortcode' ) === undefined ) ) { // this helps to exclude those that don't want shortcode-like inserted content e.g. frm-pro's summary field const doShortcode = element.parents( 'ul.frm_code_list' ).attr( 'data-shortcode' ); if ( doShortcode === 'undefined' || doShortcode !== 'no' ) { @@ -8297,8 +8299,8 @@ window.frmAdminBuildJS = function() { plain_text: p, nonce: frmGlobal.nonce }, - elementId: elementId, - success: function( msg ) { + elementId, + success( msg ) { if ( rich ) { const p = document.createElement( 'p' ); p.innerText = msg; @@ -8368,7 +8370,7 @@ window.frmAdminBuildJS = function() { * * @param {HTMLElement} obj * @param {string} variable - * @return {void} + * @returns {void} */ function maybeRemoveLayoutClasses( obj, variable ) { if ( ! obj.classList.contains( 'frm_classes' ) || ! isALayoutClass( variable ) ) { @@ -8387,7 +8389,7 @@ window.frmAdminBuildJS = function() { * @since 6.11 * * @param {string} className - * @return {boolean} + * @returns {boolean} */ function isALayoutClass( className ) { let layoutClasses = [ 'frm_half', 'frm_third', 'frm_two_thirds', 'frm_fourth', 'frm_three_fourths', 'frm_fifth', 'frm_sixth', 'frm2', 'frm3', 'frm4', 'frm6', 'frm8', 'frm9', 'frm10', 'frm12' ]; @@ -8400,7 +8402,7 @@ window.frmAdminBuildJS = function() { * @param {string} beforeValue * @param {Array} removeClasses * @param {string} variable - * @return {string} + * @returns {string} */ function maybeRemoveClasses( beforeValue, removeClasses, variable ) { const currentClasses = beforeValue.split( ' ' ).filter( @@ -8476,7 +8478,7 @@ window.frmAdminBuildJS = function() { * * @param {HTMLElement} element HTML element. * - * @return {String} + * @returns {String} */ function getSVGHref( element ) { return element.getAttribute( 'href' ) || element.getAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ); @@ -8513,7 +8515,7 @@ window.frmAdminBuildJS = function() { * @since 6.16.3 * * @param {Event} event - * @return {void} + * @returns {void} */ function handleBuilderChangeEvent( event ) { maybeShowSaveAndReloadModal( event.target ); @@ -8525,7 +8527,7 @@ window.frmAdminBuildJS = function() { * @since 6.16.3 * * @param {HTMLElement} target - * @return {void} + * @returns {void} */ function maybeShowSaveAndReloadModal( target ) { if ( ! target.id.startsWith( 'field_options_type_' ) ) { @@ -8547,10 +8549,10 @@ window.frmAdminBuildJS = function() { * @since 6.16.3 * * @param {string} message - * @return {void} + * @returns {void} */ function showSaveAndReloadModal( message ) { - if ( 'undefined' === typeof message ) { + if ( message === undefined ) { message = __( 'You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?', 'formidable' ); } frmDom.modal.maybeCreateModal( @@ -8595,7 +8597,7 @@ window.frmAdminBuildJS = function() { if ( target instanceof Event ) { const useElements = document.querySelectorAll( '.frm-single-settings .frm-show-box.frmsvg use' ); const openTrigger = Array.from( useElements ).find( use => use.getAttribute( 'href' ) === '#frm_close_icon' ); - if ( 'undefined' === typeof openTrigger ) { + if ( openTrigger === undefined ) { return; } moreIcon = openTrigger.parentElement; @@ -8667,7 +8669,7 @@ window.frmAdminBuildJS = function() { * @since 6.16.3 * * @param {HTMLElement} item - * @return {Boolean} + * @returns {Boolean} */ function checkContextualShortcode( item ) { if ( frmAdminJs.contextualShortcodes.length === 0 ) { @@ -8682,7 +8684,7 @@ window.frmAdminBuildJS = function() { * @since 6.16.3 * * @param {HTMLElement} item - * @return {Boolean} + * @returns {Boolean} */ function isContextualShortcode( item ) { const anchor = item.querySelector( 'a' ); @@ -8698,7 +8700,7 @@ window.frmAdminBuildJS = function() { * @since 6.16.3 * * @param {HTMLElement} item - * @return {Boolean} + * @returns {Boolean} */ function canShowContextualShortcode( item ) { const shortcode = item.querySelector( 'a' ).dataset.code; @@ -8715,7 +8717,7 @@ window.frmAdminBuildJS = function() { * @since 6.16.3 * * @param {HTMLElement} input - * @return {void} + * @returns {void} */ function showOrHideContextualShortcodes( input ) { [ 'address', 'body' ].forEach( type => { @@ -8729,7 +8731,7 @@ window.frmAdminBuildJS = function() { * @param {HTMLElement} input * @param {string} type * - * @return {void} + * @returns {void} */ function toggleContextualShortcodes( input, type ) { let selector, contextualShortcodes; @@ -8747,7 +8749,7 @@ window.frmAdminBuildJS = function() { * * @since 6.16.3 * - * @return {Array} + * @returns {Array} */ function getContextualShortcodes() { let contextualShortcodes = document.getElementById( 'frm_adv_info' )?.dataset.contextualShortcodes; @@ -8817,7 +8819,7 @@ window.frmAdminBuildJS = function() { * Get the input box for the selected icon or calculation field. * * @param {Element} moreIcon The icon element - * @return {Element} The associated input or textarea + * @returns {Element} The associated input or textarea */ function getInputForIcon( moreIcon ) { if ( moreIcon.classList.contains( 'frm-input-icon' ) ) { @@ -8859,7 +8861,7 @@ window.frmAdminBuildJS = function() { function hideShortcodes( box ) { let i, u, closeIcons, closeSvg; - if ( typeof box === 'undefined' ) { + if ( box === undefined ) { box = document.getElementById( 'frm_adv_info' ); if ( box === null ) { return; @@ -8894,7 +8896,7 @@ window.frmAdminBuildJS = function() { function toggleAllowedHTML( input ) { let b, id = input.id; - if ( typeof id === 'undefined' || id.includes( '-search-input' ) ) { + if ( id === undefined || id.includes( '-search-input' ) ) { return; } @@ -8946,7 +8948,7 @@ window.frmAdminBuildJS = function() { tab: holder.replace( '_settings', '' ), nonce: frmGlobal.nonce }, - success: function( html ) { + success( html ) { holderContainer.replaceWith( html ); } } ); @@ -8961,7 +8963,7 @@ window.frmAdminBuildJS = function() { type: 'POST', url: ajaxurl, data: 'action=frm_uninstall&nonce=' + frmGlobal.nonce, - success: function( msg ) { + success( msg ) { jQuery( '.frm_uninstall' ).fadeOut( 'slow' ); window.location = msg; } @@ -8980,8 +8982,8 @@ window.frmAdminBuildJS = function() { button.get( 0 ).disabled = true; jQuery.ajax( { type: 'POST', url: ajaxurl, dataType: 'json', - data: { action: 'frm_addon_' + action, license: license, plugin: pluginSlug, nonce: frmGlobal.nonce }, - success: function( msg ) { + data: { action: 'frm_addon_' + action, license, plugin: pluginSlug, nonce: frmGlobal.nonce }, + success( msg ) { button.get( 0 ).disabled = false; const thisRow = button.closest( '.edd_frm_license_row' ); if ( action === 'deactivate' ) { @@ -9131,7 +9133,7 @@ window.frmAdminBuildJS = function() { function removeExportError() { /*jshint validthis:true */ const t = jQuery( this ).closest( '.frm_blank_field' ); - if ( typeof t === 'undefined' ) { + if ( t === undefined ) { return; } @@ -9294,7 +9296,7 @@ window.frmAdminBuildJS = function() { const $error = jQuery( errorId ); $error.removeClass( 'frm_hidden' ).attr( 'frm-error', type ); - if ( typeof message !== 'undefined' ) { + if ( message !== undefined ) { $error.find( 'span[frm-error="' + type + '"]' ).text( message ); } @@ -9312,7 +9314,7 @@ window.frmAdminBuildJS = function() { jQuery.ajax( { dataType: 'json', url: formContainer.getAttribute( 'data-url' ), - success: function( json ) { + success( json ) { let form = json.renderedHtml; form = form.replace( /]*(formidableforms.css|action=frmpro_css)[^>]*>/gi, '' ); formContainer.innerHTML = form; @@ -9355,7 +9357,7 @@ window.frmAdminBuildJS = function() { const link = form.elements.link.value; let data = { - action: action, + action, xml: link, name: formName, desc: formDesc, @@ -9368,13 +9370,13 @@ window.frmAdminBuildJS = function() { data = wp.hooks.applyFilters( hookName, data, filterArgs ); postAjax( data, function( response ) { - if ( typeof response.redirect !== 'undefined' ) { + if ( response.redirect !== undefined ) { const redirect = response.redirect; - if ( typeof form.elements.redirect === 'undefined' ) { + if ( form.elements.redirect === undefined ) { window.location = redirect; } else { const href = document.getElementById( 'frm-redirect-link' ); - if ( typeof link !== 'undefined' && href !== null ) { + if ( link !== undefined && href !== null ) { // Show the next installation step. href.setAttribute( 'href', redirect ); href.classList.remove( 'frm_grey', 'disabled' ); @@ -9421,7 +9423,7 @@ window.frmAdminBuildJS = function() { const data = { action: 'frm_forms_trash', - id: id, + id, nonce: frmGlobal.nonce }; postAjax( data, function() { @@ -9485,7 +9487,7 @@ window.frmAdminBuildJS = function() { * * @param {string} text The text in the element we are checking for a match. * @param {string} searchText The text value that is being searched. - * @return {boolean} + * @returns {boolean} */ function textMatchesPlural( text, searchText ) { if ( searchText === 's' ) { @@ -9693,7 +9695,7 @@ window.frmAdminBuildJS = function() { /** * @param {Number | string} fieldId - * @return {boolean} True if the field is a product field. + * @returns {boolean} True if the field is a product field. */ function isProductField( fieldId ) { const field = document.getElementById( 'frm_field_id_' + fieldId ); @@ -9756,7 +9758,7 @@ window.frmAdminBuildJS = function() { * * @param {string} fieldId Field ID. * @param {string} key Cache key. - * @return {HTMLElement|undefined} Return the element from cache or undefined if not found. + * @returns {HTMLElement|undefined} Return the element from cache or undefined if not found. */ const getSubFieldElFromCache = ( fieldId, key ) => { window.frmCachedSubFields = window.frmCachedSubFields || {}; @@ -9781,7 +9783,7 @@ window.frmAdminBuildJS = function() { * Gets column class from the number of columns. * * @param {Number} colCount Number of columns. - * @return {string} + * @returns {string} */ const getColClass = colCount => 'frm' + parseInt( 12 / colCount ); @@ -9924,7 +9926,7 @@ window.frmAdminBuildJS = function() { * * @since 6.24 * - * @return {void} + * @returns {void} */ function maybeInitEntriesListPage() { if ( ! document.body.classList.contains( 'frm-admin-page-entries' ) ) { @@ -10122,7 +10124,7 @@ window.frmAdminBuildJS = function() { /** * Adds footer links to the admin body content. * - * @return {void} + * @returns {void} */ function addAdminFooterLinks() { const footerLinks = document.querySelector( '.frm-admin-footer-links' ); @@ -10176,7 +10178,7 @@ window.frmAdminBuildJS = function() { return; } - if ( sidebar.dataset.fills === e.target.id && typeof e.target.id !== 'undefined' ) { + if ( sidebar.dataset.fills === e.target.id && e.target.id !== undefined ) { return; } @@ -10193,7 +10195,7 @@ window.frmAdminBuildJS = function() { * * @since 6.9 * - * @return {void} + * @returns {void} */ function initSelectDependencies() { const selects = document.querySelectorAll( 'select.frm_select_with_dependency' ); @@ -10204,7 +10206,7 @@ window.frmAdminBuildJS = function() { * @since 6.9 * * @param {HTMLElement} select The select element whose dependencies need to be managed. - * @return {void} + * @returns {void} */ function toggleDependencyVisibility( select ) { const selectedOption = select.options[ select.selectedIndex ]; @@ -10251,7 +10253,7 @@ window.frmAdminBuildJS = function() { } return { - init: function() { + init() { initAddMyEmailAddress(); addAdminFooterLinks(); @@ -10272,7 +10274,7 @@ window.frmAdminBuildJS = function() { } ); jQuery( '#frm_bs_dropdown:not(.open) a' ).on( 'click', focusSearchBox ); - if ( typeof thisFormId === 'undefined' ) { + if ( thisFormId === undefined ) { thisFormId = jQuery( document.getElementById( 'form_id' ) ).val(); } @@ -10464,7 +10466,7 @@ window.frmAdminBuildJS = function() { } }, - buildInit: function() { + buildInit() { jQuery( '#frm_builder_page' ).on( 'mouseup', '*:not(.frm-show-box)', maybeHideShortcodes ); let loadFieldId, $builderForm, builderArea; @@ -10650,7 +10652,7 @@ window.frmAdminBuildJS = function() { }, 9999 ); }, - settingsInit: function() { + settingsInit() { const $formActions = jQuery( document.getElementById( 'frm_notification_settings' ) ); let formSettings, $loggedIn, $cookieExp, $editable; @@ -10807,7 +10809,7 @@ window.frmAdminBuildJS = function() { wp.hooks.addAction( 'frm_reset_fields_updated', 'formidableAdmin', resetFieldsUpdated ); }, - panelInit: function() { + panelInit() { let customPanel, settingsPage, viewPage, insertFieldsTab; jQuery( '.frm_wrap, #postbox-container-1' ).on( 'click', '.frm_insert_code', insertCode ); @@ -10878,7 +10880,7 @@ window.frmAdminBuildJS = function() { } ); }, - inboxInit: function() { + inboxInit() { jQuery( '.frm_inbox_dismiss' ).on( 'click', function( e ) { const message = this.parentNode.parentNode; const key = message.getAttribute( 'data-message' ); @@ -10922,7 +10924,7 @@ window.frmAdminBuildJS = function() { () => { if ( null !== dismissedMessagesWrapper ) { dismissedMessage.classList.remove( 'frm-fade' ); - dismissedMessage.querySelector( '.frm-inbox-message-heading' )?.removeChild( dismissedMessage.querySelector( '.frm-inbox-message-heading .frm_inbox_dismiss' ) ); + dismissedMessage.querySelector( '.frm-inbox-message-heading .frm_inbox_dismiss' )?.remove(); dismissedMessagesWrapper.append( dismissedMessage ); } if ( 1 === message.parentNode.querySelectorAll( '.frm-inbox-message-container' ).length ) { @@ -10942,11 +10944,11 @@ window.frmAdminBuildJS = function() { } }, - solutionInit: function() { + solutionInit() { jQuery( document ).on( 'submit', '#frm-new-template', installTemplate ); }, - styleInit: function() { + styleInit() { const $previewWrapper = jQuery( '.frm_image_preview_wrapper' ); $previewWrapper.on( 'click', '.frm_choose_image_box', addImageToOption ); $previewWrapper.on( 'click', '.frm_remove_image_option', removeImageFromOption ); @@ -10954,11 +10956,11 @@ window.frmAdminBuildJS = function() { wp.hooks.doAction( 'frm_style_editor_init' ); }, - customCSSInit: function() { + customCSSInit() { console.warn( 'Calling frmAdminBuild.customCSSInit is deprecated.' ); }, - globalSettingsInit: function() { + globalSettingsInit() { let licenseTab; jQuery( document ).on( 'click', '[data-frmuninstall]', uninstallNow ); @@ -11048,7 +11050,7 @@ window.frmAdminBuildJS = function() { } }, - exportInit: function() { + exportInit() { jQuery( '.frm_form_importer' ).on( 'submit', startFormMigration ); jQuery( document.getElementById( 'frm_export_xml' ) ).on( 'submit', validateExport ); jQuery( '#frm_export_xml input, #frm_export_xml select' ).on( 'change', removeExportError ); @@ -11075,7 +11077,7 @@ window.frmAdminBuildJS = function() { } ); }, - inboxBannerInit: function() { + inboxBannerInit() { const banner = document.getElementById( 'frm_banner' ); if ( ! banner ) { return; @@ -11109,25 +11111,25 @@ window.frmAdminBuildJS = function() { ); }, - updateOpts: function( fieldId, opts, modal ) { + updateOpts( fieldId, opts, modal ) { const separate = usingSeparateValues( fieldId ), action = isProductField( fieldId ) ? 'frm_bulk_products' : 'frm_import_options'; jQuery.ajax( { type: 'POST', url: ajaxurl, data: { - action: action, + action, field_id: fieldId, - opts: opts, - separate: separate, + opts, + separate, nonce: frmGlobal.nonce }, - success: function( html ) { + success( html ) { document.getElementById( 'frm_field_' + fieldId + '_opts' ).innerHTML = html; wp.hooks.doAction( 'frm_after_bulk_edit_opts', fieldId ); resetDisplayedOpts( fieldId ); - if ( typeof modal !== 'undefined' ) { + if ( modal !== undefined ) { modal.dialog( 'close' ); document.getElementById( 'frm-update-bulk-opts' ).classList.remove( 'frm_loading_button' ); } @@ -11136,11 +11138,11 @@ window.frmAdminBuildJS = function() { }, /* remove conditional logic if the field doesn't exist */ - triggerRemoveLogic: function( fieldID, metaName ) { + triggerRemoveLogic( fieldID, metaName ) { jQuery( '#frm_logic_' + fieldID + '_' + metaName + ' .frm_remove_tag' ).trigger( 'click' ); }, - downloadXML: function( controller, ids, isTemplate ) { + downloadXML( controller, ids, isTemplate ) { let url = ajaxurl + '?action=frm_' + controller + '_xml&ids=' + ids; if ( isTemplate !== null ) { url = url + '&is_template=' + isTemplate; @@ -11152,16 +11154,16 @@ window.frmAdminBuildJS = function() { * @since 5.0.04 */ hooks: { - applyFilters: function( hookName, ...args ) { + applyFilters( hookName, ...args ) { return wp.hooks.applyFilters( hookName, ...args ); }, - addFilter: function( hookName, callback, priority ) { + addFilter( hookName, callback, priority ) { return wp.hooks.addFilter( hookName, 'formidable', callback, priority ); }, - doAction: function( hookName, ...args ) { + doAction( hookName, ...args ) { return wp.hooks.doAction( hookName, ...args ); }, - addAction: function( hookName, callback, priority ) { + addAction( hookName, callback, priority ) { return wp.hooks.addAction( hookName, 'formidable', callback, priority ); } }, @@ -11234,7 +11236,7 @@ jQuery( document ).ready( } ); -window.frm_show_div = ( div, value, showIf, classId ) => { // eslint-disable-line camelcase +window.frm_show_div = ( div, value, showIf, classId ) => { if ( value == showIf ) { jQuery( classId + div ).fadeIn( 'slow' ).css( 'visibility', 'visible' ); } else { @@ -11259,7 +11261,7 @@ window.frmGetFieldValues = ( fieldId, cur, rowNumber, fieldType, htmlName, callb jQuery.ajax( { type: 'POST', url: ajaxurl, data: 'action=frm_get_field_values¤t_field=' + cur + '&field_id=' + fieldId + '&name=' + htmlName + '&t=' + fieldType + '&form_action=' + jQuery( 'input[name="frm_action"]' ).val() + '&nonce=' + frmGlobal.nonce, - success: function( msg ) { + success( msg ) { document.getElementById( 'frm_show_selected_values_' + cur + '_' + rowNumber ).innerHTML = msg; if ( 'function' === typeof callback ) { @@ -11278,7 +11280,7 @@ window.frmImportCsv = formID => { jQuery.ajax( { type: 'POST', url: ajaxurl, data: 'action=frm_import_csv&nonce=' + frmGlobal.nonce + '&frm_skip_cookie=1' + urlVars, - success: function( count ) { + success( count ) { const max = jQuery( '.frm_admin_progress_bar' ).attr( 'aria-valuemax' ); const imported = max - count; const percent = ( imported / max ) * 100; @@ -11288,7 +11290,7 @@ window.frmImportCsv = formID => { jQuery( '.frm_csv_remaining' ).html( count ); frmImportCsv( formID ); } else { - jQuery( document.getElementById( 'frm_import_message' ) ).html( frm_admin_js.import_complete ); // eslint-disable-line camelcase + jQuery( document.getElementById( 'frm_import_message' ) ).html( frm_admin_js.import_complete ); setTimeout( function() { location.href = '?page=formidable-entries&frm_action=list&form=' + formID + '&import-message=1'; }, 2000 ); diff --git a/js/src/admin/components/dependent-updater-component.js b/js/src/admin/components/dependent-updater-component.js index ee81f93acf..9701b71d88 100644 --- a/js/src/admin/components/dependent-updater-component.js +++ b/js/src/admin/components/dependent-updater-component.js @@ -28,7 +28,7 @@ export default class frmStyleDependentUpdaterComponent { * The selection is made by provided input's names list in "will-change" attribute. * * @param {string[]} inputNames - The names of the inputs to propagate changes to. - * @return {HTMLElement[]} - The list of inputs to propagate changes to. + * @returns {HTMLElement[]} - The list of inputs to propagate changes to. */ initPropagationList( inputNames ) { const list = []; diff --git a/js/src/admin/styles.js b/js/src/admin/styles.js index 977183e417..5cd50be061 100644 --- a/js/src/admin/styles.js +++ b/js/src/admin/styles.js @@ -33,14 +33,14 @@ class frmStyleOptions { /** * Initialize the custom CSS editor instance. * - * @return {void} + * @returns {void} */ initCustomCSSEditorInstance() { if ( null !== this.cssEditorInstance || this.cssEditorOptions.retryCount >= this.cssEditorOptions.retryLimit ) { return; } - if ( 'undefined' === typeof window.frm_single_style_custom_css_wp_editor || 'undefined' === typeof window.frm_single_style_custom_css_wp_editor.codemirror ) { + if ( window.frm_single_style_custom_css_wp_editor === undefined || window.frm_single_style_custom_css_wp_editor.codemirror === undefined ) { setTimeout( () => { this.cssEditorOptions.retryCount++; this.initCustomCSSEditorInstance(); @@ -55,7 +55,7 @@ class frmStyleOptions { /** * Get the inline style element. * - * @return {HTMLElement} The inline style element. + * @returns {HTMLElement} The inline style element. */ getInlineStyleElement() { if ( null !== this.cssInlineStyleElement ) { @@ -70,7 +70,7 @@ class frmStyleOptions { /** * On the CSS editor ready, add an event listener to the editor to update the inline style element. * - * @return {void} + * @returns {void} */ onCssEditorReady() { const cssScope = document.getElementById( 'frm_style_class_custom_css' )?.dataset?.cssScope; @@ -96,11 +96,11 @@ class frmStyleOptions { components.forEach( component => { const element = component.querySelector( 'input.hex' ); - const id = 'undefined' !== typeof element ? element.getAttribute( 'id' ) : null; + const id = element !== undefined ? element.getAttribute( 'id' ) : null; if ( null !== id ) { elements.push( { - id: id, + id, dependentUpdaterClass: new frmStyleDependentUpdaterComponent( component, 'colorpicker' ) } ); } @@ -162,7 +162,7 @@ class frmStyleOptions { * Copies the class name to the clipboard and displays a success message. * * @param {string} successMessage The success message to display. - * @return {void} Initializes the copy to clipboard functionality for style classes. + * @returns {void} Initializes the copy to clipboard functionality for style classes. */ initStyleClassCopyToClipboard( successMessage ) { const labels = document.querySelectorAll( '.frm-copy-text' ); @@ -187,7 +187,7 @@ class frmStyleOptions { /** * Toggle the visibility of the custom CSS editor. * - * @return {void} + * @returns {void} */ toggleVisibilityOfCustomCSSEditor() { const toggle = document.getElementById( 'frm_enable_single_style_custom_css' ); @@ -205,7 +205,7 @@ class frmStyleOptions { * * @param {string} couponCode The string being copied to the clipboard. * @param {HTMLElement} copyButton Used to position the temporary input element. - * @return {boolean} True if the copy was successful, false otherwise. + * @returns {boolean} True if the copy was successful, false otherwise. */ fallbackCopyToClipboard( couponCode, copyButton ) { if ( 'function' !== typeof document.execCommand ) { diff --git a/js/src/admin/upgrade-popup.js b/js/src/admin/upgrade-popup.js index d92b00cab0..a685006c26 100644 --- a/js/src/admin/upgrade-popup.js +++ b/js/src/admin/upgrade-popup.js @@ -4,7 +4,7 @@ const { svg } = frmDom; function getShowLinkHrefValue( link, showLink ) { let customLink = link.getAttribute( 'data-link' ); - if ( customLink === null || typeof customLink === 'undefined' || customLink === '' ) { + if ( customLink === null || customLink === undefined || customLink === '' ) { customLink = showLink.getAttribute( 'data-default' ); } return customLink; @@ -51,7 +51,7 @@ export function addOneClick( link, context, upgradeLabel ) { } // If one click upgrade, hide other content. - if ( oneclickMessage !== null && button !== null && typeof oneclick !== 'undefined' && oneclick ) { + if ( oneclickMessage !== null && button !== null && oneclick !== undefined && oneclick ) { if ( newMessage === null ) { showMsg = 'none'; } @@ -121,7 +121,7 @@ export function initModal( id, width ) { return false; } - if ( typeof width === 'undefined' ) { + if ( width === undefined ) { width = '552px'; } @@ -130,17 +130,17 @@ export function initModal( id, width ) { modal: true, autoOpen: false, closeOnEscape: true, - width: width, + width, resizable: false, draggable: false, - open: function() { + open() { jQuery( '.ui-dialog-titlebar' ).addClass( 'frm_hidden' ).removeClass( 'ui-helper-clearfix' ); jQuery( '#wpwrap' ).addClass( 'frm_overlay' ); jQuery( '.frm-dialog' ).removeClass( 'ui-widget ui-widget-content ui-corner-all' ); $info.removeClass( 'ui-dialog-content ui-widget-content' ); bindClickForDialogClose( $info ); }, - close: function() { + close() { jQuery( '#wpwrap' ).removeClass( 'frm_overlay' ); jQuery( '.spinner' ).css( 'visibility', 'hidden' ); diff --git a/js/src/api/class-addon-api.js b/js/src/api/class-addon-api.js index 826a96f590..cc724562a7 100644 --- a/js/src/api/class-addon-api.js +++ b/js/src/api/class-addon-api.js @@ -5,7 +5,7 @@ export class frmAddonAPI { * @param {'frm_install_addon'|'frm_activate_addon'|'frm_multiple_addons'} action The addon state action type. * @param {string} addon The addon path. Ex: formidable-views/formidable-views.php * - * @return {Promise} The response from the server. + * @returns {Promise} The response from the server. */ static toggleAddonState( action, addon ) { return fetch( ajaxurl, { @@ -14,7 +14,7 @@ export class frmAddonAPI { 'Content-Type': 'application/x-www-form-urlencoded' }, body: new URLSearchParams( { - action: action, + action, nonce: frmGlobal.nonce, plugin: addon } ) diff --git a/js/src/common/components/radio.js b/js/src/common/components/radio.js index 684cf1b609..1e909e879b 100644 --- a/js/src/common/components/radio.js +++ b/js/src/common/components/radio.js @@ -12,7 +12,6 @@ function RadioControl( { label, className, selected, help, instanceId, onChange, const onChangeValue = event => onChange( event.target.value ); className = className + ' components-radio-control'; - // eslint-disable-next-line @wordpress/no-base-control-with-label-without-id return { options.map( ( option, index ) =>
            nav.classList.contains( 'frm-active' ) ); + const activeNav = nav !== undefined ? nav : this.navs.filter( nav => nav.classList.contains( 'frm-active' ) ); this.positionUnderlineIndicator( activeNav ); } diff --git a/js/src/core/events/optionBoxListener.js b/js/src/core/events/optionBoxListener.js index 4a4b3e5621..830e709654 100644 --- a/js/src/core/events/optionBoxListener.js +++ b/js/src/core/events/optionBoxListener.js @@ -8,7 +8,7 @@ const OPTION_BOX_CLASS = '.frm-option-box'; /** * Manages event handling for an option-box. * - * @return {void} + * @returns {void} */ export function addOptionBoxEvents() { const optionBoxes = document.querySelectorAll( OPTION_BOX_CLASS ); diff --git a/js/src/core/factory/createPageElements.js b/js/src/core/factory/createPageElements.js index 7c440e8986..f1cc58af34 100644 --- a/js/src/core/factory/createPageElements.js +++ b/js/src/core/factory/createPageElements.js @@ -3,7 +3,7 @@ * * @param {Object} [initialElements={}] An object containing initial DOM elements. * @throws {Error} Throws an error if the `initialElements` is not an object. - * @return {Object} An object with methods to get and add elements. + * @returns {Object} An object with methods to get and add elements. */ export function createPageElements( initialElements = {} ) { if ( typeof initialElements !== 'object' || initialElements === null ) { @@ -17,7 +17,7 @@ export function createPageElements( initialElements = {} ) { /** * Retrieve the initialized essential DOM elements. * - * @return {Object} The initialized elements object. + * @returns {Object} The initialized elements object. */ function getElements() { return elements; @@ -28,7 +28,7 @@ export function createPageElements( initialElements = {} ) { * * @param {Object} newElements An object containing new elements to be added. * @throws {Error} Throws an error if the `newElements` is not a non-null object. - * @return {void} Updates the elements object by merging the new elements into it. + * @returns {void} Updates the elements object by merging the new elements into it. */ function addElements( newElements ) { if ( typeof newElements !== 'object' || newElements === null ) { diff --git a/js/src/core/factory/createPageState.js b/js/src/core/factory/createPageState.js index a76c8a2f54..67d6a10330 100644 --- a/js/src/core/factory/createPageState.js +++ b/js/src/core/factory/createPageState.js @@ -3,7 +3,7 @@ * * @param {Object} [initialState={}] An object containing the initial state. * @throws {Error} Throws an error if the `initialState` is not a plain object. - * @return {Object} An object with methods to initialize, get, and set the page state. + * @returns {Object} An object with methods to initialize, get, and set the page state. */ export function createPageState( initialState = {} ) { if ( typeof initialState !== 'object' || initialState === null ) { @@ -17,7 +17,7 @@ export function createPageState( initialState = {} ) { /** * Returns the current page state. * - * @return {Object|null} The current state of the page or null if not initialized. + * @returns {Object|null} The current state of the page or null if not initialized. */ const getState = () => state; @@ -25,7 +25,7 @@ export function createPageState( initialState = {} ) { * Returns a specific property from the current page state. * * @param {string} propertyName The name of the property to retrieve. - * @return {*} The value of the specified property, or null if it doesn't exist. + * @returns {*} The value of the specified property, or null if it doesn't exist. */ const getSingleState = propertyName => { const value = Reflect.get( state, propertyName ); @@ -40,7 +40,7 @@ export function createPageState( initialState = {} ) { * * @param {Object} newState The new values to update the state with. * @throws {Error} Throws an error if `newState` is not a plain object. - * @return {void} + * @returns {void} */ const setState = newState => { if ( typeof newState !== 'object' || newState === null ) { @@ -55,7 +55,7 @@ export function createPageState( initialState = {} ) { * * @param {string} propertyName The name of the property to update. * @param {*} value The new value to set for the property. - * @return {void} + * @returns {void} */ const setSingleState = ( propertyName, value ) => { if ( Reflect.has( state, propertyName ) ) { diff --git a/js/src/core/page-skeleton/elements/elements.js b/js/src/core/page-skeleton/elements/elements.js index 4a04bde4cd..3c7026e0e3 100644 --- a/js/src/core/page-skeleton/elements/elements.js +++ b/js/src/core/page-skeleton/elements/elements.js @@ -17,7 +17,7 @@ const sidebar = document.getElementById( `${ PREFIX }-sidebar` ); // Append empty state elements to body content const emptyState = createEmptyStateElement(); -bodyContent?.appendChild( emptyState ); +bodyContent?.append( emptyState ); const emptyStateElements = getEmptyStateElements(); export const { getElements, addElements } = createPageElements( { diff --git a/js/src/core/page-skeleton/elements/emptyStateElement.js b/js/src/core/page-skeleton/elements/emptyStateElement.js index f2dbac0136..8817007b0f 100644 --- a/js/src/core/page-skeleton/elements/emptyStateElement.js +++ b/js/src/core/page-skeleton/elements/emptyStateElement.js @@ -18,7 +18,7 @@ const { tag, div, a, img } = window.frmDom; /** * Create and return the Empty State HTML element. * - * @return {HTMLElement} The Empty State element. + * @returns {HTMLElement} The Empty State element. */ export function createEmptyStateElement() { const button = a( { @@ -53,7 +53,7 @@ export function createEmptyStateElement() { /** * Return the elements related to the Empty State. * - * @return {Object} Object containing Empty State related DOM elements. + * @returns {Object} Object containing Empty State related DOM elements. */ export function getEmptyStateElements() { const emptyState = document.querySelector( `#${ PREFIX }-empty-state` ); diff --git a/js/src/core/page-skeleton/events/categoryListener.js b/js/src/core/page-skeleton/events/categoryListener.js index 4e41ced165..60fed4104d 100644 --- a/js/src/core/page-skeleton/events/categoryListener.js +++ b/js/src/core/page-skeleton/events/categoryListener.js @@ -14,7 +14,7 @@ import { resetSearchInput } from '.'; /** * Manages event handling for sidebar category links. * - * @return {void} + * @returns {void} */ export function addCategoryEvents() { const { categoryItems } = getElements(); @@ -80,7 +80,7 @@ const onCategoryClick = event => { * Handles the keyboard event on a category item. * * @param {KeyboardEvent} event The keyboard event object. - * @return {void} + * @returns {void} */ function onCategoryKeydown( event ) { // Only respond to 'Enter' or 'Space' key presses diff --git a/js/src/core/page-skeleton/events/index.js b/js/src/core/page-skeleton/events/index.js index 15d669ce1f..79bc30c6a8 100644 --- a/js/src/core/page-skeleton/events/index.js +++ b/js/src/core/page-skeleton/events/index.js @@ -6,7 +6,7 @@ import { getElements } from '../elements'; /** * Resets the value of the search input and triggers an input event. * - * @return {void} + * @returns {void} */ export function resetSearchInput() { const { searchInput } = getElements(); diff --git a/js/src/core/ui/addProgressToCardBoxes.js b/js/src/core/ui/addProgressToCardBoxes.js index 16f605458c..b766b04b7b 100644 --- a/js/src/core/ui/addProgressToCardBoxes.js +++ b/js/src/core/ui/addProgressToCardBoxes.js @@ -7,7 +7,7 @@ const { span } = window.frmDom; * Adds a progress bar to each card box element to visually indicate its position in the sequence. * * @param {Element[]} cardBoxes Collection of card box elements to enhance with progress bars. - * @return {void} + * @returns {void} */ function addProgressToCardBoxes( cardBoxes ) { if ( ! Array.isArray( cardBoxes ) || ! cardBoxes.length ) { diff --git a/js/src/core/ui/counter.js b/js/src/core/ui/counter.js index cc4f1fb97b..bee01691ae 100644 --- a/js/src/core/ui/counter.js +++ b/js/src/core/ui/counter.js @@ -7,7 +7,7 @@ * @param {number} options.duration Duration in milliseconds (default: 3000) * @param {Function} options.easing Easing function (default: easeOutQuart) * @throws {Error} When element is not found or invalid - * @return {HTMLElement} The updated element for method chaining + * @returns {HTMLElement} The updated element for method chaining */ const counter = ( element, value, options = {} ) => { const targetElement = typeof element === 'string' @@ -58,7 +58,7 @@ const counter = ( element, value, options = {} ) => { * * @param {HTMLElement} element Target element * @param {string|number} value Value to set - * @return {HTMLElement} The element for method chaining + * @returns {HTMLElement} The element for method chaining */ const setElementValueAndReturn = ( element, value ) => { element.textContent = String( value ); @@ -75,7 +75,7 @@ const setElementValueAndReturn = ( element, value ) => { * @param {number} duration Animation duration in milliseconds * @param {number} change Total change amount (targetValue - startValue) * @param {Function} easing Easing function - * @return {void} + * @returns {void} */ const animateCounter = ( timestamp, element, startValue, targetValue, duration, change, easing ) => { if ( ! element._counterStartTime ) { @@ -138,7 +138,7 @@ const animateCounter = ( timestamp, element, startValue, targetValue, duration, * Easing function for smooth animation * * @param {number} t Progress from 0 to 1 - * @return {number} Eased value + * @returns {number} Eased value */ const easeOutQuart = t => 1 - Math.pow( 1 - t, 4 ); diff --git a/js/src/core/utils/async.js b/js/src/core/utils/async.js index 54a7f3d8f8..1dd7bebac4 100644 --- a/js/src/core/utils/async.js +++ b/js/src/core/utils/async.js @@ -5,6 +5,6 @@ let lastPromise = Promise.resolve(); * Adds a task to the request queue. * * @param {function(): Promise} task A function that returns a promise. - * @return {Promise} The new last promise in the queue. + * @returns {Promise} The new last promise in the queue. */ export const addToRequestQueue = task => lastPromise = lastPromise.then( task ).catch( task ); diff --git a/js/src/core/utils/error.js b/js/src/core/utils/error.js index 5161691eaa..46cdc92e5e 100644 --- a/js/src/core/utils/error.js +++ b/js/src/core/utils/error.js @@ -10,7 +10,7 @@ import { hide, show } from '.'; * @param {string} errorId The ID selector for the error message display element. * @param {string} type The categorization of the error (e.g., "invalid", "empty"). * @param {string} [message] Optional. The specific error message to display. - * @return {void} + * @returns {void} */ export const showFormError = ( inputId, errorId, type, message ) => { const inputElement = document.querySelector( inputId ); diff --git a/js/src/core/utils/url.js b/js/src/core/utils/url.js index e28eee65ce..d66b248c5c 100644 --- a/js/src/core/utils/url.js +++ b/js/src/core/utils/url.js @@ -8,7 +8,7 @@ const urlParams = url.searchParams; * Gets the value of a specified query parameter from the current URL. * * @param {string} paramName The name of the query parameter to retrieve. - * @return {string|null} The value associated with the specified query parameter name, or null if not found. + * @returns {string|null} The value associated with the specified query parameter name, or null if not found. */ export const getQueryParam = paramName => urlParams.get( paramName ); @@ -16,7 +16,7 @@ export const getQueryParam = paramName => urlParams.get( paramName ); * Removes a query parameter from the current URL and returns the updated URL string. * * @param {string} paramName The name of the query parameter to remove. - * @return {string} The updated URL string. + * @returns {string} The updated URL string. */ export const removeQueryParam = paramName => { urlParams.delete( paramName ); @@ -30,7 +30,7 @@ export const removeQueryParam = paramName => { * @param {string} paramName The name of the query parameter to set. * @param {string} paramValue The value to set for the query parameter. * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'. - * @return {string} The updated URL string. + * @returns {string} The updated URL string. */ export const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' ) => { urlParams.set( paramName, paramValue ); @@ -48,7 +48,7 @@ export const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' * Checks if a query parameter exists in the current URL. * * @param {string} paramName The name of the query parameter to check. - * @return {boolean} True if the query parameter exists, otherwise false. + * @returns {boolean} True if the query parameter exists, otherwise false. */ export const hasQueryParam = paramName => urlParams.has( paramName ); @@ -56,7 +56,7 @@ export const hasQueryParam = paramName => urlParams.has( paramName ); * Removes a query parameter and updates history with replaceState. * * @param {string} paramName The query parameter to remove. - * @return {void} + * @returns {void} */ export const removeParamFromHistory = paramName => history.replaceState( {}, '', removeQueryParam( paramName ) ); diff --git a/js/src/core/utils/validation.js b/js/src/core/utils/validation.js index 564955f30b..ce19431da3 100644 --- a/js/src/core/utils/validation.js +++ b/js/src/core/utils/validation.js @@ -2,7 +2,7 @@ * Validates an email address using a regular expression. * * @param {string} email The email address to validate. - * @return {boolean} True if the email address is valid, otherwise false. + * @returns {boolean} True if the email address is valid, otherwise false. */ export const isValidEmail = email => typeof email === 'string' ? /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test( email ) : false; @@ -11,7 +11,7 @@ export const isValidEmail = email => * Validates if the given element is an instance of HTMLElement. * * @param {any} element Element to be checked. - * @return {boolean} True if it's an HTMLElement, otherwise false. + * @returns {boolean} True if it's an HTMLElement, otherwise false. */ export const isHTMLElement = element => element instanceof HTMLElement || console.warn( 'Invalid argument: Element must be an instance of HTMLElement' ) || false; @@ -19,6 +19,6 @@ export const isHTMLElement = element => element instanceof HTMLElement || consol * Checks if the given object is empty. * * @param {Object} obj The object to check. - * @return {boolean} True if the object is empty, otherwise false. + * @returns {boolean} True if the object is empty, otherwise false. */ export const isEmptyObject = obj => Object.keys( obj ).length === 0 && obj.constructor === Object; diff --git a/js/src/core/utils/visibility.js b/js/src/core/utils/visibility.js index 9a0bda43e1..89f258a582 100644 --- a/js/src/core/utils/visibility.js +++ b/js/src/core/utils/visibility.js @@ -7,7 +7,7 @@ import { HIDDEN_CLASS } from 'core/constants'; * Shows specified elements by removing the hidden class. * * @param {Array} elements An array of elements to show. - * @return {void} + * @returns {void} */ export const showElements = elements => Array.from( elements )?.forEach( element => show( element ) ); @@ -16,7 +16,7 @@ export const showElements = elements => * Hides specified elements by adding the hidden class. * * @param {Array} elements An array of elements to hide. - * @return {void} + * @returns {void} */ export const hideElements = elements => Array.from( elements )?.forEach( element => hide( element ) ); @@ -25,7 +25,7 @@ export const hideElements = elements => * Removes the hidden class to show the element. * * @param {Element} element The element to show. - * @return {void} + * @returns {void} */ export const show = element => element?.classList.remove( HIDDEN_CLASS ); @@ -33,7 +33,7 @@ export const show = element => element?.classList.remove( HIDDEN_CLASS ); * Adds the hidden class to hide the element. * * @param {Element} element The element to hide. - * @return {void} + * @returns {void} */ export const hide = element => element?.classList.add( HIDDEN_CLASS ); @@ -41,7 +41,7 @@ export const hide = element => element?.classList.add( HIDDEN_CLASS ); * Checks if an element is visible. * * @param {HTMLElement} element The HTML element to check for visibility. - * @return {boolean} Returns true if the element is visible, otherwise false. + * @returns {boolean} Returns true if the element is visible, otherwise false. */ export const isVisible = element => { const styles = window.getComputedStyle( element ); diff --git a/js/src/dashboard.js b/js/src/dashboard.js index b8a596f97e..7c35f80def 100644 --- a/js/src/dashboard.js +++ b/js/src/dashboard.js @@ -69,7 +69,7 @@ class frmDashboard { body: new URLSearchParams( { action: this.options.ajax.action, dashboard_action: this.options.ajax.dashboardActions.saveSubscribedEmail, - email: email + email } ) } ).then( result => result.json() ); } diff --git a/js/src/form-templates/elements/applicationTemplatesElement.js b/js/src/form-templates/elements/applicationTemplatesElement.js index 3f5847d553..ecc7976959 100644 --- a/js/src/form-templates/elements/applicationTemplatesElement.js +++ b/js/src/form-templates/elements/applicationTemplatesElement.js @@ -26,7 +26,7 @@ const thumbnailBaseURL = `${ PLUGIN_URL }/images/applications/thumbnails`; * Create and return the application templates HTML element. * * @param {Object[]} applications Array of application objects. - * @return {void} + * @returns {void} */ export function createApplicationTemplates( applications ) { if ( ! applications || ! applications.length ) { @@ -56,11 +56,11 @@ export function createApplicationTemplates( applications ) { * * @private * @param {Object} template The application object. - * @return {HTMLElement} Element representing a single application template. + * @returns {HTMLElement} Element representing a single application template. */ function createTemplateItem( template ) { const { name, key, hasLiteThumbnail, isWebp } = template; - // eslint-disable-next-line no-nested-ternary + const thumbnailURL = hasLiteThumbnail ? ( isWebp ? `${ thumbnailBaseURL }/${ key }.webp` : `${ thumbnailBaseURL }/${ key }.png` ) : `${ thumbnailBaseURL }/placeholder.svg`; @@ -101,7 +101,7 @@ function createTemplateItem( template ) { /** * Inject application Templates elements into the DOM and the elements object. * - * @return {void} + * @returns {void} */ export function addApplicationTemplatesElement() { const elements = getElements(); diff --git a/js/src/form-templates/events/applicationTemplateListener.js b/js/src/form-templates/events/applicationTemplateListener.js index 23809f3a9c..de73003cdc 100644 --- a/js/src/form-templates/events/applicationTemplateListener.js +++ b/js/src/form-templates/events/applicationTemplateListener.js @@ -6,7 +6,7 @@ import { getElements } from '../elements'; /** * Manages event handling for an application template. * - * @return {void} + * @returns {void} */ export function addApplicationTemplateEvents() { const { applicationTemplateItems } = getElements(); @@ -26,7 +26,7 @@ export function addApplicationTemplateEvents() { * * @private * @param {Event} event The click event object. - * @return {void} + * @returns {void} */ const onApplicationTemplateClick = event => { // Check if the clicked element is an anchor tag diff --git a/js/src/form-templates/events/createFormButtonListener.js b/js/src/form-templates/events/createFormButtonListener.js index cfad29e0af..8f6df9fd78 100644 --- a/js/src/form-templates/events/createFormButtonListener.js +++ b/js/src/form-templates/events/createFormButtonListener.js @@ -16,7 +16,7 @@ import { getElements } from '../elements'; /** * Manages event handling for the "Create a blank form" button. * - * @return {void} + * @returns {void} */ function addCreateFormButtonEvents() { const { createFormButton } = getElements(); @@ -29,7 +29,7 @@ function addCreateFormButtonEvents() { * Handles the click event on the "Create a blank form" button. * * @private - * @return {void} + * @returns {void} */ const onCreateFormButtonClick = () => { const { createFormButton, newTemplateForm, newTemplateNameInput, newTemplateActionInput } = getElements(); diff --git a/js/src/form-templates/events/createTemplateListeners.js b/js/src/form-templates/events/createTemplateListeners.js index e0871d5587..e68629b8c8 100644 --- a/js/src/form-templates/events/createTemplateListeners.js +++ b/js/src/form-templates/events/createTemplateListeners.js @@ -19,7 +19,7 @@ import { isCustomCategory } from '../utils'; /** * Manages event handling for the 'Create New Template' modal. * - * @return {void} + * @returns {void} */ function addCreateTemplateEvents() { const { @@ -44,7 +44,7 @@ function addCreateTemplateEvents() { * Handles the click event on the 'Create Template' button, showing the 'Create New Template' modal. * * @private - * @return {void} + * @returns {void} */ const onShowCreateTemplateModalButtonClick = () => { const { selectedCategory } = getState(); @@ -59,7 +59,7 @@ const onShowCreateTemplateModalButtonClick = () => { * Handles changes in the forms selection dropdown for creating a new template. * * @private - * @return {void} + * @returns {void} */ const onFormsSelectChange = () => { const { createTemplateFormsDropdown: formsSelect } = getElements(); @@ -91,7 +91,7 @@ const onFormsSelectChange = () => { * * @private * @param {boolean} shouldDisable True to disable, false to enable. - * @return {void} + * @returns {void} */ const toggleDisableModalElements = shouldDisable => { const { createTemplateName, createTemplateDescription, createTemplateButton } = getElements(); @@ -112,7 +112,7 @@ const toggleDisableModalElements = shouldDisable => { * Handles the click event on the 'Create Template' button to create a new template. * * @private - * @return {void} + * @returns {void} */ const onCreateTemplateButtonClick = () => { const { installNewForm } = window.frmAdminBuild; diff --git a/js/src/form-templates/events/favoriteButtonListener.js b/js/src/form-templates/events/favoriteButtonListener.js index 60ec6eb24a..daacb658e6 100644 --- a/js/src/form-templates/events/favoriteButtonListener.js +++ b/js/src/form-templates/events/favoriteButtonListener.js @@ -23,7 +23,7 @@ const OPERATION = { /** * Manages event handling for favorite buttons. * - * @return {void} + * @returns {void} */ function addFavoriteButtonEvents() { const favoriteButtons = document.querySelectorAll( FAVORITE_BUTTON_CLASS ); @@ -39,7 +39,7 @@ function addFavoriteButtonEvents() { * * @private * @param {Event} event The click event object. - * @return {void} + * @returns {void} */ const onFavoriteButtonClick = event => { const favoriteButton = event.currentTarget; @@ -90,14 +90,14 @@ const onFavoriteButtonClick = event => { if ( OPERATION.ADD === currentOperation ) { // Increment favorite counts ++favoritesCount.total; - isTemplateCustom ? ++favoritesCount.custom : ++favoritesCount.default; // eslint-disable-line no-unused-expressions + isTemplateCustom ? ++favoritesCount.custom : ++favoritesCount.default; // Set heart icon to filled heartIcon.setAttribute( 'href', FILLED_HEART_ICON ); twinTemplateHeartIcon?.setAttribute( 'href', FILLED_HEART_ICON ); } else { // Decrement favorite counts --favoritesCount.total; - isTemplateCustom ? --favoritesCount.custom : --favoritesCount.default; // eslint-disable-line no-unused-expressions + isTemplateCustom ? --favoritesCount.custom : --favoritesCount.default; // Set heart icon to outline heartIcon.setAttribute( 'href', LINEAR_HEART_ICON ); twinTemplateHeartIcon?.setAttribute( 'href', LINEAR_HEART_ICON ); @@ -136,7 +136,7 @@ const onFavoriteButtonClick = event => { * @param {string} id The template ID. * @param {string} operation The operation to perform ('add' or 'remove'). * @param {boolean} isCustom Flag indicating whether the template is custom. - * @return {Promise} The result of the server-side update. + * @returns {Promise} The result of the server-side update. */ function updateFavoriteTemplate( id, operation, isCustom ) { const formData = new FormData(); diff --git a/js/src/form-templates/events/getFreeTemplatesListener.js b/js/src/form-templates/events/getFreeTemplatesListener.js index 490ecc4687..77a8985888 100644 --- a/js/src/form-templates/events/getFreeTemplatesListener.js +++ b/js/src/form-templates/events/getFreeTemplatesListener.js @@ -19,7 +19,7 @@ import { showEmailAddressError, showLeaveEmailModal } from '../ui'; /** * Manages event handling for the "Get Templates" button. * - * @return {void} + * @returns {void} */ function addGetFreeTemplatesEvents() { const { leaveEmailModalButton, getFreeTemplatesBannerButton } = getElements(); @@ -32,7 +32,7 @@ function addGetFreeTemplatesEvents() { * Handles the click event on the "Get Templates" button. * * @private - * @return {void} + * @returns {void} */ const onGetTemplatesButtonClick = async () => { const { leaveEmailModalInput } = getElements(); @@ -87,7 +87,7 @@ const onGetTemplatesButtonClick = async () => { * Shows a message indicating that templates could not be retrieved. * * @private - * @return {void} + * @returns {void} */ function showFailedToGetTemplates() { const { leaveEmailModal } = getElements(); diff --git a/js/src/form-templates/events/index.js b/js/src/form-templates/events/index.js index c4326c3703..f30d9c2695 100644 --- a/js/src/form-templates/events/index.js +++ b/js/src/form-templates/events/index.js @@ -17,7 +17,7 @@ import { showSelectedCategory } from '../ui'; /** * Attaches event listeners for handling user interactions. * - * @return {void} + * @returns {void} */ export function addEventListeners() { addCategoryEvents(); diff --git a/js/src/form-templates/events/searchListener.js b/js/src/form-templates/events/searchListener.js index 184b184a02..af6ea4eec8 100644 --- a/js/src/form-templates/events/searchListener.js +++ b/js/src/form-templates/events/searchListener.js @@ -17,7 +17,7 @@ const { init: initSearch } = window.frmDom.search; * Adds search-related event listeners by calling the 'initSearch' function. * * @see frmDom.search method - * @return {void} + * @returns {void} */ function addSearchEvents() { const { searchInput, emptyStateButton } = getElements(); @@ -34,7 +34,7 @@ function addSearchEvents() { * @param {boolean} args.foundSomething True if search yielded results. * @param {boolean} args.notEmptySearchText True if search input is not empty. * @param {Event} event The event object (input, search, or change event). - * @return {void} + * @returns {void} */ function handleSearchResult( { foundSomething, notEmptySearchText }, event ) { // Prevent double calls as window.frmDom.search.init attaches both 'input' and 'search' events, @@ -74,7 +74,7 @@ function handleSearchResult( { foundSomething, notEmptySearchText }, event ) { * Handles the click event on the empty state button. * * @private - * @return {void} + * @returns {void} */ const onEmptyStateButtonClick = () => { const { emptyState } = getElements(); diff --git a/js/src/form-templates/events/useTemplateButtonListener.js b/js/src/form-templates/events/useTemplateButtonListener.js index 6ffc60b902..51a1041e4e 100644 --- a/js/src/form-templates/events/useTemplateButtonListener.js +++ b/js/src/form-templates/events/useTemplateButtonListener.js @@ -9,7 +9,7 @@ import { isCustomTemplate, isLockedTemplate } from '../utils'; /** * Manages event handling for use template buttons. * - * @return {void} + * @returns {void} */ function addUseTemplateButtonEvents() { const useTemplateButtons = document.querySelectorAll( `.${ PREFIX }-use-template-button` ); @@ -25,7 +25,7 @@ function addUseTemplateButtonEvents() { * * @private * @param {Event} event The click event object. - * @return {void} + * @returns {void} */ const onUseTemplateButtonClick = event => { const useTemplateButton = event.currentTarget; diff --git a/js/src/form-templates/initializeFormTemplates.js b/js/src/form-templates/initializeFormTemplates.js index 08fc16b6c0..672fdbaf88 100644 --- a/js/src/form-templates/initializeFormTemplates.js +++ b/js/src/form-templates/initializeFormTemplates.js @@ -8,7 +8,7 @@ import { addEventListeners } from './events'; /** * Initializes form templates. * - * @return {void} + * @returns {void} */ function initializeFormTemplates() { maybeAddApplicationTemplates(); diff --git a/js/src/form-templates/templates/applicationTemplates.js b/js/src/form-templates/templates/applicationTemplates.js index 8fe7eae4a9..cac7678e11 100644 --- a/js/src/form-templates/templates/applicationTemplates.js +++ b/js/src/form-templates/templates/applicationTemplates.js @@ -8,7 +8,7 @@ import { canAccessApplicationDashboard } from '../shared'; /** * Adds application templates if the user has dashboard access. * - * @return {void} + * @returns {void} */ export function maybeAddApplicationTemplates() { // Exit if the user doesn't have permission to see application dashboard @@ -27,7 +27,7 @@ export function maybeAddApplicationTemplates() { * * @private * @param {Object} data The data object containing information for application templates. - * @return {void} + * @returns {void} */ function setupApplicationTemplates( data ) { // Create application templates diff --git a/js/src/form-templates/templates/categorizeTemplates.js b/js/src/form-templates/templates/categorizeTemplates.js index 58c971c790..77e7d8baa0 100644 --- a/js/src/form-templates/templates/categorizeTemplates.js +++ b/js/src/form-templates/templates/categorizeTemplates.js @@ -8,7 +8,7 @@ export const categorizedTemplates = {}; /** * Builds a categorized list of templates. * - * @return {void} + * @returns {void} */ export function buildCategorizedTemplates() { const { templateItems } = getElements(); diff --git a/js/src/form-templates/ui/initializeModal.js b/js/src/form-templates/ui/initializeModal.js index e97723b99a..61ba2036a1 100644 --- a/js/src/form-templates/ui/initializeModal.js +++ b/js/src/form-templates/ui/initializeModal.js @@ -15,7 +15,7 @@ let modalWidget = null; /** * Initialize the modal widget. * - * @return {void} + * @returns {void} */ export async function initializeModal() { const { initModal, offsetModalY } = window.frmAdminBuild; @@ -47,7 +47,7 @@ export async function initializeModal() { /** * Retrieve the modal widget. * - * @return {Object|false} The modal widget or false. + * @returns {Object|false} The modal widget or false. */ export function getModalWidget() { return modalWidget; diff --git a/js/src/form-templates/ui/pageTitle.js b/js/src/form-templates/ui/pageTitle.js index 7bde4c34b7..e8e491ee28 100644 --- a/js/src/form-templates/ui/pageTitle.js +++ b/js/src/form-templates/ui/pageTitle.js @@ -13,7 +13,7 @@ import { getSingleState } from '../shared'; * Sets the page title based on a given string or the currently selected category. * * @param {string} [title] Optional title to display. - * @return {void} + * @returns {void} */ export function updatePageTitle( title ) { const { pageTitleText } = getElements(); diff --git a/js/src/form-templates/ui/searchState.js b/js/src/form-templates/ui/searchState.js index 6d56ae57a0..ecaa701e59 100644 --- a/js/src/form-templates/ui/searchState.js +++ b/js/src/form-templates/ui/searchState.js @@ -20,7 +20,7 @@ import { showSearchEmptyState, updatePageTitle } from '.'; * Updates the UI to display the search state. * * @param {boolean} notEmptySearchText True if search input is not empty. - * @return {void} + * @returns {void} */ export function showSearchState( notEmptySearchText ) { const { bodyContent, bodyContentChildren, pageTitle, templatesList, applicationTemplates } = getElements(); @@ -46,7 +46,7 @@ export function showSearchState( notEmptySearchText ) { * Displays search results based on search outcome. * * @param {boolean} foundSomething True if search yielded results. - * @return {void} + * @returns {void} */ export function displaySearchElements( foundSomething ) { // Show empty state if no templates found diff --git a/js/src/form-templates/ui/setupInitialView.js b/js/src/form-templates/ui/setupInitialView.js index 8aeb68bfe9..7397910129 100644 --- a/js/src/form-templates/ui/setupInitialView.js +++ b/js/src/form-templates/ui/setupInitialView.js @@ -17,7 +17,7 @@ import { showHeaderCancelButton } from './'; * Sets up the initial view, performing any required * DOM manipulations for proper element presentation. * - * @return {void} + * @returns {void} */ function setupInitialView() { const { @@ -56,7 +56,7 @@ function setupInitialView() { * Sets up the 'Available Templates' category with proper count display * * @param {Element} availableTemplatesCategory The Available Templates category element - * @return {void} + * @returns {void} */ function setupAvailableTemplatesCategory( availableTemplatesCategory ) { if ( ! availableTemplatesCategory ) { @@ -79,7 +79,7 @@ function setupAvailableTemplatesCategory( availableTemplatesCategory ) { * * @param {Element} element The Available Templates category element * @param {number} count The count of available templates - * @return {void} + * @returns {void} */ function runAvailableTemplatesEffects( element, count ) { setTimeout( () => { diff --git a/js/src/form-templates/ui/showEmptyState.js b/js/src/form-templates/ui/showEmptyState.js index 94e1f3016e..7ff787531d 100644 --- a/js/src/form-templates/ui/showEmptyState.js +++ b/js/src/form-templates/ui/showEmptyState.js @@ -17,7 +17,7 @@ import { VIEW_SLUGS, getState } from '../shared'; /** * Display the search-empty state. * - * @return {void} + * @returns {void} */ export function showSearchEmptyState() { const { notEmptySearchText } = getState(); @@ -56,7 +56,7 @@ export function showSearchEmptyState() { /** * Display the favorites-empty state. * - * @return {void} + * @returns {void} */ export function showFavoritesEmptyState() { const { pageTitle, emptyState, emptyStateButton } = getElements(); @@ -80,7 +80,7 @@ export function showFavoritesEmptyState() { /** * Display the custom-empty state. * - * @return {void} + * @returns {void} */ export function showCustomTemplatesEmptyState() { const { pageTitle, emptyState, emptyStateButton } = getElements(); @@ -105,7 +105,7 @@ export function showCustomTemplatesEmptyState() { /** * Display the available-templates-empty state. * - * @return {void} + * @returns {void} */ export function showAvailableTemplatesEmptyState() { const { pageTitle, emptyState, emptyStateButton } = getElements(); diff --git a/js/src/form-templates/ui/showError.js b/js/src/form-templates/ui/showError.js index d2669f2dbd..d4031d8ec8 100644 --- a/js/src/form-templates/ui/showError.js +++ b/js/src/form-templates/ui/showError.js @@ -7,7 +7,7 @@ import { showFormError } from 'core/utils'; * Displays errors related to the email address field. * * @param {string} type The categorization of the error (e.g., "invalid", "empty"). - * @return {void} + * @returns {void} */ export const showEmailAddressError = type => { showFormError( '#frm_leave_email', '#frm_leave_email_error', type ); diff --git a/js/src/form-templates/ui/showHeaderCancelButton.js b/js/src/form-templates/ui/showHeaderCancelButton.js index 7b8281fc14..e721e715c1 100644 --- a/js/src/form-templates/ui/showHeaderCancelButton.js +++ b/js/src/form-templates/ui/showHeaderCancelButton.js @@ -11,7 +11,7 @@ import { getElements } from '../elements'; /** * Display the "Cancel" button in the header. * - * @return {void} + * @returns {void} */ export function showHeaderCancelButton() { const { headerCancelButton } = getElements(); diff --git a/js/src/form-templates/ui/showModal.js b/js/src/form-templates/ui/showModal.js index 55ded71720..d47d6f0eb4 100644 --- a/js/src/form-templates/ui/showModal.js +++ b/js/src/form-templates/ui/showModal.js @@ -19,7 +19,7 @@ import { getModalWidget } from './'; * Display the locked template modal. * * @param {HTMLElement} template The template element. - * @return {void} + * @returns {void} */ export function showLockedTemplateModal( template ) { const plan = template.dataset.requiredPlan; @@ -44,7 +44,7 @@ export function showLockedTemplateModal( template ) { * Base function to show a modal dialog with a customizable pre-open execution step. * * @param {Function} executePreOpen The function to be executed before opening the modal dialog. - * @return {Function} A higher-order function that can be invoked to display the modal dialog. + * @returns {Function} A higher-order function that can be invoked to display the modal dialog. */ const showModal = executePreOpen => async ( ...params ) => { const dialogWidget = getModalWidget(); @@ -73,7 +73,7 @@ const upgradablePlans = { * * @param {string} plan Current plan name * @param {HTMLElement} template The template element - * @return {void} + * @returns {void} */ export const showUpgradeModal = showModal( ( plan, template ) => { const templateName = template.querySelector( '.frm-form-template-name' ).textContent.trim(); @@ -105,7 +105,7 @@ export const showUpgradeModal = showModal( ( plan, template ) => { /** * Display the modal dialog to prompt the user to renew their account. * - * @return {void} + * @returns {void} */ export const showRenewAccountModal = showModal( () => { const { renewAccountModal } = getElements(); @@ -115,7 +115,7 @@ export const showRenewAccountModal = showModal( () => { /** * Display the modal dialog to prompt the user to leave an email. * - * @return {void} + * @returns {void} */ export const showLeaveEmailModal = showModal( () => { const { leaveEmailModal } = getElements(); @@ -125,7 +125,7 @@ export const showLeaveEmailModal = showModal( () => { /** * Displays a modal dialog prompting the user to create a new template. * - * @return {void} + * @returns {void} */ export const showCreateTemplateModal = showModal( () => { const dialogWidget = getModalWidget(); diff --git a/js/src/form-templates/ui/showSelectedCategory.js b/js/src/form-templates/ui/showSelectedCategory.js index 27ed4553a7..65f7430866 100644 --- a/js/src/form-templates/ui/showSelectedCategory.js +++ b/js/src/form-templates/ui/showSelectedCategory.js @@ -17,7 +17,7 @@ import { updatePageTitle, showFavoritesEmptyState, showCustomTemplatesEmptyState * Show templates based on selected category. * * @param {string} selectedCategory The selected category to display templates for. - * @return {void} + * @returns {void} */ export function showSelectedCategory( selectedCategory ) { const { bodyContentChildren, pageTitle, showCreateTemplateModalButton, templatesList, templateItems, upsellBanner } = getElements(); @@ -53,7 +53,7 @@ export function showSelectedCategory( selectedCategory ) { /** * Shows all templates when 'All Templates' is the selected category. * - * @return {void} + * @returns {void} */ export function showAllTemplates() { const { @@ -73,7 +73,7 @@ export function showAllTemplates() { /** * Shows favorite templates. * - * @return {void} + * @returns {void} */ export function showFavoriteTemplates() { const { favoritesCount } = getState(); @@ -131,7 +131,7 @@ export function showFavoriteTemplates() { /** * Shows custom templates. * - * @return {void} + * @returns {void} */ export function showCustomTemplates() { const { customCount } = getState(); @@ -157,7 +157,7 @@ export function showCustomTemplates() { /** * Shows available templates. * - * @return {void} + * @returns {void} */ export function showAvailableTemplates() { const { availableTemplatesCount } = getState(); diff --git a/js/src/form-templates/utils/validation.js b/js/src/form-templates/utils/validation.js index 9775d977ac..4ece8ce895 100644 --- a/js/src/form-templates/utils/validation.js +++ b/js/src/form-templates/utils/validation.js @@ -13,7 +13,7 @@ import { PREFIX, VIEW_SLUGS, FEATURED_TEMPLATES_IDS } from '../shared'; * Checks if the category is "All Templates". * * @param {string} category The category slug. - * @return {boolean} True if the category is "All Templates", otherwise false. + * @returns {boolean} True if the category is "All Templates", otherwise false. */ export const isAllTemplatesCategory = category => SKELETON_VIEWS.ALL_ITEMS === category; @@ -21,7 +21,7 @@ export const isAllTemplatesCategory = category => SKELETON_VIEWS.ALL_ITEMS === c * Checks if the category is "Favorites". * * @param {string} category The category slug. - * @return {boolean} True if the category is "Favorites", otherwise false. + * @returns {boolean} True if the category is "Favorites", otherwise false. */ export const isFavoritesCategory = category => VIEW_SLUGS.FAVORITES === category; @@ -29,7 +29,7 @@ export const isFavoritesCategory = category => VIEW_SLUGS.FAVORITES === category * Checks if the category is "Custom". * * @param {string} category The category slug. - * @return {boolean} True if the category is "Custom", otherwise false. + * @returns {boolean} True if the category is "Custom", otherwise false. */ export const isCustomCategory = category => VIEW_SLUGS.CUSTOM === category; @@ -37,7 +37,7 @@ export const isCustomCategory = category => VIEW_SLUGS.CUSTOM === category; * Checks if a template is a favorite. * * @param {HTMLElement} template The template element. - * @return {boolean} True if the template is a favorite, otherwise false. + * @returns {boolean} True if the template is a favorite, otherwise false. */ export const isFavoriteTemplate = template => isHTMLElement( template ) ? template.classList.contains( `${ PREFIX }-favorite-item` ) : false; @@ -46,7 +46,7 @@ export const isFavoriteTemplate = template => * Checks if a template is custom. * * @param {HTMLElement} template The template element. - * @return {boolean} True if the template is custom, otherwise false. + * @returns {boolean} True if the template is custom, otherwise false. */ export const isCustomTemplate = template => isHTMLElement( template ) ? template.classList.contains( `${ PREFIX }-custom-item` ) : false; @@ -55,7 +55,7 @@ export const isCustomTemplate = template => * Checks if a template is featured. * * @param {HTMLElement} template The template element. - * @return {boolean} True if the template is featured, otherwise false. + * @returns {boolean} True if the template is featured, otherwise false. */ export const isFeaturedTemplate = template => isHTMLElement( template ) ? FEATURED_TEMPLATES_IDS.includes( Number( template.dataset.id ) ) : false; @@ -64,7 +64,7 @@ export const isFeaturedTemplate = template => * Checks if a template is locked. * * @param {HTMLElement} template The template element. - * @return {boolean} True if the template is locked, otherwise false. + * @returns {boolean} True if the template is locked, otherwise false. */ export const isLockedTemplate = template => isHTMLElement( template ) ? template.classList.contains( `${ PREFIX }-locked-item` ) : false; diff --git a/js/src/form/block.js b/js/src/form/block.js index a91eba3dad..e0b2ae65d8 100755 --- a/js/src/form/block.js +++ b/js/src/form/block.js @@ -80,7 +80,7 @@ registerBlockType( 'formidable/simple-form', { edit: Edit, - save: function( props ) { + save( props ) { const { attributes, } = props; diff --git a/js/src/form/css/button.module.css b/js/src/form/css/button.module.css index 363ccfbee9..c9487b88b8 100644 --- a/js/src/form/css/button.module.css +++ b/js/src/form/css/button.module.css @@ -6,8 +6,9 @@ button.frm-loading { min-width: 70px; overflow: hidden; } -button.frm-loading:before { - content: ''; + +button.frm-loading::before { + content: ""; display: inline-block; position: absolute; background: transparent; @@ -25,4 +26,4 @@ button.frm-loading:before { height: 20px; animation: spin 2s linear infinite; -} \ No newline at end of file +} diff --git a/js/src/form/views.js b/js/src/form/views.js index 56ceef525d..7446540423 100644 --- a/js/src/form/views.js +++ b/js/src/form/views.js @@ -10,7 +10,7 @@ const { Notice } = wp.components; const { useState } = wp.element; const { useBlockProps } = wp.blockEditor; -const blockData = formidable_form_selector; // eslint-disable-line camelcase +const blockData = formidable_form_selector; const upgradeLink = blockData.viewsAddon.hasAccess ? blockData.viewsAddon.link : blockData.link; function Edit() { diff --git a/js/src/onboarding-wizard/dataUtils/setupUsageData.js b/js/src/onboarding-wizard/dataUtils/setupUsageData.js index f9ea16c205..764fadcc98 100644 --- a/js/src/onboarding-wizard/dataUtils/setupUsageData.js +++ b/js/src/onboarding-wizard/dataUtils/setupUsageData.js @@ -8,7 +8,7 @@ import { getState, STEPS } from '../shared'; * * @param {string} processedStep The name of the step that has just been processed. * @param {string} nextStepName The name of the next step in the onboarding process. - * @return {void} + * @returns {void} */ function setupUsageData( processedStep, nextStepName ) { const formData = processDataForStep( processedStep, nextStepName ); @@ -27,7 +27,7 @@ function setupUsageData( processedStep, nextStepName ) { * @private * @param {string} processedStep The name of the step that has just been processed. * @param {string} nextStepName The name of the next step in the onboarding process. - * @return {FormData|null} The FormData to be submitted for the step, or null if there's no data. + * @returns {FormData|null} The FormData to be submitted for the step, or null if there's no data. */ function processDataForStep( processedStep, nextStepName ) { let formData; diff --git a/js/src/onboarding-wizard/events/backButtonListener.js b/js/src/onboarding-wizard/events/backButtonListener.js index 4be2e8feac..75da18dc2a 100644 --- a/js/src/onboarding-wizard/events/backButtonListener.js +++ b/js/src/onboarding-wizard/events/backButtonListener.js @@ -12,7 +12,7 @@ import { navigateToPrevStep } from '../utils'; /** * Manages event handling for the "Back" button. * - * @return {void} + * @returns {void} */ function addBackButtonEvents() { const { backButtons } = getElements(); @@ -27,7 +27,7 @@ function addBackButtonEvents() { * Handles the click event on a "Back" button. * * @private - * @return {void} + * @returns {void} */ const onBackButtonClick = () => { navigateToPrevStep(); diff --git a/js/src/onboarding-wizard/events/consentTrackingButtonListener.js b/js/src/onboarding-wizard/events/consentTrackingButtonListener.js index 65948740e8..bb5e0b35a5 100644 --- a/js/src/onboarding-wizard/events/consentTrackingButtonListener.js +++ b/js/src/onboarding-wizard/events/consentTrackingButtonListener.js @@ -12,7 +12,7 @@ import { navigateToNextStep } from '../utils'; /** * Manages event handling for the "Allow & Continue" button in the "Never miss an important update" step. * - * @return {void} + * @returns {void} */ function addConsentTrackingButtonEvents() { const { consentTrackingButton } = getElements(); @@ -25,7 +25,7 @@ function addConsentTrackingButtonEvents() { * Handles the click event on the "Allow & Continue" button in the "Never miss an important update" step. * * @private - * @return {void} + * @returns {void} */ const onConsentTrackingButtonClick = async () => { const { doJsonPost } = frmDom.ajax; diff --git a/js/src/onboarding-wizard/events/index.js b/js/src/onboarding-wizard/events/index.js index 0383ecdda7..4a83d9736c 100644 --- a/js/src/onboarding-wizard/events/index.js +++ b/js/src/onboarding-wizard/events/index.js @@ -16,7 +16,7 @@ import { navigateToStep } from '../utils'; /** * Attaches event listeners for handling user interactions. * - * @return {void} + * @returns {void} */ export function addEventListeners() { // Add event handling for the "Skip" and "Back" buttons @@ -35,7 +35,7 @@ export function addEventListeners() { * Responds to browser navigation events (back/forward) by updating the UI to match the step indicated in the URL or history state. * * @param {PopStateEvent} event The event object associated with the navigation action. - * @return {void} + * @returns {void} */ window.addEventListener( 'popstate', event => { const stepName = event.state?.step || getQueryParam( 'step' ); diff --git a/js/src/onboarding-wizard/events/installAddonsButtonListener.js b/js/src/onboarding-wizard/events/installAddonsButtonListener.js index 0db22e87e3..35daade1bd 100644 --- a/js/src/onboarding-wizard/events/installAddonsButtonListener.js +++ b/js/src/onboarding-wizard/events/installAddonsButtonListener.js @@ -14,7 +14,7 @@ import { navigateToNextStep } from '../utils'; /** * Manages event handling for the "Install & Finish Setup" button in the "Install Formidable Add-ons" step. * - * @return {void} + * @returns {void} */ function addInstallAddonsButtonEvents() { const { installAddonsButton } = getElements(); @@ -28,7 +28,7 @@ function addInstallAddonsButtonEvents() { * * @private * @param {Event} event The click event object. - * @return {void} + * @returns {void} */ const onInstallAddonsButtonClick = async event => { const addons = document.querySelectorAll( '.frm-option-box.frm-checked:not(.frm-disabled)' ); @@ -65,7 +65,7 @@ const onInstallAddonsButtonClick = async event => { * @param {Object} options An object containing additional options for the installation. * @param {boolean} options.isInstalled Indicates whether the plugin is already installed. * @param {boolean} options.isVendor Indicates whether the plugin is a vendor plugin (true) or a regular add-on (false). - * @return {Promise} A promise that resolves with the JSON response from the server after the installation request is completed. + * @returns {Promise} A promise that resolves with the JSON response from the server after the installation request is completed. */ async function installAddon( plugin, { isVendor, isInstalled } ) { // Prepare FormData for the POST request diff --git a/js/src/onboarding-wizard/events/skipStepButtonListener.js b/js/src/onboarding-wizard/events/skipStepButtonListener.js index 1f7dcf9d92..b11128f1eb 100644 --- a/js/src/onboarding-wizard/events/skipStepButtonListener.js +++ b/js/src/onboarding-wizard/events/skipStepButtonListener.js @@ -12,7 +12,7 @@ import { navigateToNextStep } from '../utils'; /** * Manages event handling for the "Skip" step button. * - * @return {void} + * @returns {void} */ function addSkipStepButtonEvents() { const { skipStepButtons } = getElements(); @@ -27,7 +27,7 @@ function addSkipStepButtonEvents() { * Handles the click event on a "Skip" step button. * * @private - * @return {void} + * @returns {void} */ const onSkipStepButtonClick = () => { navigateToNextStep(); diff --git a/js/src/onboarding-wizard/initializeOnboardingWizard.js b/js/src/onboarding-wizard/initializeOnboardingWizard.js index 911b126416..73385b467f 100644 --- a/js/src/onboarding-wizard/initializeOnboardingWizard.js +++ b/js/src/onboarding-wizard/initializeOnboardingWizard.js @@ -7,7 +7,7 @@ import { addEventListeners } from './events'; /** * Initializes Onboarding Wizard. * - * @return {void} + * @returns {void} */ function initializeOnboardingWizard() { setupInitialView(); diff --git a/js/src/onboarding-wizard/ui/rootline.js b/js/src/onboarding-wizard/ui/rootline.js index 759ba15d17..cfed0c0a68 100644 --- a/js/src/onboarding-wizard/ui/rootline.js +++ b/js/src/onboarding-wizard/ui/rootline.js @@ -18,7 +18,7 @@ const COMPLETED_STEP_CLASS = 'frm-completed-step'; * - Applies CURRENT_CLASS to the current step, unless it is the success step. * * @param {string} currentStep The current step in the process. - * @return {void} + * @returns {void} */ export function updateRootline( currentStep ) { if ( currentStep === STEPS.UNSUCCESSFUL ) { diff --git a/js/src/onboarding-wizard/ui/setupInitialView.js b/js/src/onboarding-wizard/ui/setupInitialView.js index a6c6f88cff..f9cf06903c 100644 --- a/js/src/onboarding-wizard/ui/setupInitialView.js +++ b/js/src/onboarding-wizard/ui/setupInitialView.js @@ -14,7 +14,7 @@ import { navigateToStep } from '../utils'; * Initializes the onboarding wizard's UI, sets up the initial step based on certain conditions, * and applies necessary UI enhancements for a smoother user experience. * - * @return {void} + * @returns {void} */ export default function setupInitialView() { navigateToInitialStep(); @@ -26,7 +26,7 @@ export default function setupInitialView() { * status of Formidable Pro and specific query parameters. * * @private - * @return {void} + * @returns {void} */ function navigateToInitialStep() { const initialStepName = determineInitialStep(); @@ -40,7 +40,7 @@ function navigateToInitialStep() { * and the presence of specific query parameters. Also handles the removal of unnecessary steps. * * @private - * @return {string} The name of the initial step to navigate to. + * @returns {string} The name of the initial step to navigate to. */ function determineInitialStep() { const isConnectedAccount = getQueryParam( 'success' ); @@ -62,7 +62,7 @@ function determineInitialStep() { * Clears specific query parameters related to the onboarding process. * * @private - * @return {void} + * @returns {void} */ function clearOnboardingQueryParams() { removeQueryParam( 'key' ); @@ -73,7 +73,7 @@ function clearOnboardingQueryParams() { * Smoothly fades in the background and container elements of the page for a more pleasant user experience. * * @private - * @return {void} + * @returns {void} */ function fadeInPageElements() { const { container } = getElements(); diff --git a/js/src/onboarding-wizard/utils/navigateToStep.js b/js/src/onboarding-wizard/utils/navigateToStep.js index 500613089a..2316ba91c8 100644 --- a/js/src/onboarding-wizard/utils/navigateToStep.js +++ b/js/src/onboarding-wizard/utils/navigateToStep.js @@ -18,7 +18,7 @@ import { updateRootline } from '../ui'; * * @param {string} stepName The name of the step to navigate to. * @param {string} [updateMethod='pushState'] Specifies the method to update the browser's history and URL. Accepts 'pushState' or 'replaceState'. If omitted, defaults to 'pushState'. - * @return {void} + * @returns {void} */ export const navigateToStep = ( stepName, updateMethod = 'pushState' ) => { // Find the target step element @@ -54,7 +54,7 @@ export const navigateToStep = ( stepName, updateMethod = 'pushState' ) => { * * The function assumes steps are sequentially ordered in the DOM. * - * @return {void} + * @returns {void} */ export const navigateToNextStep = () => { const currentStep = document.querySelector( `.${ PREFIX }-step.${ CURRENT_CLASS }` ); @@ -83,7 +83,7 @@ export const navigateToNextStep = () => { * * The function assumes steps are sequentially ordered in the DOM. * - * @return {void} + * @returns {void} */ export const navigateToPrevStep = () => { const currentStep = document.querySelector( `.${ PREFIX }-step.${ CURRENT_CLASS }` ); diff --git a/js/src/settings-components/components/radio-component.js b/js/src/settings-components/components/radio-component.js index 0cedc3d200..ff65d14487 100644 --- a/js/src/settings-components/components/radio-component.js +++ b/js/src/settings-components/components/radio-component.js @@ -155,7 +155,7 @@ export default class frmRadioComponent { /** * Throttled update of all radio trackers on window resize. * - * @return {void} + * @returns {void} */ throttledUpdateAllTrackers() { if ( this.resizeTimeout ) { @@ -176,7 +176,7 @@ export default class frmRadioComponent { * Initializes visibility observer for the radio component. This handles cases when components are conditionally shown. * * @param {HTMLElement} element The radio component element - * @return {void} + * @returns {void} */ initVisibilityObserver( element ) { if ( this.observers.has( element ) ) { diff --git a/js/src/settings-components/components/slider-component.js b/js/src/settings-components/components/slider-component.js index 251ed9f79a..99e65a1a95 100644 --- a/js/src/settings-components/components/slider-component.js +++ b/js/src/settings-components/components/slider-component.js @@ -1,4 +1,3 @@ - /** * Internal dependencies */ @@ -45,10 +44,10 @@ export default class frmSliderComponent { startX: 0, translateX: 0, maxValue: parseInt( element.dataset.maxValue, 10 ), - element: element, - index: index, + element, + index, value: 0, - steps: steps, + steps, dependentUpdater: parentWrapper.classList.contains( 'frm-style-dependent-updater-component' ) ? new frmDependentUpdaterComponent( parentWrapper ) : null } ); } ); @@ -122,7 +121,7 @@ export default class frmSliderComponent { expandSliderGroup( element ) { const svgIcon = element.querySelector( '.frmsvg' ); - if ( 'undefined' === typeof element.dataset.displaySliders || null === svgIcon ) { + if ( element.dataset.displaySliders === undefined || null === svgIcon ) { return; } @@ -217,10 +216,10 @@ export default class frmSliderComponent { * Retrieves an array of slider group items based on the provided element. * * @param {HTMLElement} element - The element to retrieve slider group items from. - * @return {NodeList} - An array-like object containing the slider group items. + * @returns {NodeList} - An array-like object containing the slider group items. */ getSliderGroupItems( element ) { - if ( 'undefined' === typeof element.dataset.displaySliders ) { + if ( element.dataset.displaySliders === undefined ) { return []; } const slidersGroup = element.dataset.displaySliders.split( ',' ); @@ -274,7 +273,7 @@ export default class frmSliderComponent { /** * Initializes the width of "Corner Radius" slider that is dynamically is displayed on "Field Shape" option change from "Quick Settings". * - * @return {void} + * @returns {void} */ initSliderPositionOnFieldShapeChange() { const fieldShapeType = document.querySelector( '.frm-style-component.frm-field-shape' ); @@ -298,7 +297,7 @@ export default class frmSliderComponent { * Initializes the width of sliders within a given section. * * @param {HTMLElement} section - The section containing the sliders. - * @return {void} + * @returns {void} */ initSlidersWidth( section ) { const sliders = section.querySelectorAll( '.frm-slider-component' ); @@ -314,7 +313,7 @@ export default class frmSliderComponent { * * @param {HTMLElement} slider - The slider element. * @param {number} sliderIndex - The index of the slider. - * @return {void} + * @returns {void} */ initSliderWidth( slider, sliderIndex = null ) { if ( slider.classList.contains( 'frm-disabled' ) ) { @@ -344,7 +343,7 @@ export default class frmSliderComponent { * @param {number} value - The current value. * @param {Array} steps - Array of step values. * @param {number} sliderWidth - The width of the slider. - * @return {number} - The calculated deltaX position. + * @returns {number} - The calculated deltaX position. */ static calculateDeltaXFromSteps( value, steps, sliderWidth ) { const stepIndex = steps.indexOf( value ); @@ -382,7 +381,7 @@ export default class frmSliderComponent { * Returns the index of the specified slider element. * * @param {HTMLElement} slider - The slider element. - * @return {number} The index of the slider element. + * @returns {number} The index of the slider element. */ getSliderIndex( slider ) { return this.options.filter( option => { @@ -395,7 +394,7 @@ export default class frmSliderComponent { * * @param {Event} event - The event object representing the mouse movement. * @param {number} index - The index of the slider element. - * @return {void} + * @returns {void} */ moveTracker( event, index ) { if ( ! this.options[ index ].dragging ) { @@ -427,7 +426,7 @@ export default class frmSliderComponent { * * @param {string} unit - The unit of measurement. * @param {number} index - The index of the option. - * @return {number} The maximum value. + * @returns {number} The maximum value. */ getMaxValue( unit, index ) { return '%' === unit ? 100 : this.options[ index ].maxValue; @@ -488,7 +487,7 @@ export default class frmSliderComponent { * @param {number} deltaX - The change in x-coordinate. * @param {number} maxValue - The maximum value. * @param {Array|null} steps - Optional array of step values to snap to. - * @return {number} - The calculated value. + * @returns {number} - The calculated value. */ static calculateValue( width, deltaX, maxValue, steps = null ) { if ( steps && steps.length > 0 ) { @@ -510,7 +509,7 @@ export default class frmSliderComponent { * * @param {number} value - The value to snap. * @param {Array} steps - Array of step values to snap to. - * @return {number} - The nearest step value. + * @returns {number} - The nearest step value. */ static snapToStep( value, steps ) { let nearest = steps[ 0 ]; @@ -532,7 +531,7 @@ export default class frmSliderComponent { * * @param {HTMLElement} element - The slider component element. * @param {string} value - The new value to be set. - * @return {string} - The updated value. + * @returns {string} - The updated value. */ updateValue( element, value ) { // When the slider component is used for "Base Font Size", we need to update a hidden input field when change happens to indicate that the "Base Font Size" has been adjusted. @@ -616,7 +615,7 @@ export default class frmSliderComponent { * Returns the unit of measurement used in the given value. * * @param {string} value - The value to check for the unit of measurement. - * @return {string} The unit of measurement ('%', 'px', 'em') found in the value, or an empty string if none is found. + * @returns {string} The unit of measurement ('%', 'px', 'em') found in the value, or an empty string if none is found. */ getUnitMeasureFromValue( value ) { return [ '%', 'px', 'em' ].find( unit => value.includes( unit ) ) || ''; diff --git a/js/src/settings-components/components/toggle-group/toggle-group.js b/js/src/settings-components/components/toggle-group/toggle-group.js index 04bdce41fe..1ad287fad3 100644 --- a/js/src/settings-components/components/toggle-group/toggle-group.js +++ b/js/src/settings-components/components/toggle-group/toggle-group.js @@ -35,7 +35,7 @@ const DATA_ATTRIBUTES = { /** * Initialize all group toggle components on the page * - * @return {void} + * @returns {void} */ function initToggleGroupComponents() { applyInitialState(); @@ -46,7 +46,7 @@ function initToggleGroupComponents() { * Apply the initial state for all toggle buttons on the page * * @private - * @return {void} + * @returns {void} */ function applyInitialState() { const toggleGroups = document.querySelectorAll( `.${ CLASS_NAMES.GROUP_TOGGLE }` ); @@ -69,7 +69,7 @@ function applyInitialState() { * Add event listeners to toggle buttons in a group toggle component * * @private - * @return {void} + * @returns {void} */ function addEventListeners() { documentOn( 'change', `.${ CLASS_NAMES.GROUP_TOGGLE } [${ DATA_ATTRIBUTES.GROUP_NAME }]`, handleToggleClick ); @@ -80,7 +80,7 @@ function addEventListeners() { * * @private * @param {Event} event The click event - * @return {void} + * @returns {void} */ function handleToggleClick( event ) { const toggleButton = event.target; @@ -100,7 +100,7 @@ function handleToggleClick( event ) { * @private * @param {HTMLElement} toggleButton The toggle button element * @param {HTMLElement} toggleGroup The toggle group container element - * @return {void} + * @returns {void} */ function applyToggleState( toggleButton, toggleGroup ) { const fieldId = toggleGroup.closest( `.${ SINGLE_SETTINGS_CLASS }` )?.dataset.fid || @@ -157,7 +157,7 @@ function applyToggleState( toggleButton, toggleGroup ) { * @private * @param {string} selector The selector string with potential {id} placeholders * @param {string} fieldId The field ID to replace placeholders with - * @return {string} The normalized selector + * @returns {string} The normalized selector */ function normalizeSelector( selector, fieldId ) { return selector.replace( /{id}/g, fieldId ); diff --git a/js/src/settings-components/components/token-input/event-handlers.js b/js/src/settings-components/components/token-input/event-handlers.js index 9e4885aeba..a4f3caa343 100644 --- a/js/src/settings-components/components/token-input/event-handlers.js +++ b/js/src/settings-components/components/token-input/event-handlers.js @@ -17,7 +17,7 @@ import { adjustProxyInputStyle } from './proxy-input-style'; * @param {HTMLElement} field The original hidden input field * @param {HTMLElement} proxyInput The proxy input field for interaction * @param {HTMLElement} tokensWrapper The wrapper for token display - * @return {void} + * @returns {void} */ export function addEventListeners( field, proxyInput, tokensWrapper ) { // The jQuery change event is required to catch programmatic updates, as "Add Layout Classes" modifies the field value via jQuery @@ -38,7 +38,7 @@ export function addEventListeners( field, proxyInput, tokensWrapper ) { * @param {HTMLElement} field The original hidden input field * @param {HTMLElement} proxyInput The proxy input field for interaction * @param {HTMLElement} tokensWrapper The wrapper for token display - * @return {void} + * @returns {void} */ function onProxyInputKeydown( event, field, proxyInput, tokensWrapper ) { const { key } = event; @@ -74,7 +74,7 @@ function onProxyInputKeydown( event, field, proxyInput, tokensWrapper ) { * @param {Event} event Click event * @param {HTMLElement} field The original hidden input field * @param {HTMLElement} proxyInput The proxy input field for interaction - * @return {void} + * @returns {void} */ function handleTokenRemoval( event, field, proxyInput ) { const removeButton = event.target.closest( `.${ CLASS_NAMES.TOKEN_REMOVE }` ); diff --git a/js/src/settings-components/components/token-input/proxy-input-style.js b/js/src/settings-components/components/token-input/proxy-input-style.js index d0db991680..6aa8353e06 100644 --- a/js/src/settings-components/components/token-input/proxy-input-style.js +++ b/js/src/settings-components/components/token-input/proxy-input-style.js @@ -9,7 +9,7 @@ import { CLASS_NAMES, PROXY_INPUT_HEIGHT, TOKEN_GAP } from './constants'; /** * Adjust styling for all proxy inputs on the current settings * - * @return {void} + * @returns {void} */ export function adjustAllProxyInputStyles() { document.querySelectorAll( `.${ CLASS_NAMES.CONTAINER }` ).forEach( container => @@ -25,7 +25,7 @@ export function adjustAllProxyInputStyles() { * * @param {HTMLElement} proxyInput The proxy input field * @param {HTMLElement} tokensWrapper The wrapper for token display - * @return {void} + * @returns {void} */ export function adjustProxyInputStyle( proxyInput, tokensWrapper ) { if ( ! proxyInput || ! tokensWrapper ) { @@ -67,7 +67,7 @@ export function adjustProxyInputStyle( proxyInput, tokensWrapper ) { * Identify tokens in the last row of a multi-row token layout * * @param {NodeList} tokens All token elements - * @return {Array} Array of tokens in the last row + * @returns {Array} Array of tokens in the last row */ function getLastRowTokens( tokens ) { if ( ! tokens.length ) { @@ -97,7 +97,7 @@ function getLastRowTokens( tokens ) { * Calculate the total width of tokens in the last row * * @param {Array} lastRowTokens Array of token elements in the last row - * @return {number} Total width of tokens in the last row + * @returns {number} Total width of tokens in the last row */ function calculateLastRowWidth( lastRowTokens ) { if ( ! lastRowTokens.length ) { diff --git a/js/src/settings-components/components/token-input/token-actions.js b/js/src/settings-components/components/token-input/token-actions.js index d41dbabdc0..10b103128f 100644 --- a/js/src/settings-components/components/token-input/token-actions.js +++ b/js/src/settings-components/components/token-input/token-actions.js @@ -17,7 +17,7 @@ import { createTokenElement } from './token-elements'; * @param {string} value The field value * @param {HTMLElement} proxyInput The proxy input field * @param {HTMLElement} tokensWrapper Wrapper element for tokens - * @return {void} + * @returns {void} */ export function synchronizeTokensDisplay( value, proxyInput, tokensWrapper ) { if ( ! value || ! tokensWrapper || ! proxyInput ) { @@ -39,7 +39,7 @@ export function synchronizeTokensDisplay( value, proxyInput, tokensWrapper ) { * @param {string} tokenValue The token value to add * @param {HTMLElement} field The original field * @param {HTMLElement} proxyInput The proxy input - * @return {boolean} Whether a token was added + * @returns {boolean} Whether a token was added */ export function addToken( tokenValue, field, proxyInput ) { if ( ! tokenValue || ! field || ! proxyInput ) { @@ -68,7 +68,7 @@ export function addToken( tokenValue, field, proxyInput ) { * @param {HTMLElement} token The token element to remove * @param {HTMLElement} field The original field * @param {HTMLElement} proxyInput The proxy input - * @return {void} + * @returns {void} */ export function removeToken( token, field, proxyInput ) { if ( ! token || ! field || ! proxyInput ) { @@ -91,7 +91,7 @@ export function removeToken( token, field, proxyInput ) { * Parse string input into an array of tokens * * @param {string} value Space-separated string - * @return {string[]} Array of tokens + * @returns {string[]} Array of tokens */ export function parseTokens( value = '' ) { value = value.trim(); @@ -108,7 +108,7 @@ export function parseTokens( value = '' ) { * * @param {HTMLElement} field The field to update * @param {string[]} tokens Array of token values - * @return {void} + * @returns {void} */ export function updateFieldValue( field, tokens = [] ) { if ( ! field ) { @@ -123,7 +123,7 @@ export function updateFieldValue( field, tokens = [] ) { * Clear proxy input and maintain focus * * @param {HTMLElement} proxyInput The proxy input field - * @return {void} + * @returns {void} */ export function clearProxyInput( proxyInput ) { if ( ! proxyInput ) { diff --git a/js/src/settings-components/components/token-input/token-elements.js b/js/src/settings-components/components/token-input/token-elements.js index e4e322e4a5..5f8aec2bdb 100644 --- a/js/src/settings-components/components/token-input/token-elements.js +++ b/js/src/settings-components/components/token-input/token-elements.js @@ -16,7 +16,7 @@ const { span, svg, tag } = window.frmDom; * Create token container and input elements * * @param {HTMLElement} field Input field for tokenization - * @return {HTMLElement|null} The container element or null if already initialized + * @returns {HTMLElement|null} The container element or null if already initialized */ export function createTokenContainerElement( field ) { // Get the main container (.frm-with-right-icon) to work with Formidable's modal system @@ -53,7 +53,7 @@ export function createTokenContainerElement( field ) { * * @param {string} value Token value * @param {HTMLElement} tokensWrapper Wrapper element for tokens - * @return {void} + * @returns {void} */ export function createTokenElement( value, tokensWrapper ) { const tokenElement = span( { diff --git a/js/src/settings-components/components/token-input/token-input.js b/js/src/settings-components/components/token-input/token-input.js index 454a0de751..2a25694457 100644 --- a/js/src/settings-components/components/token-input/token-input.js +++ b/js/src/settings-components/components/token-input/token-input.js @@ -17,7 +17,7 @@ import { addEventListeners } from './event-handlers'; /** * Initialize all token input fields on the page * - * @return {void} + * @returns {void} */ function initTokenInputFields() { findAndInitializeTokenFields(); @@ -51,7 +51,7 @@ function initTokenInputFields() { * * @private * @param {string|number} fieldId The ID of the field to initialize - * @return {void} + * @returns {void} */ function findAndInitializeTokenFields( fieldId ) { const container = fieldId ? document.getElementById( `frm-single-settings-${ fieldId }` ) : document.body; diff --git a/js/src/settings-components/components/unit-input.js b/js/src/settings-components/components/unit-input.js index c06611c425..ff78a86817 100644 --- a/js/src/settings-components/components/unit-input.js +++ b/js/src/settings-components/components/unit-input.js @@ -6,7 +6,7 @@ import { documentOn } from 'core/utils'; /** * Setup unit input handlers * - * @return {void} + * @returns {void} */ export function setupUnitInputHandlers() { documentOn( 'change', '.frm-unit-input .frm-unit-input-control', onUnitInputChange ); @@ -18,7 +18,7 @@ export function setupUnitInputHandlers() { * * @private * @param {Event} event The event object. - * @return {void} + * @returns {void} */ function onUnitInputChange( event ) { const unitInput = event.target.closest( '.frm-unit-input' ); diff --git a/js/src/web-components/frm-border-radius-component/frm-border-radius-component.css b/js/src/web-components/frm-border-radius-component/frm-border-radius-component.css index 693da51d59..c3af27b5b1 100644 --- a/js/src/web-components/frm-border-radius-component/frm-border-radius-component.css +++ b/js/src/web-components/frm-border-radius-component/frm-border-radius-component.css @@ -1 +1 @@ -:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_hidden{display:none}.frm-component:not(.frm-tabs-wrapper){display:flex;justify-content:space-between;align-items:center}.frm-component:not(.frm-tabs-wrapper)>span.frm-component-label{font-weight:500;font-size:var(--text-sm) !important;color:var(--grey-900) !important;width:40% !important;display:block !important;margin-right:12px !important}.frm-border-radius-component .frm-border-radius-container{width:100%;display:flex;justify-content:space-between;flex-wrap:wrap}.frm-border-radius-component .frm-border-radius-container button{overflow:hidden;text-indent:-9999px;cursor:pointer;width:36px;height:36px;border-radius:var(--small-radius);border:1px solid var(--grey-300);background:#fff;display:flex;justify-content:center;align-items:center;box-sizing:border-box;background:url('data:image/svg+xml,') no-repeat center center;background-size:20px}.frm-border-radius-component .frm-border-radius-container button.frm-active,.frm-border-radius-component .frm-border-radius-container button:hover{background-color:rgba(0,0,0,.05)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper{width:100%;justify-content:space-between;flex-wrap:wrap}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper:not(.frm_hidden){display:flex}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span{position:relative;display:block;overflow:hidden;width:calc(50% - 6px);height:36px;border-radius:var(--small-radius);border:1px solid var(--grey-300);margin-top:12px}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span input{width:100%;height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding:0 12px 0px 20px;box-sizing:border-box;border:none;text-align:right}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span input:focus{outline:none}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span:before{content:"";position:absolute;display:block;width:12px;height:12px;left:12px;top:0;bottom:0;right:auto;margin:auto;background:url('data:image/svg+xml,') center center no-repeat;background-size:12px}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-top:before{transform:rotate(180deg)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-bottom:before{transform:rotate(0deg)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-left:before{transform:rotate(90deg)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-right:before{transform:rotate(-90deg)}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper{width:calc(100% - 36px - 12px);height:36px;display:flex;justify-content:center;box-sizing:border-box;background:#fff;border-radius:var(--small-radius);border:1px solid var(--grey-300);overflow:hidden}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper>*{border:none}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper input{width:calc(100% - 44px);height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding-left:12px;box-sizing:border-box}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper input:focus{outline:none}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper select{text-align:right;padding:0;font-size:var(--text-sm);color:#667085;width:44px;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center right 12px}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper select:focus{outline:none} +:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1d2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98a2b3;--grey-300: #d0d5dd;--grey-200: #eaecf0;--grey-100: #f2f4f7;--grey-50: #f9fafb;--grey-25: #fcfcfd;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, 0.65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2b66a9;--primary-500: #4199fd;--primary-300: #80bbfe;--primary-200: #c0ddfe;--primary-50: #ecf5ff;--primary-25: #f5faff;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #b42318;--error-500: #f04438;--error-300: #fecdca;--error-100: #fee4e2;--error-25: #fff5f4;--green: rgb(63, 172, 37);--orange: #f15a24;--warning-500: #f79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054f31;--success-800: #065f46;--success-500: #12b76a;--success-100: #d1fae5;--success-200: #a6f4c5;--success-50: #ecfdf3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_hidden{display:none}.frm-component:not(.frm-tabs-wrapper){display:flex;justify-content:space-between;align-items:center}.frm-component:not(.frm-tabs-wrapper)>span.frm-component-label{font-weight:500;font-size:var(--text-sm) !important;color:var(--grey-900) !important;width:40% !important;display:block !important;margin-right:12px !important}.frm-border-radius-component .frm-border-radius-container{width:100%;display:flex;justify-content:space-between;flex-wrap:wrap}.frm-border-radius-component .frm-border-radius-container button{overflow:hidden;text-indent:-9999px;cursor:pointer;width:36px;height:36px;border-radius:var(--small-radius);border:1px solid var(--grey-300);background:#fff;display:flex;justify-content:center;align-items:center;box-sizing:border-box;background:url('data:image/svg+xml,') no-repeat center center;background-size:20px}.frm-border-radius-component .frm-border-radius-container button.frm-active,.frm-border-radius-component .frm-border-radius-container button:hover{background-color:rgba(0,0,0,.05)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper{width:100%;justify-content:space-between;flex-wrap:wrap}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper:not(.frm_hidden){display:flex}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span{position:relative;display:block;overflow:hidden;width:calc(50% - 6px);height:36px;border-radius:var(--small-radius);border:1px solid var(--grey-300);margin-top:12px}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span input{width:100%;height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding:0 12px 0px 20px;box-sizing:border-box;border:none;text-align:right}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span input:focus{outline:none}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span:before{content:"";position:absolute;display:block;width:12px;height:12px;left:12px;top:0;bottom:0;right:auto;margin:auto;background:url('data:image/svg+xml,') center center no-repeat;background-size:12px}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-top:before{transform:rotate(180deg)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-bottom:before{transform:rotate(0deg)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-left:before{transform:rotate(90deg)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-right:before{transform:rotate(-90deg)}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper{width:calc(100% - 36px - 12px);height:36px;display:flex;justify-content:center;box-sizing:border-box;background:#fff;border-radius:var(--small-radius);border:1px solid var(--grey-300);overflow:hidden}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper>*{border:none}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper input{width:calc(100% - 44px);height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding-left:12px;box-sizing:border-box}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper input:focus{outline:none}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper select{text-align:right;padding:0;font-size:var(--text-sm);color:#667085;width:44px;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center right 12px}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper select:focus{outline:none} diff --git a/js/src/web-components/frm-border-radius-component/frm-border-radius-component.js b/js/src/web-components/frm-border-radius-component/frm-border-radius-component.js index ce5deeb485..e029f5387b 100644 --- a/js/src/web-components/frm-border-radius-component/frm-border-radius-component.js +++ b/js/src/web-components/frm-border-radius-component/frm-border-radius-component.js @@ -3,7 +3,7 @@ import { __ } from '@wordpress/i18n'; import style from './frm-border-radius-component.css'; export class frmBorderRadiusComponent extends frmWebComponent { - #onChange = () => {}; // eslint-disable-line class-methods-use-this, no-empty-function + #onChange = () => {}; #unitTypeOptions = [ 'px', 'em', '%' ]; #value = '0px'; #defaultValue = '0px'; @@ -245,7 +245,7 @@ export class frmBorderRadiusComponent extends frmWebComponent { return this.button; } - set onChange( callback ) { // eslint-disable-line accessor-pairs + set onChange( callback ) { if ( 'function' !== typeof callback ) { throw new TypeError( `Expected a function, but received ${ typeof callback }` ); } @@ -253,7 +253,7 @@ export class frmBorderRadiusComponent extends frmWebComponent { this.#onChange = callback; } - set borderRadiusDefaultValue( value ) { // eslint-disable-line accessor-pairs + set borderRadiusDefaultValue( value ) { this.#defaultValue = value; this.#usesMultipleValues = ! /^(\d+)(px|em|%)?$/.test( value ) && '' !== value; } diff --git a/js/src/web-components/frm-colorpicker-component/frm-colorpicker-component.css b/js/src/web-components/frm-colorpicker-component/frm-colorpicker-component.css index e559dd0141..544c82b1fb 100644 --- a/js/src/web-components/frm-colorpicker-component/frm-colorpicker-component.css +++ b/js/src/web-components/frm-colorpicker-component/frm-colorpicker-component.css @@ -1 +1 @@ -:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_hidden{display:none}.frm-component:not(.frm-tabs-wrapper){display:flex;justify-content:space-between;align-items:center}.frm-component:not(.frm-tabs-wrapper)>span.frm-component-label{font-weight:500;font-size:var(--text-sm) !important;color:var(--grey-900) !important;width:40% !important;display:block !important;margin-right:12px !important}.frm-colorpicker-component .wp-picker-container button[type=button]{position:relative;height:36px !important;background-image:none !important;background-color:#fff !important;overflow:hidden}.frm-colorpicker-component .wp-picker-container button[type=button]:after{content:"";width:20px;height:20px;display:block;position:absolute;top:0;right:8px;bottom:0;margin:auto;background:url("--frm-plugin-url/images/style/small-arrow.svg") no-repeat;background-position:center;z-index:10}.frm-colorpicker-component .wp-picker-container button[type=button]:focus{border-color:var(--primary-500) !important}.frm-colorpicker-component .wp-color-result-text{line-height:36px !important;padding:0 12px;border:0}.frm-colorpicker-component .color-alpha{width:20px !important;height:20px !important;border-radius:50% !important;border:1px solid #d0d5dd;top:0;left:0;bottom:0;margin:auto;margin-left:12px}.frm-colorpicker-component .wp-picker-input-wrap input{width:calc(100% - 10px) !important;margin:1px 5px;height:32px;line-height:32px} +:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1d2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98a2b3;--grey-300: #d0d5dd;--grey-200: #eaecf0;--grey-100: #f2f4f7;--grey-50: #f9fafb;--grey-25: #fcfcfd;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, 0.65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2b66a9;--primary-500: #4199fd;--primary-300: #80bbfe;--primary-200: #c0ddfe;--primary-50: #ecf5ff;--primary-25: #f5faff;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #b42318;--error-500: #f04438;--error-300: #fecdca;--error-100: #fee4e2;--error-25: #fff5f4;--green: rgb(63, 172, 37);--orange: #f15a24;--warning-500: #f79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054f31;--success-800: #065f46;--success-500: #12b76a;--success-100: #d1fae5;--success-200: #a6f4c5;--success-50: #ecfdf3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_hidden{display:none}.frm-component:not(.frm-tabs-wrapper){display:flex;justify-content:space-between;align-items:center}.frm-component:not(.frm-tabs-wrapper)>span.frm-component-label{font-weight:500;font-size:var(--text-sm) !important;color:var(--grey-900) !important;width:40% !important;display:block !important;margin-right:12px !important}.frm-colorpicker-component .wp-picker-container button[type=button]{position:relative;height:36px !important;background-image:none !important;background-color:#fff !important;overflow:hidden}.frm-colorpicker-component .wp-picker-container button[type=button]:after{content:"";width:20px;height:20px;display:block;position:absolute;top:0;right:8px;bottom:0;margin:auto;background:url("--frm-plugin-url/images/style/small-arrow.svg") no-repeat;background-position:center;z-index:10}.frm-colorpicker-component .wp-picker-container button[type=button]:focus{border-color:var(--primary-500) !important}.frm-colorpicker-component .wp-color-result-text{line-height:36px !important;padding:0 12px;border:0}.frm-colorpicker-component .color-alpha{width:20px !important;height:20px !important;border-radius:50% !important;border:1px solid #d0d5dd;top:0;left:0;bottom:0;margin:auto;margin-left:12px}.frm-colorpicker-component .wp-picker-input-wrap input{width:calc(100% - 10px) !important;margin:1px 5px;height:32px;line-height:32px} diff --git a/js/src/web-components/frm-colorpicker-component/frm-colorpicker-component.js b/js/src/web-components/frm-colorpicker-component/frm-colorpicker-component.js index bd0caf22b7..e46276d3f2 100644 --- a/js/src/web-components/frm-colorpicker-component/frm-colorpicker-component.js +++ b/js/src/web-components/frm-colorpicker-component/frm-colorpicker-component.js @@ -2,7 +2,7 @@ import { frmWebComponent } from '../frm-web-component'; import style from './frm-colorpicker-component.css'; class frmColorpickerLiteComponent extends frmWebComponent { - #onChange = () => {}; // eslint-disable-line class-methods-use-this, no-empty-function + #onChange = () => {}; #defaultValue = '#ffffff'; static formAssociated = true; @@ -40,7 +40,7 @@ class frmColorpickerLiteComponent extends frmWebComponent { return this.input; } - useShadowDom() { // eslint-disable-line class-methods-use-this + useShadowDom() { return false; } @@ -59,7 +59,7 @@ class frmColorpickerLiteComponent extends frmWebComponent { /** * A method to get the color value. * - * @return {string} - The color value. + * @returns {string} - The color value. */ get color() { return jQuery( this.input ).wpColorPicker( 'color' ); @@ -69,7 +69,7 @@ class frmColorpickerLiteComponent extends frmWebComponent { * A method to set the color value. * * @param {string} value - The value to set the color value for. - * @return {void} + * @returns {void} */ set color( value ) { this.#defaultValue = value; @@ -80,9 +80,9 @@ class frmColorpickerLiteComponent extends frmWebComponent { * A method to set the change event listener for the color picker component. * * @param {Function} callback - The callback function to call when the color picker component is changed. - * @return {void} + * @returns {void} */ - set onChange( callback ) { // eslint-disable-line accessor-pairs + set onChange( callback ) { if ( 'function' !== typeof callback ) { throw new TypeError( `Expected a function, but received ${ typeof callback }` ); } diff --git a/js/src/web-components/frm-dropdown-component/frm-dropdown-component.css b/js/src/web-components/frm-dropdown-component/frm-dropdown-component.css index f17b149358..a0fddc88ff 100644 --- a/js/src/web-components/frm-dropdown-component/frm-dropdown-component.css +++ b/js/src/web-components/frm-dropdown-component/frm-dropdown-component.css @@ -1 +1 @@ -:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_hidden{display:none}.frm-component:not(.frm-tabs-wrapper){display:flex;justify-content:space-between;align-items:center}.frm-component:not(.frm-tabs-wrapper)>span.frm-component-label{font-weight:500;font-size:var(--text-sm) !important;color:var(--grey-900) !important;width:40% !important;display:block !important;margin-right:12px !important}.frm-dropdown-component select{width:100%;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px var(--gap-lg) 5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;line-height:var(--leading);border-width:1px;border-style:solid;background-position:center 5px;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;background-color:#fff;appearance:none;-webkit-appearance:none;-moz-appearance:none}.frm-dropdown-component select:focus{border-color:var(--primary-500);box-shadow:none} +:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1d2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98a2b3;--grey-300: #d0d5dd;--grey-200: #eaecf0;--grey-100: #f2f4f7;--grey-50: #f9fafb;--grey-25: #fcfcfd;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, 0.65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2b66a9;--primary-500: #4199fd;--primary-300: #80bbfe;--primary-200: #c0ddfe;--primary-50: #ecf5ff;--primary-25: #f5faff;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #b42318;--error-500: #f04438;--error-300: #fecdca;--error-100: #fee4e2;--error-25: #fff5f4;--green: rgb(63, 172, 37);--orange: #f15a24;--warning-500: #f79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054f31;--success-800: #065f46;--success-500: #12b76a;--success-100: #d1fae5;--success-200: #a6f4c5;--success-50: #ecfdf3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_hidden{display:none}.frm-component:not(.frm-tabs-wrapper){display:flex;justify-content:space-between;align-items:center}.frm-component:not(.frm-tabs-wrapper)>span.frm-component-label{font-weight:500;font-size:var(--text-sm) !important;color:var(--grey-900) !important;width:40% !important;display:block !important;margin-right:12px !important}.frm-dropdown-component select{width:100%;outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px var(--gap-lg) 5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;line-height:var(--leading);border-width:1px;border-style:solid;background-position:center 5px;background:rgba(0,0,0,0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%;background-color:#fff;appearance:none;-webkit-appearance:none;-moz-appearance:none}.frm-dropdown-component select:focus{border-color:var(--primary-500);box-shadow:none} diff --git a/js/src/web-components/frm-dropdown-component/frm-dropdown-component.js b/js/src/web-components/frm-dropdown-component/frm-dropdown-component.js index 817a04abd2..e8e778f4f6 100644 --- a/js/src/web-components/frm-dropdown-component/frm-dropdown-component.js +++ b/js/src/web-components/frm-dropdown-component/frm-dropdown-component.js @@ -2,7 +2,7 @@ import { frmWebComponent } from '../frm-web-component'; import style from './frm-dropdown-component.css'; export class frmDropdownComponent extends frmWebComponent { - #onChange = () => {}; // eslint-disable-line class-methods-use-this, no-empty-function + #onChange = () => {}; #select = document.createElement( 'select' ); static formAssociated = true; @@ -16,7 +16,7 @@ export class frmDropdownComponent extends frmWebComponent { /** * Initializes the view. Called when the component is rendered. * - * @return {Element} - The wrapper element. + * @returns {Element} - The wrapper element. */ initView() { this.wrapper = document.createElement( 'div' ); @@ -28,7 +28,7 @@ export class frmDropdownComponent extends frmWebComponent { /** * Gets the select element. * - * @return {Element} - The select element. + * @returns {Element} - The select element. */ getSelect() { if ( this.componentId ) { @@ -45,16 +45,16 @@ export class frmDropdownComponent extends frmWebComponent { /** * Determines if the component should use shadow DOM. The dropdown component can utilize shadow DOM as it does not require external functional dependencies. * - * @return {boolean} - True if the component should use shadow DOM, false otherwise. + * @returns {boolean} - True if the component should use shadow DOM, false otherwise. */ - useShadowDom() { // eslint-disable-line class-methods-use-this + useShadowDom() { return true; } /** * Initializes the select options. It will retrieve the all the options from the component and create new option elements. * - * @return {void} + * @returns {void} */ initSelectOptions() { const optionsNodes = this.querySelectorAll( 'option' ); @@ -70,7 +70,7 @@ export class frmDropdownComponent extends frmWebComponent { /** * Called when the component is visible in the viewport. * - * @return {void} + * @returns {void} */ afterViewInit() { this.initSelectOptions(); @@ -83,9 +83,9 @@ export class frmDropdownComponent extends frmWebComponent { * A method to add options dynamically to the select element. * * @param {Array} options - The options to add. - * @return {void} + * @returns {void} */ - set addOptions( options ) { // eslint-disable-line accessor-pairs + set addOptions( options ) { options.forEach( option => { const opt = document.createElement( 'option' ); opt.value = option.value; @@ -99,9 +99,9 @@ export class frmDropdownComponent extends frmWebComponent { * A method to set the disabled state of the select element. * * @param {boolean} value - The value to set. - * @return {void} + * @returns {void} */ - set disabled( value ) { // eslint-disable-line accessor-pairs + set disabled( value ) { this.#select.disabled = value; } @@ -109,9 +109,9 @@ export class frmDropdownComponent extends frmWebComponent { * A method to set the change event listener for the select element. * * @param {Function} callback - The callback function to call when the select element is changed. - * @return {void} + * @returns {void} */ - set onChange( callback ) { // eslint-disable-line accessor-pairs + set onChange( callback ) { if ( 'function' !== typeof callback ) { throw new TypeError( `Expected a function, but received ${ typeof callback }` ); } @@ -123,9 +123,9 @@ export class frmDropdownComponent extends frmWebComponent { * A method to set the selected value of the select element. * * @param {string} value - The value to set. - * @return {void} + * @returns {void} */ - set selectedValue( value ) { // eslint-disable-line accessor-pairs + set selectedValue( value ) { const option = Array.from( this.#select.options ).find( option => option.value === value ); if ( option ) { option.selected = true; diff --git a/js/src/web-components/frm-range-slider-component/frm-range-slider-component.css b/js/src/web-components/frm-range-slider-component/frm-range-slider-component.css index 41f9eb12d0..2b25df1459 100644 --- a/js/src/web-components/frm-range-slider-component/frm-range-slider-component.css +++ b/js/src/web-components/frm-range-slider-component/frm-range-slider-component.css @@ -1 +1 @@ -.frm-style-component .frm-slider-container{width:calc(100% - 91px);display:flex;align-items:center;color:#1d2939}.frm-style-component .frm-slider-container svg.frmsvg{color:currentColor;margin-right:8px;margin-left:-5px;position:relative;z-index:15}.frm-style-component .frm-group-sliders .frm-slider-container svg.frmsvg:hover{color:#4199fd;cursor:pointer}.frm-style-component .frm-slider-container .frm-slider-active-track{display:block;height:100%;width:0;position:relative;border-radius:200px}.frm-style-component .frm-slider-container .frm-slider-active-track,.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet{background:#4199fd;box-shadow:0 1.88px 4px -1px rgba(16,24,40,.03),0 6px 8px -2px rgba(16,24,40,.08)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet{position:absolute;display:block;width:16px;height:16px;border-radius:50%;transform:translateX(15px);cursor:grab;right:0;top:0;bottom:0;margin:auto}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet .frm-slider-value-label{position:absolute;display:block;width:48px;height:36px;background:#101828;color:#fff;font-weight:400;font-size:var(--text-sm);line-height:36px;border-radius:var(--small-radius);transform:translate(-18px, -42px) scale3d(0.7, 1, 1);opacity:0;z-index:-2;pointer-events:none;text-align:center;user-select:none}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging .frm-slider-value-label{z-index:12;transform:translate(-18px, -42px) scale3d(1, 1, 1);opacity:1;transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::before{content:"";display:block;position:absolute;width:18px;height:18px;border-radius:50%;left:0;top:0;transform:translate(-5px, -5px) scale3d(0.7, 0.7, 1);border:4px solid #4199fd;opacity:0;transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging::before{opacity:.5;transform:translate(-5px, -5px) scale3d(1, 1, 1);transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::after{content:"";position:absolute;display:block;width:180%;height:200%;border-radius:50%;left:0;top:0;transform:translate(-24%, -24%)}.frm-style-component .frm-slider-value{width:86px;height:36px;display:flex;justify-content:center;box-sizing:border-box;background:#fff;border-radius:var(--small-radius);border:1px solid var(--grey-300)}.frm-style-component .frm-slider-value>*{border:none}.frm-style-component .frm-slider-value input{width:40px;height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding-left:12px;box-sizing:border-box}.frm-style-component .frm-slider-value select{text-align:right;padding:0;font-size:var(--text-sm);color:#667085;width:44px;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center right 12px;padding-right:24px !important}.frm-style-component .frm-slider-value select.frm-single-unit{pointer-events:none;background-image:none;padding-right:12px !important}.frm-style-component .frm-slider{display:block;width:calc(100% - 5px);height:4px;background:#eaecf0;border-radius:200px;cursor:pointer}.frm-slider-component .frm-independent-slider-field{margin-top:10px}.frm-slider-component.frm-disabled .frm-slider-container{pointer-events:none;opacity:.5}.frm-slider-component.frm-disabled .frm-slider-value input[type=text]{width:28px}.frm-slider-component.frm-disabled .frm-slider-value select{width:56px}.frm-slider-component.frm-disabled.frm-empty .frm-slider-value input[type=text]{width:56px}.frm-slider-component.frm-disabled.frm-empty .frm-slider-value select{width:28px}.frm-style-component .frm-slider-component.frm-has-multiple-values{margin-bottom:10px}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_hidden{display:none}.frm-component:not(.frm-tabs-wrapper){display:flex;justify-content:space-between;align-items:center}.frm-component:not(.frm-tabs-wrapper)>span.frm-component-label{font-weight:500;font-size:var(--text-sm) !important;color:var(--grey-900) !important;width:40% !important;display:block !important;margin-right:12px !important}.frm-component .frmsvg{width:18px;height:18px}.frm-component .frm-sliders-container{width:100%}.frm-component .frm-group-sliders .frm-slider-component{margin-top:5px} +.frm-style-component .frm-slider-container{width:calc(100% - 91px);display:flex;align-items:center;color:#1d2939}.frm-style-component .frm-slider-container svg.frmsvg{color:currentColor;margin-right:8px;margin-left:-5px;position:relative;z-index:15}.frm-style-component .frm-group-sliders .frm-slider-container svg.frmsvg:hover{color:#4199fd;cursor:pointer}.frm-style-component .frm-slider-container .frm-slider-active-track{display:block;height:100%;width:0;position:relative;border-radius:200px}.frm-style-component .frm-slider-container .frm-slider-active-track,.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet{background:#4199fd;box-shadow:0 1.88px 4px -1px rgba(16,24,40,.03),0 6px 8px -2px rgba(16,24,40,.08)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet{position:absolute;display:block;width:16px;height:16px;border-radius:50%;transform:translateX(15px);cursor:grab;right:0;top:0;bottom:0;margin:auto}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet .frm-slider-value-label{position:absolute;display:block;width:48px;height:36px;background:#101828;color:#fff;font-weight:400;font-size:var(--text-sm);line-height:36px;border-radius:var(--small-radius);transform:translate(-18px, -42px) scale3d(0.7, 1, 1);opacity:0;z-index:-2;pointer-events:none;text-align:center;user-select:none}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging .frm-slider-value-label{z-index:12;transform:translate(-18px, -42px) scale3d(1, 1, 1);opacity:1;transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::before{content:"";display:block;position:absolute;width:18px;height:18px;border-radius:50%;left:0;top:0;transform:translate(-5px, -5px) scale3d(0.7, 0.7, 1);border:4px solid #4199fd;opacity:0;transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet.frm-dragging::before{opacity:.5;transform:translate(-5px, -5px) scale3d(1, 1, 1);transition:.3s opacity,.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-style-component .frm-slider-container .frm-slider-active-track .frm-slider-bullet::after{content:"";position:absolute;display:block;width:180%;height:200%;border-radius:50%;left:0;top:0;transform:translate(-24%, -24%)}.frm-style-component .frm-slider-value{width:86px;height:36px;display:flex;justify-content:center;box-sizing:border-box;background:#fff;border-radius:var(--small-radius);border:1px solid var(--grey-300)}.frm-style-component .frm-slider-value>*{border:none}.frm-style-component .frm-slider-value input{width:40px;height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding-left:12px;box-sizing:border-box}.frm-style-component .frm-slider-value select{text-align:right;padding:0;font-size:var(--text-sm);color:#667085;width:44px;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center right 12px;padding-right:24px !important}.frm-style-component .frm-slider-value select.frm-single-unit{pointer-events:none;background-image:none;padding-right:12px !important}.frm-style-component .frm-slider{display:block;width:calc(100% - 5px);height:4px;background:#eaecf0;border-radius:200px;cursor:pointer}.frm-slider-component .frm-independent-slider-field{margin-top:10px}.frm-slider-component.frm-disabled .frm-slider-container{pointer-events:none;opacity:.5}.frm-slider-component.frm-disabled .frm-slider-value input[type=text]{width:28px}.frm-slider-component.frm-disabled .frm-slider-value select{width:56px}.frm-slider-component.frm-disabled.frm-empty .frm-slider-value input[type=text]{width:56px}.frm-slider-component.frm-disabled.frm-empty .frm-slider-value select{width:28px}.frm-style-component .frm-slider-component.frm-has-multiple-values{margin-bottom:10px}:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1d2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98a2b3;--grey-300: #d0d5dd;--grey-200: #eaecf0;--grey-100: #f2f4f7;--grey-50: #f9fafb;--grey-25: #fcfcfd;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, 0.65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2b66a9;--primary-500: #4199fd;--primary-300: #80bbfe;--primary-200: #c0ddfe;--primary-50: #ecf5ff;--primary-25: #f5faff;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #b42318;--error-500: #f04438;--error-300: #fecdca;--error-100: #fee4e2;--error-25: #fff5f4;--green: rgb(63, 172, 37);--orange: #f15a24;--warning-500: #f79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054f31;--success-800: #065f46;--success-500: #12b76a;--success-100: #d1fae5;--success-200: #a6f4c5;--success-50: #ecfdf3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_hidden{display:none}.frm-component:not(.frm-tabs-wrapper){display:flex;justify-content:space-between;align-items:center}.frm-component:not(.frm-tabs-wrapper)>span.frm-component-label{font-weight:500;font-size:var(--text-sm) !important;color:var(--grey-900) !important;width:40% !important;display:block !important;margin-right:12px !important}.frm-component .frmsvg{width:18px;height:18px}.frm-component .frm-sliders-container{width:100%}.frm-component .frm-group-sliders .frm-slider-component{margin-top:5px} diff --git a/js/src/web-components/frm-range-slider-component/frm-range-slider-component.js b/js/src/web-components/frm-range-slider-component/frm-range-slider-component.js index 9c241f28b7..4f91411188 100644 --- a/js/src/web-components/frm-range-slider-component/frm-range-slider-component.js +++ b/js/src/web-components/frm-range-slider-component/frm-range-slider-component.js @@ -4,7 +4,7 @@ import style from './frm-range-slider-component.css'; import { __ } from '@wordpress/i18n'; export class frmRangeSliderComponent extends frmWebComponent { - #onChange = () => {}; // eslint-disable-line class-methods-use-this, no-empty-function + #onChange = () => {}; #sliderDefaultValue = '0px'; #sliderDefaultMultipleValues = { vertical: { value: 0, unit: 'px' }, @@ -36,9 +36,9 @@ export class frmRangeSliderComponent extends frmWebComponent { * A method to set the change event listener for the slider component. * * @param {Function} callback - The callback function to call when the slider component is changed. - * @return {void} + * @returns {void} */ - set onChange( callback ) { // eslint-disable-line accessor-pairs + set onChange( callback ) { if ( 'function' !== typeof callback ) { throw new TypeError( `Expected a function, but received ${ typeof callback }` ); } @@ -50,9 +50,9 @@ export class frmRangeSliderComponent extends frmWebComponent { * A method to set the has multiple values flag. This flag is used to determine if the slider component should display multiple values. * * @param {boolean} value - The value to set. - * @return {void} + * @returns {void} */ - set hasMultipleValues( value ) { // eslint-disable-line accessor-pairs + set hasMultipleValues( value ) { this.#hasMultipleValues = value; } @@ -60,9 +60,9 @@ export class frmRangeSliderComponent extends frmWebComponent { * A method to set the default multiple values. This values are used to determine the default values for the slider component. * * @param {Object} value - The value to set. - * @return {void} + * @returns {void} */ - set sliderDefaultMultipleValues( value ) { // eslint-disable-line accessor-pairs + set sliderDefaultMultipleValues( value ) { this.#sliderDefaultMultipleValues = value; } @@ -70,9 +70,9 @@ export class frmRangeSliderComponent extends frmWebComponent { * A method to set the default value for the single slider component. This value is used to determine the default value for the single slider component. * * @param {string|number} value - The value to set. - * @return {void} + * @returns {void} */ - set sliderDefaultValue( value ) { // eslint-disable-line accessor-pairs + set sliderDefaultValue( value ) { this.#sliderDefaultValue = String( value ); } @@ -80,9 +80,9 @@ export class frmRangeSliderComponent extends frmWebComponent { * A method to set the available units for the slider component. This units are used to determine the available units for the slider component. * * @param {Array} value - The value to set. - * @return {void} + * @returns {void} */ - set sliderAvailableUnits( value ) { // eslint-disable-line accessor-pairs + set sliderAvailableUnits( value ) { this.#sliderAvailableUnits = value; } @@ -90,17 +90,17 @@ export class frmRangeSliderComponent extends frmWebComponent { * A method to set the max value that the slider can take. * * @param {string|number} value - The value to set. - * @return {void} + * @returns {void} */ - set sliderMaxValue( value ) { // eslint-disable-line accessor-pairs + set sliderMaxValue( value ) { this.#sliderMaxValue = value.toString(); } - set steps( value ) { // eslint-disable-line accessor-pairs + set steps( value ) { this.#sliderSteps = value; } - useShadowDom() { // eslint-disable-line class-methods-use-this + useShadowDom() { return false; } @@ -140,7 +140,7 @@ export class frmRangeSliderComponent extends frmWebComponent { /** * A method to get the available units for the slider component. It will checke the data-units attribute first and if it is not set, it will return the default available units. * - * @return {Array} - The available units. + * @returns {Array} - The available units. */ getAvailableUnits() { const attr = this.getAttribute( 'data-units' ); @@ -155,7 +155,7 @@ export class frmRangeSliderComponent extends frmWebComponent { * A method to parse the default values for the multiple values slider component. It will check the data-values attribute first and if it is not set, it will return the default values. * If the values haven't been set via data-values attribute or dynamically via this._sliderDefaultMultipleValues it will return the default values. * - * @return {Object} - The default values. + * @returns {Object} - The default values. */ parseDefaultMultipleValues() { const valuesAttr = this.getAttribute( 'data-values' ) || this.#sliderDefaultMultipleValues; @@ -177,7 +177,7 @@ export class frmRangeSliderComponent extends frmWebComponent { * A method to parse the value and unit for the slider component. * * @param {string} valueStr - The value string to parse. - * @return {Object} - The value and unit object. + * @returns {Object} - The value and unit object. */ static parseValueUnit( valueStr ) { const defaultValue = { value: 0, unit: 'px' }; @@ -199,7 +199,7 @@ export class frmRangeSliderComponent extends frmWebComponent { /** * A method to check if the slider component has multiple values. It will check the data-has-multiple-values attribute first and if it is not set, it will return the default value. * - * @return {boolean} - The has multiple values flag. + * @returns {boolean} - The has multiple values flag. */ hasMultipleSliderValues() { return this.getAttribute( 'data-has-multiple-values' ) === 'true' || this.#hasMultipleValues; @@ -210,7 +210,7 @@ export class frmRangeSliderComponent extends frmWebComponent { * * @param {Element} wrapper - The wrapper element. * @param {Object} options - The options for the slider. - * @return {void} + * @returns {void} */ createMultipleValuesSlider( wrapper, options ) { const { maxValue, units, componentClass, fieldValue, defaultValues } = options; @@ -244,7 +244,7 @@ export class frmRangeSliderComponent extends frmWebComponent { value: group.defaultValues, iconSvgId: group.iconSvgId, ariaLabel: group.ariaLabel, - defaultValues: defaultValues, + defaultValues, addHiddenInputValue: false } ) ); } ); @@ -258,7 +258,7 @@ export class frmRangeSliderComponent extends frmWebComponent { * A method to create the hidden input value for the slider component. This hidden input value is used to store the value of the slider component. * * @param {string} fieldValue - The field value to set. - * @return {Element} - The hidden input value element. + * @returns {Element} - The hidden input value element. */ createSliderHiddenInputValue( fieldValue ) { if ( ! fieldValue ) { @@ -289,7 +289,7 @@ export class frmRangeSliderComponent extends frmWebComponent { * A method to create the slider group. This method is used to create the slider group. * * @param {Object} options - The options for the slider. - * @return {Element} - The slider group element. + * @returns {Element} - The slider group element. */ createSliderGroup( options ) { const slider = this.createSlider( options ); @@ -317,7 +317,7 @@ export class frmRangeSliderComponent extends frmWebComponent { * A method to create the slider track. This method is used to create the slider track. * * @param {Object} value - The value of the slider. - * @return {Element} - The slider track element. + * @returns {Element} - The slider track element. */ static createSliderTrack( value ) { const slider = document.createElement( 'span' ); @@ -348,7 +348,7 @@ export class frmRangeSliderComponent extends frmWebComponent { * @param {string} ariaLabel - The aria label of the slider. * @param {Array} units - The units of the slider. * @param {string} baseId - The base ID for the form elements. - * @return {Element} - The value and unit selection element. + * @returns {Element} - The value and unit selection element. */ static createSliderValueAndUnitSelection( value, ariaLabel, units, baseId ) { const valueContainer = document.createElement( 'div' ); @@ -383,7 +383,7 @@ export class frmRangeSliderComponent extends frmWebComponent { * @param {string} value - The value of the option. * @param {string} label - The label of the option. * @param {boolean} selected - Whether the option is selected. - * @return {Element} - The dropdown option element. + * @returns {Element} - The dropdown option element. */ static createDropdownOption( value, label, selected = false ) { const option = document.createElement( 'option' ); @@ -397,7 +397,7 @@ export class frmRangeSliderComponent extends frmWebComponent { * A method to create the SVG icon. This method is used to create the SVG icon. * * @param {string} iconSvgId - The ID of the SVG icon. - * @return {Element} - The SVG icon element. + * @returns {Element} - The SVG icon element. */ static createSvgIcon( iconSvgId ) { const svg = document.createElementNS( 'http://www.w3.org/2000/svg', 'svg' ); @@ -414,7 +414,7 @@ export class frmRangeSliderComponent extends frmWebComponent { * A method to create the slider. This method is used to create the slider. * * @param {Object} options - The options for the slider. - * @return {Element} - The slider element. + * @returns {Element} - The slider element. */ createSlider( options ) { const { type, maxValue, units, value, iconSvgId, ariaLabel, hidden, addHiddenInputValue } = options; @@ -464,6 +464,6 @@ export class frmRangeSliderComponent extends frmWebComponent { afterViewInit() { const defaultValues = this.hasMultipleSliderValues() ? this.parseDefaultMultipleValues() : frmRangeSliderComponent.parseValueUnit( this.defaultValue ); const options = Object.assign( { defaultValues }, { steps: this.#sliderSteps } ); - new frmSliderComponent( this.wrapper.querySelectorAll( '.frm-slider-component' ), options ); // eslint-disable-line no-new + new frmSliderComponent( this.wrapper.querySelectorAll( '.frm-slider-component' ), options ); } } diff --git a/js/src/web-components/frm-tab-navigator-component/frm-tab-navigator-component.css b/js/src/web-components/frm-tab-navigator-component/frm-tab-navigator-component.css index 1ab4c1e6ac..c8cba47b91 100644 --- a/js/src/web-components/frm-tab-navigator-component/frm-tab-navigator-component.css +++ b/js/src/web-components/frm-tab-navigator-component/frm-tab-navigator-component.css @@ -1 +1 @@ -:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_hidden{display:none}.frm-component:not(.frm-tabs-wrapper){display:flex;justify-content:space-between;align-items:center}.frm-component:not(.frm-tabs-wrapper)>span.frm-component-label{font-weight:500;font-size:var(--text-sm) !important;color:var(--grey-900) !important;width:40% !important;display:block !important;margin-right:12px !important}.frm-tabs-wrapper{position:relative;overflow:hidden}.frm-tabs-wrapper .frm-tabs-navigator{margin:0;padding:0;display:flex;gap:var(--gap-xs);justify-content:space-between;align-items:center;background:#f2f4f7;border-radius:var(--small-radius);box-sizing:border-box;height:44px;position:relative;z-index:2}.frm-tabs-wrapper .frm-tabs-navigator .frm-tab-item{flex:1;text-align:center;cursor:pointer}.frm-tabs-wrapper .frm-tabs-navigator .frm-active-background{display:block;height:100%;background:#fff;position:absolute;top:0;left:0;z-index:1}.frm-tabs-navs{padding:0;min-height:44px}.frm-tabs-navs ul{margin:0;height:var(--h-md);position:relative;display:flex;justify-content:space-between;list-style-type:none;padding:0px}.frm-tabs-navs ul li,.frm-tabs-navs ul li a{color:var(--grey-500);font-weight:500;font-size:var(--text-sm);line-height:28px}.frm-tabs-navs ul li{flex:1;height:28px;text-align:center;margin-top:var(--gap-xs);margin-bottom:0;cursor:pointer}.frm-tabs-navs ul li.frm-active,.frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active a{color:var(--grey-900)}.frm-tabs-navs ul li:first-child{margin-left:var(--gap-xs)}.frm-tabs-navs ul li:last-child{margin-right:var(--gap-xs)}.frm-tabs-delimiter{position:absolute;top:0;left:0;width:100%;background:#f2f4f7;height:44px;margin:0;border-radius:var(--small-radius)}.frm-tabs-delimiter .frm-tabs-active-underline{height:28px;background:#fff;position:absolute;left:0;bottom:8px;width:45px;transition:.4s transform cubic-bezier(0.25, 0.46, 0.45, 0.94);border-radius:var(--small-radius);box-shadow:var(--button-shadow)}.frm-tabs-delimiter .frm-tabs-active-underline.frm-first{left:var(--gap-xs)}.frm-tabs-delimiter .frm-tabs-active-underline.frm-last{left:calc(-1*var(--gap-xs))}.frm-tabs-container{position:relative;overflow:hidden;margin-top:var(--gap-md);height:100%}.frm-tabs-container .frm-tabs-slide-track{display:flex;transition:.32s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-tabs-slide-track>div{flex:0 0 100%;opacity:0;transition:.25s opacity linear;position:relative;height:auto;max-height:unset;overflow:hidden;box-sizing:border-box}.frm-tabs-slide-track>div>div{overflow:auto;position:relative;width:100%;padding:0;box-sizing:border-box}.frm-tabs-slide-track>div>div:first-child{height:100%}.frm-tabs-slide-track>div.frm-active{opacity:1;transition:.35s opacity linear} +:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1d2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98a2b3;--grey-300: #d0d5dd;--grey-200: #eaecf0;--grey-100: #f2f4f7;--grey-50: #f9fafb;--grey-25: #fcfcfd;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, 0.65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2b66a9;--primary-500: #4199fd;--primary-300: #80bbfe;--primary-200: #c0ddfe;--primary-50: #ecf5ff;--primary-25: #f5faff;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #b42318;--error-500: #f04438;--error-300: #fecdca;--error-100: #fee4e2;--error-25: #fff5f4;--green: rgb(63, 172, 37);--orange: #f15a24;--warning-500: #f79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054f31;--success-800: #065f46;--success-500: #12b76a;--success-100: #d1fae5;--success-200: #a6f4c5;--success-50: #ecfdf3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_hidden{display:none}.frm-component:not(.frm-tabs-wrapper){display:flex;justify-content:space-between;align-items:center}.frm-component:not(.frm-tabs-wrapper)>span.frm-component-label{font-weight:500;font-size:var(--text-sm) !important;color:var(--grey-900) !important;width:40% !important;display:block !important;margin-right:12px !important}.frm-tabs-wrapper{position:relative;overflow:hidden}.frm-tabs-wrapper .frm-tabs-navigator{margin:0;padding:0;display:flex;gap:var(--gap-xs);justify-content:space-between;align-items:center;background:#f2f4f7;border-radius:var(--small-radius);box-sizing:border-box;height:44px;position:relative;z-index:2}.frm-tabs-wrapper .frm-tabs-navigator .frm-tab-item{flex:1;text-align:center;cursor:pointer}.frm-tabs-wrapper .frm-tabs-navigator .frm-active-background{display:block;height:100%;background:#fff;position:absolute;top:0;left:0;z-index:1}.frm-tabs-navs{padding:0;min-height:44px}.frm-tabs-navs ul{margin:0;height:var(--h-md);position:relative;display:flex;justify-content:space-between;list-style-type:none;padding:0px}.frm-tabs-navs ul li,.frm-tabs-navs ul li a{color:var(--grey-500);font-weight:500;font-size:var(--text-sm);line-height:28px}.frm-tabs-navs ul li{flex:1;height:28px;text-align:center;margin-top:var(--gap-xs);margin-bottom:0;cursor:pointer}.frm-tabs-navs ul li.frm-active,.frm-style-tabs-wrapper .frm-tabs-navs ul li.frm-active a{color:var(--grey-900)}.frm-tabs-navs ul li:first-child{margin-left:var(--gap-xs)}.frm-tabs-navs ul li:last-child{margin-right:var(--gap-xs)}.frm-tabs-delimiter{position:absolute;top:0;left:0;width:100%;background:#f2f4f7;height:44px;margin:0;border-radius:var(--small-radius)}.frm-tabs-delimiter .frm-tabs-active-underline{height:28px;background:#fff;position:absolute;left:0;bottom:8px;width:45px;transition:.4s transform cubic-bezier(0.25, 0.46, 0.45, 0.94);border-radius:var(--small-radius);box-shadow:var(--button-shadow)}.frm-tabs-delimiter .frm-tabs-active-underline.frm-first{left:var(--gap-xs)}.frm-tabs-delimiter .frm-tabs-active-underline.frm-last{left:calc(-1*var(--gap-xs))}.frm-tabs-container{position:relative;overflow:hidden;margin-top:var(--gap-md);height:100%}.frm-tabs-container .frm-tabs-slide-track{display:flex;transition:.32s transform cubic-bezier(0.25, 0.46, 0.45, 0.94)}.frm-tabs-slide-track>div{flex:0 0 100%;opacity:0;transition:.25s opacity linear;position:relative;height:auto;max-height:unset;overflow:hidden;box-sizing:border-box}.frm-tabs-slide-track>div>div{overflow:auto;position:relative;width:100%;padding:0;box-sizing:border-box}.frm-tabs-slide-track>div>div:first-child{height:100%}.frm-tabs-slide-track>div.frm-active{opacity:1;transition:.35s opacity linear} diff --git a/js/src/web-components/frm-tab-navigator-component/frm-tab-navigator-component.js b/js/src/web-components/frm-tab-navigator-component/frm-tab-navigator-component.js index 25e3fd9bfb..0914f66d32 100644 --- a/js/src/web-components/frm-tab-navigator-component/frm-tab-navigator-component.js +++ b/js/src/web-components/frm-tab-navigator-component/frm-tab-navigator-component.js @@ -11,7 +11,7 @@ export class frmTabNavigatorComponent extends frmWebComponent { /** * Initializes the view. * - * @return {Element} - The wrapper element. + * @returns {Element} - The wrapper element. */ initView() { this.tabs = this.querySelectorAll( '.frm-tab' ); @@ -52,7 +52,7 @@ export class frmTabNavigatorComponent extends frmWebComponent { /** * Gets the tab delimiter. * - * @return {string} - The tab delimiter. + * @returns {string} - The tab delimiter. */ getTabDelimiter() { const delimiter = document.createElement( 'div' ); @@ -69,7 +69,7 @@ export class frmTabNavigatorComponent extends frmWebComponent { /** * Gets the tab headings. * - * @return {string} - The tab headings. + * @returns {string} - The tab headings. */ getTabs() { const tabHeadings = document.createElement( 'div' ); @@ -88,7 +88,7 @@ export class frmTabNavigatorComponent extends frmWebComponent { /** * Gets the tab container. * - * @return {string} - The tab container. + * @returns {string} - The tab container. */ getTabContainer() { const tabContainer = document.createElement( 'div' ); @@ -110,7 +110,7 @@ export class frmTabNavigatorComponent extends frmWebComponent { * * @param {Element} tab - The tab element. * @param {number} index - The index of the tab. - * @return {string} - The tab heading. + * @returns {string} - The tab heading. */ createTabHeading( tab, index ) { const className = index === 0 ? 'frm-active' : ''; @@ -125,7 +125,7 @@ export class frmTabNavigatorComponent extends frmWebComponent { * * @param {Element} tab - The tab element. * @param {number} index - The index of the tab. - * @return {string} - The tab container. + * @returns {string} - The tab container. */ createTabContainer( tab, index ) { const className = index === 0 ? 'frm-active' : ''; @@ -143,13 +143,13 @@ export class frmTabNavigatorComponent extends frmWebComponent { /** * Gets the tab underline. * - * @return {Element} - The tab underline. + * @returns {Element} - The tab underline. */ getTabUnderline() { return this.shadowRoot.querySelector( '.frm-tabs-active-underline' ); } - getLabelText() { // eslint-disable-line class-methods-use-this + getLabelText() { return null; } } diff --git a/js/src/web-components/frm-typography-component/frm-typography-component.css b/js/src/web-components/frm-typography-component/frm-typography-component.css index 23743e0a72..a399a2a963 100644 --- a/js/src/web-components/frm-typography-component/frm-typography-component.css +++ b/js/src/web-components/frm-typography-component/frm-typography-component.css @@ -1 +1 @@ -:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1D2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98A2B3;--grey-300: #D0D5DD;--grey-200: #EAECF0;--grey-100: #F2F4F7;--grey-50: #F9FAFB;--grey-25: #FCFCFD;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, .65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2B66A9;--primary-500: #4199FD;--primary-300: #80BBFE;--primary-200: #C0DDFE;--primary-50: #ECF5FF;--primary-25: #F5FAFF;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #B42318;--error-500: #F04438;--error-300: #FECDCA;--error-100: #FEE4E2;--error-25: #FFF5F4;--green: rgb(63, 172, 37);--orange: #F15A24;--warning-500: #F79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054F31;--success-800: #065F46;--success-500: #12b76a;--success-100: #D1FAE5;--success-200: #A6F4C5;--success-50: #ECFDF3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_hidden{display:none}.frm-component:not(.frm-tabs-wrapper){display:flex;justify-content:space-between;align-items:center}.frm-component:not(.frm-tabs-wrapper)>span.frm-component-label{font-weight:500;font-size:var(--text-sm) !important;color:var(--grey-900) !important;width:40% !important;display:block !important;margin-right:12px !important}.frm-typography-component .frm-typography-container{display:flex;justify-content:space-between;width:100%}.frm-typography-component .frm-typography-container select{width:calc(70% - 6px);outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading);border-width:1px;border-style:solid}.frm-typography-component .frm-typography-container .frm-unit-value{width:28%;height:36px;display:flex;justify-content:center;box-sizing:border-box;background:#fff;border-radius:var(--small-radius);border:1px solid var(--grey-300);overflow:hidden}.frm-typography-component .frm-typography-container .frm-unit-value>*{border:none}.frm-typography-component .frm-typography-container .frm-unit-value input{width:32px;height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding-left:8px;box-sizing:border-box}.frm-typography-component .frm-typography-container .frm-unit-value input:focus{outline:none}.frm-typography-component .frm-typography-container .frm-unit-value select{text-align:left;padding:0;font-size:var(--text-sm);color:#667085;width:36px;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center right 12px}.frm-typography-component .frm-typography-container .frm-unit-value select:focus{outline:none} +:root,.frm-white-body,.frm_wrap{--grey-900: #101828;--grey-800: #1d2939;--grey-700: #344054;--grey-600: #475467;--grey-500: #667085;--grey-400: #98a2b3;--grey-300: #d0d5dd;--grey-200: #eaecf0;--grey-100: #f2f4f7;--grey-50: #f9fafb;--grey-25: #fcfcfd;--dark-grey: var(--grey-700);--medium-grey: rgba(40, 47, 54, 0.65);--grey: var(--grey-500);--grey-border: var(--grey-300);--lightest-grey: rgb(250, 250, 250);--sidebar-color: var(--grey-50);--sidebar-hover: var(--grey-200);--primary-700: #2b66a9;--primary-500: #4199fd;--primary-300: #80bbfe;--primary-200: #c0ddfe;--primary-50: #ecf5ff;--primary-25: #f5faff;--primary-color: var(--primary-500);--primary-hover: var(--primary-700);--light-blue: var(--primary-25);--blue-border: rgb(188, 224, 253);--error-700: #b42318;--error-500: #f04438;--error-300: #fecdca;--error-100: #fee4e2;--error-25: #fff5f4;--green: rgb(63, 172, 37);--orange: #f15a24;--warning-500: #f79009;--pink: rgb(226, 42, 110);--purple: rgb(141, 53, 245);--success-900: #054f31;--success-800: #065f46;--success-500: #12b76a;--success-100: #d1fae5;--success-200: #a6f4c5;--success-50: #ecfdf3;--success-25: #f6fef9;--border-radius: 35px;--small-radius: 8px;--medium-radius: 16px;--small-sidebar: 275px;--medium-sidebar: 350px;--big-sidebar: 390px;--biggest-sidebar: 450px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--h-xs: 24px;--h-sm: 30px;--h-md: 36px;--leading: 1.5;--gap-2xs: 4px;--gap-xs: 8px;--gap-sm: 16px;--gap-md: 24px;--gap-lg: 32px;--gap-xl: 40px;--gap-2xl: 48px;--box-shadow-xs: 0 0.47074466943740845px 0.9414893388748169px 0 rgba(16, 24, 40, 0.05);--box-shadow-sm: 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-md: 0 1.88298px 3.76596px -0.941489px rgba(16, 24, 40, 0.1), 0 0.941489px 1.88298px -0.941489px rgba(16, 24, 40, 0.06);--box-shadow-lg: 0 6px 8px -2px rgba(16, 24, 40, 0.08), 0 1.88298px 4px -1px rgba(16, 24, 40, 0.03), 0 0.470745px 1.41223px rgba(16, 24, 40, 0.1), 0 0.470745px 0.941489px rgba(16, 24, 40, 0.06);--box-shadow-xl: 0 9.41489px 11.2979px -1.88298px rgba(16, 24, 40, 0.08), 0 3.76596px 3.76596px -1.88298px rgba(16, 24, 40, 0.03);--box-shadow-xxl: 0 11px 22px -5px rgba(16, 24, 40, 0.18);--button-shadow: 0 0.47px 0.94px 0 rgba(16, 24, 40, 0.06), 0 0.47px 1.47px 0 rgba(16, 24, 40, 0.1);--check-label-color: var(--grey-700)}.frm_hidden{display:none}.frm-component:not(.frm-tabs-wrapper){display:flex;justify-content:space-between;align-items:center}.frm-component:not(.frm-tabs-wrapper)>span.frm-component-label{font-weight:500;font-size:var(--text-sm) !important;color:var(--grey-900) !important;width:40% !important;display:block !important;margin-right:12px !important}.frm-typography-component .frm-typography-container{display:flex;justify-content:space-between;width:100%}.frm-typography-component .frm-typography-container select{width:calc(70% - 6px);outline:0;box-shadow:var(--box-shadow-xs);border-radius:var(--small-radius);padding:5px 14px;border-color:var(--grey-300);color:var(--grey-800);font-size:var(--text-md);margin:0;background-color:#fff;line-height:var(--leading);border-width:1px;border-style:solid}.frm-typography-component .frm-typography-container .frm-unit-value{width:28%;height:36px;display:flex;justify-content:center;box-sizing:border-box;background:#fff;border-radius:var(--small-radius);border:1px solid var(--grey-300);overflow:hidden}.frm-typography-component .frm-typography-container .frm-unit-value>*{border:none}.frm-typography-component .frm-typography-container .frm-unit-value input{width:32px;height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding-left:8px;box-sizing:border-box}.frm-typography-component .frm-typography-container .frm-unit-value input:focus{outline:none}.frm-typography-component .frm-typography-container .frm-unit-value select{text-align:left;padding:0;font-size:var(--text-sm);color:#667085;width:36px;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center right 12px}.frm-typography-component .frm-typography-container .frm-unit-value select:focus{outline:none} diff --git a/js/src/web-components/frm-typography-component/frm-typography-component.js b/js/src/web-components/frm-typography-component/frm-typography-component.js index fe5c10226c..f6222d9bf3 100644 --- a/js/src/web-components/frm-typography-component/frm-typography-component.js +++ b/js/src/web-components/frm-typography-component/frm-typography-component.js @@ -3,7 +3,7 @@ import { __ } from '@wordpress/i18n'; import style from './frm-typography-component.css'; export class frmTypographyComponent extends frmWebComponent { - #onChange = () => {}; // eslint-disable-line class-methods-use-this, no-empty-function + #onChange = () => {}; #defaultOptions = [ { value: '21px', @@ -72,7 +72,7 @@ export class frmTypographyComponent extends frmWebComponent { /** * A method to get the select element. * - * @return {Element} - The select element. + * @returns {Element} - The select element. */ getSelect() { this.select = document.createElement( 'select' ); @@ -91,7 +91,7 @@ export class frmTypographyComponent extends frmWebComponent { * A method to get the default options for the select element. * * @param {Element} select - The select element. - * @return {void} + * @returns {void} */ getDefaultOptions( select ) { this.#defaultOptions.forEach( option => { @@ -107,17 +107,17 @@ export class frmTypographyComponent extends frmWebComponent { * A method to check if the value is a custom font size. * * @param {string} value - The value to check if it is a custom font size. - * @return {boolean} - True if the value is a custom font size, false otherwise. + * @returns {boolean} - True if the value is a custom font size, false otherwise. */ static isCustomFonSize( value ) { - return -1 === [ '', '18px', '21px', '26px', '32px' ].indexOf( value ); + return ! [ '', '18px', '21px', '26px', '32px' ].includes( value ); } /** * A method to change the select value. * * @param {string} value - The value to change the select value for. - * @return {void} + * @returns {void} */ changeSelectValue( value ) { const isCustomFonSize = frmTypographyComponent.isCustomFonSize( value ); @@ -129,7 +129,7 @@ export class frmTypographyComponent extends frmWebComponent { /** * A method to get the unit value wrapper element. * - * @return {Element} - The unit value wrapper element. + * @returns {Element} - The unit value wrapper element. */ getUnitValueWrapper() { this.unitValueWrapper = document.createElement( 'div' ); @@ -142,7 +142,7 @@ export class frmTypographyComponent extends frmWebComponent { /** * A method to get the unit value input element. * - * @return {Element} - The unit value input element. + * @returns {Element} - The unit value input element. */ getUnitValueInput() { this.unitValueInput = document.createElement( 'input' ); @@ -169,7 +169,7 @@ export class frmTypographyComponent extends frmWebComponent { /** * A method to get the unit type select element. * - * @return {Element} - The unit type select element. + * @returns {Element} - The unit type select element. */ getUnitTypeSelect() { this.unitTypeSelect = document.createElement( 'select' ); @@ -194,7 +194,7 @@ export class frmTypographyComponent extends frmWebComponent { /** * A method to get the hidden input element. * - * @return {Element} - The hidden input element. + * @returns {Element} - The hidden input element. */ getHiddenInput() { this.hiddenInput = document.createElement( 'input' ); @@ -209,7 +209,7 @@ export class frmTypographyComponent extends frmWebComponent { /** * A method to set the change event listener for the select element. * - * @return {void} - The unit value. + * @returns {void} - The unit value. */ afterViewInit() { this.select.addEventListener( 'change', () => { @@ -225,7 +225,7 @@ export class frmTypographyComponent extends frmWebComponent { * A method to get the unit value. * * @param {string} value - The value to get the unit value for. - * @return {Object} - The unit value. + * @returns {Object} - The unit value. */ static getUnitValue( value ) { const defaultValue = { value: '', unit: '' }; @@ -248,9 +248,9 @@ export class frmTypographyComponent extends frmWebComponent { * A method to set the change event listener for the select element. * * @param {Function} callback - The callback function to call when the select element is changed. - * @return {void} + * @returns {void} */ - set onChange( callback ) { // eslint-disable-line accessor-pairs + set onChange( callback ) { if ( 'function' !== typeof callback ) { throw new TypeError( `Expected a function, but received ${ typeof callback }` ); } @@ -262,9 +262,9 @@ export class frmTypographyComponent extends frmWebComponent { * A method to set dynamically the default value for the typography component. * * @param {string} value - The value to set dynamically the default value for. - * @return {void} + * @returns {void} */ - set typographyDefaultValue( value ) { // eslint-disable-line accessor-pairs + set typographyDefaultValue( value ) { this.#defaultValue = value; } } diff --git a/js/src/web-components/frm-web-component.js b/js/src/web-components/frm-web-component.js index 6c7ae745a8..84b7c7d456 100644 --- a/js/src/web-components/frm-web-component.js +++ b/js/src/web-components/frm-web-component.js @@ -89,18 +89,17 @@ export class frmWebComponent extends HTMLElement { /** * Waits for the element to become visible in the viewport. * - * @return {Promise} - A promise that resolves when the element is visible. + * @returns {Promise} - A promise that resolves when the element is visible. */ whenElementBecomesVisible() { - // eslint-disable-next-line compat/compat + return new Promise( resolve => { - // eslint-disable-next-line compat/compat - if ( 'undefined' === typeof window.IntersectionObserver ) { + + if ( window.IntersectionObserver === undefined ) { requestAnimationFrame( () => resolve() ); return; } - // eslint-disable-next-line compat/compat const observer = new IntersectionObserver( entries => { entries.forEach( entry => { // The element is in viewport and its visibility is greater than 0. @@ -119,7 +118,7 @@ export class frmWebComponent extends HTMLElement { } ); } - set frmLabel( text ) { // eslint-disable-line accessor-pairs + set frmLabel( text ) { this._labelText = text; } @@ -153,5 +152,5 @@ export class frmWebComponent extends HTMLElement { * Called by browser when the component is removed from the DOM. * @return void */ - disconnectedCallback() {} // eslint-disable-line class-methods-use-this, no-empty-function + disconnectedCallback() {} } diff --git a/js/src/welcome-tour/elements/beginTourModalElement.js b/js/src/welcome-tour/elements/beginTourModalElement.js index 772032226e..909df4e66c 100644 --- a/js/src/welcome-tour/elements/beginTourModalElement.js +++ b/js/src/welcome-tour/elements/beginTourModalElement.js @@ -13,7 +13,7 @@ import { MODAL_SIZE, TOUR_URL } from '../shared'; /** * Build the begin tour modal element. * - * @return {void} + * @returns {void} */ export function buildBeginTourModalElement() { addBeginTourModalToElements( createBeginTourModalElement() ); @@ -23,7 +23,7 @@ export function buildBeginTourModalElement() { * Create and return the begin tour modal HTML element. * * @private - * @return {HTMLElement} The begin tour modal element. + * @returns {HTMLElement} The begin tour modal element. */ function createBeginTourModalElement() { const beginTourModal = maybeCreateModal( @@ -57,7 +57,7 @@ function createBeginTourModalElement() { * * @private * @param {HTMLElement} beginTourModal The begin tour modal element. - * @return {void} + * @returns {void} */ function addBeginTourModalToElements( beginTourModal ) { if ( ! getElements().beginTourModal ) { diff --git a/js/src/welcome-tour/events/checklistEvents.js b/js/src/welcome-tour/events/checklistEvents.js index 2bca7c1daa..bfd9a0b081 100644 --- a/js/src/welcome-tour/events/checklistEvents.js +++ b/js/src/welcome-tour/events/checklistEvents.js @@ -6,7 +6,7 @@ import { getElements } from '../elements'; /** * Adds events to the checklist. * - * @return {void} + * @returns {void} */ function addChecklistEvents() { const { checklist } = getElements(); @@ -22,7 +22,7 @@ function addChecklistEvents() { * * @private * @param {HTMLElement} checklist The checklist element. - * @return {void} + * @returns {void} */ function onChecklistHeaderClick( checklist ) { checklist.classList.toggle( 'frm-checklist--collapsed' ); diff --git a/js/src/welcome-tour/events/dismissEvents.js b/js/src/welcome-tour/events/dismissEvents.js index a5d56a2043..5675d8c377 100644 --- a/js/src/welcome-tour/events/dismissEvents.js +++ b/js/src/welcome-tour/events/dismissEvents.js @@ -7,7 +7,7 @@ import { getElements } from '../elements'; /** * Adds events to the dismiss button. * - * @return {void} + * @returns {void} */ function addDismissEvents() { const { dismiss } = getElements(); @@ -22,7 +22,7 @@ function addDismissEvents() { * Handles the dismiss button click event. * * @private - * @return {void} + * @returns {void} */ function onDismissClick() { const { welcomeTour, spotlight } = getElements(); diff --git a/js/src/welcome-tour/events/index.js b/js/src/welcome-tour/events/index.js index 0e982511c9..dd0ff42753 100644 --- a/js/src/welcome-tour/events/index.js +++ b/js/src/welcome-tour/events/index.js @@ -5,7 +5,7 @@ import addStylerUpdateEvents from './stylerUpdateButtonEvents'; /** * Attaches event listeners for handling user interactions. * - * @return {void} + * @returns {void} */ export function addEventListeners() { addChecklistEvents(); diff --git a/js/src/welcome-tour/events/stylerUpdateButtonEvents.js b/js/src/welcome-tour/events/stylerUpdateButtonEvents.js index 2232c3fc44..702c374f42 100644 --- a/js/src/welcome-tour/events/stylerUpdateButtonEvents.js +++ b/js/src/welcome-tour/events/stylerUpdateButtonEvents.js @@ -7,7 +7,7 @@ import { markStepAsCompleted } from '../utils'; /** * Adds events to the styler update button. * - * @return {void} + * @returns {void} */ function addStylerUpdateEvents() { if ( 'formidable-styles' !== getQueryParam( 'page' ) ) { @@ -21,7 +21,7 @@ function addStylerUpdateEvents() { * Handles the styler update button click event. * * @private - * @return {void} + * @returns {void} */ async function onStylerUpdateClick() { await markStepAsCompleted( 'style-form' ); diff --git a/js/src/welcome-tour/ui/checklist.js b/js/src/welcome-tour/ui/checklist.js index 821c346da8..5c926a3ddb 100644 --- a/js/src/welcome-tour/ui/checklist.js +++ b/js/src/welcome-tour/ui/checklist.js @@ -7,7 +7,7 @@ import { markStepAsCompleted } from '../utils'; /** * Initializes the checklist. * - * @return {void} + * @returns {void} */ function initializeChecklist() { setProgressBarPercent(); @@ -19,7 +19,7 @@ function initializeChecklist() { * Sets the progress bar percent. * * @private - * @return {void} + * @returns {void} */ function setProgressBarPercent() { const progressFill = document.querySelector( '.frm-welcome-tour .frm-checklist__progress-fill' ); diff --git a/js/src/welcome-tour/ui/modal.js b/js/src/welcome-tour/ui/modal.js index 5bdf0f3e36..5497589fa8 100644 --- a/js/src/welcome-tour/ui/modal.js +++ b/js/src/welcome-tour/ui/modal.js @@ -7,7 +7,7 @@ import { IS_WELCOME_TOUR_SEEN, IS_DASHBOARD_PAGE } from '../shared'; /** * Initialize the modal widget. * - * @return {void} + * @returns {void} */ function initializeModal() { if ( IS_DASHBOARD_PAGE && ! IS_WELCOME_TOUR_SEEN ) { diff --git a/js/src/welcome-tour/ui/spotlight.js b/js/src/welcome-tour/ui/spotlight.js index 3b432afeab..c0589a3661 100644 --- a/js/src/welcome-tour/ui/spotlight.js +++ b/js/src/welcome-tour/ui/spotlight.js @@ -1,7 +1,7 @@ /** * Initialize the spotlight widget. * - * @return {void} + * @returns {void} */ function initializeSpotlight() { document.querySelectorAll( '.frm-spotlight' ).forEach( spotlightElement => { @@ -16,7 +16,7 @@ function initializeSpotlight() { * * @private * @param {HTMLElement} spotlightElement The spotlight container. - * @return {void} + * @returns {void} */ function setupSpotlight( spotlightElement ) { const targetElement = document.querySelector( spotlightElement.dataset.target ); @@ -50,7 +50,7 @@ function setupSpotlight( spotlightElement ) { * @private * @param {HTMLElement} spotlightElement The spotlight container. * @param {HTMLElement} targetElement The target element. - * @return {void} + * @returns {void} */ function updateSpotlightPosition( spotlightElement, targetElement ) { if ( ! targetElement.offsetParent ) { @@ -89,7 +89,7 @@ function updateSpotlightPosition( spotlightElement, targetElement ) { * * @private * @param {HTMLElement} spotlightElement The spotlight container. - * @return {void} + * @returns {void} */ function handleSpotlightFadeAnimation( spotlightElement ) { const topBar = document.getElementById( 'frm_top_bar' ); @@ -113,7 +113,7 @@ function handleSpotlightFadeAnimation( spotlightElement ) { * * @private * @param {HTMLElement} element The target element. - * @return {HTMLElement[]} Array of scrollable elements. + * @returns {HTMLElement[]} Array of scrollable elements. */ function getScrollableAncestors( element ) { const scrollables = [ window ]; diff --git a/js/src/welcome-tour/utils/markStepAsCompleted.js b/js/src/welcome-tour/utils/markStepAsCompleted.js index c45de67d7c..c26c5cbf0b 100644 --- a/js/src/welcome-tour/utils/markStepAsCompleted.js +++ b/js/src/welcome-tour/utils/markStepAsCompleted.js @@ -1,4 +1,3 @@ - /** * Internal dependencies */ @@ -11,7 +10,7 @@ const STEP_PREFIX = 'frm-checklist__step'; * Marks a step as completed. * * @param {string} stepKey The step key. - * @return {Promise} + * @returns {Promise} */ export async function markStepAsCompleted( stepKey ) { const { checklist } = getElements(); @@ -57,7 +56,7 @@ export async function markStepAsCompleted( stepKey ) { * * @private * @param {HTMLElement} stepElement The step element to wrap. - * @return {void} + * @returns {void} */ function wrapStepTitleWithLink( stepElement ) { const stepTitle = stepElement.querySelector( '.frm-checklist__step-title' ); diff --git a/js/src/welcome-tour/utils/pageDetection.js b/js/src/welcome-tour/utils/pageDetection.js index 331e828ec5..c8ba68ba87 100644 --- a/js/src/welcome-tour/utils/pageDetection.js +++ b/js/src/welcome-tour/utils/pageDetection.js @@ -6,27 +6,27 @@ import { getQueryParam } from 'core/utils/url'; /** * Checks if the current page is the editor page. * - * @return {boolean} True if the current page is the editor page, false otherwise. + * @returns {boolean} True if the current page is the editor page, false otherwise. */ export const onEditorPage = () => document.getElementById( 'frm_form_editor_container' ) !== null; /** * Checks if the current page is the styler page. * - * @return {boolean} True if the current page is the styler page, false otherwise. + * @returns {boolean} True if the current page is the styler page, false otherwise. */ export const onStylerPage = () => document.getElementById( 'frm_active_style_form' ) !== null; /** * Checks if the current page is the form templates page. * - * @return {boolean} True if the current page is the form templates page, false otherwise. + * @returns {boolean} True if the current page is the form templates page, false otherwise. */ export const onFormTemplatesPage = () => getQueryParam( 'page' ) === 'formidable-form-templates'; /** * Checks if the current page is the dashboard page. * - * @return {boolean} True if the current page is the dashboard page, false otherwise. + * @returns {boolean} True if the current page is the dashboard page, false otherwise. */ export const onDashboardPage = () => getQueryParam( 'page' ) === 'formidable-dashboard'; diff --git a/package-lock.json b/package-lock.json index cf548ce0dc..c99584b4bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "devDependencies": { "@10up/cypress-wp-utils": "^0.3.0", "@babel/core": "7.25.7", - "@babel/eslint-parser": "7.22.15", + "@babel/eslint-parser": "^7.28.6", "@babel/plugin-syntax-jsx": "7.25.7", "@babel/plugin-transform-react-jsx": "^7.22.15", "@babel/preset-env": "^7.22.15", @@ -36,8 +36,8 @@ "@wordpress/babel-preset-default": "^7.25.0", "@wordpress/browserslist-config": "^5.30.0", "@wordpress/env": "^9.0.0", - "@wordpress/eslint-plugin": "10.0.0", - "@wordpress/stylelint-config": "^21.30.0", + "@wordpress/eslint-plugin": "^24.1.0", + "@wordpress/stylelint-config": "^23.31.0", "axe-core": "^4.9.1", "babel-loader": "9.2.1", "babel-plugin-styled-components": "^2.1.4", @@ -51,19 +51,20 @@ "cypress-axe": "^1.5.0", "cypress-html-validate": "^6.1.0", "cypress-xpath": "^2.0.1", - "eslint": "8.22.0", - "eslint-import-resolver-node": "0.3.4", - "eslint-import-resolver-webpack": "^0.13.8", - "eslint-plugin-compat": "^4.2.0", - "eslint-plugin-cypress": "^3.2.0", - "eslint-plugin-import": "2.25.2", - "eslint-plugin-jsdoc": "39.9.1", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-no-jquery": "^2.7.0", - "eslint-plugin-prettier": "5.0.0", - "eslint-plugin-react": "^7.20.6", - "eslint-plugin-sonarjs": "0.23.0", - "eslint-plugin-unicorn": "^43.0.0", + "eslint": "9.39.2", + "eslint-import-resolver-node": "0.3.9", + "eslint-import-resolver-webpack": "^0.13.10", + "eslint-plugin-compat": "^6.0.2", + "eslint-plugin-cypress": "^4.1.0", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-jsdoc": "^50.6.3", + "eslint-plugin-jsx-a11y": "^6.10.2", + "eslint-plugin-no-jquery": "^3.1.0", + "eslint-plugin-prettier": "^5.2.3", + "eslint-plugin-react": "^7.37.5", + "eslint-plugin-sonarjs": "^3.0.2", + "eslint-plugin-unicorn": "^58.0.0", + "globals": "^15.14.0", "html-validate": "^8.20.0", "mini-css-extract-plugin": "^2.9.2", "prompts": "^2.4.2", @@ -107,12 +108,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -121,9 +122,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", - "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -160,9 +161,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz", - "integrity": "sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.28.6.tgz", + "integrity": "sha512-QGmsKi2PBO/MHSQk+AAgA9R6OHQr+VqnniFE0eMWZcVcfBZoA2dKn2hUsl3Csg/Plt9opRUWdY7//VXsrIlEiA==", "dev": true, "license": "MIT", "dependencies": { @@ -175,17 +176,17 @@ }, "peerDependencies": { "@babel/core": "^7.11.0", - "eslint": "^7.5.0 || ^8.0.0" + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" } }, "node_modules/@babel/generator": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", - "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.3", - "@babel/types": "^7.28.2", + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -207,12 +208,12 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.2", + "@babel/compat-data": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -223,18 +224,18 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz", - "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", + "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-member-expression-to-functions": "^7.28.5", "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-replace-supers": "^7.28.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/traverse": "^7.28.3", + "@babel/traverse": "^7.28.6", "semver": "^6.3.1" }, "engines": { @@ -245,14 +246,14 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", - "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "regexpu-core": "^6.2.0", + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", "semver": "^6.3.1" }, "engines": { @@ -263,17 +264,17 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", - "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.6.tgz", + "integrity": "sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", - "debug": "^4.4.1", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "debug": "^4.4.3", "lodash.debounce": "^4.0.8", - "resolve": "^1.22.10" + "resolve": "^1.22.11" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -289,41 +290,41 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", - "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "license": "MIT", "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -346,9 +347,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -373,15 +374,15 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", - "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", + "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-member-expression-to-functions": "^7.28.5", "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/traverse": "^7.27.1" + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -414,9 +415,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -432,40 +433,40 @@ } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", - "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz", + "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.3", - "@babel/types": "^7.28.2" + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "license": "MIT", "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", - "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", "license": "MIT", "dependencies": { - "@babel/types": "^7.28.4" + "@babel/types": "^7.29.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -475,14 +476,14 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", - "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", + "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" + "@babel/traverse": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -542,14 +543,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", - "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz", + "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.28.3" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -576,7 +577,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -602,7 +602,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -615,7 +614,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -626,14 +624,40 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", - "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz", + "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -643,12 +667,12 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", - "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", + "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -662,7 +686,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -675,7 +698,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -703,7 +725,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -716,7 +737,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -729,7 +749,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -742,7 +761,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -755,7 +773,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -768,7 +785,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -781,7 +797,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -797,7 +812,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -809,13 +823,13 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", - "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", + "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -858,15 +872,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", - "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz", + "integrity": "sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-remap-async-to-generator": "^7.27.1", - "@babel/traverse": "^7.28.0" + "@babel/traverse": "^7.29.0" }, "engines": { "node": ">=6.9.0" @@ -876,14 +890,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", - "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", + "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-remap-async-to-generator": "^7.27.1" }, "engines": { @@ -910,13 +924,13 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.4.tgz", - "integrity": "sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz", + "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -926,14 +940,14 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", - "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz", + "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -943,14 +957,14 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", - "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz", + "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.28.3", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -960,18 +974,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz", - "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz", + "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-compilation-targets": "^7.28.6", "@babel/helper-globals": "^7.28.0", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1", - "@babel/traverse": "^7.28.4" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -981,14 +995,14 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", - "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz", + "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/template": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/template": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -998,14 +1012,14 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", - "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", + "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.28.0" + "@babel/traverse": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -1015,14 +1029,14 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", - "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz", + "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1048,14 +1062,14 @@ } }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", - "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1081,14 +1095,14 @@ } }, "node_modules/@babel/plugin-transform-explicit-resource-management": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", - "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz", + "integrity": "sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.28.0" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -1098,13 +1112,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", - "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz", + "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1165,13 +1179,13 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", - "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz", + "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1197,13 +1211,13 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", - "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz", + "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1246,14 +1260,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", - "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1263,16 +1277,16 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", - "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.0.tgz", + "integrity": "sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.27.1" + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.29.0" }, "engines": { "node": ">=6.9.0" @@ -1299,14 +1313,14 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", - "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1332,13 +1346,13 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", - "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz", + "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1348,13 +1362,13 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", - "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz", + "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1364,17 +1378,17 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", - "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz", + "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/traverse": "^7.28.4" + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1401,13 +1415,13 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", - "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz", + "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1417,13 +1431,13 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", - "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz", + "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { @@ -1450,14 +1464,14 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", - "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz", + "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1467,15 +1481,15 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", - "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", + "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1533,17 +1547,17 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", - "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.28.6.tgz", + "integrity": "sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-syntax-jsx": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-syntax-jsx": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1569,13 +1583,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx/node_modules/@babel/plugin-syntax-jsx": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", - "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1602,13 +1616,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", - "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz", + "integrity": "sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1618,14 +1632,14 @@ } }, "node_modules/@babel/plugin-transform-regexp-modifiers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", - "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz", + "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1651,14 +1665,14 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz", - "integrity": "sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.0.tgz", + "integrity": "sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", "babel-plugin-polyfill-corejs2": "^0.4.14", "babel-plugin-polyfill-corejs3": "^0.13.0", "babel-plugin-polyfill-regenerator": "^0.6.5", @@ -1671,6 +1685,20 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-runtime/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", @@ -1688,13 +1716,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", - "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz", + "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { @@ -1753,17 +1781,17 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz", - "integrity": "sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.6.tgz", + "integrity": "sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/plugin-syntax-typescript": "^7.27.1" + "@babel/plugin-syntax-typescript": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1789,14 +1817,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", - "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz", + "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1823,14 +1851,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", - "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz", + "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1840,81 +1868,81 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz", - "integrity": "sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.0.tgz", + "integrity": "sha512-fNEdfc0yi16lt6IZo2Qxk3knHVdfMYX33czNb4v8yWhemoBhibCpQK/uYHtSKIiO+p/zd3+8fYVXhQdOVV608w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.28.0", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/compat-data": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.27.1", - "@babel/plugin-syntax-import-attributes": "^7.27.1", + "@babel/plugin-syntax-import-assertions": "^7.28.6", + "@babel/plugin-syntax-import-attributes": "^7.28.6", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.27.1", - "@babel/plugin-transform-async-generator-functions": "^7.28.0", - "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.29.0", + "@babel/plugin-transform-async-to-generator": "^7.28.6", "@babel/plugin-transform-block-scoped-functions": "^7.27.1", - "@babel/plugin-transform-block-scoping": "^7.28.0", - "@babel/plugin-transform-class-properties": "^7.27.1", - "@babel/plugin-transform-class-static-block": "^7.28.3", - "@babel/plugin-transform-classes": "^7.28.3", - "@babel/plugin-transform-computed-properties": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.28.0", - "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.6", + "@babel/plugin-transform-class-properties": "^7.28.6", + "@babel/plugin-transform-class-static-block": "^7.28.6", + "@babel/plugin-transform-classes": "^7.28.6", + "@babel/plugin-transform-computed-properties": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-dotall-regex": "^7.28.6", "@babel/plugin-transform-duplicate-keys": "^7.27.1", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.0", "@babel/plugin-transform-dynamic-import": "^7.27.1", - "@babel/plugin-transform-explicit-resource-management": "^7.28.0", - "@babel/plugin-transform-exponentiation-operator": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.6", + "@babel/plugin-transform-exponentiation-operator": "^7.28.6", "@babel/plugin-transform-export-namespace-from": "^7.27.1", "@babel/plugin-transform-for-of": "^7.27.1", "@babel/plugin-transform-function-name": "^7.27.1", - "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.28.6", "@babel/plugin-transform-literals": "^7.27.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.6", "@babel/plugin-transform-member-expression-literals": "^7.27.1", "@babel/plugin-transform-modules-amd": "^7.27.1", - "@babel/plugin-transform-modules-commonjs": "^7.27.1", - "@babel/plugin-transform-modules-systemjs": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.28.6", + "@babel/plugin-transform-modules-systemjs": "^7.29.0", "@babel/plugin-transform-modules-umd": "^7.27.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.0", "@babel/plugin-transform-new-target": "^7.27.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", - "@babel/plugin-transform-numeric-separator": "^7.27.1", - "@babel/plugin-transform-object-rest-spread": "^7.28.0", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6", + "@babel/plugin-transform-numeric-separator": "^7.28.6", + "@babel/plugin-transform-object-rest-spread": "^7.28.6", "@babel/plugin-transform-object-super": "^7.27.1", - "@babel/plugin-transform-optional-catch-binding": "^7.27.1", - "@babel/plugin-transform-optional-chaining": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.28.6", + "@babel/plugin-transform-optional-chaining": "^7.28.6", "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/plugin-transform-private-methods": "^7.27.1", - "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-private-methods": "^7.28.6", + "@babel/plugin-transform-private-property-in-object": "^7.28.6", "@babel/plugin-transform-property-literals": "^7.27.1", - "@babel/plugin-transform-regenerator": "^7.28.3", - "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.29.0", + "@babel/plugin-transform-regexp-modifiers": "^7.28.6", "@babel/plugin-transform-reserved-words": "^7.27.1", "@babel/plugin-transform-shorthand-properties": "^7.27.1", - "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-spread": "^7.28.6", "@babel/plugin-transform-sticky-regex": "^7.27.1", "@babel/plugin-transform-template-literals": "^7.27.1", "@babel/plugin-transform-typeof-symbol": "^7.27.1", "@babel/plugin-transform-unicode-escapes": "^7.27.1", - "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.28.6", "@babel/plugin-transform-unicode-regex": "^7.27.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.28.6", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.14", - "babel-plugin-polyfill-corejs3": "^0.13.0", - "babel-plugin-polyfill-regenerator": "^0.6.5", - "core-js-compat": "^3.43.0", + "babel-plugin-polyfill-corejs2": "^0.4.15", + "babel-plugin-polyfill-corejs3": "^0.14.0", + "babel-plugin-polyfill-regenerator": "^0.6.6", + "core-js-compat": "^3.48.0", "semver": "^6.3.1" }, "engines": { @@ -1940,15 +1968,15 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.27.1.tgz", - "integrity": "sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.28.5.tgz", + "integrity": "sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-validator-option": "^7.27.1", - "@babel/plugin-transform-react-display-name": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.28.0", "@babel/plugin-transform-react-jsx": "^7.27.1", "@babel/plugin-transform-react-jsx-development": "^7.27.1", "@babel/plugin-transform-react-pure-annotations": "^7.27.1" @@ -1961,9 +1989,9 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz", - "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", "dev": true, "license": "MIT", "dependencies": { @@ -1971,7 +1999,7 @@ "@babel/helper-validator-option": "^7.27.1", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-transform-modules-commonjs": "^7.27.1", - "@babel/plugin-transform-typescript": "^7.27.1" + "@babel/plugin-transform-typescript": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -1981,13 +2009,13 @@ } }, "node_modules/@babel/preset-typescript/node_modules/@babel/plugin-syntax-jsx": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", - "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1997,40 +2025,40 @@ } }, "node_modules/@babel/runtime": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", - "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", - "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", "debug": "^4.3.1" }, "engines": { @@ -2039,18 +2067,18 @@ }, "node_modules/@babel/traverse--for-generate-function-map": { "name": "@babel/traverse", - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", - "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "license": "MIT", "peer": true, "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", "debug": "^4.3.1" }, "engines": { @@ -2058,18 +2086,84 @@ } }, "node_modules/@babel/types": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", - "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@cacheable/memory": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@cacheable/memory/-/memory-2.0.7.tgz", + "integrity": "sha512-RbxnxAMf89Tp1dLhXMS7ceft/PGsDl1Ip7T20z5nZ+pwIAsQ1p2izPjVG69oCLv/jfQ7HDPHTWK0c9rcAWXN3A==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@cacheable/utils": "^2.3.3", + "@keyv/bigmap": "^1.3.0", + "hookified": "^1.14.0", + "keyv": "^5.5.5" + } + }, + "node_modules/@cacheable/memory/node_modules/@keyv/bigmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.1.tgz", + "integrity": "sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "hashery": "^1.4.0", + "hookified": "^1.15.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "keyv": "^5.6.0" + } + }, + "node_modules/@cacheable/memory/node_modules/keyv": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", + "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@keyv/serialize": "^1.1.1" + } + }, + "node_modules/@cacheable/utils": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.3.4.tgz", + "integrity": "sha512-knwKUJEYgIfwShABS1BX6JyJJTglAFcEU7EXqzTdiGCXur4voqkiJkdgZIQtWNFhynzDWERcTYv/sETMu3uJWA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "hashery": "^1.3.0", + "keyv": "^5.6.0" + } + }, + "node_modules/@cacheable/utils/node_modules/keyv": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", + "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@keyv/serialize": "^1.1.1" + } + }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -2081,10 +2175,95 @@ "node": ">=0.1.90" } }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-syntax-patches-for-csstree": { + "version": "1.0.27", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.27.tgz", + "integrity": "sha512-sxP33Jwg1bviSUXAV43cVYdmjt2TLnLXNqCWl9xmxHawWVjGz/kEbdkr7F9pxJNBN2Mh+dq0crgItbW6tQvyow==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "peer": true + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/media-query-list-parser": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-3.0.1.tgz", + "integrity": "sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.1", + "@csstools/css-tokenizer": "^3.0.1" + } + }, "node_modules/@cypress/request": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.9.tgz", - "integrity": "sha512-I3l7FdGRXluAS44/0NguwWlO83J18p0vlr2FYHrJkWdNYhgVoiYo61IXPqaOsL+vNxU1ZqMACzItGK3/KKDsdw==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.10.tgz", + "integrity": "sha512-hauBrOdvu08vOsagkZ/Aju5XuiZx6ldsLfByg1htFeldhex+PeMrYauANzFsMJeAA0+dyPLbDoX2OYuvVoLDkQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -2101,7 +2280,7 @@ "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", - "qs": "6.14.0", + "qs": "~6.14.1", "safe-buffer": "^5.1.2", "tough-cookie": "^5.0.0", "tunnel-agent": "^0.6.0", @@ -2152,6 +2331,76 @@ "node": ">=10.0.0" } }, + "node_modules/@dual-bundle/import-meta-resolve": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.2.1.tgz", + "integrity": "sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==", + "dev": true, + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/JounQin" + } + }, + "node_modules/@emnapi/core": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", + "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/core/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/@emnapi/runtime": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", + "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", + "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, "node_modules/@emotion/is-prop-valid": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz", @@ -2180,24 +2429,26 @@ "license": "MIT" }, "node_modules/@es-joy/jsdoccomment": { - "version": "0.36.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.36.1.tgz", - "integrity": "sha512-922xqFsTpHs6D0BUiG4toiyPOMc8/jafnWKxz1KWgS4XzKPy2qXf1Pe6UFuNSCQqt6tOuhAWXBNuuyUhJmw9Vg==", + "version": "0.50.2", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.50.2.tgz", + "integrity": "sha512-YAdE/IJSpwbOTiaURNCKECdAwqrJuFiZhylmesBcIRawtYKnBR2wxPhoIewMg+Yu+QuYvHfJNReWpoxGBKOChA==", "dev": true, "license": "MIT", "dependencies": { - "comment-parser": "1.3.1", - "esquery": "^1.4.0", - "jsdoc-type-pratt-parser": "~3.1.0" + "@types/estree": "^1.0.6", + "@typescript-eslint/types": "^8.11.0", + "comment-parser": "1.4.1", + "esquery": "^1.6.0", + "jsdoc-type-pratt-parser": "~4.1.0" }, "engines": { - "node": "^14 || ^16 || ^17 || ^18 || ^19" + "node": ">=18" } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2227,34 +2478,75 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", "dev": true, "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", - "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", + "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", "dev": true, "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", + "js-yaml": "^4.1.1", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -2267,10 +2559,23 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "license": "MIT", "dependencies": { @@ -2280,6 +2585,43 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/@eslint/js": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@html-validate/stylish": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-4.3.0.tgz", @@ -2293,54 +2635,73 @@ "node": ">= 18" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.10.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", - "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", - "deprecated": "Use @eslint/config-array instead", + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" }, "engines": { - "node": ">=10.10.0" + "node": ">=18.18.0" } }, - "node_modules/@humanwhocodes/gitignore-to-minimatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", - "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, "funding": { "type": "github", "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "deprecated": "Use @eslint/object-schema instead", + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, - "license": "BSD-3-Clause" + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } }, "node_modules/@isaacs/balanced-match": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "dev": true, "license": "MIT", "engines": { "node": "20 || >=22" } }, "node_modules/@isaacs/brace-expansion": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", - "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz", + "integrity": "sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==", + "dev": true, "license": "MIT", "dependencies": { "@isaacs/balanced-match": "^4.0.1" @@ -2350,64 +2711,12 @@ } }, "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz", + "integrity": "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==", + "license": "BlueOak-1.0.0", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=18" } }, "node_modules/@isaacs/ttlcache": { @@ -2610,6 +2919,30 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/@jest/transform/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "license": "ISC", + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/@jest/types": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", @@ -2673,6 +3006,14 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@keyv/serialize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz", + "integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/@kwsites/file-exists": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", @@ -2698,12 +3039,25 @@ "license": "MIT" }, "node_modules/@mdn/browser-compat-data": { - "version": "5.7.6", - "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.7.6.tgz", - "integrity": "sha512-7xdrMX0Wk7grrTZQwAoy1GkvPMFoizStUoL+VmtUkAxegbCCec+3FKwOM6yc/uGU5+BEczQHXAlWiqvM8JeENg==", + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-6.1.5.tgz", + "integrity": "sha512-PzdZZzRhcXvKB0begee28n5lvwAcinGKYuLZOVxHAZm+n7y01ddEGfdS1ZXRuVcV+ndG6mSEAE8vgudom5UjYg==", "dev": true, "license": "CC0-1.0" }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -2714,6 +3068,19 @@ "eslint-scope": "5.1.1" } }, + "node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -2752,57 +3119,293 @@ "node": ">= 8" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@peculiar/asn1-cms": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.6.1.tgz", + "integrity": "sha512-vdG4fBF6Lkirkcl53q6eOdn3XYKt+kJTG59edgRZORlg/3atWWEReRCx5rYE1ZzTTX6vLK5zDMjHh7vbrcXGtw==", "dev": true, "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "@peculiar/asn1-x509-attr": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" } }, - "node_modules/@pkgr/core": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.2.tgz", - "integrity": "sha512-fdDH1LSGfZdTH2sxdpVMw31BanV28K/Gry0cVFxaNP77neJSkd82mM8ErPNYs9e+0O7SdHBLTDzDgwUuy18RnQ==", + "node_modules/@peculiar/asn1-cms/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@peculiar/asn1-csr": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.6.1.tgz", + "integrity": "sha512-WRWnKfIocHyzFYQTka8O/tXCiBquAPSrRjXbOkHbO4qdmS6loffCEGs+rby6WxxGdJCuunnhS2duHURhjyio6w==", "dev": true, "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-csr/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@peculiar/asn1-ecc": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.6.1.tgz", + "integrity": "sha512-+Vqw8WFxrtDIN5ehUdvlN2m73exS2JVG0UAyfVB31gIfor3zWEAQPD+K9ydCxaj3MLen9k0JhKpu9LqviuCE1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-ecc/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@peculiar/asn1-pfx": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.6.1.tgz", + "integrity": "sha512-nB5jVQy3MAAWvq0KY0R2JUZG8bO/bTLpnwyOzXyEh/e54ynGTatAR+csOnXkkVD9AFZ2uL8Z7EV918+qB1qDvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-cms": "^2.6.1", + "@peculiar/asn1-pkcs8": "^2.6.1", + "@peculiar/asn1-rsa": "^2.6.1", + "@peculiar/asn1-schema": "^2.6.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-pfx/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@peculiar/asn1-pkcs8": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.6.1.tgz", + "integrity": "sha512-JB5iQ9Izn5yGMw3ZG4Nw3Xn/hb/G38GYF3lf7WmJb8JZUydhVGEjK/ZlFSWhnlB7K/4oqEs8HnfFIKklhR58Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-pkcs8/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@peculiar/asn1-pkcs9": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.6.1.tgz", + "integrity": "sha512-5EV8nZoMSxeWmcxWmmcolg22ojZRgJg+Y9MX2fnE2bGRo5KQLqV5IL9kdSQDZxlHz95tHvIq9F//bvL1OeNILw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-cms": "^2.6.1", + "@peculiar/asn1-pfx": "^2.6.1", + "@peculiar/asn1-pkcs8": "^2.6.1", + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "@peculiar/asn1-x509-attr": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-pkcs9/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@peculiar/asn1-rsa": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.6.1.tgz", + "integrity": "sha512-1nVMEh46SElUt5CB3RUTV4EG/z7iYc7EoaDY5ECwganibQPkZ/Y2eMsTKB/LeyrUJ+W/tKoD9WUqIy8vB+CEdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-rsa/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@peculiar/asn1-schema": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.6.0.tgz", + "integrity": "sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "asn1js": "^3.0.6", + "pvtsutils": "^1.3.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-schema/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@peculiar/asn1-x509": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.6.1.tgz", + "integrity": "sha512-O9jT5F1A2+t3r7C4VT7LYGXqkGLK7Kj1xFpz7U0isPrubwU5PbDoyYtx6MiGst29yq7pXN5vZbQFKRCP+lLZlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "asn1js": "^3.0.6", + "pvtsutils": "^1.3.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-x509-attr": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.6.1.tgz", + "integrity": "sha512-tlW6cxoHwgcQghnJwv3YS+9OO1737zgPogZ+CgWRUK4roEwIPzRH4JEiG770xe5HX2ATfCpmX60gurfWIF9dcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.1", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-x509-attr/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@peculiar/asn1-x509/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@peculiar/x509": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.14.3.tgz", + "integrity": "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-cms": "^2.6.0", + "@peculiar/asn1-csr": "^2.6.0", + "@peculiar/asn1-ecc": "^2.6.0", + "@peculiar/asn1-pkcs9": "^2.6.0", + "@peculiar/asn1-rsa": "^2.6.0", + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.0", + "pvtsutils": "^1.3.6", + "reflect-metadata": "^0.2.2", + "tslib": "^2.8.1", + "tsyringe": "^4.10.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@peculiar/x509/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", + "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/unts" + "url": "https://opencollective.com/pkgr" } }, "node_modules/@react-native/assets-registry": { - "version": "0.81.4", - "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.81.4.tgz", - "integrity": "sha512-AMcDadefBIjD10BRqkWw+W/VdvXEomR6aEZ0fhQRAv7igrBzb4PTn4vHKYg+sUK0e3wa74kcMy2DLc/HtnGcMA==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.80.3.tgz", + "integrity": "sha512-fy3tFtvNNiOPRyv8o04WDI50kXTHjosQgSp/QfrjMnlye2CfuQtjganDm6Yagx34l6OfYSQ/RlodqaplcIhvAw==", "license": "MIT", "peer": true, "engines": { - "node": ">= 20.19.4" + "node": ">=18" } }, "node_modules/@react-native/codegen": { - "version": "0.81.4", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.81.4.tgz", - "integrity": "sha512-LWTGUTzFu+qOQnvkzBP52B90Ym3stZT8IFCzzUrppz8Iwglg83FCtDZAR4yLHI29VY/x/+pkcWAMCl3739XHdw==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.80.3.tgz", + "integrity": "sha512-dHwjy54tNUsL/2My1LXwKmr02SNiwy9Zo48LE3OFfTY6LdIl6jMTB0ejzQTAyOzLHyEoam756U3kvNWPB1Kp0Q==", "license": "MIT", "peer": true, "dependencies": { "@babel/core": "^7.25.2", "@babel/parser": "^7.25.3", "glob": "^7.1.1", - "hermes-parser": "0.29.1", + "hermes-parser": "0.28.1", "invariant": "^2.2.4", "nullthrows": "^1.1.1", "yargs": "^17.6.2" }, "engines": { - "node": ">= 20.19.4" + "node": ">=18" }, "peerDependencies": { "@babel/core": "*" @@ -2812,7 +3415,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "license": "ISC", "peer": true, "dependencies": { @@ -2831,40 +3434,37 @@ } }, "node_modules/@react-native/community-cli-plugin": { - "version": "0.81.4", - "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.81.4.tgz", - "integrity": "sha512-8mpnvfcLcnVh+t1ok6V9eozWo8Ut+TZhz8ylJ6gF9d6q9EGDQX6s8jenan5Yv/pzN4vQEKI4ib2pTf/FELw+SA==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.80.3.tgz", + "integrity": "sha512-nv2j8KpgFDmAXlFig0D3lV2SRCWIOWfwd8QFJvPZMNQB5J4cdrb50lZCR7vc7zdX4+JaigALorPvDlkhXrMw/Q==", "license": "MIT", "peer": true, "dependencies": { - "@react-native/dev-middleware": "0.81.4", + "@react-native/dev-middleware": "0.80.3", + "chalk": "^4.0.0", "debug": "^4.4.0", "invariant": "^2.2.4", - "metro": "^0.83.1", - "metro-config": "^0.83.1", - "metro-core": "^0.83.1", + "metro": "^0.82.2", + "metro-config": "^0.82.2", + "metro-core": "^0.82.2", "semver": "^7.1.3" }, "engines": { - "node": ">= 20.19.4" + "node": ">=18" }, "peerDependencies": { - "@react-native-community/cli": "*", - "@react-native/metro-config": "*" + "@react-native-community/cli": "*" }, "peerDependenciesMeta": { "@react-native-community/cli": { "optional": true - }, - "@react-native/metro-config": { - "optional": true } } }, "node_modules/@react-native/community-cli-plugin/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "license": "ISC", "peer": true, "bin": { @@ -2875,24 +3475,24 @@ } }, "node_modules/@react-native/debugger-frontend": { - "version": "0.81.4", - "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.81.4.tgz", - "integrity": "sha512-SU05w1wD0nKdQFcuNC9D6De0ITnINCi8MEnx9RsTD2e4wN83ukoC7FpXaPCYyP6+VjFt5tUKDPgP1O7iaNXCqg==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.80.3.tgz", + "integrity": "sha512-TvNOHg9tshTQAz+Y6H9E+59Pb4EWDzKzwMx7lcXxUBs4YoQBMfdImQrGV1hHwcxOL+egA47KEn0QkqhPTUcufw==", "license": "BSD-3-Clause", "peer": true, "engines": { - "node": ">= 20.19.4" + "node": ">=18" } }, "node_modules/@react-native/dev-middleware": { - "version": "0.81.4", - "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.81.4.tgz", - "integrity": "sha512-hu1Wu5R28FT7nHXs2wWXvQ++7W7zq5GPY83llajgPlYKznyPLAY/7bArc5rAzNB7b0kwnlaoPQKlvD/VP9LZug==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.80.3.tgz", + "integrity": "sha512-FXp9NazbAojihqBxtr4rve8kyfJs+2YaZcoA7jdsgjFE0svzZQnvSQfDi+TJGzLQazj8V/H2oxWSNwJLjSDgDw==", "license": "MIT", "peer": true, "dependencies": { "@isaacs/ttlcache": "^1.4.1", - "@react-native/debugger-frontend": "0.81.4", + "@react-native/debugger-frontend": "0.80.3", "chrome-launcher": "^0.15.2", "chromium-edge-launcher": "^0.2.0", "connect": "^3.6.5", @@ -2904,7 +3504,7 @@ "ws": "^6.2.3" }, "engines": { - "node": ">= 20.19.4" + "node": ">=18" } }, "node_modules/@react-native/dev-middleware/node_modules/is-docker": { @@ -2964,32 +3564,39 @@ } }, "node_modules/@react-native/gradle-plugin": { - "version": "0.81.4", - "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.81.4.tgz", - "integrity": "sha512-T7fPcQvDDCSusZFVSg6H1oVDKb/NnVYLnsqkcHsAF2C2KGXyo3J7slH/tJAwNfj/7EOA2OgcWxfC1frgn9TQvw==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.80.3.tgz", + "integrity": "sha512-rUApWkofMn9vTlI0hRxsizENV0M/8VxD4rH64hs+MpQGCTIbs0kPVPPUPbGmordpJ0JesC0letW/pznv3kfP2A==", "license": "MIT", "peer": true, "engines": { - "node": ">= 20.19.4" + "node": ">=18" } }, "node_modules/@react-native/js-polyfills": { - "version": "0.81.4", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.81.4.tgz", - "integrity": "sha512-sr42FaypKXJHMVHhgSbu2f/ZJfrLzgaoQ+HdpRvKEiEh2mhFf6XzZwecyLBvWqf2pMPZa+CpPfNPiejXjKEy8w==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.80.3.tgz", + "integrity": "sha512-JWujn9Lp2zGAaT7vrVfaBPlpJnh7q2OMhLdxKllBuQzGapgG6lE6GOivSKiKlwQNUGGMpSoGQhX/EvwAOSkCLw==", "license": "MIT", "peer": true, "engines": { - "node": ">= 20.19.4" + "node": ">=18" } }, "node_modules/@react-native/normalize-colors": { - "version": "0.81.4", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.81.4.tgz", - "integrity": "sha512-9nRRHO1H+tcFqjb9gAM105Urtgcanbta2tuqCVY0NATHeFPDEAB7gPyiLxCHKMi1NbhP6TH0kxgSWXKZl1cyRg==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.80.3.tgz", + "integrity": "sha512-QPR06sBWbRkSqJmW2zL9C+SDCfIgkk3K9iqcUo2TqTr5A5JG3brhp/VYwWRTEv6tRcp6RnCDPbQGybEsz4c/vw==", "license": "MIT", "peer": true }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, "node_modules/@sidvind/better-ajv-errors": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@sidvind/better-ajv-errors/-/better-ajv-errors-3.0.1.tgz", @@ -3007,9 +3614,9 @@ } }, "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "version": "0.27.10", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.10.tgz", + "integrity": "sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==", "license": "MIT", "peer": true }, @@ -3053,6 +3660,29 @@ "dev": true, "license": "MIT" }, + "node_modules/@stylistic/stylelint-plugin": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-3.1.3.tgz", + "integrity": "sha512-85fsmzgsIVmyG3/GFrjuYj6Cz8rAM7IZiPiXCMiSMfoDOC1lOrzrXPDk24WqviAghnPqGpx8b0caK2PuewWGFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.1", + "@csstools/css-tokenizer": "^3.0.1", + "@csstools/media-query-list-parser": "^3.0.1", + "is-plain-object": "^5.0.0", + "postcss": "^8.4.41", + "postcss-selector-parser": "^6.1.2", + "postcss-value-parser": "^4.2.0", + "style-search": "^0.1.0" + }, + "engines": { + "node": "^18.12 || >=20.9" + }, + "peerDependencies": { + "stylelint": "^16.8.0" + } + }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", @@ -3378,6 +4008,25 @@ "node": ">=10.13.0" } }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tybys/wasm-util/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -3518,22 +4167,22 @@ "license": "MIT" }, "node_modules/@types/express": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.23.tgz", - "integrity": "sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==", + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", "dev": true, "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", - "@types/serve-static": "*" + "@types/serve-static": "^1" } }, "node_modules/@types/express-serve-static-core": { - "version": "4.19.7", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.7.tgz", - "integrity": "sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==", + "version": "4.19.8", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz", + "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==", "dev": true, "license": "MIT", "dependencies": { @@ -3554,9 +4203,9 @@ } }, "node_modules/@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==", "dev": true, "license": "MIT" }, @@ -3568,9 +4217,9 @@ "license": "MIT" }, "node_modules/@types/http-proxy": { - "version": "1.17.16", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.16.tgz", - "integrity": "sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==", + "version": "1.17.17", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz", + "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", "dev": true, "license": "MIT", "dependencies": { @@ -3635,31 +4284,13 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", - "dev": true, - "license": "MIT", - "peer": true - }, "node_modules/@types/node": { - "version": "24.7.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.7.0.tgz", - "integrity": "sha512-IbKooQVqUBrlzWTi79E8Fw78l8k1RNtlDDNWsFZs7XonuQSJ8oNYfEeclhprUldXISRMLzBpILuKgPlIxm+/Yw==", - "license": "MIT", - "dependencies": { - "undici-types": "~7.14.0" - } - }, - "node_modules/@types/node-forge": { - "version": "1.3.14", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", - "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", - "dev": true, + "version": "25.2.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.3.tgz", + "integrity": "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==", "license": "MIT", "dependencies": { - "@types/node": "*" + "undici-types": "~7.16.0" } }, "node_modules/@types/normalize-package-data": { @@ -3697,14 +4328,14 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "16.14.67", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.67.tgz", - "integrity": "sha512-6M9qGVD9UQWHDrBYvLKNHVRVsuFylGRaEoTLb8Y9eGAWxb0K0D84kViIcejUOq0RoEPSIOsipWRIEu46TS27ZQ==", + "version": "16.14.69", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.69.tgz", + "integrity": "sha512-NdnAamzkxLX9LBssSdt9Q0tQ3LR94hYxotI4/sRUs1vHKFXaDx9xDbK8S4wuw5bwrxiiXbTYyhKeITtFnwDvEA==", "license": "MIT", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "^0.16", - "csstype": "^3.0.2" + "csstype": "^3.2.2" } }, "node_modules/@types/react-dom": { @@ -3747,9 +4378,9 @@ "license": "MIT" }, "node_modules/@types/send": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.0.tgz", - "integrity": "sha512-zBF6vZJn1IaMpg3xUF25VK3gd3l8zwE0ZLRX7dsQyQi+jp4E8mMDJNGDYnYse+bQhYwWERTxVwHpi3dMOq7RKQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3767,9 +4398,9 @@ } }, "node_modules/@types/serve-static": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.9.tgz", - "integrity": "sha512-dOTIuqpWLyl3BBXU3maNQsS4A3zuuoYRNIvYSxxhebPfXg2mzWQEPne/nlJ37yOse6uGgR386uTpdsx4D0QZWA==", + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", "dev": true, "license": "MIT", "dependencies": { @@ -3779,9 +4410,9 @@ } }, "node_modules/@types/serve-static/node_modules/@types/send": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz", - "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==", + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", "dev": true, "license": "MIT", "dependencies": { @@ -3831,9 +4462,9 @@ } }, "node_modules/@types/yargs": { - "version": "17.0.33", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", - "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", "license": "MIT", "peer": true, "dependencies": { @@ -3858,194 +4489,156 @@ "@types/node": "*" } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", - "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "node_modules/@typescript-eslint/types": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.56.0.tgz", + "integrity": "sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ==", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/utils": "5.62.0" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, "peerDependenciesMeta": { "typescript": { "optional": true } } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=8" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, - "license": "BSD-2-Clause", + "license": "ISC", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=16 || 14 >=14.17" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -4055,58 +4648,42 @@ "node": ">=10" } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "node_modules/@typescript-eslint/visitor-keys/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -4126,112 +4703,381 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } + "optional": true, + "os": [ + "freebsd" + ] }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@xtuc/long": "4.2.2" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-gen": { @@ -4617,309 +5463,923 @@ } }, "node_modules/@wordpress/eslint-plugin": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-10.0.0.tgz", - "integrity": "sha512-OMPyXLwjvnDio/f1l2+FkwwtNO2hpHkTdJe8D1ie5QpUFQgVz7n59w9USMxdJ/XR2eDDLjVv1alwXEow1go+mg==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-24.1.0.tgz", + "integrity": "sha512-pYFV1XA2uWgryzdTB/IPF8vVO5MsduKIKBEpQFzPhvazZH5Gvc7orVpO5ZGIvkxKbFLNGmYdAUy2Cj0ng+tSdQ==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@babel/eslint-parser": "^7.16.0", - "@typescript-eslint/eslint-plugin": "^5.3.0", - "@typescript-eslint/parser": "^5.3.0", - "@wordpress/babel-preset-default": "^6.5.0", - "@wordpress/prettier-config": "^1.1.1", + "@babel/eslint-parser": "7.25.7", + "@typescript-eslint/eslint-plugin": "^6.4.1", + "@typescript-eslint/parser": "^6.4.1", + "@wordpress/babel-preset-default": "^8.39.0", + "@wordpress/prettier-config": "^4.39.0", + "@wordpress/theme": "^0.6.0", "cosmiconfig": "^7.0.0", "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import": "^2.25.2", - "eslint-plugin-jest": "^25.2.3", - "eslint-plugin-jsdoc": "^37.0.3", + "eslint-plugin-jest": "^27.4.3", + "eslint-plugin-jsdoc": "^46.4.6", "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-prettier": "^3.3.0", + "eslint-plugin-playwright": "^0.15.3", + "eslint-plugin-prettier": "^5.0.0", "eslint-plugin-react": "^7.27.0", "eslint-plugin-react-hooks": "^4.3.0", "globals": "^13.12.0", - "prettier": "npm:wp-prettier@2.2.1-beta-1", "requireindex": "^1.2.0" }, "engines": { - "node": ">=12", - "npm": ">=6.9" + "node": ">=18.12.0", + "npm": ">=8.19.2" }, "peerDependencies": { "@babel/core": ">=7", "eslint": ">=8", - "typescript": ">=4" + "prettier": ">=3", + "typescript": ">=5" }, "peerDependenciesMeta": { + "prettier": { + "optional": true + }, "typescript": { "optional": true } } }, - "node_modules/@wordpress/eslint-plugin/node_modules/@es-joy/jsdoccomment": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.20.1.tgz", - "integrity": "sha512-oeJK41dcdqkvdZy/HctKklJNkt/jh+av3PZARrZEl+fs/8HaHeeYoAvEwOV0u5I6bArTF17JEsTZMY359e/nfQ==", + "node_modules/@wordpress/eslint-plugin/node_modules/@babel/eslint-parser": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.7.tgz", + "integrity": "sha512-B+BO9x86VYsQHimucBAL1fxTJKF4wyKY6ZVzee9QgzdZOUfs3BaR6AQrgoGrRI+7IFS1wUz/VyQ+SoBcSpdPbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "dev": true, "license": "MIT", "dependencies": { - "comment-parser": "1.3.0", - "esquery": "^1.4.0", - "jsdoc-type-pratt-parser": "~2.2.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": "^12 || ^14 || ^16 || ^17" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@wordpress/eslint-plugin/node_modules/@types/react": { - "version": "17.0.89", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.89.tgz", - "integrity": "sha512-I98SaDCar5lvEYl80ClRIUztH/hyWHR+I2f+5yTVp/MQ205HgYkA2b5mVdry/+nsEIrf8I65KA5V/PASx68MsQ==", + "node_modules/@wordpress/eslint-plugin/node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.7.tgz", + "integrity": "sha512-vILAg5nwGlR9EXE8JIOX4NHXd49lrYbN8hnjffDtoULwpL9hUx/N55nqh2qd0q6FyNDfjl9V79ecKGvFbcSA0Q==", "dev": true, "license": "MIT", "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "^0.16", - "csstype": "^3.0.2" + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-module-imports": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/plugin-syntax-jsx": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@wordpress/eslint-plugin/node_modules/@types/react-dom": { - "version": "17.0.26", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.26.tgz", - "integrity": "sha512-Z+2VcYXJwOqQ79HreLU/1fyQ88eXSSFh6I3JdrEHQIfYSI0kCQpTGvOrbE6jFGGYXKsHuwY9tBa/w5Uo6KzrEg==", + "node_modules/@wordpress/eslint-plugin/node_modules/@babel/plugin-transform-runtime": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.7.tgz", + "integrity": "sha512-Y9p487tyTzB0yDYQOtWnC+9HGOuogtP3/wNpun1xJXEEvI6vip59BSBTsHnekZLqxmPcgsrAKt46HAAb//xGhg==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { - "@types/react": "^17.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@wordpress/eslint-plugin/node_modules/@wordpress/babel-plugin-import-jsx-pragma": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@wordpress/babel-plugin-import-jsx-pragma/-/babel-plugin-import-jsx-pragma-3.2.0.tgz", - "integrity": "sha512-XK3Sdpi9MWoy5qPHnRroY/ypX0VtT5yI5809u5As1P/3k4vlXNw8USH4lJ+rkurAOVqqN5mFlf2XAL9AkpfXyg==", + "node_modules/@wordpress/eslint-plugin/node_modules/@babel/preset-env": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.7.tgz", + "integrity": "sha512-Gibz4OUdyNqqLj+7OAvBZxOD7CklCtMA5/j0JgUEwOnaRULsPDXmic2iKxL2DX2vQduPR5wH2hjZas/Vr/Oc0g==", "dev": true, - "license": "GPL-2.0-or-later", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.7", + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-validator-option": "^7.25.7", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.7", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.25.7", + "@babel/plugin-syntax-import-attributes": "^7.25.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.25.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.7", + "@babel/plugin-transform-async-to-generator": "^7.25.7", + "@babel/plugin-transform-block-scoped-functions": "^7.25.7", + "@babel/plugin-transform-block-scoping": "^7.25.7", + "@babel/plugin-transform-class-properties": "^7.25.7", + "@babel/plugin-transform-class-static-block": "^7.25.7", + "@babel/plugin-transform-classes": "^7.25.7", + "@babel/plugin-transform-computed-properties": "^7.25.7", + "@babel/plugin-transform-destructuring": "^7.25.7", + "@babel/plugin-transform-dotall-regex": "^7.25.7", + "@babel/plugin-transform-duplicate-keys": "^7.25.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.7", + "@babel/plugin-transform-dynamic-import": "^7.25.7", + "@babel/plugin-transform-exponentiation-operator": "^7.25.7", + "@babel/plugin-transform-export-namespace-from": "^7.25.7", + "@babel/plugin-transform-for-of": "^7.25.7", + "@babel/plugin-transform-function-name": "^7.25.7", + "@babel/plugin-transform-json-strings": "^7.25.7", + "@babel/plugin-transform-literals": "^7.25.7", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.7", + "@babel/plugin-transform-member-expression-literals": "^7.25.7", + "@babel/plugin-transform-modules-amd": "^7.25.7", + "@babel/plugin-transform-modules-commonjs": "^7.25.7", + "@babel/plugin-transform-modules-systemjs": "^7.25.7", + "@babel/plugin-transform-modules-umd": "^7.25.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.7", + "@babel/plugin-transform-new-target": "^7.25.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.7", + "@babel/plugin-transform-numeric-separator": "^7.25.7", + "@babel/plugin-transform-object-rest-spread": "^7.25.7", + "@babel/plugin-transform-object-super": "^7.25.7", + "@babel/plugin-transform-optional-catch-binding": "^7.25.7", + "@babel/plugin-transform-optional-chaining": "^7.25.7", + "@babel/plugin-transform-parameters": "^7.25.7", + "@babel/plugin-transform-private-methods": "^7.25.7", + "@babel/plugin-transform-private-property-in-object": "^7.25.7", + "@babel/plugin-transform-property-literals": "^7.25.7", + "@babel/plugin-transform-regenerator": "^7.25.7", + "@babel/plugin-transform-reserved-words": "^7.25.7", + "@babel/plugin-transform-shorthand-properties": "^7.25.7", + "@babel/plugin-transform-spread": "^7.25.7", + "@babel/plugin-transform-sticky-regex": "^7.25.7", + "@babel/plugin-transform-template-literals": "^7.25.7", + "@babel/plugin-transform-typeof-symbol": "^7.25.7", + "@babel/plugin-transform-unicode-escapes": "^7.25.7", + "@babel/plugin-transform-unicode-property-regex": "^7.25.7", + "@babel/plugin-transform-unicode-regex": "^7.25.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.7", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.38.1", + "semver": "^6.3.1" + }, "engines": { - "node": ">=12" + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.12.9" + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@babel/preset-typescript": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.25.7.tgz", + "integrity": "sha512-rkkpaXJZOFN45Fb+Gki0c+KMIglk4+zZXOoMJuyEK8y8Kkc8Jd3BDmP7qPsz0zQMJj+UD7EprF+AqAXcILnexw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-validator-option": "^7.25.7", + "@babel/plugin-syntax-jsx": "^7.25.7", + "@babel/plugin-transform-modules-commonjs": "^7.25.7", + "@babel/plugin-transform-typescript": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@es-joy/jsdoccomment": { + "version": "0.41.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.41.0.tgz", + "integrity": "sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "comment-parser": "1.4.1", + "esquery": "^1.5.0", + "jsdoc-type-pratt-parser": "~4.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@types/react": { + "version": "18.3.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", + "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.2.2" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@wordpress/babel-preset-default": { + "version": "8.39.0", + "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-8.39.0.tgz", + "integrity": "sha512-H5rheT+rrXuPb9+ey5LemC8g4i5uGVndpalboEQHaXVpLII9B283+ZmtQZy1We1RdIyVXD6MB2EtSXt8R4oKuw==", + "dev": true, + "license": "GPL-2.0-or-later", + "dependencies": { + "@babel/core": "7.25.7", + "@babel/plugin-syntax-import-attributes": "7.26.0", + "@babel/plugin-transform-react-jsx": "7.25.7", + "@babel/plugin-transform-runtime": "7.25.7", + "@babel/preset-env": "7.25.7", + "@babel/preset-typescript": "7.25.7", + "@wordpress/browserslist-config": "^6.39.0", + "@wordpress/warning": "^3.39.0", + "browserslist": "^4.21.10", + "core-js": "^3.31.0", + "react": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@wordpress/browserslist-config": { + "version": "6.39.0", + "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-6.39.0.tgz", + "integrity": "sha512-fHVG274KKjgAyF7ruvKe+H2JXKh3T7wh3jMrLYoIUx39Hr/LfjYbnsVqWaUDyRhx4nLnk0XIpBfGc+38TDuROQ==", + "dev": true, + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@wordpress/element": { + "version": "6.39.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-6.39.0.tgz", + "integrity": "sha512-yVEjTddIVEsYjwRCY1pEzav/dGVH9S1xfwYwRyGsUGOQw5hXtIVnTbCIfQ2t3OCOGgSIYEh2ZmsSt0eTxZvtBw==", + "dev": true, + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/escape-html": "^3.39.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@wordpress/escape-html": { + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-3.39.0.tgz", + "integrity": "sha512-YhAmZYQsOnnfafMwInzy/M1AR77O59u4aaIVSqiQjvCLkY+BQABsU6AizDckCg57mF2SoDnARl6xQY/7FCwEmw==", + "dev": true, + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@wordpress/theme": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@wordpress/theme/-/theme-0.6.0.tgz", + "integrity": "sha512-n/O1djUn+jny46JyqCwD77nPV4zCUBIn+0ICp8fDYLXpQ7FfCfCrEfhlkQkcVB45KC1iu6IMAsLOA/9hzavHoQ==", + "dev": true, + "license": "GPL-2.0-or-later", + "dependencies": { + "@wordpress/element": "^6.39.0", + "@wordpress/private-apis": "^1.39.0", + "colorjs.io": "^0.6.0", + "memize": "^2.1.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0", + "stylelint": "^16.8.2" + }, + "peerDependenciesMeta": { + "stylelint": { + "optional": true + } + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@wordpress/warning": { + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/@wordpress/warning/-/warning-3.39.0.tgz", + "integrity": "sha512-NV2WoU4XxTqZU/3k2D5m5cHIw/uM2dlDgW5u1U5fmFIYLGg43WWMlSHQEu6F4tm7fqFt7k4qwT/FymucqHYp7Q==", + "dev": true, + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jest": { + "version": "27.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz", + "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^5.10.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0", + "eslint": "^7.0.0 || ^8.0.0", + "jest": "*" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jest/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@wordpress/eslint-plugin/node_modules/@wordpress/babel-preset-default": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-6.17.0.tgz", - "integrity": "sha512-mBB1KHWT2vN+maKIPYLQSxhhAzW6CNwYiJNRSNaNBALie9TULe7etrnwoZ1eqPVsuYvBlXB4XKcPaSm3/FW+qQ==", + "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jest/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, - "license": "GPL-2.0-or-later", - "dependencies": { - "@babel/core": "^7.16.0", - "@babel/plugin-transform-react-jsx": "^7.16.0", - "@babel/plugin-transform-runtime": "^7.16.0", - "@babel/preset-env": "^7.16.0", - "@babel/preset-typescript": "^7.16.0", - "@babel/runtime": "^7.16.0", - "@wordpress/babel-plugin-import-jsx-pragma": "^3.2.0", - "@wordpress/browserslist-config": "^4.1.2", - "@wordpress/element": "^4.13.0", - "@wordpress/warning": "^2.15.0", - "browserslist": "^4.17.6", - "core-js": "^3.19.1" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/@wordpress/eslint-plugin/node_modules/@wordpress/browserslist-config": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-4.1.3.tgz", - "integrity": "sha512-M4WQ0C4zCfMWyCmK40git3rfPdNkRwg5boGjoTL4LSdhrY+rtchFAtfOHS9KovAZ5ZzTB0gyZsCu/QKZlPClog==", + "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jsdoc": { + "version": "46.10.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.10.1.tgz", + "integrity": "sha512-x8wxIpv00Y50NyweDUpa+58ffgSAI5sqe+zcZh33xphD0AVh+1kqr1ombaTRb7Fhpove1zfUuujlX9DWWBP5ag==", "dev": true, - "license": "GPL-2.0-or-later", + "license": "BSD-3-Clause", + "dependencies": { + "@es-joy/jsdoccomment": "~0.41.0", + "are-docs-informative": "^0.0.2", + "comment-parser": "1.4.1", + "debug": "^4.3.4", + "escape-string-regexp": "^4.0.0", + "esquery": "^1.5.0", + "is-builtin-module": "^3.2.1", + "semver": "^7.5.4", + "spdx-expression-parse": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=16" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" } }, - "node_modules/@wordpress/eslint-plugin/node_modules/@wordpress/element": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-4.20.0.tgz", - "integrity": "sha512-Ou7EoGtGe4FUL6fKALINXJLKoSfyWTBJzkJfN2HzSgM1wira9EuWahl8MQN0HAUaWeOoDqMKPvnglfS+kC8JLA==", + "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jsdoc/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, - "license": "GPL-2.0-or-later", - "dependencies": { - "@babel/runtime": "^7.16.0", - "@types/react": "^17.0.37", - "@types/react-dom": "^17.0.11", - "@wordpress/escape-html": "^2.22.0", - "change-case": "^4.1.2", - "is-plain-object": "^5.0.0", - "react": "^17.0.2", - "react-dom": "^17.0.2" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/@wordpress/eslint-plugin/node_modules/@wordpress/escape-html": { - "version": "2.58.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.58.0.tgz", - "integrity": "sha512-9YJXMNfzkrhHEVP1jFEhgijbZqW8Mt3NHIMZjIQoWtBf7QE86umpYpGGBXzYC0YlpGTRGzZTBwYaqFKxjeaSgA==", + "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-playwright": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-0.15.3.tgz", + "integrity": "sha512-LQMW5y0DLK5Fnpya7JR1oAYL2/7Y9wDiYw6VZqlKqcRGSgjbVKNqxraphk7ra1U3Bb5EK444xMgUlQPbMg2M1g==", "dev": true, - "license": "GPL-2.0-or-later", - "dependencies": { - "@babel/runtime": "^7.16.0" + "license": "MIT", + "peerDependencies": { + "eslint": ">=7", + "eslint-plugin-jest": ">=25" }, - "engines": { - "node": ">=12" + "peerDependenciesMeta": { + "eslint-plugin-jest": { + "optional": true + } } }, - "node_modules/@wordpress/eslint-plugin/node_modules/comment-parser": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz", - "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==", + "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "dev": true, "license": "MIT", "engines": { - "node": ">= 12.0.0" + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "node_modules/@wordpress/eslint-plugin/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "node_modules/@wordpress/eslint-plugin/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "type-fest": "^0.20.2" }, "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-jsdoc": { - "version": "37.9.7", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.9.7.tgz", - "integrity": "sha512-8alON8yYcStY94o0HycU2zkLKQdcS+qhhOUNQpfONHHwvI99afbmfpYuPqf6PbLz5pLZldG3Te5I0RbAiTN42g==", + "node_modules/@wordpress/eslint-plugin/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@es-joy/jsdoccomment": "~0.20.1", - "comment-parser": "1.3.0", - "debug": "^4.3.3", - "escape-string-regexp": "^4.0.0", - "esquery": "^1.4.0", - "regextras": "^0.8.0", - "semver": "^7.3.5", - "spdx-expression-parse": "^3.0.1" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" }, "engines": { - "node": "^12 || ^14 || ^16 || ^17" + "node": ">=10" }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@wordpress/eslint-plugin/node_modules/eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "node_modules/@wordpress/eslint-plugin/node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, "license": "MIT", "dependencies": { - "prettier-linter-helpers": "^1.0.0" + "builtin-modules": "^3.3.0" }, "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "eslint": ">=5.0.0", - "prettier": ">=1.13.0" + "node": ">=6" }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@wordpress/eslint-plugin/node_modules/jsdoc-type-pratt-parser": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz", - "integrity": "sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", + "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", "dev": true, "license": "MIT", "engines": { "node": ">=12.0.0" } }, - "node_modules/@wordpress/eslint-plugin/node_modules/prettier": { - "name": "wp-prettier", - "version": "2.2.1-beta-1", - "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.2.1-beta-1.tgz", - "integrity": "sha512-+JHkqs9LC/JPp51yy1hzs3lQ7qeuWCwOcSzpQNeeY/G7oSpnF61vxt7hRh87zNRTr6ob2ndy0W8rVzhgrcA+Gw==", + "node_modules/@wordpress/eslint-plugin/node_modules/memize": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/memize/-/memize-2.1.1.tgz", + "integrity": "sha512-8Nl+i9S5D6KXnruM03Jgjb+LwSupvR13WBr4hJegaaEyobvowCVupi79y2WSiWvO1mzBWxPwEYE5feCe8vyA5w==", "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - } + "license": "MIT" }, "node_modules/@wordpress/eslint-plugin/node_modules/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "dev": true, "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/@wordpress/eslint-plugin/node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "17.0.2" + "react": "^18.3.1" } }, "node_modules/@wordpress/eslint-plugin/node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "dev": true, "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" } }, - "node_modules/@wordpress/eslint-plugin/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "node_modules/@wordpress/eslint-plugin/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@wordpress/eslint-plugin/node_modules/yaml": { @@ -4980,16 +6440,17 @@ } }, "node_modules/@wordpress/prettier-config": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@wordpress/prettier-config/-/prettier-config-1.4.0.tgz", - "integrity": "sha512-uvrgUAhRnOvIysXjcXH9VDsrKLqH9r3BfdGoy+WFLSHFnTfdMhW7bdDQXl4F4UIUuefUwGi+ZvT/rChg9zoBkQ==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@wordpress/prettier-config/-/prettier-config-4.39.0.tgz", + "integrity": "sha512-w9NPuyKZ8y7xLNRaXOK6TLw0HdcA9vQBmK65cd16w4WxyPwXwFVGBdwoi2og/RN3UBQLYci25zGp7GtiiVhG+Q==", "dev": true, "license": "GPL-2.0-or-later", "engines": { - "node": ">=12" + "node": ">=18.12.0", + "npm": ">=8.19.2" }, "peerDependencies": { - "prettier": ">=2" + "prettier": ">=3" } }, "node_modules/@wordpress/priority-queue": { @@ -5001,6 +6462,17 @@ "@babel/runtime": "^7.13.10" } }, + "node_modules/@wordpress/private-apis": { + "version": "1.39.0", + "resolved": "https://registry.npmjs.org/@wordpress/private-apis/-/private-apis-1.39.0.tgz", + "integrity": "sha512-ssMAzKtjPV/T1IEFWNSVeaecKG3mhRHYHPMy2Ajh7V8RpOCyYBOZ48kZGyOwd25uzQX5k634tmfW27qJ/SMVQA==", + "dev": true, + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/redux-routine": { "version": "3.14.2", "resolved": "https://registry.npmjs.org/@wordpress/redux-routine/-/redux-routine-3.14.2.tgz", @@ -5077,20 +6549,147 @@ "license": "MIT" }, "node_modules/@wordpress/stylelint-config": { - "version": "21.41.0", - "resolved": "https://registry.npmjs.org/@wordpress/stylelint-config/-/stylelint-config-21.41.0.tgz", - "integrity": "sha512-2wxFu8ICeRGF3Lxz7H7o2SU1u6pTI4mjuog39DgtCNb+v+f6yhgREDuNQEeti3Svb0rjj63AJ7r2CqLZk+EQIQ==", + "version": "23.31.0", + "resolved": "https://registry.npmjs.org/@wordpress/stylelint-config/-/stylelint-config-23.31.0.tgz", + "integrity": "sha512-+Vy769qVrjnSqCZCMolh5dHu1np+iZKkICQoccgF/VXXjp+dYLJaDzXqbKqtGU87oirUT7Q1tqWNovbuaBowIA==", "dev": true, "license": "MIT", "dependencies": { - "stylelint-config-recommended": "^6.0.0", - "stylelint-config-recommended-scss": "^5.0.2" + "@stylistic/stylelint-plugin": "^3.0.1", + "@wordpress/theme": "^0.6.0", + "stylelint-config-recommended": "^14.0.1", + "stylelint-config-recommended-scss": "^14.1.0" }, "engines": { - "node": ">=14" + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "stylelint": "^16.8.2", + "stylelint-scss": "^6.4.0" + } + }, + "node_modules/@wordpress/stylelint-config/node_modules/@types/react": { + "version": "18.3.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", + "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.2.2" + } + }, + "node_modules/@wordpress/stylelint-config/node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@wordpress/stylelint-config/node_modules/@wordpress/element": { + "version": "6.39.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-6.39.0.tgz", + "integrity": "sha512-yVEjTddIVEsYjwRCY1pEzav/dGVH9S1xfwYwRyGsUGOQw5hXtIVnTbCIfQ2t3OCOGgSIYEh2ZmsSt0eTxZvtBw==", + "dev": true, + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/escape-html": "^3.39.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/stylelint-config/node_modules/@wordpress/escape-html": { + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-3.39.0.tgz", + "integrity": "sha512-YhAmZYQsOnnfafMwInzy/M1AR77O59u4aaIVSqiQjvCLkY+BQABsU6AizDckCg57mF2SoDnARl6xQY/7FCwEmw==", + "dev": true, + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/stylelint-config/node_modules/@wordpress/theme": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@wordpress/theme/-/theme-0.6.0.tgz", + "integrity": "sha512-n/O1djUn+jny46JyqCwD77nPV4zCUBIn+0ICp8fDYLXpQ7FfCfCrEfhlkQkcVB45KC1iu6IMAsLOA/9hzavHoQ==", + "dev": true, + "license": "GPL-2.0-or-later", + "dependencies": { + "@wordpress/element": "^6.39.0", + "@wordpress/private-apis": "^1.39.0", + "colorjs.io": "^0.6.0", + "memize": "^2.1.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0", + "stylelint": "^16.8.2" + }, + "peerDependenciesMeta": { + "stylelint": { + "optional": true + } + } + }, + "node_modules/@wordpress/stylelint-config/node_modules/memize": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/memize/-/memize-2.1.1.tgz", + "integrity": "sha512-8Nl+i9S5D6KXnruM03Jgjb+LwSupvR13WBr4hJegaaEyobvowCVupi79y2WSiWvO1mzBWxPwEYE5feCe8vyA5w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@wordpress/stylelint-config/node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@wordpress/stylelint-config/node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" }, "peerDependencies": { - "stylelint": "^14.2" + "react": "^18.3.1" + } + }, + "node_modules/@wordpress/stylelint-config/node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" } }, "node_modules/@wordpress/url": { @@ -5105,9 +6704,9 @@ } }, "node_modules/@wordpress/url/node_modules/@react-native/virtualized-lists": { - "version": "0.81.4", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.81.4.tgz", - "integrity": "sha512-hBM+rMyL6Wm1Q4f/WpqGsaCojKSNUBqAXLABNGoWm1vabZ7cSnARMxBvA/2vo3hLcoR4v7zDK8tkKm9+O0LjVA==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.80.3.tgz", + "integrity": "sha512-ueFQDENYCeZnmfMiGV7HjpcN37cFmuxAw2JEEvBp0LygrFoMpp5lXvKz8FclpamX7DAvwhNW4+w+v/rtgeyuAQ==", "license": "MIT", "peer": true, "dependencies": { @@ -5115,10 +6714,10 @@ "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 20.19.4" + "node": ">=18" }, "peerDependencies": { - "@types/react": "^19.1.0", + "@types/react": "^19.0.0", "react": "*", "react-native": "*" }, @@ -5129,14 +6728,14 @@ } }, "node_modules/@wordpress/url/node_modules/@types/react": { - "version": "19.2.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz", - "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==", + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "csstype": "^3.0.2" + "csstype": "^3.2.2" } }, "node_modules/@wordpress/url/node_modules/commander": { @@ -5153,7 +6752,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "license": "ISC", "peer": true, "dependencies": { @@ -5172,9 +6771,9 @@ } }, "node_modules/@wordpress/url/node_modules/react": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", - "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", "license": "MIT", "peer": true, "engines": { @@ -5182,38 +6781,39 @@ } }, "node_modules/@wordpress/url/node_modules/react-native": { - "version": "0.81.4", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.81.4.tgz", - "integrity": "sha512-bt5bz3A/+Cv46KcjV0VQa+fo7MKxs17RCcpzjftINlen4ZDUl0I6Ut+brQ2FToa5oD0IB0xvQHfmsg2EDqsZdQ==", + "version": "0.80.3", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.80.3.tgz", + "integrity": "sha512-HLqcRHBsy8e/Za4IziKsEWKHhd7Gq2bn852vuH5SA2urNVSoZ8JuhlhQeGz3xr0m9GCpItIGNh45hgykTpbwGA==", "license": "MIT", "peer": true, "dependencies": { "@jest/create-cache-key-function": "^29.7.0", - "@react-native/assets-registry": "0.81.4", - "@react-native/codegen": "0.81.4", - "@react-native/community-cli-plugin": "0.81.4", - "@react-native/gradle-plugin": "0.81.4", - "@react-native/js-polyfills": "0.81.4", - "@react-native/normalize-colors": "0.81.4", - "@react-native/virtualized-lists": "0.81.4", + "@react-native/assets-registry": "0.80.3", + "@react-native/codegen": "0.80.3", + "@react-native/community-cli-plugin": "0.80.3", + "@react-native/gradle-plugin": "0.80.3", + "@react-native/js-polyfills": "0.80.3", + "@react-native/normalize-colors": "0.80.3", + "@react-native/virtualized-lists": "0.80.3", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", "babel-jest": "^29.7.0", - "babel-plugin-syntax-hermes-parser": "0.29.1", + "babel-plugin-syntax-hermes-parser": "0.28.1", "base64-js": "^1.5.1", + "chalk": "^4.0.0", "commander": "^12.0.0", "flow-enums-runtime": "^0.0.6", "glob": "^7.1.1", "invariant": "^2.2.4", "jest-environment-node": "^29.7.0", "memoize-one": "^5.0.0", - "metro-runtime": "^0.83.1", - "metro-source-map": "^0.83.1", + "metro-runtime": "^0.82.2", + "metro-source-map": "^0.82.2", "nullthrows": "^1.1.1", "pretty-format": "^29.7.0", "promise": "^8.3.0", - "react-devtools-core": "^6.1.5", + "react-devtools-core": "^6.1.1", "react-refresh": "^0.14.0", "regenerator-runtime": "^0.13.2", "scheduler": "0.26.0", @@ -5227,7 +6827,7 @@ "react-native": "cli.js" }, "engines": { - "node": ">= 20.19.4" + "node": ">=18" }, "peerDependencies": { "@types/react": "^19.1.0", @@ -5259,9 +6859,9 @@ "peer": true }, "node_modules/@wordpress/url/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "license": "ISC", "peer": true, "bin": { @@ -5367,7 +6967,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, "license": "MIT", "dependencies": { "clean-stack": "^2.0.0", @@ -5377,6 +6976,15 @@ "node": ">=8" } }, + "node_modules/aggregate-error/node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/airbnb-prop-types": { "version": "2.16.0", "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz", @@ -5443,9 +7051,9 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "dependencies": { @@ -5509,19 +7117,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ansi-html-community": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", @@ -5603,6 +7198,16 @@ ], "license": "MIT" }, + "node_modules/are-docs-informative": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", + "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -5675,13 +7280,16 @@ } }, "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/array.prototype.find": { @@ -5724,6 +7332,28 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array.prototype.flat": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", @@ -5799,17 +7429,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", @@ -5827,6 +7446,28 @@ "safer-buffer": "~2.1.0" } }, + "node_modules/asn1js": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.7.tgz", + "integrity": "sha512-uLvq6KJu04qoQM6gvBfKFjlh6Gl0vOKQuR5cJMDHQkmwfMOQeN3F3SHCv9SNYSL+CRoHvOGFfllDlVz03GQjvQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/asn1js/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, "node_modules/assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", @@ -5847,6 +7488,13 @@ "@mdn/browser-compat-data": "^5.6.19" } }, + "node_modules/ast-metadata-inferer/node_modules/@mdn/browser-compat-data": { + "version": "5.7.6", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.7.6.tgz", + "integrity": "sha512-7xdrMX0Wk7grrTZQwAoy1GkvPMFoizStUoL+VmtUkAxegbCCec+3FKwOM6yc/uGU5+BEczQHXAlWiqvM8JeENg==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/ast-types-flow": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", @@ -5947,9 +7595,9 @@ "license": "MIT" }, "node_modules/axe-core": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.3.tgz", - "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.1.tgz", + "integrity": "sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==", "dev": true, "license": "MPL-2.0", "engines": { @@ -5988,6 +7636,16 @@ "@babel/core": "^7.8.0" } }, + "node_modules/babel-jest/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, "node_modules/babel-loader": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", @@ -6040,14 +7698,14 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", - "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.15.tgz", + "integrity": "sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.7", - "@babel/helper-define-polyfill-provider": "^0.6.5", + "@babel/compat-data": "^7.28.6", + "@babel/helper-define-polyfill-provider": "^0.6.6", "semver": "^6.3.1" }, "peerDependencies": { @@ -6055,27 +7713,27 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", - "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.0.tgz", + "integrity": "sha512-AvDcMxJ34W4Wgy4KBIIePQTAOP1Ie2WFwkQp3dB7FQ/f0lI5+nM96zUnYEOE1P9sEg0es5VCP0HxiWu5fUHZAQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.5", - "core-js-compat": "^3.43.0" + "@babel/helper-define-polyfill-provider": "^0.6.6", + "core-js-compat": "^3.48.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", - "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.6.tgz", + "integrity": "sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.5" + "@babel/helper-define-polyfill-provider": "^0.6.6" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -6098,13 +7756,13 @@ } }, "node_modules/babel-plugin-syntax-hermes-parser": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.29.1.tgz", - "integrity": "sha512-2WFYnoWGdmih1I1J5eIqxATOeycOqRwYxAQBu3cUu/rhwInwHUg7k60AFNbuGjSDL8tje5GDrAnxzRLcu2pYcA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.28.1.tgz", + "integrity": "sha512-meT17DOuUElMNsL5LZN56d+KBp22hb0EfxWfuPUeoSi54e40v1W4C2V36P75FpsH9fVEfDKpw5Nnkahc8haSsQ==", "license": "MIT", "peer": true, "dependencies": { - "hermes-parser": "0.29.1" + "hermes-parser": "0.28.1" } }, "node_modules/babel-preset-current-node-syntax": { @@ -6188,9 +7846,9 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.9.5", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.5.tgz", - "integrity": "sha512-D5vIoztZOq1XM54LUdttJVc96ggEsIfju2JBvht06pSzpckp3C7HReun67Bghzrtdsq9XdMGbSSB3v3GhMNmAA==", + "version": "2.9.19", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.js" @@ -6251,24 +7909,24 @@ "license": "MIT" }, "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", "dev": true, "license": "MIT", "dependencies": { - "bytes": "3.1.2", + "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", "type-is": "~1.6.18", - "unpipe": "1.0.0" + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8", @@ -6318,22 +7976,6 @@ "node": ">= 0.8" } }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/bonjour-service": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", @@ -6455,9 +8097,9 @@ } }, "node_modules/browserslist": { - "version": "4.26.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz", - "integrity": "sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "funding": [ { "type": "opencollective", @@ -6474,11 +8116,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.8.9", - "caniuse-lite": "^1.0.30001746", - "electron-to-chromium": "^1.5.227", - "node-releases": "^2.0.21", - "update-browserslist-db": "^1.1.3" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" @@ -6583,6 +8225,31 @@ "node": ">= 0.8" } }, + "node_modules/bytestreamjs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bytestreamjs/-/bytestreamjs-2.0.1.tgz", + "integrity": "sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/cacheable": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.3.2.tgz", + "integrity": "sha512-w+ZuRNmex9c1TR9RcsxbfTKCjSL0rh1WA5SABbrWprIHeNBdmyQLSYonlDy9gpD+63XT8DgZ/wNh1Smvc9WnJA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@cacheable/memory": "^2.0.7", + "@cacheable/utils": "^2.3.3", + "hookified": "^1.15.0", + "keyv": "^5.5.5", + "qified": "^0.6.0" + } + }, "node_modules/cacheable-lookup": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", @@ -6612,6 +8279,17 @@ "node": ">=8" } }, + "node_modules/cacheable/node_modules/keyv": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", + "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@keyv/serialize": "^1.1.1" + } + }, "node_modules/cachedir": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", @@ -6669,6 +8347,42 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "license": "MIT", + "peer": true, + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -6709,47 +8423,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-keys/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-keys/node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/camelize": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", @@ -6760,9 +8433,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001748", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001748.tgz", - "integrity": "sha512-5P5UgAr0+aBmNiplks08JLw+AW/XG/SurlgZLgB1dDLfAw7EfRGxIwzPHxdSCGY/BTKDqIVyJL87cCN6s0ZR0w==", + "version": "1.0.30001770", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001770.tgz", + "integrity": "sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==", "funding": [ { "type": "opencollective", @@ -7007,10 +8680,9 @@ } }, "node_modules/ci-info": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", - "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", - "dev": true, + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", "funding": [ { "type": "github", @@ -7055,7 +8727,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -7155,23 +8826,6 @@ "node": ">=12" } }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", @@ -7281,6 +8935,17 @@ "dev": true, "license": "MIT" }, + "node_modules/colorjs.io": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.6.1.tgz", + "integrity": "sha512-8lyR2wHzuIykCpqHKgluGsqQi5iDm3/a2IgP2GBZrasn2sBRkE4NOGsglZxWLs/jZQoNkmA/KM/8NV16rLUdBg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/color" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -7305,9 +8970,9 @@ } }, "node_modules/comment-parser": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", - "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", "dev": true, "license": "MIT", "engines": { @@ -7517,9 +9182,9 @@ } }, "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", "dev": true, "license": "MIT" }, @@ -7555,19 +9220,6 @@ "webpack": "^5.1.0" } }, - "node_modules/copy-webpack-plugin/node_modules/array-union": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", - "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/copy-webpack-plugin/node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -7581,44 +9233,10 @@ "node": ">=10.13.0" } }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", - "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^3.0.1", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.7", - "ignore": "^5.1.9", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/core-js": { - "version": "3.45.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.45.1.tgz", - "integrity": "sha512-L4NPsJlCfZsPeXukyzHFlg/i7IIVwHSItR0wg0FLNqYClJ4MQYTYLbC7EkjKYRLZF2iof2MUgN0EGy7MdQFChg==", + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.48.0.tgz", + "integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -7628,13 +9246,13 @@ } }, "node_modules/core-js-compat": { - "version": "3.45.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.1.tgz", - "integrity": "sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==", + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.48.0.tgz", + "integrity": "sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.25.3" + "browserslist": "^4.28.1" }, "funding": { "type": "opencollective", @@ -7648,9 +9266,9 @@ "license": "MIT" }, "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", "dev": true, "license": "MIT", "dependencies": { @@ -7659,6 +9277,10 @@ }, "engines": { "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/cosmiconfig": { @@ -7696,9 +9318,9 @@ "license": "Python-2.0" }, "node_modules/cosmiconfig/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "license": "MIT", "dependencies": { @@ -7751,14 +9373,14 @@ } }, "node_modules/css-functions-list": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz", - "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.3.3.tgz", + "integrity": "sha512-8HFEBPKhOpJPEPu70wJJetjKta86Gw9+CCyCnB3sui2qQfOvRyqBy4IKLKKAwdMpWb2lHXWk9Wb4Z6AmaUT1Pg==", "dev": true, "license": "MIT", "peer": true, "engines": { - "node": ">=12 || >=16" + "node": ">=12" } }, "node_modules/css-loader": { @@ -7789,9 +9411,9 @@ } }, "node_modules/css-loader/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -7830,13 +9452,13 @@ } }, "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", "dev": true, "license": "MIT", "dependencies": { - "mdn-data": "2.0.30", + "mdn-data": "2.12.2", "source-map-js": "^1.0.1" }, "engines": { @@ -7913,9 +9535,9 @@ "license": "CC0-1.0" }, "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", "license": "MIT" }, "node_modules/cypress": { @@ -8064,9 +9686,9 @@ } }, "node_modules/cypress/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -8174,9 +9796,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.18", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.18.tgz", - "integrity": "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==", + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", "dev": true, "license": "MIT" }, @@ -8197,46 +9819,6 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/decompress-response": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", @@ -8284,9 +9866,9 @@ } }, "node_modules/default-browser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", "dev": true, "license": "MIT", "dependencies": { @@ -8301,9 +9883,9 @@ } }, "node_modules/default-browser-id": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", "dev": true, "license": "MIT", "engines": { @@ -8448,9 +10030,9 @@ } }, "node_modules/diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.1.tgz", + "integrity": "sha512-Z3u54A8qGyqFOSr2pk0ijYs8mOE9Qz8kTvtKeBI+upoG9j04Sq+oI7W8zAJiQybDcESET8/uIdHzs0p3k4fZlw==", "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" @@ -8509,16 +10091,16 @@ } }, "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, "node_modules/document.contains": { @@ -8634,6 +10216,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, "license": "MIT" }, "node_modules/easy-extender": { @@ -8678,15 +10261,16 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.232", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.232.tgz", - "integrity": "sha512-ENirSe7wf8WzyPCibqKUG1Cg43cPaxH4wRR7AJsX7MCABCHBIOFqvaYODSLKUuZdraxUTHRE/0A2Aq8BYKEHOg==", + "version": "1.5.286", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", + "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", "license": "ISC" }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, "license": "MIT" }, "node_modules/emojis-list": { @@ -8728,9 +10312,9 @@ } }, "node_modules/engine.io": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", - "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", + "version": "6.6.5", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.5.tgz", + "integrity": "sha512-2RZdgEbXmp5+dVbRm0P7HQUImZpICccJy7rN7Tv+SFa55pH+lxnuw6/K1ZxxBfHoYpSkHLAO92oa8O4SwFXA2A==", "dev": true, "license": "MIT", "dependencies": { @@ -8740,46 +10324,28 @@ "base64id": "2.0.0", "cookie": "~0.7.2", "cors": "~2.8.5", - "debug": "~4.3.1", + "debug": "~4.4.1", "engine.io-parser": "~5.2.1", - "ws": "~8.17.1" + "ws": "~8.18.3" }, "engines": { "node": ">=10.2.0" } }, "node_modules/engine.io-client": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.3.tgz", - "integrity": "sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==", + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.4.tgz", + "integrity": "sha512-+kjUJnZGwzewFDw951CDWcwj35vMNf2fcj7xQWOctq1F2i1jkDdVvdFG9kM/BEChymCH36KgjnW0NsL58JYRxw==", "dev": true, "license": "MIT", "dependencies": { "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1", + "debug": "~4.4.1", "engine.io-parser": "~5.2.1", - "ws": "~8.17.1", + "ws": "~8.18.3", "xmlhttprequest-ssl": "~2.1.1" } }, - "node_modules/engine.io-client/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/engine.io-parser": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", @@ -8790,24 +10356,6 @@ "node": ">=10.0.0" } }, - "node_modules/engine.io/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/enhanced-resolve": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", @@ -8849,10 +10397,21 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/envinfo": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.17.0.tgz", - "integrity": "sha512-GpfViocsFM7viwClFgxK26OtjMlKN67GCR5v6ASFkotxtpBWd9d+vNy+AH7F2E1TUkMDZ8P/dDPZX71/NG8xnQ==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz", + "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==", "dev": true, "license": "MIT", "bin": { @@ -8872,7 +10431,6 @@ "version": "1.3.4", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", - "dev": true, "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" @@ -8889,9 +10447,9 @@ } }, "node_modules/es-abstract": { - "version": "1.24.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", - "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", + "version": "1.24.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", + "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.2", @@ -8975,27 +10533,27 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz", + "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.8", - "call-bound": "^1.0.3", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", + "es-abstract": "^1.24.1", "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", + "es-set-tostringtag": "^2.1.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", + "get-intrinsic": "^1.3.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", "has-proto": "^1.2.0", "has-symbols": "^1.1.0", "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", + "iterator.prototype": "^1.1.5", "safe-array-concat": "^1.1.3" }, "engines": { @@ -9093,61 +10651,63 @@ } }, "node_modules/eslint": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.22.0.tgz", - "integrity": "sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.10.4", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", - "ajv": "^6.10.0", + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.3", - "esquery": "^1.4.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.15.0", - "globby": "^11.1.0", - "grapheme-splitter": "^1.0.4", + "glob-parent": "^6.0.2", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, "node_modules/eslint-config-prettier": { @@ -9163,33 +10723,87 @@ "eslint": ">=7.0.0" } }, + "node_modules/eslint-import-context": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/eslint-import-context/-/eslint-import-context-0.1.9.tgz", + "integrity": "sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-tsconfig": "^4.10.1", + "stable-hash-x": "^0.2.0" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-context" + }, + "peerDependencies": { + "unrs-resolver": "^1.0.0" + }, + "peerDependenciesMeta": { + "unrs-resolver": { + "optional": true + } + } + }, "node_modules/eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, "license": "MIT", "dependencies": { - "debug": "^2.6.9", - "resolve": "^1.13.1" + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, - "node_modules/eslint-import-resolver-node/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/eslint-import-resolver-typescript": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-4.4.4.tgz", + "integrity": "sha512-1iM2zeBvrYmUNTj2vSC/90JTHDth+dfOfiNKkxApWRsTJYNrc8rOdxxIf5vazX+BiAXTeOT0UvWpGI/7qIWQOw==", "dev": true, - "license": "MIT" + "license": "ISC", + "dependencies": { + "debug": "^4.4.1", + "eslint-import-context": "^0.1.8", + "get-tsconfig": "^4.10.1", + "is-bun-module": "^2.0.0", + "stable-hash-x": "^0.2.0", + "tinyglobby": "^0.2.14", + "unrs-resolver": "^1.7.11" + }, + "engines": { + "node": "^16.17.0 || >=18.6.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } }, "node_modules/eslint-import-resolver-webpack": { "version": "0.13.10", @@ -9228,19 +10842,25 @@ } }, "node_modules/eslint-import-resolver-webpack/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "version": "2.0.0-next.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", + "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9284,31 +10904,32 @@ } }, "node_modules/eslint-plugin-compat": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.2.0.tgz", - "integrity": "sha512-RDKSYD0maWy5r7zb5cWQS+uSPc26mgOzdORJ8hxILmWM7S/Ncwky7BcAtXVY5iRbKjBdHsWU8Yg7hfoZjtkv7w==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-6.1.0.tgz", + "integrity": "sha512-xiwHz7mj6+Zj7NWOO/uaWdrQ6zP0zL5CPyKVCNlB4JaoUFeYPYwejf5toqyHGlXzhuPUdCpg31uBRiWqcgiS0A==", "dev": true, "license": "MIT", "dependencies": { - "@mdn/browser-compat-data": "^5.3.13", - "ast-metadata-inferer": "^0.8.0", - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001524", + "@mdn/browser-compat-data": "^6.1.1", + "ast-metadata-inferer": "^0.8.1", + "browserslist": "^4.25.2", + "caniuse-lite": "^1.0.30001687", "find-up": "^5.0.0", + "globals": "^15.7.0", "lodash.memoize": "^4.1.2", - "semver": "^7.5.4" + "semver": "^7.6.2" }, "engines": { - "node": ">=14.x" + "node": ">=18.x" }, "peerDependencies": { - "eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" } }, "node_modules/eslint-plugin-compat/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -9319,82 +10940,53 @@ } }, "node_modules/eslint-plugin-cypress": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-3.6.0.tgz", - "integrity": "sha512-7IAMcBbTVu5LpWeZRn5a9mQ30y4hKp3AfTz+6nSD/x/7YyLMoBI6X7XjDLYI6zFvuy4Q4QVGl563AGEXGW/aSA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-4.3.0.tgz", + "integrity": "sha512-CgS/S940MJlT8jtnWGKI0LvZQBGb/BB0QCpgBOxFMM/Z6znD+PZUwBhCTwHKN2GEr5AOny3xB92an0QfzBGooQ==", "dev": true, "license": "MIT", "dependencies": { - "globals": "^13.20.0" + "globals": "^15.15.0" }, "peerDependencies": { - "eslint": ">=7" + "eslint": ">=9" } }, "node_modules/eslint-plugin-import": { - "version": "2.25.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.2.tgz", - "integrity": "sha512-qCwQr9TYfoBHOFcVGKY9C9unq05uOxxdklmBXLVvcwo68y5Hta6/GzCZEMx2zQiu0woKNEER0LE7ZgaOfBU14g==", + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.0", - "has": "^1.0.3", - "is-core-module": "^2.7.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", "is-glob": "^4.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.5", - "resolve": "^1.20.0", - "tsconfig-paths": "^3.11.0" + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-plugin-import/node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", @@ -9404,71 +10996,35 @@ "ms": "^2.1.1" } }, - "node_modules/eslint-plugin-import/node_modules/eslint-import-resolver-node/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/experimental-utils": "^5.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } - } - }, "node_modules/eslint-plugin-jsdoc": { - "version": "39.9.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.9.1.tgz", - "integrity": "sha512-Rq2QY6BZP2meNIs48aZ3GlIlJgBqFCmR55+UBvaDkA3ZNQ0SvQXOs2QKkubakEijV8UbIVbVZKsOVN8G3MuqZw==", + "version": "50.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.8.0.tgz", + "integrity": "sha512-UyGb5755LMFWPrZTEqqvTJ3urLz1iqj+bYOHFNag+sw3NvaMWP9K2z+uIn37XfNALmQLQyrBlJ5mkiVPL7ADEg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@es-joy/jsdoccomment": "~0.36.1", - "comment-parser": "1.3.1", - "debug": "^4.3.4", + "@es-joy/jsdoccomment": "~0.50.2", + "are-docs-informative": "^0.0.2", + "comment-parser": "1.4.1", + "debug": "^4.4.1", "escape-string-regexp": "^4.0.0", - "esquery": "^1.4.0", - "semver": "^7.3.8", - "spdx-expression-parse": "^3.0.1" + "espree": "^10.3.0", + "esquery": "^1.6.0", + "parse-imports-exports": "^0.2.4", + "semver": "^7.7.2", + "spdx-expression-parse": "^4.0.0" }, "engines": { - "node": "^14 || ^16 || ^17 || ^18 || ^19" + "node": ">=18" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" } }, "node_modules/eslint-plugin-jsdoc/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -9509,34 +11065,35 @@ } }, "node_modules/eslint-plugin-no-jquery": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz", - "integrity": "sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-3.1.1.tgz", + "integrity": "sha512-LTLO3jH/Tjr1pmxCEqtV6qmt+OChv8La4fwgG470JRpgxyFF4NOzoC9CRy92GIWD3Yjl0qLEgPmD2FLQWcNEjg==", "dev": true, "license": "MIT", "peerDependencies": { - "eslint": ">=2.3.0" + "eslint": ">=8.0.0" } }, "node_modules/eslint-plugin-prettier": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.0.tgz", - "integrity": "sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==", + "version": "5.5.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.5.tgz", + "integrity": "sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==", "dev": true, "license": "MIT", "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.5" + "prettier-linter-helpers": "^1.0.1", + "synckit": "^0.11.12" }, "engines": { "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/prettier" + "url": "https://opencollective.com/eslint-plugin-prettier" }, "peerDependencies": { "@types/eslint": ">=8.0.0", "eslint": ">=8.0.0", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", "prettier": ">=3.0.0" }, "peerDependenciesMeta": { @@ -9581,115 +11138,160 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", - "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", + "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", "dev": true, "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "node_modules/eslint-plugin-sonarjs": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-3.0.7.tgz", + "integrity": "sha512-62jB20krIPvcwBLAyG3VVKa2ce2j2lL1yCb8Y0ylMRR/dLvCCTiQx8gQbXb+G81k1alPZ2/I3muZinqWQdBbzw==", "dev": true, - "license": "Apache-2.0", + "license": "LGPL-3.0-only", "dependencies": { - "esutils": "^2.0.2" + "@eslint-community/regexpp": "4.12.2", + "builtin-modules": "3.3.0", + "bytes": "3.1.2", + "functional-red-black-tree": "1.0.1", + "jsx-ast-utils-x": "0.1.0", + "lodash.merge": "4.6.2", + "minimatch": "10.1.2", + "scslre": "0.3.0", + "semver": "7.7.4", + "typescript": ">=5" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "eslint": "^8.0.0 || ^9.0.0" } }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "node_modules/eslint-plugin-sonarjs/node_modules/minimatch": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.2.tgz", + "integrity": "sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==", "dev": true, - "license": "MIT", + "license": "BlueOak-1.0.0", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "@isaacs/brace-expansion": "^5.0.1" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": "20 || >=22" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/eslint-plugin-sonarjs": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.23.0.tgz", - "integrity": "sha512-z44T3PBf9W7qQ/aR+NmofOTyg6HLhSEZOPD4zhStqBpLoMp8GYhFksuUBnCxbnf1nfISpKBVkQhiBLFI/F4Wlg==", + "node_modules/eslint-plugin-sonarjs/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, - "license": "LGPL-3.0-only", - "engines": { - "node": ">=14" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + "engines": { + "node": ">=10" } }, "node_modules/eslint-plugin-unicorn": { - "version": "43.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-43.0.0.tgz", - "integrity": "sha512-Z/6HX8yry+zAjo4jHHTAbe1rfniox7qgmCReGBfTc/CVgotfScaMCc4dtSSTHlJ+7Yix5o6LPXzwwpuGGFricg==", + "version": "58.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-58.0.0.tgz", + "integrity": "sha512-fc3iaxCm9chBWOHPVjn+Czb/wHS0D2Mko7wkOdobqo9R2bbFObc4LyZaLTNy0mhZOP84nKkLhTUQxlLOZ7EjKw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "ci-info": "^3.3.2", + "@babel/helper-validator-identifier": "^7.25.9", + "@eslint-community/eslint-utils": "^4.5.1", + "@eslint/plugin-kit": "^0.2.7", + "ci-info": "^4.2.0", "clean-regexp": "^1.0.0", - "eslint-utils": "^3.0.0", - "esquery": "^1.4.0", - "indent-string": "^4.0.0", - "is-builtin-module": "^3.1.0", - "lodash": "^4.17.21", + "core-js-compat": "^3.41.0", + "esquery": "^1.6.0", + "globals": "^16.0.0", + "indent-string": "^5.0.0", + "is-builtin-module": "^5.0.0", + "jsesc": "^3.1.0", "pluralize": "^8.0.0", - "read-pkg-up": "^7.0.1", - "regexp-tree": "^0.1.24", - "safe-regex": "^2.1.1", - "semver": "^7.3.7", - "strip-indent": "^3.0.0" + "read-package-up": "^11.0.0", + "regexp-tree": "^0.1.27", + "regjsparser": "^0.12.0", + "semver": "^7.7.1", + "strip-indent": "^4.0.0" }, "engines": { - "node": ">=14.18" + "node": "^18.20.0 || ^20.10.0 || >=21.0.0" }, "funding": { "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" }, "peerDependencies": { - "eslint": ">=8.18.0" + "eslint": ">=9.22.0" } }, - "node_modules/eslint-plugin-unicorn/node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "node_modules/eslint-plugin-unicorn/node_modules/@eslint/core": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", + "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/@eslint/plugin-kit": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", + "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.13.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/globals": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz", + "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint-plugin-unicorn/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -9723,25 +11325,6 @@ "node": ">=4.0" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, "node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", @@ -9752,17 +11335,10 @@ "node": ">=10" } }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -9770,20 +11346,20 @@ "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, "license": "Apache-2.0", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -9802,45 +11378,32 @@ "node": ">=10.13.0" } }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.9.0", + "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, "license": "Apache-2.0", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -9860,9 +11423,9 @@ } }, "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -9986,47 +11549,47 @@ } }, "node_modules/exponential-backoff": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", - "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", "license": "Apache-2.0", "peer": true }, "node_modules/express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", "dev": true, "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", + "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", - "qs": "6.13.0", + "qs": "~6.14.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", + "send": "~0.19.0", + "serve-static": "~1.16.2", "setprototypeof": "1.2.0", - "statuses": "2.0.1", + "statuses": "~2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -10039,16 +11602,6 @@ "url": "https://opencollective.com/express" } }, - "node_modules/express/node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -10059,13 +11612,6 @@ "ms": "2.0.0" } }, - "node_modules/express/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/express/node_modules/encodeurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", @@ -10077,24 +11623,31 @@ } }, "node_modules/express/node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", "dev": true, "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "parseurl": "~1.3.3", - "statuses": "2.0.1", + "statuses": "~2.0.2", "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8" } }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, "node_modules/express/node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -10108,61 +11661,10 @@ "node": ">= 0.8" } }, - "node_modules/express/node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/express/node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/express/node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/express/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "dev": true, "license": "MIT", "engines": { @@ -10325,16 +11827,15 @@ "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 4.9.1" } }, "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", "dev": true, "license": "ISC", "dependencies": { @@ -10401,16 +11902,16 @@ } }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/fill-range": { @@ -10499,6 +12000,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/find-up-simple": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.1.tgz", + "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", @@ -10510,18 +12024,17 @@ } }, "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "license": "MIT", "dependencies": { "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "keyv": "^4.5.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16" } }, "node_modules/flatted": { @@ -10613,9 +12126,9 @@ } }, "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", "dev": true, "license": "MIT", "dependencies": { @@ -10832,6 +12345,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-tsconfig": { + "version": "4.13.6", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", + "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, "node_modules/getos": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", @@ -10863,14 +12389,15 @@ } }, "node_modules/glob": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.3.tgz", - "integrity": "sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==", - "license": "ISC", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz", + "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "BlueOak-1.0.0", "dependencies": { "foreground-child": "^3.3.1", "jackspeak": "^4.1.1", - "minimatch": "^10.0.3", + "minimatch": "^10.1.1", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^2.0.0" @@ -10905,13 +12432,34 @@ "dev": true, "license": "BSD-2-Clause" }, + "node_modules/glob/node_modules/balanced-match": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.3.tgz", + "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==", + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", + "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, "node_modules/glob/node_modules/minimatch": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", - "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", - "license": "ISC", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.1.tgz", + "integrity": "sha512-MClCe8IL5nRRmawL6ib/eT4oLyeKMGCghibcDWK+J0hh0Q8kqSdia6BvbRMVk6mPa6WqUa5uR2oxt6C5jd533A==", + "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" + "brace-expansion": "^5.0.2" }, "engines": { "node": "20 || >=22" @@ -11002,16 +12550,13 @@ } }, "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", "dev": true, "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -11034,21 +12579,21 @@ } }, "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", "dev": true, "license": "MIT", "dependencies": { - "array-union": "^2.1.0", + "array-union": "^3.0.1", "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", + "fast-glob": "^3.2.7", + "ignore": "^5.1.9", "merge2": "^1.4.1", - "slash": "^3.0.0" + "slash": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -11101,6 +12646,20 @@ "integrity": "sha512-oWURPChjcCrVfiQOuVtpSoUJVvtOYo41JGEQ2qtArsTGmk/DpWh40vS6hitwKRM/0YzJX/jYUuyt9ibuXXJKmg==", "license": "Apache-2.0" }, + "node_modules/google-closure-compiler-linux": { + "version": "20240317.0.0", + "resolved": "https://registry.npmjs.org/google-closure-compiler-linux/-/google-closure-compiler-linux-20240317.0.0.tgz", + "integrity": "sha512-dYLtcbbJdbbBS0lTy9SzySdVv/aGkpyTekQiW4ADhT/i1p1b4r0wQTKj6kpVVmFvbZ6t9tW/jbXc9EXXNUahZw==", + "cpu": [ + "x32", + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/google-closure-compiler-osx": { "version": "20240317.0.0", "resolved": "https://registry.npmjs.org/google-closure-compiler-osx/-/google-closure-compiler-osx-20240317.0.0.tgz", @@ -11116,6 +12675,20 @@ "darwin" ] }, + "node_modules/google-closure-compiler-windows": { + "version": "20240317.0.0", + "resolved": "https://registry.npmjs.org/google-closure-compiler-windows/-/google-closure-compiler-windows-20240317.0.0.tgz", + "integrity": "sha512-fTueVFzNOWURFlXZmrFkAB7yA+jzpA2TeDOYeBEFwVlVGHwi8PV3Q9vCIWlbkE8wLpukKEg5wfRHYrLwVPINCA==", + "cpu": [ + "x32", + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -11160,13 +12733,6 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true, - "license": "MIT" - }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -11181,27 +12747,6 @@ "dev": true, "license": "MIT" }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", - "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -11277,6 +12822,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/hashery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/hashery/-/hashery-1.4.0.tgz", + "integrity": "sha512-Wn2i1In6XFxl8Az55kkgnFRiAlIAushzh26PTjL2AKtQcEfXrcLa7Hn5QOWGZEf3LU057P9TwwZjFyxfS1VuvQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "hookified": "^1.14.0" + }, + "engines": { + "node": ">=20" + } + }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -11308,20 +12867,20 @@ "license": "0BSD" }, "node_modules/hermes-estree": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz", - "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.28.1.tgz", + "integrity": "sha512-w3nxl/RGM7LBae0v8LH2o36+8VqwOZGv9rX1wyoWT6YaKZLqpJZ0YQ5P0LVr3tuRpf7vCx0iIG4i/VmBJejxTQ==", "license": "MIT", "peer": true }, "node_modules/hermes-parser": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.29.1.tgz", - "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.28.1.tgz", + "integrity": "sha512-nf8o+hE8g7UJWParnccljHumE9Vlq8F7MqIdeahl+4x0tvCUJYRrT0L7h0MMg/X9YJmkNwsfbaNNrzPtFXOscg==", "license": "MIT", "peer": true, "dependencies": { - "hermes-estree": "0.29.1" + "hermes-estree": "0.28.1" } }, "node_modules/hoist-non-react-statics": { @@ -11330,41 +12889,31 @@ "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==", "license": "BSD-3-Clause" }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "node_modules/hookified": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.15.1.tgz", + "integrity": "sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==", "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } + "license": "MIT", + "peer": true }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, + "node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "license": "ISC", - "peer": true, "dependencies": { - "yallist": "^4.0.0" + "lru-cache": "^10.0.1" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/hosted-git-info/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC", - "peer": true + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" }, "node_modules/hpack.js": { "version": "2.1.6", @@ -11442,10 +12991,28 @@ } } }, + "node_modules/html-validate/node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/html-validate/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "dependencies": { @@ -11459,6 +13026,32 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/html-validate/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/html-validate/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/html-validate/node_modules/brace-expansion": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", @@ -11470,9 +13063,10 @@ } }, "node_modules/html-validate/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", "dependencies": { @@ -11554,9 +13148,9 @@ } }, "node_modules/html-validate/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -11566,6 +13160,58 @@ "node": ">=10" } }, + "node_modules/html-validate/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-validate/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/html-validate/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/http-cache-semantics": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", @@ -11581,25 +13227,29 @@ "license": "MIT" }, "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" }, "engines": { "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -11652,19 +13302,6 @@ } } }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/http-signature": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", @@ -11826,17 +13463,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/import-local": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", @@ -11936,13 +13562,29 @@ } }, "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/index-to-position": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/inflight": { @@ -11966,7 +13608,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true, "license": "ISC", "engines": { "node": ">=10" @@ -12032,9 +13673,9 @@ } }, "node_modules/ipaddr.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", + "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==", "dev": true, "license": "MIT", "engines": { @@ -12062,7 +13703,6 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, "license": "MIT" }, "node_modules/is-async-function": { @@ -12129,19 +13769,55 @@ } }, "node_modules/is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-5.0.0.tgz", + "integrity": "sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "builtin-modules": "^5.0.0" + }, + "engines": { + "node": ">=18.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-builtin-module/node_modules/builtin-modules": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-5.0.0.tgz", + "integrity": "sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", "dev": true, "license": "MIT", "dependencies": { - "builtin-modules": "^3.3.0" + "semver": "^7.7.1" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, "node_modules/is-callable": { @@ -12205,6 +13881,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-docker": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", @@ -12416,14 +14102,16 @@ } }, "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "dev": true, "license": "MIT", - "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-plain-object": { @@ -12702,12 +14390,12 @@ } }, "node_modules/jackspeak": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", - "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.2.3.tgz", + "integrity": "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==", "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "@isaacs/cliui": "^9.0.0" }, "engines": { "node": "20 || >=22" @@ -12823,6 +14511,16 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-mock": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", @@ -12938,9 +14636,9 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "license": "MIT", "dependencies": { "argparse": "^1.0.7", @@ -12965,9 +14663,9 @@ "peer": true }, "node_modules/jsdoc-type-pratt-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.1.0.tgz", - "integrity": "sha512-MgtD0ZiCDk9B+eI73BextfRrVQl0oyzRG8B2BjORts6jbunj4ScKPcyXGTbB6eXL4y9TzxCm6hyeLq/2ASzNdw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz", + "integrity": "sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==", "dev": true, "license": "MIT", "engines": { @@ -12993,11 +14691,17 @@ "dev": true, "license": "MIT" }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "license": "MIT", + "peer": true + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, "license": "MIT" }, "node_modules/json-schema": { @@ -13082,6 +14786,16 @@ "node": ">=4.0" } }, + "node_modules/jsx-ast-utils-x": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/jsx-ast-utils-x/-/jsx-ast-utils-x-0.1.0.tgz", + "integrity": "sha512-eQQBjBnsVtGacsG9uJNB8qOr3yA8rga4wAaGG1qRcBzSIvfhERLrWxMAM1hp5fcS6Abo8M4+bUBTekYR0qTPQw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -13113,12 +14827,11 @@ } }, "node_modules/known-css-properties": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz", - "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==", + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", + "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/language-subtag-registry": { "version": "0.3.23", @@ -13141,9 +14854,9 @@ } }, "node_modules/launch-editor": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.11.1.tgz", - "integrity": "sha512-SEET7oNfgSaB6Ym0jufAdCeo3meJVeCaaDyzRygy0xsp2BFKCprcfHljTq4QkzTLUxEKkFK6OK4811YM2oSrRg==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.13.0.tgz", + "integrity": "sha512-u+9asUHMJ99lA15VRMXw5XKfySFR9dGXwgsgS14YTbUq3GITP58mIM32At90P5fZ+MUId5Yw+IwI/yKub7jnCQ==", "dev": true, "license": "MIT", "dependencies": { @@ -13271,32 +14984,18 @@ "dev": true, "license": "0BSD" }, - "node_modules/listr2/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", "dev": true, "license": "MIT", "engines": { "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/loader-utils": { @@ -13331,9 +15030,9 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", "license": "MIT" }, "node_modules/lodash.debounce": { @@ -13494,109 +15193,375 @@ "node": ">=8" } }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/marky": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/marky/-/marky-1.3.0.tgz", + "integrity": "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "4.56.10", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.56.10.tgz", + "integrity": "sha512-eLvzyrwqLHnLYalJP7YZ3wBe79MXktMdfQbvMrVD80K+NhrIukCVBvgP30zTJYEEDh9hZ/ep9z0KOdD7FSHo7w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-core": "4.56.10", + "@jsonjoy.com/fs-fsa": "4.56.10", + "@jsonjoy.com/fs-node": "4.56.10", + "@jsonjoy.com/fs-node-builtins": "4.56.10", + "@jsonjoy.com/fs-node-to-fsa": "4.56.10", + "@jsonjoy.com/fs-node-utils": "4.56.10", + "@jsonjoy.com/fs-print": "4.56.10", + "@jsonjoy.com/fs-snapshot": "4.56.10", + "@jsonjoy.com/json-pack": "^1.11.0", + "@jsonjoy.com/util": "^1.9.0", + "glob-to-regex.js": "^1.0.1", + "thingies": "^2.5.0", + "tree-dump": "^1.0.3", + "tslib": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/memfs/node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/memfs/node_modules/@jsonjoy.com/buffers": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-17.67.0.tgz", + "integrity": "sha512-tfExRpYxBvi32vPs9ZHaTjSP4fHAfzSmcahOfNxtvGHcyJel+aibkPlGeBB+7AoC6hL7lXIE++8okecBxx7lcw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/memfs/node_modules/@jsonjoy.com/codegen": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz", + "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/memfs/node_modules/@jsonjoy.com/fs-core": { + "version": "4.56.10", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-core/-/fs-core-4.56.10.tgz", + "integrity": "sha512-PyAEA/3cnHhsGcdY+AmIU+ZPqTuZkDhCXQ2wkXypdLitSpd6d5Ivxhnq4wa2ETRWFVJGabYynBWxIijOswSmOw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-node-builtins": "4.56.10", + "@jsonjoy.com/fs-node-utils": "4.56.10", + "thingies": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/memfs/node_modules/@jsonjoy.com/fs-fsa": { + "version": "4.56.10", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-fsa/-/fs-fsa-4.56.10.tgz", + "integrity": "sha512-/FVK63ysNzTPOnCCcPoPHt77TOmachdMS422txM4KhxddLdbW1fIbFMYH0AM0ow/YchCyS5gqEjKLNyv71j/5Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-core": "4.56.10", + "@jsonjoy.com/fs-node-builtins": "4.56.10", + "@jsonjoy.com/fs-node-utils": "4.56.10", + "thingies": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/memfs/node_modules/@jsonjoy.com/fs-node": { + "version": "4.56.10", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node/-/fs-node-4.56.10.tgz", + "integrity": "sha512-7R4Gv3tkUdW3dXfXiOkqxkElxKNVdd8BDOWC0/dbERd0pXpPY+s2s1Mino+aTvkGrFPiY+mmVxA7zhskm4Ue4Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-core": "4.56.10", + "@jsonjoy.com/fs-node-builtins": "4.56.10", + "@jsonjoy.com/fs-node-utils": "4.56.10", + "@jsonjoy.com/fs-print": "4.56.10", + "@jsonjoy.com/fs-snapshot": "4.56.10", + "glob-to-regex.js": "^1.0.0", + "thingies": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/memfs/node_modules/@jsonjoy.com/fs-node-builtins": { + "version": "4.56.10", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.56.10.tgz", + "integrity": "sha512-uUnKz8R0YJyKq5jXpZtkGV9U0pJDt8hmYcLRrPjROheIfjMXsz82kXMgAA/qNg0wrZ1Kv+hrg7azqEZx6XZCVw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "license": "BSD-3-Clause", - "peer": true, + "node_modules/memfs/node_modules/@jsonjoy.com/fs-node-to-fsa": { + "version": "4.56.10", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.56.10.tgz", + "integrity": "sha512-oH+O6Y4lhn9NyG6aEoFwIBNKZeYy66toP5LJcDOMBgL99BKQMUf/zWJspdRhMdn/3hbzQsZ8EHHsuekbFLGUWw==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "tmpl": "1.0.5" + "@jsonjoy.com/fs-fsa": "4.56.10", + "@jsonjoy.com/fs-node-builtins": "4.56.10", + "@jsonjoy.com/fs-node-utils": "4.56.10" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "node_modules/memfs/node_modules/@jsonjoy.com/fs-node-utils": { + "version": "4.56.10", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.56.10.tgz", + "integrity": "sha512-8EuPBgVI2aDPwFdaNQeNpHsyqPi3rr+85tMNG/lHvQLiVjzoZsvxA//Xd8aB567LUhy4QS03ptT+unkD/DIsNg==", "dev": true, - "license": "MIT", - "peer": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-node-builtins": "4.56.10" + }, "engines": { - "node": ">=8" + "node": ">=10.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/marky": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/marky/-/marky-1.3.0.tgz", - "integrity": "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==", + "node_modules/memfs/node_modules/@jsonjoy.com/fs-print": { + "version": "4.56.10", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-print/-/fs-print-4.56.10.tgz", + "integrity": "sha512-JW4fp5mAYepzFsSGrQ48ep8FXxpg4niFWHdF78wDrFGof7F3tKDJln72QFDEn/27M1yHd4v7sKHHVPh78aWcEw==", + "dev": true, "license": "Apache-2.0", - "peer": true - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", + "dependencies": { + "@jsonjoy.com/fs-node-utils": "4.56.10", + "tree-dump": "^1.1.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/mathml-tag-names": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", - "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "node_modules/memfs/node_modules/@jsonjoy.com/fs-snapshot": { + "version": "4.56.10", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.56.10.tgz", + "integrity": "sha512-DkR6l5fj7+qj0+fVKm/OOXMGfDFCGXLfyHkORH3DF8hxkpDgIHbhf/DwncBMs2igu/ST7OEkexn1gIqoU6Y+9g==", "dev": true, - "license": "MIT", - "peer": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/buffers": "^17.65.0", + "@jsonjoy.com/fs-node-utils": "4.56.10", + "@jsonjoy.com/json-pack": "^17.65.0", + "@jsonjoy.com/util": "^17.65.0" + }, + "engines": { + "node": ">=10.0" + }, "funding": { "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "node_modules/memfs/node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/base64": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-17.67.0.tgz", + "integrity": "sha512-5SEsJGsm15aP8TQGkDfJvz9axgPwAEm98S5DxOuYe8e1EbfajcDmgeXXzccEjh+mLnjqEKrkBdjHWS5vFNwDdw==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": ">= 0.6" + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/memfs": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.49.0.tgz", - "integrity": "sha512-L9uC9vGuc4xFybbdOpRLoOAOq1YEBBsocCs5NVW32DfU+CZWWIn3OVF+lB8Gp4ttBVSMazwrTrjv8ussX/e3VQ==", + "node_modules/memfs/node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/codegen": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-17.67.0.tgz", + "integrity": "sha512-idnkUplROpdBOV0HMcwhsCUS5TRUi9poagdGs70A6S4ux9+/aPuKbh8+UYRTLYQHtXvAdNfQWXDqZEx5k4Dj2Q==", "dev": true, "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/json-pack": "^1.11.0", - "@jsonjoy.com/util": "^1.9.0", - "glob-to-regex.js": "^1.0.1", - "thingies": "^2.5.0", - "tree-dump": "^1.0.3", - "tslib": "^2.0.0" + "engines": { + "node": ">=10.0" }, "funding": { "type": "github", "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/memfs/node_modules/@jsonjoy.com/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "node_modules/memfs/node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pack": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-17.67.0.tgz", + "integrity": "sha512-t0ejURcGaZsn1ClbJ/3kFqSOjlryd92eQY465IYrezsXmPcfHPE/av4twRSxf6WE+TkZgLY+71vCZbiIiFKA/w==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/base64": "17.67.0", + "@jsonjoy.com/buffers": "17.67.0", + "@jsonjoy.com/codegen": "17.67.0", + "@jsonjoy.com/json-pointer": "17.67.0", + "@jsonjoy.com/util": "17.67.0", + "hyperdyperid": "^1.2.0", + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" + }, "engines": { "node": ">=10.0" }, @@ -13608,12 +15573,15 @@ "tslib": "2" } }, - "node_modules/memfs/node_modules/@jsonjoy.com/buffers": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.1.0.tgz", - "integrity": "sha512-QOOUerWq5DfN9PNKVn3+Pj7Aje+vtsi2qlSshnTF3ElWrVbtN4Mp4afo60xmqd7MfeRyvR/KLIxhVpJ9IxSzxg==", + "node_modules/memfs/node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pointer": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-17.67.0.tgz", + "integrity": "sha512-+iqOFInH+QZGmSuaybBUNdh7yvNrXvqR+h3wjXm0N/3JK1EyyFAeGJvqnmQL61d1ARLlk/wJdFKSL+LHJ1eaUA==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/util": "17.67.0" + }, "engines": { "node": ">=10.0" }, @@ -13625,12 +15593,16 @@ "tslib": "2" } }, - "node_modules/memfs/node_modules/@jsonjoy.com/codegen": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz", - "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==", + "node_modules/memfs/node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/util": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-17.67.0.tgz", + "integrity": "sha512-6+8xBaz1rLSohlGh68D1pdw3AwDi9xydm8QNlAFkvnavCJYSze+pxoW2VKP8p308jtlMRLs5NTHfPlZLd4w7ew==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/buffers": "17.67.0", + "@jsonjoy.com/codegen": "17.67.0" + }, "engines": { "node": ">=10.0" }, @@ -13643,20 +15615,38 @@ } }, "node_modules/memfs/node_modules/@jsonjoy.com/json-pack": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.15.0.tgz", - "integrity": "sha512-7jK0nAXj7g2hiwJ7b3wx569ZohkTFYcgDP18OvaYQ+Bg+D7rzrwaYxkdM6snrxIoKCisbudao8kfJZ4NCLiHjw==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz", + "integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==", "dev": true, "license": "Apache-2.0", "dependencies": { "@jsonjoy.com/base64": "^1.1.2", - "@jsonjoy.com/buffers": "^1.0.0", + "@jsonjoy.com/buffers": "^1.2.0", "@jsonjoy.com/codegen": "^1.0.0", - "@jsonjoy.com/json-pointer": "^1.0.1", + "@jsonjoy.com/json-pointer": "^1.0.2", "@jsonjoy.com/util": "^1.9.0", "hyperdyperid": "^1.2.0", - "thingies": "^2.5.0" + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/memfs/node_modules/@jsonjoy.com/json-pack/node_modules/@jsonjoy.com/buffers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", + "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.0" }, @@ -13710,6 +15700,23 @@ "tslib": "2" } }, + "node_modules/memfs/node_modules/@jsonjoy.com/util/node_modules/@jsonjoy.com/buffers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", + "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/memfs/node_modules/glob-to-regex.js": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz", @@ -13789,42 +15796,14 @@ "license": "MIT" }, "node_modules/meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, "license": "MIT", "peer": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "peer": true, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -13867,9 +15846,9 @@ } }, "node_modules/metro": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.83.3.tgz", - "integrity": "sha512-+rP+/GieOzkt97hSJ0MrPOuAH/jpaS21ZDvL9DJ35QYRDlQcwzcvUlGUf79AnQxq/2NPiS/AULhhM4TKutIt8Q==", + "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.82.5.tgz", + "integrity": "sha512-8oAXxL7do8QckID/WZEKaIFuQJFUTLzfVcC48ghkHhNK2RGuQq8Xvf4AVd+TUA0SZtX0q8TGNXZ/eba1ckeGCg==", "license": "MIT", "peer": true, "dependencies": { @@ -13888,24 +15867,24 @@ "error-stack-parser": "^2.0.6", "flow-enums-runtime": "^0.0.6", "graceful-fs": "^4.2.4", - "hermes-parser": "0.32.0", + "hermes-parser": "0.29.1", "image-size": "^1.0.2", "invariant": "^2.2.4", "jest-worker": "^29.7.0", "jsc-safe-url": "^0.2.2", "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.83.3", - "metro-cache": "0.83.3", - "metro-cache-key": "0.83.3", - "metro-config": "0.83.3", - "metro-core": "0.83.3", - "metro-file-map": "0.83.3", - "metro-resolver": "0.83.3", - "metro-runtime": "0.83.3", - "metro-source-map": "0.83.3", - "metro-symbolicate": "0.83.3", - "metro-transform-plugins": "0.83.3", - "metro-transform-worker": "0.83.3", + "metro-babel-transformer": "0.82.5", + "metro-cache": "0.82.5", + "metro-cache-key": "0.82.5", + "metro-config": "0.82.5", + "metro-core": "0.82.5", + "metro-file-map": "0.82.5", + "metro-resolver": "0.82.5", + "metro-runtime": "0.82.5", + "metro-source-map": "0.82.5", + "metro-symbolicate": "0.82.5", + "metro-transform-plugins": "0.82.5", + "metro-transform-worker": "0.82.5", "mime-types": "^2.1.27", "nullthrows": "^1.1.1", "serialize-error": "^2.1.0", @@ -13918,110 +15897,164 @@ "metro": "src/cli.js" }, "engines": { - "node": ">=20.19.4" + "node": ">=18.18" } }, "node_modules/metro-babel-transformer": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.83.3.tgz", - "integrity": "sha512-1vxlvj2yY24ES1O5RsSIvg4a4WeL7PFXgKOHvXTXiW0deLvQr28ExXj6LjwCCDZ4YZLhq6HddLpZnX4dEdSq5g==", + "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.82.5.tgz", + "integrity": "sha512-W/scFDnwJXSccJYnOFdGiYr9srhbHPdxX9TvvACOFsIXdLilh3XuxQl/wXW6jEJfgIb0jTvoTlwwrqvuwymr6Q==", "license": "MIT", "peer": true, "dependencies": { "@babel/core": "^7.25.2", "flow-enums-runtime": "^0.0.6", - "hermes-parser": "0.32.0", + "hermes-parser": "0.29.1", "nullthrows": "^1.1.1" }, "engines": { - "node": ">=20.19.4" + "node": ">=18.18" } }, "node_modules/metro-babel-transformer/node_modules/hermes-estree": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.32.0.tgz", - "integrity": "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz", + "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==", "license": "MIT", "peer": true }, "node_modules/metro-babel-transformer/node_modules/hermes-parser": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.32.0.tgz", - "integrity": "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.29.1.tgz", + "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==", "license": "MIT", "peer": true, "dependencies": { - "hermes-estree": "0.32.0" + "hermes-estree": "0.29.1" } }, "node_modules/metro-cache": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.83.3.tgz", - "integrity": "sha512-3jo65X515mQJvKqK3vWRblxDEcgY55Sk3w4xa6LlfEXgQ9g1WgMh9m4qVZVwgcHoLy0a2HENTPCCX4Pk6s8c8Q==", + "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.82.5.tgz", + "integrity": "sha512-AwHV9607xZpedu1NQcjUkua8v7HfOTKfftl6Vc9OGr/jbpiJX6Gpy8E/V9jo/U9UuVYX2PqSUcVNZmu+LTm71Q==", "license": "MIT", "peer": true, "dependencies": { "exponential-backoff": "^3.1.1", "flow-enums-runtime": "^0.0.6", "https-proxy-agent": "^7.0.5", - "metro-core": "0.83.3" + "metro-core": "0.82.5" }, "engines": { - "node": ">=20.19.4" + "node": ">=18.18" } }, "node_modules/metro-cache-key": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.83.3.tgz", - "integrity": "sha512-59ZO049jKzSmvBmG/B5bZ6/dztP0ilp0o988nc6dpaDsU05Cl1c/lRf+yx8m9WW/JVgbmfO5MziBU559XjI5Zw==", + "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.82.5.tgz", + "integrity": "sha512-qpVmPbDJuRLrT4kcGlUouyqLGssJnbTllVtvIgXfR7ZuzMKf0mGS+8WzcqzNK8+kCyakombQWR0uDd8qhWGJcA==", "license": "MIT", "peer": true, "dependencies": { "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=20.19.4" + "node": ">=18.18" } }, "node_modules/metro-config": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.83.3.tgz", - "integrity": "sha512-mTel7ipT0yNjKILIan04bkJkuCzUUkm2SeEaTads8VfEecCh+ltXchdq6DovXJqzQAXuR2P9cxZB47Lg4klriA==", + "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.82.5.tgz", + "integrity": "sha512-/r83VqE55l0WsBf8IhNmc/3z71y2zIPe5kRSuqA5tY/SL/ULzlHUJEMd1szztd0G45JozLwjvrhAzhDPJ/Qo/g==", "license": "MIT", "peer": true, "dependencies": { "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", "flow-enums-runtime": "^0.0.6", "jest-validate": "^29.7.0", - "metro": "0.83.3", - "metro-cache": "0.83.3", - "metro-core": "0.83.3", - "metro-runtime": "0.83.3", - "yaml": "^2.6.1" + "metro": "0.82.5", + "metro-cache": "0.82.5", + "metro-core": "0.82.5", + "metro-runtime": "0.82.5" + }, + "engines": { + "node": ">=18.18" + } + }, + "node_modules/metro-config/node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "license": "MIT", + "peer": true, + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/metro-config/node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "license": "MIT", + "peer": true, + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/metro-config/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "license": "MIT", + "peer": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" }, "engines": { - "node": ">=20.19.4" + "node": ">=4" + } + }, + "node_modules/metro-config/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" } }, "node_modules/metro-core": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.83.3.tgz", - "integrity": "sha512-M+X59lm7oBmJZamc96usuF1kusd5YimqG/q97g4Ac7slnJ3YiGglW5CsOlicTR5EWf8MQFxxjDoB6ytTqRe8Hw==", + "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.82.5.tgz", + "integrity": "sha512-OJL18VbSw2RgtBm1f2P3J5kb892LCVJqMvslXxuxjAPex8OH7Eb8RBfgEo7VZSjgb/LOf4jhC4UFk5l5tAOHHA==", "license": "MIT", "peer": true, "dependencies": { "flow-enums-runtime": "^0.0.6", "lodash.throttle": "^4.1.1", - "metro-resolver": "0.83.3" + "metro-resolver": "0.82.5" }, "engines": { - "node": ">=20.19.4" + "node": ">=18.18" } }, "node_modules/metro-file-map": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.83.3.tgz", - "integrity": "sha512-jg5AcyE0Q9Xbbu/4NAwwZkmQn7doJCKGW0SLeSJmzNB9Z24jBe0AL2PHNMy4eu0JiKtNWHz9IiONGZWq7hjVTA==", + "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.82.5.tgz", + "integrity": "sha512-vpMDxkGIB+MTN8Af5hvSAanc6zXQipsAUO+XUx3PCQieKUfLwdoa8qaZ1WAQYRpaU+CJ8vhBcxtzzo3d9IsCIQ==", "license": "MIT", "peer": true, "dependencies": { @@ -14036,7 +16069,7 @@ "walker": "^1.0.7" }, "engines": { - "node": ">=20.19.4" + "node": ">=18.18" } }, "node_modules/metro-file-map/node_modules/jest-worker": { @@ -14072,9 +16105,9 @@ } }, "node_modules/metro-minify-terser": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.83.3.tgz", - "integrity": "sha512-O2BmfWj6FSfzBLrNCXt/rr2VYZdX5i6444QJU0fFoc7Ljg+Q+iqebwE3K0eTvkI6TRjELsXk1cjU+fXwAR4OjQ==", + "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.82.5.tgz", + "integrity": "sha512-v6Nx7A4We6PqPu/ta1oGTqJ4Usz0P7c+3XNeBxW9kp8zayS3lHUKR0sY0wsCHInxZlNAEICx791x+uXytFUuwg==", "license": "MIT", "peer": true, "dependencies": { @@ -14082,26 +16115,26 @@ "terser": "^5.15.0" }, "engines": { - "node": ">=20.19.4" + "node": ">=18.18" } }, "node_modules/metro-resolver": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.83.3.tgz", - "integrity": "sha512-0js+zwI5flFxb1ktmR///bxHYg7OLpRpWZlBBruYG8OKYxeMP7SV0xQ/o/hUelrEMdK4LJzqVtHAhBm25LVfAQ==", + "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.82.5.tgz", + "integrity": "sha512-kFowLnWACt3bEsuVsaRNgwplT8U7kETnaFHaZePlARz4Fg8tZtmRDUmjaD68CGAwc0rwdwNCkWizLYpnyVcs2g==", "license": "MIT", "peer": true, "dependencies": { "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=20.19.4" + "node": ">=18.18" } }, "node_modules/metro-runtime": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.83.3.tgz", - "integrity": "sha512-JHCJb9ebr9rfJ+LcssFYA2x1qPYuSD/bbePupIGhpMrsla7RCwC/VL3yJ9cSU+nUhU4c9Ixxy8tBta+JbDeZWw==", + "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.82.5.tgz", + "integrity": "sha512-rQZDoCUf7k4Broyw3Ixxlq5ieIPiR1ULONdpcYpbJQ6yQ5GGEyYjtkztGD+OhHlw81LCR2SUAoPvtTus2WDK5g==", "license": "MIT", "peer": true, "dependencies": { @@ -14109,13 +16142,13 @@ "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=20.19.4" + "node": ">=18.18" } }, "node_modules/metro-source-map": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.83.3.tgz", - "integrity": "sha512-xkC3qwUBh2psVZgVavo8+r2C9Igkk3DibiOXSAht1aYRRcztEZNFtAMtfSB7sdO2iFMx2Mlyu++cBxz/fhdzQg==", + "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.82.5.tgz", + "integrity": "sha512-wH+awTOQJVkbhn2SKyaw+0cd+RVSCZ3sHVgyqJFQXIee/yLs3dZqKjjeKKhhVeudgjXo7aE/vSu/zVfcQEcUfw==", "license": "MIT", "peer": true, "dependencies": { @@ -14124,26 +16157,26 @@ "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", - "metro-symbolicate": "0.83.3", + "metro-symbolicate": "0.82.5", "nullthrows": "^1.1.1", - "ob1": "0.83.3", + "ob1": "0.82.5", "source-map": "^0.5.6", "vlq": "^1.0.0" }, "engines": { - "node": ">=20.19.4" + "node": ">=18.18" } }, "node_modules/metro-symbolicate": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.83.3.tgz", - "integrity": "sha512-F/YChgKd6KbFK3eUR5HdUsfBqVsanf5lNTwFd4Ca7uuxnHgBC3kR/Hba/RGkenR3pZaGNp5Bu9ZqqP52Wyhomw==", + "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.82.5.tgz", + "integrity": "sha512-1u+07gzrvYDJ/oNXuOG1EXSvXZka/0JSW1q2EYBWerVKMOhvv9JzDGyzmuV7hHbF2Hg3T3S2uiM36sLz1qKsiw==", "license": "MIT", "peer": true, "dependencies": { "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", - "metro-source-map": "0.83.3", + "metro-source-map": "0.82.5", "nullthrows": "^1.1.1", "source-map": "^0.5.6", "vlq": "^1.0.0" @@ -14152,13 +16185,13 @@ "metro-symbolicate": "src/index.js" }, "engines": { - "node": ">=20.19.4" + "node": ">=18.18" } }, "node_modules/metro-transform-plugins": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.83.3.tgz", - "integrity": "sha512-eRGoKJU6jmqOakBMH5kUB7VitEWiNrDzBHpYbkBXW7C5fUGeOd2CyqrosEzbMK5VMiZYyOcNFEphvxk3OXey2A==", + "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.82.5.tgz", + "integrity": "sha512-57Bqf3rgq9nPqLrT2d9kf/2WVieTFqsQ6qWHpEng5naIUtc/Iiw9+0bfLLWSAw0GH40iJ4yMjFcFJDtNSYynMA==", "license": "MIT", "peer": true, "dependencies": { @@ -14170,13 +16203,13 @@ "nullthrows": "^1.1.1" }, "engines": { - "node": ">=20.19.4" + "node": ">=18.18" } }, "node_modules/metro-transform-worker": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.83.3.tgz", - "integrity": "sha512-Ztekew9t/gOIMZX1tvJOgX7KlSLL5kWykl0Iwu2cL2vKMKVALRl1hysyhUw0vjpAvLFx+Kfq9VLjnHIkW32fPA==", + "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.82.5.tgz", + "integrity": "sha512-mx0grhAX7xe+XUQH6qoHHlWedI8fhSpDGsfga7CpkO9Lk9W+aPitNtJWNGrW8PfjKEWbT9Uz9O50dkI8bJqigw==", "license": "MIT", "peer": true, "dependencies": { @@ -14185,17 +16218,17 @@ "@babel/parser": "^7.25.3", "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", - "metro": "0.83.3", - "metro-babel-transformer": "0.83.3", - "metro-cache": "0.83.3", - "metro-cache-key": "0.83.3", - "metro-minify-terser": "0.83.3", - "metro-source-map": "0.83.3", - "metro-transform-plugins": "0.83.3", + "metro": "0.82.5", + "metro-babel-transformer": "0.82.5", + "metro-cache": "0.82.5", + "metro-cache-key": "0.82.5", + "metro-minify-terser": "0.82.5", + "metro-source-map": "0.82.5", + "metro-transform-plugins": "0.82.5", "nullthrows": "^1.1.1" }, "engines": { - "node": ">=20.19.4" + "node": ">=18.18" } }, "node_modules/metro/node_modules/ci-info": { @@ -14206,20 +16239,20 @@ "peer": true }, "node_modules/metro/node_modules/hermes-estree": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.32.0.tgz", - "integrity": "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz", + "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==", "license": "MIT", "peer": true }, "node_modules/metro/node_modules/hermes-parser": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.32.0.tgz", - "integrity": "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.29.1.tgz", + "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==", "license": "MIT", "peer": true, "dependencies": { - "hermes-estree": "0.32.0" + "hermes-estree": "0.29.1" } }, "node_modules/metro/node_modules/jest-worker": { @@ -14325,27 +16358,17 @@ "node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/min-indent": { + "node_modules/mimic-response": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true, "license": "MIT", "engines": { @@ -14353,9 +16376,9 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.9.4", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", - "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.10.0.tgz", + "integrity": "sha512-540P2c5dYnJlyJxTaSloliZexv8rji6rY8FhQN+WF/82iHQfA23j/xtJx97L+mXOML27EqksSek/g4eK7jaL3g==", "dev": true, "license": "MIT", "dependencies": { @@ -14415,22 +16438,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", @@ -14521,6 +16528,22 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -14528,13 +16551,6 @@ "dev": true, "license": "MIT" }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true, - "license": "MIT" - }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -14569,14 +16585,23 @@ "dev": true, "license": "0BSD" }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "node_modules/node-exports-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", + "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", "dev": true, - "license": "(BSD-3-Clause OR GPL-2.0)", + "license": "MIT", + "dependencies": { + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" + }, "engines": { - "node": ">= 6.13.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/node-int64": { @@ -14587,35 +16612,30 @@ "peer": true }, "node_modules/node-releases": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.23.tgz", - "integrity": "sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", "license": "MIT" }, "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", "license": "BSD-2-Clause", - "peer": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "license": "ISC", - "peer": true, "bin": { "semver": "bin/semver.js" }, @@ -17153,16 +19173,16 @@ "peer": true }, "node_modules/ob1": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.83.3.tgz", - "integrity": "sha512-egUxXCDwoWG06NGCS5s5AdcpnumHKJlfd3HH06P3m9TEMwwScfcY35wpQxbm9oHof+dM/lVH9Rfyu1elTVelSA==", + "version": "0.82.5", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.82.5.tgz", + "integrity": "sha512-QyQQ6e66f+Ut/qUVjEce0E/wux5nAGLXYZDn1jr15JWstHsCH3l6VVrg8NKDptW9NEiBXKOJeGF/ydxeSDF3IQ==", "license": "MIT", "peer": true, "dependencies": { "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=20.19.4" + "node": ">=18.18" } }, "node_modules/object-assign": { @@ -17265,6 +19285,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/object.values": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", @@ -17595,7 +19630,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" @@ -17671,6 +19705,16 @@ "node": ">=6" } }, + "node_modules/parse-imports-exports": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/parse-imports-exports/-/parse-imports-exports-0.2.4.tgz", + "integrity": "sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-statements": "1.0.11" + } + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -17690,6 +19734,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-statements": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/parse-statements/-/parse-statements-1.0.11.tgz", + "integrity": "sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==", + "dev": true, + "license": "MIT" + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -17770,9 +19821,9 @@ "license": "MIT" }, "node_modules/path-scurry": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", - "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", + "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^11.0.0", @@ -17786,10 +19837,10 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz", - "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==", - "license": "ISC", + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" } @@ -17955,9 +20006,9 @@ } }, "node_modules/pkg-dir/node_modules/yocto-queue": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", - "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", "dev": true, "license": "MIT", "engines": { @@ -17967,6 +20018,31 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/pkijs": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.3.3.tgz", + "integrity": "sha512-+KD8hJtqQMYoTuL1bbGOqxb4z+nZkTAwVdNtWwe8Tc2xNbEmdJYIYoc6Qt0uF55e6YW6KuTHw1DjQ18gMhzepw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@noble/hashes": "1.4.0", + "asn1js": "^3.0.6", + "bytestreamjs": "^2.0.1", + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/pkijs/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, "node_modules/pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", @@ -18078,6 +20154,20 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-modules-scope": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", @@ -18094,6 +20184,20 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-modules-values": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", @@ -18118,21 +20222,31 @@ "license": "MIT" }, "node_modules/postcss-safe-parser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", - "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "peer": true, "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=18.0" }, "peerDependencies": { - "postcss": "^8.3.3" + "postcss": "^8.4.31" } }, "node_modules/postcss-scss": { @@ -18163,9 +20277,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dev": true, "license": "MIT", "dependencies": { @@ -18193,9 +20307,9 @@ } }, "node_modules/prettier": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", - "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", + "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "dev": true, "license": "MIT", "peer": true, @@ -18210,9 +20324,9 @@ } }, "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz", + "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==", "dev": true, "license": "MIT", "dependencies": { @@ -18408,10 +20522,51 @@ "node": ">=6" } }, + "node_modules/pvtsutils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz", + "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + } + }, + "node_modules/pvtsutils/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/pvutils": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.5.tgz", + "integrity": "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/qified": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/qified/-/qified-0.6.0.tgz", + "integrity": "sha512-tsSGN1x3h569ZSU1u6diwhltLyfUWDp3YbFHedapTmpBl0B3P6U3+Qptg7xu+v+1io1EwhdPyyRHYbEw0KN2FA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "hookified": "^1.14.0" + }, + "engines": { + "node": ">=20" + } + }, "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -18488,16 +20643,16 @@ } }, "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", "dev": true, "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8" @@ -18669,9 +20824,9 @@ } }, "node_modules/react-is": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.0.tgz", - "integrity": "sha512-x3Ax3kNSMIIkyVYhWPyO09bu0uttcAIoecO/um/rKGQ4EltYWVYtyiGkS/3xMynrbVQdS69Jhlv8FXUEZehlzA==", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.4.tgz", + "integrity": "sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA==", "license": "MIT", "peer": true }, @@ -18824,144 +20979,86 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "node_modules/read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/read-package-up/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" + "node": ">=16" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", "dev": true, "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/read-pkg/node_modules/parse-json": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true, - "license": "ISC" - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=8" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/readable-stream": { @@ -19017,21 +21114,6 @@ "node": ">= 10.13.0" } }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/redux": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", @@ -19041,6 +21123,26 @@ "@babel/runtime": "^7.9.2" } }, + "node_modules/refa": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/refa/-/refa-0.12.1.tgz", + "integrity": "sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -19090,6 +21192,20 @@ "license": "MIT", "peer": true }, + "node_modules/regexp-ast-analysis": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regexp-ast-analysis/-/regexp-ast-analysis-0.7.1.tgz", + "integrity": "sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.1" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/regexp-tree": { "version": "0.1.27", "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", @@ -19120,19 +21236,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/regexpu-core": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", @@ -19151,14 +21254,17 @@ "node": ">=4" } }, - "node_modules/regextras": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz", - "integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==", + "node_modules/regexpu-core/node_modules/regjsparser": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", + "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.1.14" + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" } }, "node_modules/regjsgen": { @@ -19169,18 +21275,31 @@ "license": "MIT" }, "node_modules/regjsparser": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", - "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "jsesc": "~3.1.0" + "jsesc": "~3.0.2" }, "bin": { "regjsparser": "bin/parser" } }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/rememo": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/rememo/-/rememo-3.0.0.tgz", @@ -19249,13 +21368,13 @@ "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.16.0", + "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -19309,6 +21428,16 @@ "node": ">=4" } }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, "node_modules/resp-modifier": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", @@ -19414,7 +21543,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -19559,16 +21688,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", - "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "regexp-tree": "~0.1.1" - } - }, "node_modules/safe-regex-test": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", @@ -19689,9 +21808,9 @@ } }, "node_modules/schema-utils/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "dependencies": { @@ -19725,6 +21844,21 @@ "dev": true, "license": "MIT" }, + "node_modules/scslre": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/scslre/-/scslre-0.3.0.tgz", + "integrity": "sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.0", + "regexp-ast-analysis": "^0.7.0" + }, + "engines": { + "node": "^14.0.0 || >=16.0.0" + } + }, "node_modules/select": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", @@ -19739,17 +21873,17 @@ "license": "MIT" }, "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-5.5.0.tgz", + "integrity": "sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==", "dev": true, "license": "MIT", "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" + "@peculiar/x509": "^1.14.2", + "pkijs": "^3.3.3" }, "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/semver": { @@ -19762,10 +21896,9 @@ } }, "node_modules/send": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.1.tgz", - "integrity": "sha512-p4rRk4f23ynFEfcD9LA0xRYngj+IyGiEYyqqOak8kaN0TvNmuxC2dcVeBn62GpCeR2CpWqyHCNScTP91QbAVFg==", - "dev": true, + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", "license": "MIT", "dependencies": { "debug": "2.6.9", @@ -19774,13 +21907,13 @@ "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "range-parser": "~1.2.1", - "statuses": "2.0.1" + "statuses": "~2.0.2" }, "engines": { "node": ">= 0.8.0" @@ -19790,7 +21923,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "license": "MIT", "dependencies": { "ms": "2.0.0" @@ -19800,14 +21932,12 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, "license": "MIT" }, "node_modules/send/node_modules/encodeurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" @@ -19817,7 +21947,6 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, "license": "MIT", "dependencies": { "ee-first": "1.1.1" @@ -19827,10 +21956,9 @@ } }, "node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -19876,22 +22004,26 @@ } }, "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.2.tgz", + "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", "dev": true, "license": "MIT", "dependencies": { - "accepts": "~1.3.4", + "accepts": "~1.3.8", "batch": "0.6.1", "debug": "2.6.9", "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" + "http-errors": "~1.8.0", + "mime-types": "~2.1.35", + "parseurl": "~1.3.3" }, "engines": { "node": ">= 0.8.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/serve-index/node_modules/debug": { @@ -19915,28 +22047,22 @@ } }, "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, "license": "MIT", "dependencies": { "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" }, "engines": { "node": ">= 0.6" } }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true, - "license": "ISC" - }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -19944,13 +22070,6 @@ "dev": true, "license": "MIT" }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true, - "license": "ISC" - }, "node_modules/serve-index/node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -19962,35 +22081,20 @@ } }, "node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", "license": "MIT", "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.19.0" + "send": "~0.19.1" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/serve-static/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-static/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, "node_modules/serve-static/node_modules/encodeurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", @@ -20000,60 +22104,6 @@ "node": ">= 0.8" } }, - "node_modules/serve-static/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/serve-static/node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-static/node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/serve-static/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/server-destroy": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", @@ -20244,9 +22294,9 @@ "license": "ISC" }, "node_modules/simple-git": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.28.0.tgz", - "integrity": "sha512-Rs/vQRwsn1ILH1oBUy8NucJlXmnnLeLCfcvbSehkPzbv3wwoFWIdtfd6Ndo6ZPhlPsCZ60CPI4rxurnwAa+a2w==", + "version": "3.31.1", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.31.1.tgz", + "integrity": "sha512-oiWP4Q9+kO8q9hHqkX35uuHmxiEbZNTrZ5IPxgMGrJwN76pzjm/jabkZO0ItEcqxAincqGAzL3QHSaHt4+knBg==", "dev": true, "license": "MIT", "dependencies": { @@ -20267,12 +22317,16 @@ "license": "MIT" }, "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/slice-ansi": { @@ -20309,16 +22363,16 @@ "license": "0BSD" }, "node_modules/socket.io": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", - "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.3.tgz", + "integrity": "sha512-2Dd78bqzzjE6KPkD5fHZmDAKRNe3J15q+YHDrIsy9WEkqttc7GY+kT9OBLSMaPbQaEd0x1BjcmtMtXkfpc+T5A==", "dev": true, "license": "MIT", "dependencies": { "accepts": "~1.3.4", "base64id": "~2.0.0", "cors": "~2.8.5", - "debug": "~4.3.2", + "debug": "~4.4.1", "engine.io": "~6.6.0", "socket.io-adapter": "~2.5.2", "socket.io-parser": "~4.2.4" @@ -20328,43 +22382,25 @@ } }, "node_modules/socket.io-adapter": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", - "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "~4.3.4", - "ws": "~8.17.1" - } - }, - "node_modules/socket.io-adapter/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.6.tgz", + "integrity": "sha512-DkkO/dz7MGln0dHn5bmN3pPy+JmywNICWrJqVWiVOyvXjWQFIv9c2h24JrQLLFJ2aQVQf/Cvl1vblnd4r2apLQ==", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "debug": "~4.4.1", + "ws": "~8.18.3" } }, "node_modules/socket.io-client": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz", - "integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.3.tgz", + "integrity": "sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g==", "dev": true, "license": "MIT", "dependencies": { "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.2", + "debug": "~4.4.1", "engine.io-client": "~6.6.1", "socket.io-parser": "~4.2.4" }, @@ -20372,74 +22408,20 @@ "node": ">=10.0.0" } }, - "node_modules/socket.io-client/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.5.tgz", + "integrity": "sha512-bPMmpy/5WWKHea5Y/jYAP6k74A+hvmRCQaJuJB6I/ML5JZq/KfNieUVo/3Mh7SAqn7TyFdIo6wqYHInG1MU1bQ==", "dev": true, "license": "MIT", "dependencies": { "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" + "debug": "~4.4.1" }, "engines": { "node": ">=10.0.0" } }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -20504,25 +22486,32 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, + "node_modules/spdx-correct/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, "node_modules/spdx-exceptions": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true, "license": "CC-BY-3.0" }, "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", + "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", @@ -20533,7 +22522,6 @@ "version": "3.0.22", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", - "dev": true, "license": "CC0-1.0" }, "node_modules/spdy": { @@ -20615,6 +22603,16 @@ "node": ">=0.10.0" } }, + "node_modules/stable-hash-x": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/stable-hash-x/-/stable-hash-x-0.2.0.tgz", + "integrity": "sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", @@ -20748,6 +22746,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -20762,6 +22761,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, "license": "MIT" }, "node_modules/string-width/node_modules/emoji-regex": { @@ -20897,6 +22897,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -20926,16 +22927,16 @@ } }, "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.1.1.tgz", + "integrity": "sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==", "dev": true, "license": "MIT", - "dependencies": { - "min-indent": "^1.0.0" - }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/strip-json-comments": { @@ -20973,8 +22974,7 @@ "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/styled-components": { "version": "5.3.11", @@ -21043,108 +23043,151 @@ } }, "node_modules/stylelint": { - "version": "14.16.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz", - "integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==", + "version": "16.26.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.26.1.tgz", + "integrity": "sha512-v20V59/crfc8sVTAtge0mdafI3AdnzQ2KsWe6v523L4OA1bJO02S7MO2oyXDCS6iWb9ckIPnqAFVItqSBQr7jw==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], "license": "MIT", "peer": true, "dependencies": { - "@csstools/selector-specificity": "^2.0.2", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-syntax-patches-for-csstree": "^1.0.19", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3", + "@csstools/selector-specificity": "^5.0.0", + "@dual-bundle/import-meta-resolve": "^4.2.1", "balanced-match": "^2.0.0", "colord": "^2.9.3", - "cosmiconfig": "^7.1.0", - "css-functions-list": "^3.1.0", - "debug": "^4.3.4", - "fast-glob": "^3.2.12", + "cosmiconfig": "^9.0.0", + "css-functions-list": "^3.2.3", + "css-tree": "^3.1.0", + "debug": "^4.4.3", + "fast-glob": "^3.3.3", "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^11.1.1", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", - "html-tags": "^3.2.0", - "ignore": "^5.2.1", - "import-lazy": "^4.0.0", + "html-tags": "^3.3.1", + "ignore": "^7.0.5", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.26.0", + "known-css-properties": "^0.37.0", "mathml-tag-names": "^2.1.3", - "meow": "^9.0.0", - "micromatch": "^4.0.5", + "meow": "^13.2.0", + "micromatch": "^4.0.8", "normalize-path": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.19", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^6.0.0", - "postcss-selector-parser": "^6.0.11", + "picocolors": "^1.1.1", + "postcss": "^8.5.6", + "postcss-resolve-nested-selector": "^0.1.6", + "postcss-safe-parser": "^7.0.1", + "postcss-selector-parser": "^7.1.0", "postcss-value-parser": "^4.2.0", "resolve-from": "^5.0.0", "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "style-search": "^0.1.0", - "supports-hyperlinks": "^2.3.0", + "supports-hyperlinks": "^3.2.0", "svg-tags": "^1.0.0", - "table": "^6.8.1", - "v8-compile-cache": "^2.3.0", - "write-file-atomic": "^4.0.2" + "table": "^6.9.0", + "write-file-atomic": "^5.0.1" }, "bin": { - "stylelint": "bin/stylelint.js" + "stylelint": "bin/stylelint.mjs" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" + "node": ">=18.12.0" } }, "node_modules/stylelint-config-recommended": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-6.0.0.tgz", - "integrity": "sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw==", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz", + "integrity": "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, "peerDependencies": { - "stylelint": "^14.0.0" + "stylelint": "^16.1.0" } }, "node_modules/stylelint-config-recommended-scss": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-5.0.2.tgz", - "integrity": "sha512-b14BSZjcwW0hqbzm9b0S/ScN2+3CO3O4vcMNOw2KGf8lfVSwJ4p5TbNEXKwKl1+0FMtgRXZj6DqVUe/7nGnuBg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.1.0.tgz", + "integrity": "sha512-bhaMhh1u5dQqSsf6ri2GVWWQW5iUjBYgcHkh7SgDDn92ijoItC/cfO/W+fpXshgTQWhwFkP1rVcewcv4jaftRg==", "dev": true, "license": "MIT", "dependencies": { - "postcss-scss": "^4.0.2", - "stylelint-config-recommended": "^6.0.0", - "stylelint-scss": "^4.0.0" + "postcss-scss": "^4.0.9", + "stylelint-config-recommended": "^14.0.1", + "stylelint-scss": "^6.4.0" + }, + "engines": { + "node": ">=18.12.0" }, "peerDependencies": { - "stylelint": "^14.0.0" + "postcss": "^8.3.3", + "stylelint": "^16.6.1" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + } } }, "node_modules/stylelint-scss": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.7.0.tgz", - "integrity": "sha512-TSUgIeS0H3jqDZnby1UO1Qv3poi1N8wUYIJY6D1tuUq2MN3lwp/rITVo0wD+1SWTmRm0tNmGO0b7nKInnqF6Hg==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.14.0.tgz", + "integrity": "sha512-ZKmHMZolxeuYsnB+PCYrTpFce0/QWX9i9gh0hPXzp73WjuIMqUpzdQaBCrKoLWh6XtCFSaNDErkMPqdjy1/8aA==", "dev": true, "license": "MIT", "dependencies": { + "css-tree": "^3.0.1", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.37.0", + "mdn-data": "^2.25.0", "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-selector-parser": "^6.0.11", + "postcss-resolve-nested-selector": "^0.1.6", + "postcss-selector-parser": "^7.1.1", "postcss-value-parser": "^4.2.0" }, + "engines": { + "node": ">=18.12.0" + }, "peerDependencies": { - "stylelint": "^14.5.1 || ^15.0.0" + "stylelint": "^16.8.2" } }, + "node_modules/stylelint-scss/node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/stylelint-scss/node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "dev": true, "license": "MIT", "dependencies": { @@ -21155,22 +23198,72 @@ "node": ">=4" } }, - "node_modules/stylelint/node_modules/@csstools/selector-specificity": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", - "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "node_modules/stylelint/node_modules/@csstools/media-query-list-parser": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz", + "integrity": "sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==", "dev": true, - "license": "CC0-1.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", "peer": true, "engines": { - "node": "^14 || ^16 || >=18" + "node": ">=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/stylelint/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "peer": true, + "engines": { + "node": ">=18" }, "peerDependencies": { - "postcss-selector-parser": "^6.0.10" + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/stylelint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0", + "peer": true + }, + "node_modules/stylelint/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" } }, "node_modules/stylelint/node_modules/balanced-match": { @@ -21182,27 +23275,119 @@ "peer": true }, "node_modules/stylelint/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/stylelint/node_modules/file-entry-cache": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-11.1.2.tgz", + "integrity": "sha512-N2WFfK12gmrK1c1GXOqiAJ1tc5YE+R53zvQ+t5P8S5XhnmKYVB5eZEiLNZKDSmoG8wqqbF9EXYBBW/nef19log==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "flat-cache": "^6.1.20" + } + }, + "node_modules/stylelint/node_modules/flat-cache": { + "version": "6.1.20", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.20.tgz", + "integrity": "sha512-AhHYqwvN62NVLp4lObVXGVluiABTHapoB57EyegZVmazN+hhGhLTn3uZbOofoTw4DSDvVCadzzyChXhOAvy8uQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "cacheable": "^2.3.2", + "flatted": "^3.3.3", + "hookified": "^1.15.0" + } + }, + "node_modules/stylelint/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/globby/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/stylelint/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/stylelint/node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/stylelint/node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "dev": true, "license": "MIT", "peer": true, @@ -21225,15 +23410,15 @@ "node": ">=8" } }, - "node_modules/stylelint/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "node_modules/stylelint/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "license": "ISC", + "license": "MIT", "peer": true, "engines": { - "node": ">= 6" + "node": ">=8" } }, "node_modules/supports-color": { @@ -21249,17 +23434,21 @@ } }, "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", + "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=14.18" + }, + "funding": { + "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" } }, "node_modules/supports-preserve-symlinks-flag": { @@ -21325,30 +23514,43 @@ "node": ">= 10" } }, + "node_modules/svgo/node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/svgo/node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/synckit": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", - "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", + "version": "0.11.12", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz", + "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==", "dev": true, "license": "MIT", "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" + "@pkgr/core": "^0.2.9" }, "engines": { "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/unts" + "url": "https://opencollective.com/synckit" } }, - "node_modules/synckit/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD" - }, "node_modules/table": { "version": "6.9.0", "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", @@ -21368,9 +23570,9 @@ } }, "node_modules/table/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "peer": true, @@ -21448,10 +23650,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/terminal-link/node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/terser": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.0.tgz", - "integrity": "sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==", + "version": "5.46.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", + "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -21467,9 +23683,9 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.14", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", - "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", + "version": "5.3.16", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", + "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", "dev": true, "license": "MIT", "dependencies": { @@ -21526,7 +23742,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "license": "ISC", "peer": true, "dependencies": { @@ -21544,13 +23760,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, "node_modules/throat": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", @@ -21594,6 +23803,54 @@ "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", "license": "MIT" }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/tldts": { "version": "6.1.86", "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", @@ -21675,15 +23932,17 @@ "tree-kill": "cli.js" } }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "node_modules/ts-api-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", "dev": true, "license": "MIT", - "peer": true, "engines": { - "node": ">=8" + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" } }, "node_modules/tsconfig-paths": { @@ -21735,6 +23994,19 @@ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, + "node_modules/tsyringe": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.10.0.tgz", + "integrity": "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.9.3" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -21785,9 +24057,9 @@ } }, "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -21898,7 +24170,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -21953,9 +24224,9 @@ } }, "node_modules/undici-types": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.14.0.tgz", - "integrity": "sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { @@ -22002,6 +24273,19 @@ "node": ">=4" } }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -22021,6 +24305,41 @@ "node": ">= 0.8" } }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, "node_modules/untildify": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", @@ -22032,9 +24351,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "funding": [ { "type": "opencollective", @@ -22139,24 +24458,26 @@ "uuid": "bin/uuid" } }, - "node_modules/v8-compile-cache": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", - "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", - "dev": true, - "license": "MIT" - }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, + "node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -22233,9 +24554,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", - "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", "dev": true, "license": "MIT", "dependencies": { @@ -22429,16 +24750,20 @@ } }, "node_modules/webpack-dev-middleware/node_modules/mime-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "dev": true, "license": "MIT", "dependencies": { "mime-db": "^1.54.0" }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/webpack-dev-middleware/node_modules/on-finished": { @@ -22455,15 +24780,15 @@ } }, "node_modules/webpack-dev-server": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz", - "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.3.tgz", + "integrity": "sha512-9Gyu2F7+bg4Vv+pjbovuYDhHX+mqdqITykfzdM9UyKqKHlsE5aAjRhR+oOEfXW5vBeu8tarzlJFIZva4ZjAdrQ==", "dev": true, "license": "MIT", "dependencies": { "@types/bonjour": "^3.5.13", "@types/connect-history-api-fallback": "^1.5.4", - "@types/express": "^4.17.21", + "@types/express": "^4.17.25", "@types/express-serve-static-core": "^4.17.21", "@types/serve-index": "^1.9.4", "@types/serve-static": "^1.15.5", @@ -22473,9 +24798,9 @@ "bonjour-service": "^1.2.1", "chokidar": "^3.6.0", "colorette": "^2.0.10", - "compression": "^1.7.4", + "compression": "^1.8.1", "connect-history-api-fallback": "^2.0.0", - "express": "^4.21.2", + "express": "^4.22.1", "graceful-fs": "^4.2.6", "http-proxy-middleware": "^2.0.9", "ipaddr.js": "^2.1.0", @@ -22483,7 +24808,7 @@ "open": "^10.0.3", "p-retry": "^6.2.0", "schema-utils": "^4.2.0", - "selfsigned": "^2.4.1", + "selfsigned": "^5.5.0", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", @@ -22522,28 +24847,6 @@ "node": ">=0.8" } }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.18.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/webpack-merge": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", @@ -22580,9 +24883,9 @@ } }, "node_modules/webpack-sources": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", - "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.4.tgz", + "integrity": "sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==", "dev": true, "license": "MIT", "engines": { @@ -22590,14 +24893,14 @@ } }, "node_modules/webpack/node_modules/enhanced-resolve": { - "version": "5.18.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", - "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", + "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "tapable": "^2.3.0" }, "engines": { "node": ">=10.13.0" @@ -22762,9 +25065,9 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", @@ -22800,17 +25103,17 @@ } }, "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "license": "MIT", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" @@ -22821,6 +25124,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -22834,62 +25138,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -22897,23 +25145,34 @@ "license": "ISC" }, "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", "license": "ISC", - "peer": true, "dependencies": { "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "signal-exit": "^4.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "dev": true, "license": "MIT", "engines": { @@ -22949,9 +25208,9 @@ } }, "node_modules/wsl-utils/node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", "dev": true, "license": "MIT", "dependencies": { @@ -22989,15 +25248,19 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "dev": true, "license": "ISC", "bin": { "yaml": "bin.mjs" }, "engines": { "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" } }, "node_modules/yargs": { @@ -23019,17 +25282,6 @@ } }, "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "license": "ISC", - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/node_modules/yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", diff --git a/package.json b/package.json index 360f737055..1dcf7c568c 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "devDependencies": { "@10up/cypress-wp-utils": "^0.3.0", "@babel/core": "7.25.7", - "@babel/eslint-parser": "7.22.15", + "@babel/eslint-parser": "^7.28.6", "@babel/plugin-syntax-jsx": "7.25.7", "@babel/plugin-transform-react-jsx": "^7.22.15", "@babel/preset-env": "^7.22.15", @@ -61,8 +61,8 @@ "@wordpress/babel-preset-default": "^7.25.0", "@wordpress/browserslist-config": "^5.30.0", "@wordpress/env": "^9.0.0", - "@wordpress/eslint-plugin": "10.0.0", - "@wordpress/stylelint-config": "^21.30.0", + "@wordpress/eslint-plugin": "^24.1.0", + "@wordpress/stylelint-config": "^23.31.0", "axe-core": "^4.9.1", "babel-loader": "9.2.1", "babel-plugin-styled-components": "^2.1.4", @@ -76,19 +76,20 @@ "cypress-axe": "^1.5.0", "cypress-html-validate": "^6.1.0", "cypress-xpath": "^2.0.1", - "eslint": "8.22.0", - "eslint-import-resolver-node": "0.3.4", - "eslint-import-resolver-webpack": "^0.13.8", - "eslint-plugin-compat": "^4.2.0", - "eslint-plugin-cypress": "^3.2.0", - "eslint-plugin-import": "2.25.2", - "eslint-plugin-jsdoc": "39.9.1", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-no-jquery": "^2.7.0", - "eslint-plugin-prettier": "5.0.0", - "eslint-plugin-react": "^7.20.6", - "eslint-plugin-sonarjs": "0.23.0", - "eslint-plugin-unicorn": "^43.0.0", + "globals": "^15.14.0", + "eslint": "9.39.2", + "eslint-import-resolver-node": "0.3.9", + "eslint-import-resolver-webpack": "^0.13.10", + "eslint-plugin-compat": "^6.0.2", + "eslint-plugin-cypress": "^4.1.0", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-jsdoc": "^50.6.3", + "eslint-plugin-jsx-a11y": "^6.10.2", + "eslint-plugin-no-jquery": "^3.1.0", + "eslint-plugin-prettier": "^5.2.3", + "eslint-plugin-react": "^7.37.5", + "eslint-plugin-sonarjs": "^3.0.2", + "eslint-plugin-unicorn": "^58.0.0", "html-validate": "^8.20.0", "mini-css-extract-plugin": "^2.9.2", "prompts": "^2.4.2", diff --git a/resources/scss/admin/base/_variables.scss b/resources/scss/admin/base/_variables.scss index 9b1d12eb96..9015004a08 100644 --- a/resources/scss/admin/base/_variables.scss +++ b/resources/scss/admin/base/_variables.scss @@ -6,49 +6,49 @@ .frm-white-body, .frm_wrap { --grey-900: #101828; - --grey-800: #1D2939; + --grey-800: #1d2939; --grey-700: #344054; --grey-600: #475467; --grey-500: #667085; /* Roughly 65% opacity */ - --grey-400: #98A2B3; - --grey-300: #D0D5DD; - --grey-200: #EAECF0; - --grey-100: #F2F4F7; - --grey-50: #F9FAFB; - --grey-25: #FCFCFD; + --grey-400: #98a2b3; + --grey-300: #d0d5dd; + --grey-200: #eaecf0; + --grey-100: #f2f4f7; + --grey-50: #f9fafb; + --grey-25: #fcfcfd; --dark-grey: var(--grey-700); /* Deprecated */ - --medium-grey: rgba(40, 47, 54, .65); + --medium-grey: rgba(40, 47, 54, 0.65); --grey: var(--grey-500); /* Deprecated */ --grey-border: var(--grey-300); /* Deprecated */ --lightest-grey: rgb(250, 250, 250); --sidebar-color: var(--grey-50); --sidebar-hover: var(--grey-200); - --primary-700: #2B66A9; - --primary-500: #4199FD; - --primary-300: #80BBFE; - --primary-200: #C0DDFE; - --primary-50: #ECF5FF; - --primary-25: #F5FAFF; + --primary-700: #2b66a9; + --primary-500: #4199fd; + --primary-300: #80bbfe; + --primary-200: #c0ddfe; + --primary-50: #ecf5ff; + --primary-25: #f5faff; --primary-color: var(--primary-500); /* Deprecated */ --primary-hover: var(--primary-700); /* Deprecated */ --light-blue: var(--primary-25); /* Deprecated */ --blue-border: rgb(188, 224, 253); - --error-700: #B42318; - --error-500: #F04438; - --error-300: #FECDCA; - --error-100: #FEE4E2; - --error-25: #FFF5F4; + --error-700: #b42318; + --error-500: #f04438; + --error-300: #fecdca; + --error-100: #fee4e2; + --error-25: #fff5f4; --green: rgb(63, 172, 37); - --orange: #F15A24; - --warning-500: #F79009; + --orange: #f15a24; + --warning-500: #f79009; --pink: rgb(226, 42, 110); --purple: rgb(141, 53, 245); - --success-900: #054F31; - --success-800: #065F46; + --success-900: #054f31; + --success-800: #065f46; --success-500: #12b76a; - --success-100: #D1FAE5; - --success-200: #A6F4C5; - --success-50: #ECFDF3; + --success-100: #d1fae5; + --success-200: #a6f4c5; + --success-50: #ecfdf3; --success-25: #f6fef9; --border-radius: 35px; --small-radius: 8px; diff --git a/resources/scss/admin/base/typography/_font.scss b/resources/scss/admin/base/typography/_font.scss index 6c0e1d00e3..49e1179f34 100644 --- a/resources/scss/admin/base/typography/_font.scss +++ b/resources/scss/admin/base/typography/_font.scss @@ -3,18 +3,18 @@ */ @font-face { - font-family: 'Inter'; - src: url('../fonts/Inter-VariableFont_slnt,wght.ttf?v=1') format('truetype'); + font-family: "Inter"; + src: url("../fonts/Inter-VariableFont_slnt,wght.ttf?v=1") format("truetype"); } .with_frm_style, .frm-white-body .wpbody-content, .frm_wrap { - font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; } /* Safari 11+ */ -@media not all and (min-resolution:.001dpcm) { +@media not all and (min-resolution: 0.001dpcm) { @supports (-webkit-appearance:none) and (stroke-color:transparent) { diff --git a/resources/scss/admin/base/typography/_howto.scss b/resources/scss/admin/base/typography/_howto.scss index 09804901f7..8091127489 100644 --- a/resources/scss/admin/base/typography/_howto.scss +++ b/resources/scss/admin/base/typography/_howto.scss @@ -6,4 +6,4 @@ h2.frm-h2 + .howto { color: var(--medium-grey); max-width: 850px; margin: 5px 0 20px; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/_addon-tiles.scss b/resources/scss/admin/components/_addon-tiles.scss index 0797f4d88f..4e450b83e0 100644 --- a/resources/scss/admin/components/_addon-tiles.scss +++ b/resources/scss/admin/components/_addon-tiles.scss @@ -74,7 +74,7 @@ } .addon-status-label { - opacity: .7; + opacity: 0.7; } .frm-addon-active .addon-status-label { @@ -89,4 +89,4 @@ right: 10px; font-weight: 700; text-align: center; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/_copied-frontend.scss b/resources/scss/admin/components/_copied-frontend.scss index d0e3206bf9..5f08c0e44d 100644 --- a/resources/scss/admin/components/_copied-frontend.scss +++ b/resources/scss/admin/components/_copied-frontend.scss @@ -18,18 +18,18 @@ .frm_form_field.frm_two_col .frm_opt_container, .frm_form_field.frm_three_col .frm_opt_container, -.frm_form_field.frm_four_col .frm_opt_container{ +.frm_form_field.frm_four_col .frm_opt_container { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: max-content; grid-gap: 0 2.5%; } -.frm_form_field.frm_three_col .frm_opt_container{ +.frm_form_field.frm_three_col .frm_opt_container { grid-template-columns: repeat(3, 1fr); } -.frm_form_field.frm_four_col .frm_opt_container{ +.frm_form_field.frm_four_col .frm_opt_container { grid-template-columns: repeat(4, 1fr); } @@ -38,6 +38,6 @@ .frm_form_field.frm_three_col .frm_radio, .frm_form_field.frm_three_col .frm_checkbox, .frm_form_field.frm_four_col .frm_radio, -.frm_form_field.frm_four_col .frm_checkbox{ +.frm_form_field.frm_four_col .frm_checkbox { grid-column-end: span 1; } diff --git a/resources/scss/admin/components/_coupons.scss b/resources/scss/admin/components/_coupons.scss index 0143b86769..7d059d3436 100644 --- a/resources/scss/admin/components/_coupons.scss +++ b/resources/scss/admin/components/_coupons.scss @@ -20,10 +20,10 @@ } .frm-coupons-upsell { - background-color: #F5F5F7; // This color blends better with the optimized images. + background-color: #f5f5f7; // This color blends better with the optimized images. border-radius: 16px; border: 6px solid #fff; - box-shadow: 0 0.471px 1.412px 0 rgba(16, 24, 40, 0.10), 0 0.471px 0.941px 0 rgba(16, 24, 40, 0.06); + box-shadow: 0 0.471px 1.412px 0 rgba(16, 24, 40, 0.1), 0 0.471px 0.941px 0 rgba(16, 24, 40, 0.06); text-align: center; width: 100%; box-sizing: border-box; diff --git a/resources/scss/admin/components/_license.scss b/resources/scss/admin/components/_license.scss index b7ab7d41f4..7de961391e 100644 --- a/resources/scss/admin/components/_license.scss +++ b/resources/scss/admin/components/_license.scss @@ -26,4 +26,4 @@ .frm-license-input span, .frm-license-input i { color: rgb(0, 131, 26); -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/_meta-tag.scss b/resources/scss/admin/components/_meta-tag.scss index 9400a741d7..b45c3f8124 100644 --- a/resources/scss/admin/components/_meta-tag.scss +++ b/resources/scss/admin/components/_meta-tag.scss @@ -8,7 +8,7 @@ border-radius: var(--small-radius); font-weight: 600; display: inline-flex; - background-color: #D9EBFF; + background-color: #d9ebff; gap: 2px; } @@ -26,7 +26,7 @@ .frm-meta-tag.frm-orange-tag, .frm-meta-tag.frm-orange-tag:hover { - background-color: #FEF7F4; + background-color: #fef7f4; color: var(--orange); } diff --git a/resources/scss/admin/components/_nav-tabs.scss b/resources/scss/admin/components/_nav-tabs.scss index 42a9516977..2df5946dbe 100644 --- a/resources/scss/admin/components/_nav-tabs.scss +++ b/resources/scss/admin/components/_nav-tabs.scss @@ -62,7 +62,7 @@ .frm-nav-tabs a { display: block; - opacity: .9; + opacity: 0.9; } #frm_adv_info .frm-nav-tabs a { @@ -114,5 +114,5 @@ .frm-payments-tab a { text-decoration: none; - color: var(--grey-900); -} \ No newline at end of file + color: var(--grey-900); +} diff --git a/resources/scss/admin/components/_page-collapsed.scss b/resources/scss/admin/components/_page-collapsed.scss index e866769322..b17f67144f 100644 --- a/resources/scss/admin/components/_page-collapsed.scss +++ b/resources/scss/admin/components/_page-collapsed.scss @@ -9,7 +9,7 @@ .frm-page-break .frm-collapse-page.button { margin-left: 46%; - margin-top: calc( -32px / 2 ); + margin-top: calc(-32px / 2); padding: 6px 12px !important; } @@ -44,7 +44,7 @@ .frm-collapsed i::before, .frm-page-collapsed .frm_arrowdown6_icon::before { - content: '\e913'; + content: "\e913"; } .frm-collapse-section svg { diff --git a/resources/scss/admin/components/_square.scss b/resources/scss/admin/components/_square.scss index 85f406ac3e..8edb0314e2 100644 --- a/resources/scss/admin/components/_square.scss +++ b/resources/scss/admin/components/_square.scss @@ -8,10 +8,12 @@ a[href="#square_settings"] svg.frmsvg { } @media only screen and (max-width: 900px) { + #square_settings .frm_grid_container:has(.frm-card-item) { grid-template-columns: repeat(1, 1fr); } + #square_settings .frm-card-item + .frm-card-item { margin-top: var(--gap-sm); } -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/_tooltip.scss b/resources/scss/admin/components/_tooltip.scss index 48fa3dea12..5cfef1d08e 100644 --- a/resources/scss/admin/components/_tooltip.scss +++ b/resources/scss/admin/components/_tooltip.scss @@ -2,7 +2,7 @@ * Bootstrap v4.6.1 */ - .tooltip { +.tooltip { /* Copied from Bootstrap */ position: absolute; @@ -49,61 +49,73 @@ border-style: solid; } -.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { +.bs-tooltip-top, +.bs-tooltip-auto[x-placement^="top"] { padding: 0.4rem 0; } -.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { +.bs-tooltip-top .arrow, +.bs-tooltip-auto[x-placement^="top"] .arrow { bottom: 0; } -.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { +.bs-tooltip-top .arrow::before, +.bs-tooltip-auto[x-placement^="top"] .arrow::before { top: 0; border-width: 0.4rem 0.4rem 0; border-top-color: #000; } -.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { +.bs-tooltip-right, +.bs-tooltip-auto[x-placement^="right"] { padding: 0 0.4rem; } -.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { +.bs-tooltip-right .arrow, +.bs-tooltip-auto[x-placement^="right"] .arrow { left: 0; width: 0.4rem; height: 0.8rem; } -.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { +.bs-tooltip-right .arrow::before, +.bs-tooltip-auto[x-placement^="right"] .arrow::before { right: 0; border-width: 0.4rem 0.4rem 0.4rem 0; border-right-color: #000; } -.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { +.bs-tooltip-bottom, +.bs-tooltip-auto[x-placement^="bottom"] { padding: 0.4rem 0; } -.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { +.bs-tooltip-bottom .arrow, +.bs-tooltip-auto[x-placement^="bottom"] .arrow { top: 0; } -.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { +.bs-tooltip-bottom .arrow::before, +.bs-tooltip-auto[x-placement^="bottom"] .arrow::before { bottom: 0; border-width: 0 0.4rem 0.4rem; border-bottom-color: #000; } -.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { +.bs-tooltip-left, +.bs-tooltip-auto[x-placement^="left"] { padding: 0 0.4rem; } -.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { +.bs-tooltip-left .arrow, +.bs-tooltip-auto[x-placement^="left"] .arrow { right: 0; width: 0.4rem; height: 0.8rem; } -.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { +.bs-tooltip-left .arrow::before, +.bs-tooltip-auto[x-placement^="left"] .arrow::before { left: 0; border-width: 0.4rem 0 0.4rem 0.4rem; border-left-color: #000; @@ -168,7 +180,7 @@ text-align: center; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); transition: width 0.6s ease; - background-color: #04A4CC; + background-color: #04a4cc; } .tooltip.frm_tooltip { diff --git a/resources/scss/admin/components/accordion/_accordion.scss b/resources/scss/admin/components/accordion/_accordion.scss index 79c37a407d..0b7875d8da 100644 --- a/resources/scss/admin/components/accordion/_accordion.scss +++ b/resources/scss/admin/components/accordion/_accordion.scss @@ -43,7 +43,7 @@ .frm-with-line::before, .accordion-section-content h4::before { - content: ''; + content: ""; display: block; position: absolute; border-bottom: 1px solid var(--grey-300); diff --git a/resources/scss/admin/components/banner/_sale-banner.scss b/resources/scss/admin/components/banner/_sale-banner.scss index 7eeeacf564..9e7fdd9c5d 100644 --- a/resources/scss/admin/components/banner/_sale-banner.scss +++ b/resources/scss/admin/components/banner/_sale-banner.scss @@ -6,14 +6,14 @@ gap: var(--gap-sm); cursor: pointer; position: relative; - + > div:first-child { align-self: flex-end; width: 150px; height: 100%; display: flex; justify-content: center; - + img { align-self: center; } @@ -55,20 +55,21 @@ } &:hover a:not(.dismiss) { + &[style*="background-color: #fff"] { - background-color: #F0F0F0 !important; + background-color: #f0f0f0 !important; } &[style*="background-color: rgba(241, 90, 36, 1)"] { - background-color: #E6470F !important; + background-color: #e6470f !important; } &[style*="background-color: rgba(239, 58, 78, 1)"] { - background-color: #ED1D34 !important; + background-color: #ed1d34 !important; } &[style*="background-color: rgba(33, 2, 14, 1)"] { - background-color: #3E041A !important; + background-color: #3e041a !important; } &[style*="background-color: rgba(72, 51, 64, 1)"] { diff --git a/resources/scss/admin/components/builder/_dividers.scss b/resources/scss/admin/components/builder/_dividers.scss index b790c347d4..45a3d189f7 100644 --- a/resources/scss/admin/components/builder/_dividers.scss +++ b/resources/scss/admin/components/builder/_dividers.scss @@ -38,7 +38,7 @@ ul.start_divider { .frm-page-collapsed .frm_delete_field, .frm-page-collapsed .frm_clone_field, .frm-section-collapsed .frm_clone_icon { - opacity: .5; + opacity: 0.5; cursor: not-allowed; } @@ -77,7 +77,7 @@ ul.start_divider { .frm-section-collapsed .divider_section_only::after, .divider_section_only::before { - content: ''; + content: ""; display: block; padding: 2px 0; line-height: 1px; @@ -85,7 +85,7 @@ ul.start_divider { top: -2px; position: absolute; width: 100%; - transition: .5s border-color ease-in-out; + transition: 0.5s border-color ease-in-out; } .frm-section-collapsed .divider_section_only::after { diff --git a/resources/scss/admin/components/builder/_field-dragging.scss b/resources/scss/admin/components/builder/_field-dragging.scss index 500c135996..a9090d3cb5 100644 --- a/resources/scss/admin/components/builder/_field-dragging.scss +++ b/resources/scss/admin/components/builder/_field-dragging.scss @@ -24,7 +24,7 @@ .frm_sorting li.ui-state-default.ui-sortable-helper, .frmbutton.ui-sortable-helper { - transition: opacity .2s; + transition: opacity 0.2s; opacity: 1; position: fixed; z-index: 99999; @@ -46,7 +46,7 @@ li.frm_noallow.button, .frm_noallow { - opacity: .5; + opacity: 0.5; } .frm_actions_list a.frm_show_upgrade.frm_inactive_action::before, diff --git a/resources/scss/admin/components/builder/_field-group-message.scss b/resources/scss/admin/components/builder/_field-group-message.scss index 2d61db8b69..ec5085dd5b 100644 --- a/resources/scss/admin/components/builder/_field-group-message.scss +++ b/resources/scss/admin/components/builder/_field-group-message.scss @@ -17,7 +17,7 @@ } #frm-field-group-message-dismiss { - margin-left: var(--gap-xs) + margin-left: var(--gap-xs); } #frm-field-group-message-dismiss .frmsvg { diff --git a/resources/scss/admin/components/builder/_form-rows.scss b/resources/scss/admin/components/builder/_form-rows.scss index 44c2ce08ae..eb4eff92c7 100644 --- a/resources/scss/admin/components/builder/_form-rows.scss +++ b/resources/scss/admin/components/builder/_form-rows.scss @@ -27,7 +27,7 @@ .frm-page-break::before, .frm-page-break::after { - content: ''; + content: ""; position: absolute; background-color: #fff; border-radius: 50%; diff --git a/resources/scss/admin/components/builder/_insert-fields.scss b/resources/scss/admin/components/builder/_insert-fields.scss index 828599455e..ff2caad5ac 100644 --- a/resources/scss/admin/components/builder/_insert-fields.scss +++ b/resources/scss/admin/components/builder/_insert-fields.scss @@ -38,7 +38,7 @@ &.frm_show_upgrade { cursor: pointer; - opacity: .5; + opacity: 0.5; } span:not(.frm-new-pill) { @@ -72,7 +72,7 @@ align-items: center; border-radius: var(--small-radius) !important; padding: 11px var(--gap-md) 11px var(--gap-xs) !important; - color: var(--grey-900) !important + color: var(--grey-900) !important; } a { @@ -233,5 +233,5 @@ input[disabled] { } .frmbutton.frm_at_limit { - opacity: .5; + opacity: 0.5; } diff --git a/resources/scss/admin/components/builder/_ui-state-defaults.scss b/resources/scss/admin/components/builder/_ui-state-defaults.scss index 4af4b83283..4b98760f95 100644 --- a/resources/scss/admin/components/builder/_ui-state-defaults.scss +++ b/resources/scss/admin/components/builder/_ui-state-defaults.scss @@ -2,7 +2,8 @@ * Components : UI State Defaults */ -.frm-right-panel .ui-state-default, #postbox-container-1 .ui-state-default { +.frm-right-panel .ui-state-default, +#postbox-container-1 .ui-state-default { color: var(--grey-900); } @@ -22,7 +23,7 @@ .frm_sorting li.ui-state-default.frm_not_divider.selected, .frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only { border-color: var(--primary-500); - transition: .5s border-color ease-in-out; + transition: 0.5s border-color ease-in-out; } .frm_sorting li.ui-state-default.frm_not_divider.selected { @@ -30,7 +31,7 @@ } .frm_sorting li.ui-state-default { - transition: .7s box-shadow ease-in-out, .7s height linear; + transition: 0.7s box-shadow ease-in-out, 0.7s height linear; } .frm_sorting li.ui-state-default.frm-newly-added { diff --git a/resources/scss/admin/components/builder/_where-options.scss b/resources/scss/admin/components/builder/_where-options.scss index f43585fad9..0f597b1157 100644 --- a/resources/scss/admin/components/builder/_where-options.scss +++ b/resources/scss/admin/components/builder/_where-options.scss @@ -30,7 +30,8 @@ display: none; } -#frm_where_options span.frm_where_val input, #frm_where_options span.frm_where_val select { +#frm_where_options span.frm_where_val input, +#frm_where_options span.frm_where_val select { width: 90%; margin-left: 10px; } diff --git a/resources/scss/admin/components/button/_button-grey.scss b/resources/scss/admin/components/button/_button-grey.scss index 445de48466..62ad4b23f1 100644 --- a/resources/scss/admin/components/button/_button-grey.scss +++ b/resources/scss/admin/components/button/_button-grey.scss @@ -6,7 +6,7 @@ .wp-core-ui .frm_grey.frm-button-primary, #frm-welcome .frm_grey { opacity: 0.5; - background: #F6F6F6 !important; + background: #f6f6f6 !important; border-color: #ddd !important; - color: #9FA5AA !important; + color: #9fa5aa !important; } diff --git a/resources/scss/admin/components/button/_button.scss b/resources/scss/admin/components/button/_button.scss index bc0269a39b..61c4621360 100644 --- a/resources/scss/admin/components/button/_button.scss +++ b/resources/scss/admin/components/button/_button.scss @@ -23,7 +23,7 @@ .frm_reverse_button { font-size: 1em; - transition: all .2s ease; + transition: all 0.2s ease; } .frm-button-primary, @@ -51,7 +51,7 @@ border-radius: 30px; border: 1px solid var(--primary-500); font-size: var(--text-sm); - transition: all .2s ease; + transition: all 0.2s ease; padding: 7px 16px; height: auto; min-height: 28px; @@ -76,7 +76,7 @@ background-clip: padding-box !important; &::before { - content: ''; + content: ""; position: absolute; top: 0; right: 0; @@ -85,7 +85,7 @@ z-index: -1; margin: -1px; border-radius: inherit; - background: linear-gradient(90deg, #129EFD 0%, #A334FD 100%); + background: linear-gradient(90deg, #129efd 0%, #a334fd 100%); transition: opacity 150ms ease-out; } } @@ -151,7 +151,7 @@ } .frm-with-icon svg { - opacity: .65; /* Get close to grey-500 without overriding hover colors */ + opacity: 0.65; /* Get close to grey-500 without overriding hover colors */ } .frm-with-icon.button svg { @@ -316,7 +316,7 @@ input.frm_insert_in_template { font-size: 10px; width: 98%; - font-weight: 400 + font-weight: 400; } .frm-dismissible a.dismiss:focus { diff --git a/resources/scss/admin/components/button/_small-add.scss b/resources/scss/admin/components/button/_small-add.scss index e704e08283..d238dadfd3 100644 --- a/resources/scss/admin/components/button/_small-add.scss +++ b/resources/scss/admin/components/button/_small-add.scss @@ -11,4 +11,4 @@ font-size: 12px; height: 12px; width: 12px; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/card/_card-item.scss b/resources/scss/admin/components/card/_card-item.scss index 9e8af53060..69a35ffd5c 100644 --- a/resources/scss/admin/components/card/_card-item.scss +++ b/resources/scss/admin/components/card/_card-item.scss @@ -8,7 +8,7 @@ border-radius: var(--small-radius); padding: var(--gap-sm); box-shadow: var(--box-shadow-xs); - background: #FFF; + background: #fff; } .frm-card-item:not(.frm-counter-card) { @@ -21,9 +21,9 @@ .frm-card-bottom { background-color: var(--grey-50); - margin-left: calc( var(--gap-sm) * -1 ); - margin-bottom: calc( var(--gap-sm) * -1 ); - margin-right: calc( var(--gap-sm) * -1 ); + margin-left: calc(var(--gap-sm) * -1); + margin-bottom: calc(var(--gap-sm) * -1); + margin-right: calc(var(--gap-sm) * -1); padding: var(--gap-sm); border-radius: 0 0 var(--small-radius) var(--small-radius); } diff --git a/resources/scss/admin/components/card/_card.scss b/resources/scss/admin/components/card/_card.scss index 12b7908713..6174272e39 100644 --- a/resources/scss/admin/components/card/_card.scss +++ b/resources/scss/admin/components/card/_card.scss @@ -43,7 +43,7 @@ background-color: var(--primary-500); } -.frm-card-box-header { +.frm-card-box-header { display: flex; justify-content: center; margin-bottom: var(--gap-sm); @@ -74,4 +74,4 @@ font-size: var(--text-md) !important; color: var(--grey-600) !important; margin-top: 0 !important; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/form/_empty-fields.scss b/resources/scss/admin/components/form/_empty-fields.scss index e4e347c83e..6873ce836a 100644 --- a/resources/scss/admin/components/form/_empty-fields.scss +++ b/resources/scss/admin/components/form/_empty-fields.scss @@ -23,7 +23,7 @@ display: none; margin: 0; padding: 20px 0 0; - width: calc( 100% - 20px ); + width: calc(100% - 20px); height: 121px; transition: all 0.4s linear; } @@ -82,9 +82,9 @@ } } - .frm_no_fields { +.frm_no_fields { top: 0; - width: calc( 100% - 24px ); + width: calc(100% - 24px); min-height: 320px; display: flex; flex-direction: column; @@ -98,7 +98,7 @@ margin: var(--gap-sm) 12px; img { - margin-left: calc( -1 * var(--gap-lg) ); + margin-left: calc(-1 * var(--gap-lg)); } .frm_drag_inst { diff --git a/resources/scss/admin/components/form/_field-key.scss b/resources/scss/admin/components/form/_field-key.scss index 35691bdacd..ed16a0bca5 100644 --- a/resources/scss/admin/components/form/_field-key.scss +++ b/resources/scss/admin/components/form/_field-key.scss @@ -3,5 +3,5 @@ */ .frm_field_key { - background-color: #F7F7F7; + background-color: #f7f7f7; } diff --git a/resources/scss/admin/components/form/_fields-part2.scss b/resources/scss/admin/components/form/_fields-part2.scss index 92ed153c99..a9c3473d94 100644 --- a/resources/scss/admin/components/form/_fields-part2.scss +++ b/resources/scss/admin/components/form/_fields-part2.scss @@ -48,7 +48,7 @@ .frm-white-body input[type="checkbox"]:checked::before, .frm_wrap input[type="checkbox"]:checked::before { - content: ''; + content: ""; display: block; width: 100% !important; height: 100% !important; diff --git a/resources/scss/admin/components/form/_fields-part3.scss b/resources/scss/admin/components/form/_fields-part3.scss index d57302fb00..25064fa4c9 100644 --- a/resources/scss/admin/components/form/_fields-part3.scss +++ b/resources/scss/admin/components/form/_fields-part3.scss @@ -2,7 +2,8 @@ * Components - Fields Part 3 */ -label input[type="checkbox"], label input[type="radio"] { +label input[type="checkbox"], +label input[type="radio"] { vertical-align: inherit; } diff --git a/resources/scss/admin/components/form/_fields.scss b/resources/scss/admin/components/form/_fields.scss index 3984a976d7..4c8c9f2e38 100644 --- a/resources/scss/admin/components/form/_fields.scss +++ b/resources/scss/admin/components/form/_fields.scss @@ -10,7 +10,7 @@ .frm_scale input { display: block; - margin: 5px + margin: 5px; } .frm_multi_fields_container { @@ -113,7 +113,8 @@ border: none; } -.frm_form_fields input[type="file"], .frm_form_fields input[type="file"]:disabled { +.frm_form_fields input[type="file"], +.frm_form_fields input[type="file"]:disabled { background: transparent; border: none; box-shadow: none; @@ -158,12 +159,17 @@ input[type="checkbox"] { margin-top: 0; } -.frm_catlevel_2, .frm_catlevel_3, .frm_catlevel_4, .frm_catlevel_5 { +.frm_catlevel_2, +.frm_catlevel_3, +.frm_catlevel_4, +.frm_catlevel_5 { margin-left: 18px; } .frm_wrap .frm-fields .auto_width, -.frm_form_fields input.auto_width, .frm_form_fields select.auto_width, .frm_form_fields textarea.auto_width { +.frm_form_fields input.auto_width, +.frm_form_fields select.auto_width, +.frm_form_fields textarea.auto_width { width: auto !important; } @@ -171,8 +177,10 @@ input[type="checkbox"] { min-width: 60px; } -.frm_form_fields input:focus, .frm_form_fields select:focus, -.frm_form_fields textarea:focus, .frm_focus_field input { +.frm_form_fields input:focus, +.frm_form_fields select:focus, +.frm_form_fields textarea:focus, +.frm_focus_field input { background-color: #fff; border-color: #ddd; } diff --git a/resources/scss/admin/components/form/_form-actions.scss b/resources/scss/admin/components/form/_form-actions.scss index 3a50cac51f..1e5e12f62a 100644 --- a/resources/scss/admin/components/form/_form-actions.scss +++ b/resources/scss/admin/components/form/_form-actions.scss @@ -27,7 +27,7 @@ outline: 0; } -#frm_notification_settings .widget-top .widget-action{ +#frm_notification_settings .widget-top .widget-action { padding-top: 13.5px; } @@ -129,7 +129,7 @@ .frm_actions_list li { float: left; width: 15.6%; - margin: 10px .5% 15px; + margin: 10px 0.5% 15px; height: 100px; text-align: center; } @@ -151,7 +151,8 @@ label.frm_action_events { float: right; } -.frm_actions_list a:active, .frm_actions_list a:focus { +.frm_actions_list a:active, +.frm_actions_list a:focus { outline: none; } @@ -290,7 +291,7 @@ span.frm-inner-circle.frm-inverse { margin-left: 8px; color: var(--grey); opacity: 0; - transition: all .2s ease; + transition: all 0.2s ease; } .frm_email_icons a .frmsvg { @@ -308,5 +309,5 @@ span.frm-inner-circle.frm-inverse { .frm_inactive_action .frm-inner-circle, .frm_actions_list .frm_inactive_action i { - opacity: .4; + opacity: 0.4; } diff --git a/resources/scss/admin/components/form/_form-editor-container.scss b/resources/scss/admin/components/form/_form-editor-container.scss index e9d2dcf9e3..07c2f04c6b 100644 --- a/resources/scss/admin/components/form/_form-editor-container.scss +++ b/resources/scss/admin/components/form/_form-editor-container.scss @@ -4,7 +4,7 @@ #frm_form_editor_container #frm_form_key_box { width: 13em; - max-width: 30% + max-width: 30%; } #frm_form_editor_container #frm_form_desc { @@ -38,14 +38,18 @@ color: var(--green) !important; } -#frm_form_editor_container .ui-state-default a.frm_orange, .frm-right-panel a.frm_orange, #postbox-container-1 a.frm_orange { - color: #D54E21; +#frm_form_editor_container .ui-state-default a.frm_orange, +.frm-right-panel a.frm_orange, +#postbox-container-1 a.frm_orange { + color: #d54e21; } -#styling_settings input[type="checkbox"], #styling_settings input[type="radio"] { +#styling_settings input[type="checkbox"], +#styling_settings input[type="radio"] { border: solid 1px #bbb; } -#styling_settings .widget .widget-top, #frm_form_editor_container .widget .widget-top { +#styling_settings .widget .widget-top, +#frm_form_editor_container .widget .widget-top { cursor: pointer; } diff --git a/resources/scss/admin/components/form/_form-error.scss b/resources/scss/admin/components/form/_form-error.scss index 3a7964a133..38de2a139b 100644 --- a/resources/scss/admin/components/form/_form-error.scss +++ b/resources/scss/admin/components/form/_form-error.scss @@ -9,7 +9,7 @@ } .frm_error { - color: #F04438; + color: #f04438; } form .frm_blank_field input, @@ -17,13 +17,13 @@ form .frm_blank_field textarea, form .frm_blank_field select, form .frm_blank_field .frm-g-recaptcha iframe, form .frm_blank_field .g-recaptcha iframe { - border-color: #F04438; + border-color: #f04438; } form .frm_blank_field label { - color: #F04438; + color: #f04438; } .frm_required { - color: #F04438; -} \ No newline at end of file + color: #f04438; +} diff --git a/resources/scss/admin/components/form/_form-inputs.scss b/resources/scss/admin/components/form/_form-inputs.scss index 117ba1161e..eae3856c82 100644 --- a/resources/scss/admin/components/form/_form-inputs.scss +++ b/resources/scss/admin/components/form/_form-inputs.scss @@ -6,6 +6,7 @@ #new_fields .form-table select, .form-table .form-field input, .form-table .form-field .quicktags-toolbar input, -.form-field input, .form-field .quicktags-toolbar input { +.form-field input, +.form-field .quicktags-toolbar input { width: auto; } diff --git a/resources/scss/admin/components/form/_general-form-styles.scss b/resources/scss/admin/components/form/_general-form-styles.scss index 979dbeb363..c1e3ba9491 100644 --- a/resources/scss/admin/components/form/_general-form-styles.scss +++ b/resources/scss/admin/components/form/_general-form-styles.scss @@ -46,4 +46,4 @@ #frm_form_editor_container { position: relative; margin-top: 28px; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/form/_input-icons.scss b/resources/scss/admin/components/form/_input-icons.scss index dc39d00cae..8b5becf1b6 100644 --- a/resources/scss/admin/components/form/_input-icons.scss +++ b/resources/scss/admin/components/form/_input-icons.scss @@ -52,7 +52,7 @@ i.frm-show-inline-modal, } .frm_form_settings, -#frm_builder_page { +#frm_builder_page { .wp-editor-container .frm-with-right-icon .frmsvg { top: auto; @@ -78,7 +78,7 @@ i.frm-show-inline-modal { color: var(--primary-500); border-radius: 6px; padding: var(--gap-2xs); - margin: calc( ( 36px - 26px ) / 2 ); /* input height - svg / 2 */ + margin: calc(( 36px - 26px ) / 2); /* input height - svg / 2 */ margin-bottom: 0; z-index: 1; cursor: pointer; @@ -90,6 +90,7 @@ i.frm-show-inline-modal { } .frm_form_settings { + .frmsvg.frm-show-box, .frmsvg.frm-show-inline-modal, i.frm-show-box, diff --git a/resources/scss/admin/components/form/_mce.scss b/resources/scss/admin/components/form/_mce.scss index d557944ac6..63e8319209 100644 --- a/resources/scss/admin/components/form/_mce.scss +++ b/resources/scss/admin/components/form/_mce.scss @@ -11,4 +11,4 @@ .with_frm_style .mceIframeContainer, .postbox .mceIframeContainer { background-color: #fff; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/form/_option-templates.scss b/resources/scss/admin/components/form/_option-templates.scss index d49b3dec22..156cade7c5 100644 --- a/resources/scss/admin/components/form/_option-templates.scss +++ b/resources/scss/admin/components/form/_option-templates.scss @@ -17,7 +17,7 @@ width: 30px; position: absolute; top: 5px; - right: calc( 50% - 15px ); + right: calc(50% - 15px); } /* End show an icon on top */ diff --git a/resources/scss/admin/components/form/_shortcode-select.scss b/resources/scss/admin/components/form/_shortcode-select.scss index bec9a29cd4..95107d458f 100644 --- a/resources/scss/admin/components/form/_shortcode-select.scss +++ b/resources/scss/admin/components/form/_shortcode-select.scss @@ -19,7 +19,8 @@ select[name="m"] { margin-left: 2em; } -.misc-pub-section a.edit-frm_shortcode, .misc-pub-section a.edit-form-status { +.misc-pub-section a.edit-frm_shortcode, +.misc-pub-section a.edit-form-status { float: none; font-size: 13px; } diff --git a/resources/scss/admin/components/form/_toggle-components.scss b/resources/scss/admin/components/form/_toggle-components.scss index e8af1969da..61fc3b6ae7 100644 --- a/resources/scss/admin/components/form/_toggle-components.scss +++ b/resources/scss/admin/components/form/_toggle-components.scss @@ -34,7 +34,7 @@ .frm_toggle input, /* Reverse compatibility */ .frm_toggle_block input { - display:none !important; + display: none !important; } .frm_toggle_slider { @@ -45,7 +45,7 @@ right: 0; bottom: 0; background-color: var(--grey-200); - transition: .4s; + transition: 0.4s; border-radius: 30px; } @@ -85,11 +85,11 @@ input[disabled] + .frm_toggle_slider, input[disabled] + .frm_toggle .frm_toggle_slider { pointer-events: none; cursor: text; - opacity: .5; + opacity: 0.5; } .frm_toggle_opt ~ .frm_toggle:not(#frm_testing_mode .frm_toggle) .frm_toggle_slider::before { - content: '' !important; /* Don't show x/check if off label included or on builder page */ + content: "" !important; /* Don't show x/check if off label included or on builder page */ } .rtl .frm_toggle_opt { @@ -101,7 +101,7 @@ input[disabled] + .frm_toggle .frm_toggle_slider { } .rtl input:checked + .frm_toggle .frm_toggle_slider::before { - transform: none!important; + transform: none !important; left: 1px; } @@ -159,7 +159,7 @@ input[disabled] + .frm_toggle .frm_toggle_slider { height: 100%; background-color: #fff; color: var(--primary-color); - content: '' !important; + content: "" !important; } .frm_toggle_long input:checked + .frm_toggle_slider::before { diff --git a/resources/scss/admin/components/icons/_circled-icons.scss b/resources/scss/admin/components/icons/_circled-icons.scss index 64ae1acd52..86f2f63a80 100644 --- a/resources/scss/admin/components/icons/_circled-icons.scss +++ b/resources/scss/admin/components/icons/_circled-icons.scss @@ -34,7 +34,7 @@ .frm-circled-icon .frmsvg use { color: var(--primary-500); - } +} .frm-circled-icon-green .frmsvg use { color: var(--success-500); diff --git a/resources/scss/admin/components/icons/_icon-font.scss b/resources/scss/admin/components/icons/_icon-font.scss index 428a58eeec..60f8191079 100644 --- a/resources/scss/admin/components/icons/_icon-font.scss +++ b/resources/scss/admin/components/icons/_icon-font.scss @@ -3,7 +3,7 @@ */ .frm_icon_font { - color: #A0A0A0; + color: #a0a0a0; color: var(--grey); } @@ -22,11 +22,11 @@ } .frm_add_tag::before { - content: '\e602'; + content: "\e602"; } .frm_remove_tag::before { - content: '\e600'; + content: "\e600"; } .frm_logic_row .frm1 > .frm_remove_tag { @@ -76,11 +76,11 @@ a.frm_action_icon:hover { } .frm_action_icon.frm_error_icon::before { - content: '\e608'; + content: "\e608"; } .frm_inactive_icon.frm_action_icon.frm_error_icon::before { - content: '\e606'; + content: "\e606"; } .frm-field-action-icons { @@ -97,7 +97,7 @@ a.frm_action_icon:hover { text-overflow: ellipsis; white-space: nowrap; width: 80px; - max-width: calc( 100% - 50px ); + max-width: calc(100% - 50px); position: relative; top: 2px; } diff --git a/resources/scss/admin/components/image/_image-from-url.scss b/resources/scss/admin/components/image/_image-from-url.scss index 5908aff4d1..bd810eef4c 100644 --- a/resources/scss/admin/components/image/_image-from-url.scss +++ b/resources/scss/admin/components/image/_image-from-url.scss @@ -4,9 +4,9 @@ .frm_no_captcha_text { font-weight: 700; - color: #A00; + color: #a00; } .frm_image_from_url { height: 50px; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/info/_advanced-info-panel.scss b/resources/scss/admin/components/info/_advanced-info-panel.scss index 6fd16d84b6..8b04129fa4 100644 --- a/resources/scss/admin/components/info/_advanced-info-panel.scss +++ b/resources/scss/admin/components/info/_advanced-info-panel.scss @@ -3,8 +3,8 @@ */ .post-type-frm_display #frm_adv_info { - width: calc( var(--big-sidebar) - 40px ); - height: calc( 100vh - 32px ); + width: calc(var(--big-sidebar) - 40px); + height: calc(100vh - 32px); overflow: hidden; } @@ -19,5 +19,5 @@ } .post-type-frm_display #frm_adv_info ul.frm_code_list.frm-full-hover { - max-height: calc( 100vh - 180px ); + max-height: calc(100vh - 180px); } diff --git a/resources/scss/admin/components/list/_code-list.scss b/resources/scss/admin/components/list/_code-list.scss index 8e6ce94df8..f6ed926666 100644 --- a/resources/scss/admin/components/list/_code-list.scss +++ b/resources/scss/admin/components/list/_code-list.scss @@ -12,7 +12,7 @@ #frm-navbarDrop + .frm_code_list.frm-full-hover { margin: var(--gap-xs) 0 0; min-width: 300px; - max-height: calc( ( 40px * 5 ) + 56px ); + max-height: calc(( 40px * 5 ) + 56px); } .frm_code_list.frm-full-hover li { @@ -84,7 +84,7 @@ .frm-select-list-item .frmsvg, .frm-dropdown-menu > .dropdown-item > a .frmsvg { - opacity: .8; + opacity: 0.8; } .frm-select-list-item:hover .frmsvg, diff --git a/resources/scss/admin/components/list/_tag-checklist.scss b/resources/scss/admin/components/list/_tag-checklist.scss index 5d3a3cdc2c..bcaf27d0e5 100644 --- a/resources/scss/admin/components/list/_tag-checklist.scss +++ b/resources/scss/admin/components/list/_tag-checklist.scss @@ -22,4 +22,4 @@ .frm_form_action_settings .frm_email_row .frm_tooltip_icon { position: relative; bottom: 2px; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/list/_template-list.scss b/resources/scss/admin/components/list/_template-list.scss index f83018a2c5..598960d039 100644 --- a/resources/scss/admin/components/list/_template-list.scss +++ b/resources/scss/admin/components/list/_template-list.scss @@ -39,7 +39,7 @@ .frm-templates-list li.frm-selectable:hover h3, .frm-templates-list li.frm-selectable:hover p { - max-width: calc( 100% - 65px ); + max-width: calc(100% - 65px); } .frm-templates-list .frm-featured-form { @@ -109,7 +109,7 @@ .frm-hover-icons { position: absolute; right: 0; - top: calc( ( 58px - 2px - 22px ) / 2 ); /* Template item height - borders - icon height */ + top: calc(( 58px - 2px - 22px ) / 2); /* Template item height - borders - icon height */ max-width: 91px; height: 100%; box-sizing: border-box; @@ -183,14 +183,12 @@ .frm-hover-icons .frm-create-form:hover, .frm-ready-made-solution .frm-hover-icons a:hover, .frm-hover-icons > .frm-unlock-form:hover, -.frm-hover-icons > .frm-unlock-form:hover .frmsvg -{ +.frm-hover-icons > .frm-unlock-form:hover .frmsvg { background-color: var(--primary-700) !important; } .frm-hover-icons .frm-preview-form:hover, -.frm-hover-icons .frm-delete-form:hover -{ +.frm-hover-icons .frm-delete-form:hover { border: 1px solid var(--primary-700) !important; } @@ -205,4 +203,4 @@ width: var(--text-sm); vertical-align: text-top; color: var(--grey-500); -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/list/_upgrade-list.scss b/resources/scss/admin/components/list/_upgrade-list.scss index 97fc6a35d4..c025f6d33a 100644 --- a/resources/scss/admin/components/list/_upgrade-list.scss +++ b/resources/scss/admin/components/list/_upgrade-list.scss @@ -8,8 +8,8 @@ } .frm-entry-status-1 { - color: #7A4D05; - background: #FFF2D2; + color: #7a4d05; + background: #fff2d2; } /* End entry statuses */ @@ -32,12 +32,12 @@ li[data-preview] .frm-hover-icons .frm-preview-form { } .frm-modal-back svg { - color: #7F7F7F; + color: #7f7f7f; } #frm-upgrade-body-list-wrapper > div { display: inline-block; - width: calc( 100% / 3 ); + width: calc(100% / 3); vertical-align: top; text-align: left; margin-bottom: 10px; @@ -53,4 +53,4 @@ li[data-preview] .frm-hover-icons .frm-preview-form { display: inline-block; width: 1em; margin-left: -1em; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/loading/_loading.scss b/resources/scss/admin/components/loading/_loading.scss index b4fb5dbd5f..d62ae93f2f 100644 --- a/resources/scss/admin/components/loading/_loading.scss +++ b/resources/scss/admin/components/loading/_loading.scss @@ -38,7 +38,7 @@ .frm_loading_button, .frm_loading_form.frm_button_submit { position: relative !important; - opacity: .8; + opacity: 0.8; color: transparent !important; text-shadow: none !important; } @@ -72,7 +72,7 @@ .frm-wait::before, .frm_loading_button::before, .frm_loading_form.frm_button_submit::before { - content: ''; + content: ""; display: inline-block; position: absolute; @@ -118,4 +118,4 @@ input[type="submit"]:focus { 100% { transform: rotate(360deg); } -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/modal/_dialog.scss b/resources/scss/admin/components/modal/_dialog.scss index 46ac8f357b..01546f6fe8 100644 --- a/resources/scss/admin/components/modal/_dialog.scss +++ b/resources/scss/admin/components/modal/_dialog.scss @@ -55,6 +55,6 @@ body.plugins-php .ui-widget-overlay { right: 0; bottom: 0; background: var(--grey-500); - opacity: .5; + opacity: 0.5; z-index: 2; } diff --git a/resources/scss/admin/components/modal/_embed-modal.scss b/resources/scss/admin/components/modal/_embed-modal.scss index 82a3e39851..8de9714099 100644 --- a/resources/scss/admin/components/modal/_embed-modal.scss +++ b/resources/scss/admin/components/modal/_embed-modal.scss @@ -44,7 +44,7 @@ .frm-embed-modal-content svg[id^="frm_copy_embed_"] { position: absolute; - bottom: calc( ( 38px - 18px ) / 2 ); /* Input height - SVG height */ + bottom: calc(( 38px - 18px ) / 2); /* Input height - SVG height */ right: 10px; cursor: pointer; opacity: 0.5; diff --git a/resources/scss/admin/components/modal/_field-group-popup.scss b/resources/scss/admin/components/modal/_field-group-popup.scss index d2363d10ef..37fb7f5119 100644 --- a/resources/scss/admin/components/modal/_field-group-popup.scss +++ b/resources/scss/admin/components/modal/_field-group-popup.scss @@ -62,7 +62,7 @@ } .frm-row-layout-option { - background: #F6F7FB; + background: #f6f7fb; box-sizing: border-box; border-radius: 2px; padding: 15px 10px; @@ -100,4 +100,4 @@ .frm-custom-field-group-layout svg, .frm-break-field-group svg { margin-right: 5px; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/modal/_form-templates.scss b/resources/scss/admin/components/modal/_form-templates.scss index 3fd16d923a..ed9b3ab73f 100644 --- a/resources/scss/admin/components/modal/_form-templates.scss +++ b/resources/scss/admin/components/modal/_form-templates.scss @@ -13,7 +13,7 @@ cursor: pointer; } -#frm-form-templates-modal .frm-fields button.btn .frmsvg { +#frm-form-templates-modal .frm-fields button.btn .frmsvg { color: var(--grey-400); width: 14px; height: 14px; diff --git a/resources/scss/admin/components/modal/_info-modals.scss b/resources/scss/admin/components/modal/_info-modals.scss index f2076609bb..d1aa695b99 100644 --- a/resources/scss/admin/components/modal/_info-modals.scss +++ b/resources/scss/admin/components/modal/_info-modals.scss @@ -30,7 +30,7 @@ } .cta-inside a { - color: var(--orange) + color: var(--orange); } .info-modal-inside a.frm-standard-link { diff --git a/resources/scss/admin/components/modal/_modal-actions.scss b/resources/scss/admin/components/modal/_modal-actions.scss index a2a3a6e1f5..8287752403 100644 --- a/resources/scss/admin/components/modal/_modal-actions.scss +++ b/resources/scss/admin/components/modal/_modal-actions.scss @@ -9,4 +9,4 @@ .frm-modal-cancel { float: left; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/modal/_modal.scss b/resources/scss/admin/components/modal/_modal.scss index eca02996d5..ea73ba2768 100644 --- a/resources/scss/admin/components/modal/_modal.scss +++ b/resources/scss/admin/components/modal/_modal.scss @@ -100,4 +100,4 @@ body.rtl .frm-dialog .frm_common_modal .postbox > div:first-child > div:last-chi body.frm-body-with-open-modal { overflow-y: hidden; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/notifications/_banner.scss b/resources/scss/admin/components/notifications/_banner.scss index d2c76cb5ef..11d0417162 100644 --- a/resources/scss/admin/components/notifications/_banner.scss +++ b/resources/scss/admin/components/notifications/_banner.scss @@ -2,7 +2,7 @@ * Component: Banner Notification */ - #frm_banner { +#frm_banner { width: 100%; color: #fff; background: var(--primary-500); @@ -35,7 +35,7 @@ position: absolute; right: 10px; top: 50%; - transform: translateY( -50% ); + transform: translateY(-50%); } .frm-banner-dismiss .frmsvg { diff --git a/resources/scss/admin/components/notifications/_call-to-action.scss b/resources/scss/admin/components/notifications/_call-to-action.scss index ab64b79f04..d2856d525c 100644 --- a/resources/scss/admin/components/notifications/_call-to-action.scss +++ b/resources/scss/admin/components/notifications/_call-to-action.scss @@ -44,7 +44,7 @@ } .frm-cta-green.frm-cta-border { - border-color: var(--success-100) + border-color: var(--success-100); } .frm-cta-green.frm-cta-border .frm-cta-footer { @@ -90,7 +90,7 @@ .frm-right-panel .inside .frm_pro_tip, .frm_pro_tip { color: var(--grey-700); - background: #FFE7DE; + background: #ffe7de; margin: 0 auto; display: flex; gap: var(--gap-xs); @@ -128,7 +128,7 @@ font-size: 9px; font-weight: 700; text-transform: uppercase; - color: #1E63D5; + color: #1e63d5; background-color: #fff; line-height: 1; border-radius: 4px; diff --git a/resources/scss/admin/components/notifications/_message-styles.scss b/resources/scss/admin/components/notifications/_message-styles.scss index 451085949a..04c28d3ed5 100644 --- a/resources/scss/admin/components/notifications/_message-styles.scss +++ b/resources/scss/admin/components/notifications/_message-styles.scss @@ -15,8 +15,8 @@ #post-body-content .frm_updated_message, div.frm_updated_message { border-radius: var(--small-radius); - background-color: #D5F2DC; - color: #1E561F; + background-color: #d5f2dc; + color: #1e561f; padding: var(--gap-sm) var(--gap-md); font-size: var(--text-sm); margin: var(--gap-sm) 0; @@ -24,12 +24,14 @@ div.frm_updated_message { } .frm_note_style2 { - background: linear-gradient(90deg, #e9effa, #fcf6fe) padding-box, - linear-gradient(90deg, #1961D5, #E8ABEF) border-box; + background: + linear-gradient(90deg, #e9effa, #fcf6fe) padding-box, + linear-gradient(90deg, #1961d5, #e8abef) border-box; border: 1px solid transparent; } -#frm_top_bar + .wrap > .frm_updated_message, #frm_top_bar + .wrap > .frm_warning_style { +#frm_top_bar + .wrap > .frm_updated_message, +#frm_top_bar + .wrap > .frm_warning_style { display: inline-block; width: 100%; box-sizing: border-box; @@ -46,7 +48,7 @@ div.frm_updated_message { .frm_error_style { color: #973937; - background-color: #EBCCCC; + background-color: #ebcccc; clear: both; } @@ -56,17 +58,17 @@ div.frm_updated_message { } .frm_error_style svg { - opacity: .7; + opacity: 0.7; } .frm_warning_style { - color: #7A4D05; - background-color: #FFF2D2; + color: #7a4d05; + background-color: #fff2d2; } -.frm_warning_heading{ +.frm_warning_heading { font-weight: 700; - margin-bottom:4px; + margin-bottom: 4px; } /* Warning message dismiss */ @@ -164,4 +166,4 @@ body.rtl .frm-warning-dismiss { .frm-nope { color: var(--grey-400); font-size: var(--text-xl); -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/notifications/_notification-settings.scss b/resources/scss/admin/components/notifications/_notification-settings.scss index 31283d9d68..53e8419373 100644 --- a/resources/scss/admin/components/notifications/_notification-settings.scss +++ b/resources/scss/admin/components/notifications/_notification-settings.scss @@ -3,7 +3,8 @@ */ -table td, .form-table tr td { +table td, +.form-table tr td { vertical-align: top; } diff --git a/resources/scss/admin/components/notifications/_review-request.scss b/resources/scss/admin/components/notifications/_review-request.scss index 998f5c2120..6bd1859ecf 100644 --- a/resources/scss/admin/components/notifications/_review-request.scss +++ b/resources/scss/admin/components/notifications/_review-request.scss @@ -75,7 +75,7 @@ .frm-review-notice #frmapi-feedback textarea { max-height: 80px; - padding-top: var(--gap-xs) + padding-top: var(--gap-xs); } .frm-review-notice #frmapi-feedback .frm_message { @@ -87,7 +87,7 @@ } .frm-review-notice #frmapi-feedback .frm_message p { - margin: 0 + margin: 0; } .frm-review-notice #frmapi-feedback .frm_button_submit { diff --git a/resources/scss/admin/components/notifications/_update-msg.scss b/resources/scss/admin/components/notifications/_update-msg.scss index 81d008cc6d..87082058c2 100644 --- a/resources/scss/admin/components/notifications/_update-msg.scss +++ b/resources/scss/admin/components/notifications/_update-msg.scss @@ -4,8 +4,8 @@ .frm_email_actions.feature-filter { font-weight: 700; - border: 1px solid #DFDFDF; - background-color: #EEE; + border: 1px solid #dfdfdf; + background-color: #eee; padding: 3px 5px 2px; font-size: var(--text-md); line-height: 20px; @@ -14,7 +14,7 @@ .frm_update_msg { border-style: solid; margin: 10px 0; - color: #21759B; + color: #21759b; padding: 8px 15px; border-radius: 4px; } diff --git a/resources/scss/admin/components/option/_indent-opt.scss b/resources/scss/admin/components/option/_indent-opt.scss index a52f46791f..f62f131e8e 100644 --- a/resources/scss/admin/components/option/_indent-opt.scss +++ b/resources/scss/admin/components/option/_indent-opt.scss @@ -2,6 +2,7 @@ * Components - Indent Options */ -.frm_indent_opt, td.frm_indent_opt { +.frm_indent_opt, +td.frm_indent_opt { padding-left: 25px; } diff --git a/resources/scss/admin/components/panel/_customization-panel.scss b/resources/scss/admin/components/panel/_customization-panel.scss index 04c15f3701..16aa477da1 100644 --- a/resources/scss/admin/components/panel/_customization-panel.scss +++ b/resources/scss/admin/components/panel/_customization-panel.scss @@ -3,11 +3,13 @@ */ /* Customization Panel */ -#frm-insert-fields-box, #frm-conditionals { +#frm-insert-fields-box, +#frm-conditionals { max-height: none; } -#frm-conditionals, #frm-adv-info-tab { +#frm-conditionals, +#frm-adv-info-tab { display: none; max-height: 355px; } diff --git a/resources/scss/admin/components/panel/_options-panel.scss b/resources/scss/admin/components/panel/_options-panel.scss index 1ca3523ce7..5cc5c856e4 100644 --- a/resources/scss/admin/components/panel/_options-panel.scss +++ b/resources/scss/admin/components/panel/_options-panel.scss @@ -9,14 +9,14 @@ } .frm-right-panel a.frm_add_logic_link, -#frm-options-panel h3, +#frm-options-panel h3, .frm-collapsible { font-size: var(--text-md); font-weight: 500; background-color: #fff; border-radius: var(--small-radius); padding: 18px var(--gap-sm); - margin: 2px calc( -1 * var(--gap-sm) ); + margin: 2px calc(-1 * var(--gap-sm)); transition: background-color 200ms ease-out, box-shadow 200ms ease-out, color 200ms ease-out; .frmsvg { diff --git a/resources/scss/admin/components/panel/_settings-components.scss b/resources/scss/admin/components/panel/_settings-components.scss index 7ebdcc903d..4e0fd3570f 100644 --- a/resources/scss/admin/components/panel/_settings-components.scss +++ b/resources/scss/admin/components/panel/_settings-components.scss @@ -94,7 +94,8 @@ background: transparent; } -select.frm_cancelnew, input.frm_enternew { +select.frm_cancelnew, +input.frm_enternew { width: 175px; } @@ -108,11 +109,12 @@ select.frm_cancelnew, input.frm_enternew { /* Color picker CSS */ .frm_settings_form, .frm-right-panel { + .wp-picker-open + .wp-picker-input-wrap { position: absolute; - margin-left: calc( ( 100% - 35px ) * -1 ); + margin-left: calc(( 100% - 35px ) * -1); margin-top: 1px; - width: calc( 100% - 36px ); + width: calc(100% - 36px); } .wp-picker-container input[type="text"].wp-color-picker { diff --git a/resources/scss/admin/components/search/_search-inputs.scss b/resources/scss/admin/components/search/_search-inputs.scss index 955d1fccf7..a7dd22fc1f 100644 --- a/resources/scss/admin/components/search/_search-inputs.scss +++ b/resources/scss/admin/components/search/_search-inputs.scss @@ -38,7 +38,7 @@ } .caret { - opacity:.7; + opacity: 0.7; } } } diff --git a/resources/scss/admin/components/select/_dropdown.scss b/resources/scss/admin/components/select/_dropdown.scss index a787fbcaa6..d82999f966 100644 --- a/resources/scss/admin/components/select/_dropdown.scss +++ b/resources/scss/admin/components/select/_dropdown.scss @@ -30,7 +30,7 @@ h1 .fa-caret-down { .frm-btn-group .caret { float: right; - margin-top: calc( var(--text-md) / 2 ); + margin-top: calc(var(--text-md) / 2); } .dropdown { @@ -51,7 +51,6 @@ h1 .fa-caret-down { left: 0; z-index: 1000; display: none; - min-width: 10rem; padding-left: 4px; padding-right: 4px; margin: var(--gap-xs) 0 0; @@ -93,7 +92,7 @@ h1 .fa-caret-down { .frm-field-action-icons .frm-dropdown-toggle svg, #frm_field_group_controls .frm-dropdown-toggle svg { - color: #9EA9B8; + color: #9ea9b8; } .multiselect-container.frm-dropdown-menu, @@ -141,7 +140,9 @@ h1 .fa-caret-down { } .frm-select-list-item.disabled, -.frm-dropdown-menu > .disabled > a, .frm-dropdown-menu > .disabled > a:hover, .frm-dropdown-menu > .disabled > a:focus { +.frm-dropdown-menu > .disabled > a, +.frm-dropdown-menu > .disabled > a:hover, +.frm-dropdown-menu > .disabled > a:focus { color: #999; } @@ -237,7 +238,7 @@ a.frm_option_icon:hover::before { .frm-dropdown-menu .frm_icon_font { vertical-align: middle; - color: #5F6C72; + color: #5f6c72; margin-right: 3px; } diff --git a/resources/scss/admin/components/select/_multiselect-popup.scss b/resources/scss/admin/components/select/_multiselect-popup.scss index 95c919365e..03d6090456 100644 --- a/resources/scss/admin/components/select/_multiselect-popup.scss +++ b/resources/scss/admin/components/select/_multiselect-popup.scss @@ -2,7 +2,7 @@ * Field multiselect popup */ - #frm_field_multiselect_popup { +#frm_field_multiselect_popup { background: white; height: 48px; position: fixed; @@ -64,7 +64,7 @@ width: 1px; position: relative; top: 6px; - background: #C4C4C4; + background: #c4c4c4; } .frm-sortable-helper, @@ -76,4 +76,4 @@ /* Make sure the item being dragged appears above other form builder fields */ z-index: 99; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/select/_multiselect.scss b/resources/scss/admin/components/select/_multiselect.scss index f0b610f9b6..14137c374c 100644 --- a/resources/scss/admin/components/select/_multiselect.scss +++ b/resources/scss/admin/components/select/_multiselect.scss @@ -28,10 +28,11 @@ .frm-btn-group.btn-group > .btn-group:nth-child(2) > .multiselect.btn { border-top-left-radius: 4px; - border-bottom-left-radius: 4px + border-bottom-left-radius: 4px; } -.frm-btn-group.btn-group, .frm-btn-group.btn-group-vertical { +.frm-btn-group.btn-group, +.frm-btn-group.btn-group-vertical { display: block; } @@ -40,4 +41,4 @@ text-overflow: ellipsis; overflow: hidden; white-space: nowrap; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/settings/_accordion.scss b/resources/scss/admin/components/settings/_accordion.scss index 904861c585..becb52be4c 100644 --- a/resources/scss/admin/components/settings/_accordion.scss +++ b/resources/scss/admin/components/settings/_accordion.scss @@ -13,7 +13,7 @@ h3.accordion-section-title:hover > svg:last-child, .open h3.accordion-section-title > svg:first-child, .open h3.accordion-section-title > svg:last-child { - color: var( --grey-900 ); + color: var(--grey-900); } .frm-style-component { diff --git a/resources/scss/admin/components/settings/_adv-info.scss b/resources/scss/admin/components/settings/_adv-info.scss index e37efbbd6c..d2b8c3a8ed 100644 --- a/resources/scss/admin/components/settings/_adv-info.scss +++ b/resources/scss/admin/components/settings/_adv-info.scss @@ -2,7 +2,8 @@ * Components - Settings - Adv Info */ -#form_settings_page #frm_adv_info, #frm_builder_page #frm_adv_info { +#form_settings_page #frm_adv_info, +#frm_builder_page #frm_adv_info { display: none; top: 0; width: 310px; diff --git a/resources/scss/admin/components/settings/_background-image.scss b/resources/scss/admin/components/settings/_background-image.scss index 6415bc07aa..e5b1718129 100644 --- a/resources/scss/admin/components/settings/_background-image.scss +++ b/resources/scss/admin/components/settings/_background-image.scss @@ -9,7 +9,7 @@ } .wp-picker-container { - max-width: calc( 100% - 44px ); + max-width: calc(100% - 44px); position: relative; } @@ -68,8 +68,8 @@ } .frm_remove_image_option::before { - opacity: 0.0; - content: ''; + opacity: 0; + content: ""; display: block; position: absolute; width: 100%; @@ -77,12 +77,12 @@ z-index: 1; top: 0; left: 0; - background: rgba( 255, 255, 255, 0.8 ); + background: rgba(255, 255, 255, 0.8); } .frm_remove_image_option::after { - opacity: 0.0; - content: ''; + opacity: 0; + content: ""; display: block; position: absolute; width: 100%; @@ -90,13 +90,13 @@ z-index: 1; top: 0; left: 0; - background: url( '../../images/style/close.svg' ) no-repeat; + background: url("../../images/style/close.svg") no-repeat; background-position: center; } .frm_remove_image_option:hover::before, .frm_remove_image_option:hover::after { - opacity: 1.0; + opacity: 1; } .frm_image_preview_wrapper .frm_image_preview_frame .frm_image_styling_frame, diff --git a/resources/scss/admin/components/settings/_color-picker.scss b/resources/scss/admin/components/settings/_color-picker.scss index ee85f88e0e..5529cd1c86 100644 --- a/resources/scss/admin/components/settings/_color-picker.scss +++ b/resources/scss/admin/components/settings/_color-picker.scss @@ -10,6 +10,7 @@ } .frm-style-component { + .wp-picker-container button { position: relative; height: 36px !important; @@ -19,7 +20,7 @@ } .wp-picker-container::after { - content: ''; + content: ""; width: 20px; height: 20px; display: block; @@ -28,7 +29,7 @@ right: 8px; bottom: 0; margin: auto; - background: url('../../images/style/small-arrow.svg') no-repeat; + background: url("../../images/style/small-arrow.svg") no-repeat; background-position: center; z-index: 10; } @@ -52,7 +53,7 @@ } .wp-picker-input-wrap input { - width: calc( 100% - 10px ) !important; + width: calc(100% - 10px) !important; margin: 1px 5px; height: 32px; line-height: 32px; diff --git a/resources/scss/admin/components/settings/_email-styles.scss b/resources/scss/admin/components/settings/_email-styles.scss index f281e61eb3..d820cb58b7 100644 --- a/resources/scss/admin/components/settings/_email-styles.scss +++ b/resources/scss/admin/components/settings/_email-styles.scss @@ -24,7 +24,7 @@ display: block; border-radius: 12px; border: 1px solid var(--grey-200); - box-shadow: 0px 0.47px 0.94px 0px #1018280F; + box-shadow: 0 0.47px 0.94px 0 #1018280f; &:focus, .frm-email-style--selected & { @@ -37,8 +37,8 @@ display: block; } - .frm-email-style--disabled &:after { - content: ''; + .frm-email-style--disabled &::after { + content: ""; display: block; position: absolute; top: 0; @@ -77,6 +77,7 @@ } &--selected &__button { + &:disabled { display: block; } @@ -105,6 +106,7 @@ } #frm-send-test-email-modal { + .postbox { padding: var(--gap-sm) var(--gap-md); diff --git a/resources/scss/admin/components/settings/_field-choices.scss b/resources/scss/admin/components/settings/_field-choices.scss index 5b7f29b08c..e1711707cd 100644 --- a/resources/scss/admin/components/settings/_field-choices.scss +++ b/resources/scss/admin/components/settings/_field-choices.scss @@ -9,7 +9,7 @@ li.frm_single_option { .frm_prod_type_single input[type="radio"], .frm_prod_type_single .frm_drag_icon, -.frm_prod_type_single .frm_sortable_field_opts li:nth-child( n + 3 ), +.frm_prod_type_single .frm_sortable_field_opts li:nth-child(n + 3), .frm_prod_type_single .frm_sortable_field_opts .frm_remove_tag, .frm_prod_type_single .frm_form_field:not(.frm_product_type):not(.frm_sep_val_product), .frm_prod_type_single .frm-bulk-edit-link, diff --git a/resources/scss/admin/components/settings/_form-settings.scss b/resources/scss/admin/components/settings/_form-settings.scss index f664294680..342d173403 100644 --- a/resources/scss/admin/components/settings/_form-settings.scss +++ b/resources/scss/admin/components/settings/_form-settings.scss @@ -66,4 +66,4 @@ h2.frm-h2, .frm_select_with_label { margin: 7px 0 0; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/settings/_global-settings.scss b/resources/scss/admin/components/settings/_global-settings.scss index 50120f7e7c..0c6d90375b 100644 --- a/resources/scss/admin/components/settings/_global-settings.scss +++ b/resources/scss/admin/components/settings/_global-settings.scss @@ -40,7 +40,7 @@ label.frm-example-icon { gap: var(--gap-sm); justify-content: center; align-items: center; - width: calc( 33% - var(--gap-sm) ); + width: calc(33% - var(--gap-sm)); box-sizing: border-box; } @@ -87,7 +87,7 @@ label.frm-example-icon { } .edd_frm_license_row .frm_action_error .frmsvg { - color: #D54E21; + color: #d54e21; } /* Hide the install steps for solutions */ diff --git a/resources/scss/admin/components/settings/_misc-components.scss b/resources/scss/admin/components/settings/_misc-components.scss index bf1cb332db..53b2885380 100644 --- a/resources/scss/admin/components/settings/_misc-components.scss +++ b/resources/scss/admin/components/settings/_misc-components.scss @@ -3,7 +3,7 @@ */ .frm-style-component .frm_toggle_slider { - background: rgba( 242, 244, 247, 1 ); + background: rgba(242, 244, 247, 1); } .frm-style-component label.frm-copy-text { @@ -15,17 +15,18 @@ .frm-style-component .wp-picker-holder { right: 0; } + .frm-style-component .CodeMirror { min-height: unset !important; height: 350px !important; .CodeMirror-placeholder { - color: var( --grey-400 ); + color: var(--grey-400); } } .formidable_page_formidable-styles .accordion-section-content .frm-style-item-heading { font-weight: 500; - font-size: var( --text-md ); - color: var( --grey-900 ); + font-size: var(--text-md); + color: var(--grey-900); } diff --git a/resources/scss/admin/components/settings/_radio-buttons.scss b/resources/scss/admin/components/settings/_radio-buttons.scss index 6d6ec63154..e59ba92595 100644 --- a/resources/scss/admin/components/settings/_radio-buttons.scss +++ b/resources/scss/admin/components/settings/_radio-buttons.scss @@ -5,14 +5,14 @@ .frm-style-component { .frm-radio-container { - max-width: 216px; - height: 36px; - background: rgba( 242, 244, 247, 1 ); - gap: var(--small-gap); - padding: var(--gap-2xs); - box-sizing: border-box; - border-radius: var(--small-radius); - position: relative; + max-width: 216px; + height: 36px; + background: rgba(242, 244, 247, 1); + gap: var(--small-gap); + padding: var(--gap-2xs); + box-sizing: border-box; + border-radius: var(--small-radius); + position: relative; } &.frm-field-shape .frm-radio-container { @@ -30,7 +30,7 @@ .frm-radio-container .frm-radio-active-tracker { display: block; width: 28%; - height: calc( 100% - 8px ); + height: calc(100% - 8px); background: white; border-radius: var(--small-radius); box-shadow: var(--button-shadow); @@ -49,7 +49,7 @@ &.frm-align-component.frm-2-options .frm-radio-container .frm-radio-active-tracker, &.frm-direction-component .frm-radio-container .frm-radio-active-tracker, &.frm-text-toggle-component .frm-radio-container .frm-radio-active-tracker { - width: calc( 50% - var(--gap-xs) ); + width: calc(50% - var(--gap-xs)); } .frm-radio-container > label { @@ -79,7 +79,7 @@ padding: var(--gap-xs); .frm-radio-active-tracker { - height: calc( 100% - var(--gap-sm) ); + height: calc(100% - var(--gap-sm)); top: var(--gap-xs); } } @@ -87,7 +87,7 @@ .frm-style-tabs-wrapper .frm-tabs-navs ul > li:not(.frm-active):hover, .frm-style-component .frm-radio-container input:not(:checked) + label:hover { - background: rgba( 234, 236, 240, 1 ); + background: rgba(234, 236, 240, 1); border-radius: var(--small-radius); box-shadow: var(--button-shadow); } diff --git a/resources/scss/admin/components/settings/_sliders.scss b/resources/scss/admin/components/settings/_sliders.scss index c48fdfdfc2..69ce417f6e 100644 --- a/resources/scss/admin/components/settings/_sliders.scss +++ b/resources/scss/admin/components/settings/_sliders.scss @@ -3,7 +3,7 @@ */ .frm-style-component .frm-slider-container { - width: calc( 100% - 91px ); + width: calc(100% - 91px); display: flex; align-items: center; color: rgba(29, 41, 57, 1); @@ -32,7 +32,7 @@ &, .frm-slider-bullet { background: rgba(65, 153, 253, 1); - box-shadow: 0 1.88px 4px -1px rgba(16, 24, 40, 0.03), 0 6px 8px -2px rgba( 16, 24, 40, 0.08 ); + box-shadow: 0 1.88px 4px -1px rgba(16, 24, 40, 0.03), 0 6px 8px -2px rgba(16, 24, 40, 0.08); } .frm-slider-bullet { @@ -41,7 +41,7 @@ width: 16px; height: 16px; border-radius: 50%; - transform: translateX( 15px ); + transform: translateX(15px); cursor: grab; right: 0; top: 0; @@ -60,8 +60,8 @@ font-size: var(--text-sm); line-height: 36px; border-radius: var(--small-radius); - transform: translate( -18px, -42px ) scale3d( 0.7, 1, 1 ); - opacity: 0.0; + transform: translate(-18px, -42px) scale3d(0.7, 1, 1); + opacity: 0; z-index: -2; pointer-events: none; text-align: center; @@ -70,13 +70,13 @@ .frm-slider-bullet.frm-dragging .frm-slider-value-label { z-index: 12; - transform: translate( -18px, -42px ) scale3d( 1, 1, 1 ); - opacity: 1.0; + transform: translate(-18px, -42px) scale3d(1, 1, 1); + opacity: 1; transition: 0.3s opacity, 0.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); } - .frm-slider-bullet::before{ - content: ''; + .frm-slider-bullet::before { + content: ""; display: block; position: absolute; width: 18px; @@ -84,20 +84,20 @@ border-radius: 50%; left: 0; top: 0; - transform: translate( -5px, -5px ) scale3d( 0.7, 0.7, 1 ); + transform: translate(-5px, -5px) scale3d(0.7, 0.7, 1); border: 4px solid rgba(65, 153, 253, 1); - opacity: 0.0; + opacity: 0; transition: 0.3s opacity, 0.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); } - .frm-slider-bullet.frm-dragging::before{ + .frm-slider-bullet.frm-dragging::before { opacity: 0.5; - transform: translate( -5px, -5px ) scale3d( 1, 1, 1 ); + transform: translate(-5px, -5px) scale3d(1, 1, 1); transition: 0.3s opacity, 0.35s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); } .frm-slider-bullet::after { - content: ''; + content: ""; position: absolute; display: block; width: 180%; @@ -141,21 +141,21 @@ font-size: var(--text-sm); color: rgba(102, 112, 133, 1); width: 44px; - background: url('../../images/style/small-arrow.svg') no-repeat; + background: url("../../images/style/small-arrow.svg") no-repeat; background-position: center right 12px; - padding-right: 24px!important; + padding-right: 24px !important; &.frm-single-unit { pointer-events: none; background-image: none; - padding-right: 12px!important; + padding-right: 12px !important; } } } .frm-slider { display: block; - width: calc( 100% - 5px ); + width: calc(100% - 5px); height: 4px; background: rgba(234, 236, 240, 1); border-radius: 200px; diff --git a/resources/scss/admin/components/settings/_tabs.scss b/resources/scss/admin/components/settings/_tabs.scss index 9577bc594b..c4cab60664 100644 --- a/resources/scss/admin/components/settings/_tabs.scss +++ b/resources/scss/admin/components/settings/_tabs.scss @@ -13,7 +13,7 @@ gap: var(--gap-xs); justify-content: space-between; align-items: center; - background: rgba( 242, 244, 247, 1 ); + background: rgba(242, 244, 247, 1); border-radius: var(--small-radius); box-sizing: border-box; height: 44px; @@ -53,7 +53,7 @@ li, li a { - color: var( --grey-500 ); + color: var(--grey-500); font-weight: 500; font-size: var(--text-sm); line-height: 28px; @@ -110,7 +110,7 @@ } &.frm-last { - left: calc( -1 * var(--gap-xs) ); + left: calc(-1 * var(--gap-xs)); } } } @@ -126,14 +126,14 @@ .frm-style-tabs-wrapper { .frm-tabs-container .frm-tabs-slide-track { - transition: 0.32s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition: 0.32s transform cubic-bezier(0.25, 0.46, 0.45, 0.94); } .frm-tabs-slide-track { > div { flex: 0 0 100%; - opacity: 0.0; + opacity: 0; transition: 0.25s opacity linear; position: relative; height: auto; @@ -145,7 +145,7 @@ > div > div { overflow: auto; position: relative; - width:100%; + width: 100%; padding: 0; box-sizing: border-box; } @@ -159,7 +159,7 @@ } > div.frm-active { - opacity: 1.0; + opacity: 1; transition: 0.35s opacity linear; } } diff --git a/resources/scss/admin/components/settings/_welcome-image-options.scss b/resources/scss/admin/components/settings/_welcome-image-options.scss index 9d38a52f28..faddf4adca 100644 --- a/resources/scss/admin/components/settings/_welcome-image-options.scss +++ b/resources/scss/admin/components/settings/_welcome-image-options.scss @@ -9,5 +9,5 @@ #frm-welcome .frm_image_option_container svg, #form_global_settings .frm_image_option_container svg { - max-width: calc( 100% - 20px ); + max-width: calc(100% - 20px); } diff --git a/resources/scss/admin/components/sorting/_field-sorting.scss b/resources/scss/admin/components/sorting/_field-sorting.scss index c2a22f6ecf..f08483b22c 100644 --- a/resources/scss/admin/components/sorting/_field-sorting.scss +++ b/resources/scss/admin/components/sorting/_field-sorting.scss @@ -2,7 +2,7 @@ * Field Sorting */ - .frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider { +.frm_sorting .no_repeat_section li.ui-state-default.edit_field_type_end_divider { display: none !important; } diff --git a/resources/scss/admin/components/sorting/_sorting-display.scss b/resources/scss/admin/components/sorting/_sorting-display.scss index a3752b3ec0..9488fbbb2c 100644 --- a/resources/scss/admin/components/sorting/_sorting-display.scss +++ b/resources/scss/admin/components/sorting/_sorting-display.scss @@ -28,7 +28,7 @@ li.ui-state-default.edit_field_type_divider .frm-show-click { .frm_single_visible_hover, li.ui-state-default.edit_field_type_divider .frm-show-hover { opacity: 0; - transition: opacity .15s ease-in-out; + transition: opacity 0.15s ease-in-out; } #frm-show-fields .frm-field-settings-open .frm-show-hover { diff --git a/resources/scss/admin/components/sorting/_widget-sorting.scss b/resources/scss/admin/components/sorting/_widget-sorting.scss index f09fcfb5f4..c10043396e 100644 --- a/resources/scss/admin/components/sorting/_widget-sorting.scss +++ b/resources/scss/admin/components/sorting/_widget-sorting.scss @@ -2,7 +2,8 @@ * Widget Sorting */ -.frm_sorting .widget, .frm_settings_page .widget { +.frm_sorting .widget, +.frm_settings_page .widget { background: #fff; } @@ -10,7 +11,10 @@ font-weight: 400; } -.frm_sorting .widget, #postbox-container-1 .widget, .frm-right-panel .widget, .frm_settings_page .widget { +.frm_sorting .widget, +#postbox-container-1 .widget, +.frm-right-panel .widget, +.frm_settings_page .widget { margin-bottom: 0; } @@ -43,7 +47,7 @@ body.frm-admin-page-styles .frm-lite-credit-card-element { #frm_builder_page .frm-lite-credit-card-element > div, body.frm-admin-page-styles .frm-lite-credit-card-element > div { position: absolute; - top: calc( 50% - 1px); + top: calc(50% - 1px); transform: translateY(-50%); right: 10px; color: #d0d4dd; diff --git a/resources/scss/admin/components/table/_admin-columns.scss b/resources/scss/admin/components/table/_admin-columns.scss index 69516095ff..99c6a5d6e2 100644 --- a/resources/scss/admin/components/table/_admin-columns.scss +++ b/resources/scss/admin/components/table/_admin-columns.scss @@ -7,11 +7,13 @@ gap: var(--gap-xs); } -.widefat .column-entries, .widefat .column-link { +.widefat .column-entries, +.widefat .column-link { width: 10%; text-align: center; } -.widefat .column-form_key, .widefat .column-created_at { +.widefat .column-form_key, +.widefat .column-created_at { width: 10%; } diff --git a/resources/scss/admin/components/table/_alt-table.scss b/resources/scss/admin/components/table/_alt-table.scss index 399ab9ace2..56b73dcee1 100644 --- a/resources/scss/admin/components/table/_alt-table.scss +++ b/resources/scss/admin/components/table/_alt-table.scss @@ -12,7 +12,7 @@ /* Before `applyZebraStriping` is executed, an empty space is displayed */ #form_show_entry_page .frm-alt-table:not(.frm-zebra-striping)::before { - content: ''; + content: ""; position: absolute; top: 0; right: 0; diff --git a/resources/scss/admin/components/table/_grid-table.scss b/resources/scss/admin/components/table/_grid-table.scss index 2aba557017..c64d330306 100644 --- a/resources/scss/admin/components/table/_grid-table.scss +++ b/resources/scss/admin/components/table/_grid-table.scss @@ -4,7 +4,8 @@ margin-right: 10px; } -.frm-grid td, .frm-grid th { +.frm-grid td, +.frm-grid th { padding: 5px; border: 1px solid black; } diff --git a/resources/scss/admin/components/table/_table-styles.scss b/resources/scss/admin/components/table/_table-styles.scss index 11e6d56544..3773716f90 100644 --- a/resources/scss/admin/components/table/_table-styles.scss +++ b/resources/scss/admin/components/table/_table-styles.scss @@ -4,4 +4,4 @@ .widefat th.frm_table_break { background-color: var(--sidebar-color); -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/tour/_spotlight.scss b/resources/scss/admin/components/tour/_spotlight.scss index e8a6868d36..106649cbd1 100644 --- a/resources/scss/admin/components/tour/_spotlight.scss +++ b/resources/scss/admin/components/tour/_spotlight.scss @@ -15,7 +15,7 @@ } > * { - flex: 0 0 auto + flex: 0 0 auto; } &__content { @@ -27,7 +27,7 @@ overflow: visible; &::after { - content: ''; + content: ""; position: absolute; width: 11px; height: 11px; diff --git a/resources/scss/admin/components/upgrade/_upgrade-bar-elements.scss b/resources/scss/admin/components/upgrade/_upgrade-bar-elements.scss index 66a90662ed..07adbb2647 100644 --- a/resources/scss/admin/components/upgrade/_upgrade-bar-elements.scss +++ b/resources/scss/admin/components/upgrade/_upgrade-bar-elements.scss @@ -26,4 +26,4 @@ .upgrade_to_pro table th.frmcenter { text-align: center; -} \ No newline at end of file +} diff --git a/resources/scss/admin/components/upgrade/_upgrade-bar.scss b/resources/scss/admin/components/upgrade/_upgrade-bar.scss index 7d5c35add4..5041930012 100644 --- a/resources/scss/admin/components/upgrade/_upgrade-bar.scss +++ b/resources/scss/admin/components/upgrade/_upgrade-bar.scss @@ -4,7 +4,7 @@ .frm-gradient, .frm-upgrade-bar { - background: linear-gradient(90deg, #388CF3, #1961D5, #8C7FD8) !important; + background: linear-gradient(90deg, #388cf3, #1961d5, #8c7fd8) !important; color: #fff !important; border: 0 !important; } @@ -12,7 +12,7 @@ .frm-gradient.frm-button-primary:not([disabled]), .frm-gradient.frm-button-primary:not([disabled]):hover, .frm-gradient.frm-button-primary:not([disabled]):focus { - background: linear-gradient(90deg, #1961D5, #816CFA) !important; + background: linear-gradient(90deg, #1961d5, #816cfa) !important; } .frm-upgrade-bar, @@ -22,7 +22,7 @@ .frm-upgrade-bar::before, .frm-gradient::before { - content: ''; + content: ""; display: none; position: absolute; top: 0; @@ -62,5 +62,5 @@ } .frm-upgrade-bar span { - opacity: .9; + opacity: 0.9; } diff --git a/resources/scss/admin/components/upgrade/_upgrade-modal.scss b/resources/scss/admin/components/upgrade/_upgrade-modal.scss index c37c36ab97..14f00c0182 100644 --- a/resources/scss/admin/components/upgrade/_upgrade-modal.scss +++ b/resources/scss/admin/components/upgrade/_upgrade-modal.scss @@ -57,14 +57,14 @@ margin: 0; .frm-save-and-reload-options { - display: flex; - gap: var(--gap-xs); - flex-direction: row-reverse; - margin: 0; + display: flex; + gap: var(--gap-xs); + flex-direction: row-reverse; + margin: 0; - .frm-save-and-reload { - margin: 0; - } + .frm-save-and-reload { + margin: 0; + } } } } diff --git a/resources/scss/admin/frm-settings-components.scss b/resources/scss/admin/frm-settings-components.scss index da507ab3c0..13acf4a164 100644 --- a/resources/scss/admin/frm-settings-components.scss +++ b/resources/scss/admin/frm-settings-components.scss @@ -2,11 +2,11 @@ * Formidable Forms settings components styles */ -@import 'components/settings/accordion'; -@import 'components/settings/color-picker'; -@import 'components/settings/background-image'; -@import 'components/settings/radio-buttons'; -@import 'components/settings/sliders'; -@import 'components/settings/tabs'; -@import 'components/settings/misc-components'; -@import 'components/settings/unit-input'; +@import "components/settings/accordion"; +@import "components/settings/color-picker"; +@import "components/settings/background-image"; +@import "components/settings/radio-buttons"; +@import "components/settings/sliders"; +@import "components/settings/tabs"; +@import "components/settings/misc-components"; +@import "components/settings/unit-input"; diff --git a/resources/scss/admin/frm_admin.scss b/resources/scss/admin/frm_admin.scss index 84008005ee..e28d7ae5b6 100644 --- a/resources/scss/admin/frm_admin.scss +++ b/resources/scss/admin/frm_admin.scss @@ -9,272 +9,272 @@ * * Core variables, typography, and essential base styles */ -@import '../font_icons'; -@import 'base/variables'; -@import 'base/typography/font'; -@import 'utilities/layout/z-index'; -@import 'base/typography/text'; +@import "../font_icons"; +@import "base/variables"; +@import "base/typography/font"; +@import "utilities/layout/z-index"; +@import "base/typography/text"; /** * Layout & Primary Components * * Core structure and primary UI elements */ -@import 'layout/page/wrap'; -@import 'components/full-screen'; -@import 'layout/page/screen-meta'; -@import 'layout/container/columns'; -@import 'layout/page/body'; -@import 'components/table/tablenav'; -@import 'components/table/widefat'; -@import 'components/scroll-box'; -@import 'utilities/layout/grid'; -@import 'components/list/short-list'; -@import 'components/table/elements'; -@import 'layout/top-bar/top-bar'; -@import 'base/typography/headings'; -@import 'components/modal/error-modal'; -@import 'layout/page/editor-overrides'; -@import 'components/upgrade/upgrade-bar'; -@import 'components/links/links'; -@import 'layout/top-bar/navigation'; -@import 'components/full-close'; -@import 'layout/top-bar/elements'; -@import 'layout/postbox'; -@import 'components/table/row'; -@import 'utilities/effects/animate'; -@import 'components/list/subsubsub'; -@import 'layout/container/container'; -@import 'layout/container/columns-elements'; -@import 'components/settings/has-shortcodes'; -@import 'components/settings/adv-info'; -@import 'components/modal/inline-modal'; -@import 'components/nav-tabs'; -@import 'components/modal/bulk-modal'; -@import 'layout/sidebar/sidebar'; -@import 'components/admin_footer'; -@import 'layout/page/list-entry-page'; -@import 'layout/sidebar/sidebar-elements'; -@import 'layout/page/single-entry-page'; -@import 'components/publish-actions'; -@import 'components/button/button'; -@import 'components/notifications/review-request'; +@import "layout/page/wrap"; +@import "components/full-screen"; +@import "layout/page/screen-meta"; +@import "layout/container/columns"; +@import "layout/page/body"; +@import "components/table/tablenav"; +@import "components/table/widefat"; +@import "components/scroll-box"; +@import "utilities/layout/grid"; +@import "components/list/short-list"; +@import "components/table/elements"; +@import "layout/top-bar/top-bar"; +@import "base/typography/headings"; +@import "components/modal/error-modal"; +@import "layout/page/editor-overrides"; +@import "components/upgrade/upgrade-bar"; +@import "components/links/links"; +@import "layout/top-bar/navigation"; +@import "components/full-close"; +@import "layout/top-bar/elements"; +@import "layout/postbox"; +@import "components/table/row"; +@import "utilities/effects/animate"; +@import "components/list/subsubsub"; +@import "layout/container/container"; +@import "layout/container/columns-elements"; +@import "components/settings/has-shortcodes"; +@import "components/settings/adv-info"; +@import "components/modal/inline-modal"; +@import "components/nav-tabs"; +@import "components/modal/bulk-modal"; +@import "layout/sidebar/sidebar"; +@import "components/admin_footer"; +@import "layout/page/list-entry-page"; +@import "layout/sidebar/sidebar-elements"; +@import "layout/page/single-entry-page"; +@import "components/publish-actions"; +@import "components/button/button"; +@import "components/notifications/review-request"; /** * Utility Classes * * Reusable helper classes for spacing, typography, effects, etc. */ -@import 'utilities/effects/box-shadow'; -@import 'utilities/typography/text-color'; -@import 'utilities/typography/text-decoration'; -@import 'utilities/spacing/margin'; -@import 'utilities/spacing/padding'; -@import 'utilities/typography/font-size'; -@import 'utilities/typography/font-style'; -@import 'utilities/typography/text-transform'; -@import 'utilities/typography/font-weight'; -@import 'utilities/typography/text-overflow'; -@import 'utilities/border/border-radius'; -@import 'utilities/sizing/width'; -@import 'utilities/sizing/height'; -@import 'utilities/layout/display'; -@import 'utilities/layout/flex'; -@import 'utilities/effects/transition'; -@import 'utilities/layout/visibility'; -@import 'utilities/layout/float'; -@import 'utilities/typography/text-align'; -@import 'utilities/border/border'; -@import 'utilities/border/hr'; -@import 'utilities/effects/opacity'; -@import 'utilities/layout/z-index-helpers'; -@import 'utilities/effects/transform'; -@import 'utilities/Interactivity/cursor'; -@import 'utilities/typography/vertical-align'; -@import 'utilities/forced-generic-classes'; -@import 'utilities/helper-classes'; +@import "utilities/effects/box-shadow"; +@import "utilities/typography/text-color"; +@import "utilities/typography/text-decoration"; +@import "utilities/spacing/margin"; +@import "utilities/spacing/padding"; +@import "utilities/typography/font-size"; +@import "utilities/typography/font-style"; +@import "utilities/typography/text-transform"; +@import "utilities/typography/font-weight"; +@import "utilities/typography/text-overflow"; +@import "utilities/border/border-radius"; +@import "utilities/sizing/width"; +@import "utilities/sizing/height"; +@import "utilities/layout/display"; +@import "utilities/layout/flex"; +@import "utilities/effects/transition"; +@import "utilities/layout/visibility"; +@import "utilities/layout/float"; +@import "utilities/typography/text-align"; +@import "utilities/border/border"; +@import "utilities/border/hr"; +@import "utilities/effects/opacity"; +@import "utilities/layout/z-index-helpers"; +@import "utilities/effects/transform"; +@import "utilities/Interactivity/cursor"; +@import "utilities/typography/vertical-align"; +@import "utilities/forced-generic-classes"; +@import "utilities/helper-classes"; /** * Forms & UI Components * * Form elements, inputs, fields, modals and interactive components */ -@import 'components/form/general-form-styles'; -@import 'components/form/form-field'; -@import 'components/form/token-input'; -@import 'components/loading/field-loading'; -@import 'components/form/form-error'; -@import 'components/form/mce'; -@import 'components/license'; -@import 'components/upgrade/upgrade-pro'; -@import 'components/notifications/message-styles'; -@import 'components/upgrade/upgrade-bar-elements'; -@import 'components/table/table-styles'; -@import 'base/typography/howto'; -@import 'components/card/card'; -@import 'utilities/effects/fade'; -@import 'components/addon-tiles'; -@import 'components/form-templates/form-templates'; -@import 'layout/page/admin-page'; -@import 'components/modal/modal'; -@import 'components/list/template-list'; -@import 'components/modal/modal-actions'; -@import 'components/meta-tag'; -@import 'components/list/upgrade-list'; -@import 'components/modal/embed-modal'; -@import 'components/modal/bulk-options'; -@import 'components/button/small-add'; -@import 'components/image/image-from-url'; -@import 'components/select/dropdown'; -@import 'components/accordion/accordion'; -@import 'components/select/multiselect'; -@import 'components/form/fields'; -@import 'components/copied-frontend'; -@import 'components/form/fields-part2'; -@import 'utilities/typography/text-align-part2'; -@import 'components/image/frm-help'; -@import 'components/loading/loading'; -@import 'components/form/fields-part3'; -@import 'utilities/background'; -@import 'utilities/border/border-light'; -@import 'components/form/form-inputs'; -@import 'components/links/affiliate-link'; -@import 'components/select/select-box'; -@import 'components/panel/options-panel'; -@import 'components/form/field-key'; -@import 'components/form/form-editor'; -@import 'components/table/alt-table'; -@import 'components/button/cb-button'; -@import 'components/form/option-label'; -@import 'components/form/rte'; -@import 'components/form/subform'; -@import 'components/form/html-field'; -@import 'components/form/rte-textarea'; -@import 'components/builder/field-box'; -@import 'components/option/indent-opt'; -@import 'components/charts'; -@import 'components/sorting/sortable-placeholder'; -@import 'components/sorting/sorting-display'; -@import 'components/option/single-option'; -@import 'components/sorting/ui-icon'; -@import 'layout/page/entry-page'; -@import 'components/settings/welcome-image-options'; -@import 'components/form/option-templates'; -@import 'components/image/image-components'; -@import 'components/panel/settings-components'; -@import 'components/form/toggle-components'; -@import 'components/settings/global-settings'; -@import 'layout/page/import-export'; -@import 'components/builder/where-options'; -@import 'components/panel/tabs-panel'; -@import 'components/notifications/feature-banner'; -@import 'components/addon-compat'; -@import 'components/settings/form-settings'; -@import 'components/panel/customization-panel'; -@import 'components/form/html-tab'; -@import 'components/form/form-actions'; -@import 'components/notifications/notification-settings'; -@import 'components/builder/logic-fields'; -@import 'components/settings/form-settings-widget'; -@import 'components/icons/icon-font'; -@import 'base/typography/howto-extends'; -@import 'components/sorting/sorting-form'; -@import 'components/list/tag-checklist'; -@import 'layout/page/no-entries'; -@import 'layout/page/reports-page'; -@import 'layout/page/views-page'; -@import 'components/modal/field-popup'; -@import 'components/form/form-editor-container'; -@import 'components/sorting/widget-sorting'; -@import 'components/form/field-group-controls'; -@import 'components/sorting/field-sorting'; -@import 'components/button/frm-button'; -@import 'components/builder/dividers'; -@import 'components/builder/form-rows'; -@import 'components/builder/divider-icons'; -@import 'components/page-collapsed'; -@import 'components/builder/divider-labels'; -@import 'components/form/empty-fields'; -@import 'components/settings/product-fields'; -@import 'components/settings/field-choices'; -@import 'components/form/field-labels'; -@import 'components/settings/category-tabs'; -@import 'components/builder/ui-state-defaults'; -@import 'components/notifications/update-msg'; -@import 'components/table/admin-columns'; -@import 'components/search/admin-search'; -@import 'components/button/button-group'; -@import 'components/form/input-icons'; -@import 'components/modal/inline-modals'; -@import 'components/form/input-positioning'; -@import 'components/search/search-inputs'; -@import 'components/form/not-set-fields'; -@import 'components/form/shortcode-select'; -@import 'components/table/grid-table'; -@import 'layout/page/views-page-admin'; -@import 'layout/page/views-admin-icons'; -@import 'layout/page/views-admin-tabs'; -@import 'components/settings/order-where-rows'; -@import 'components/form/editor-elements'; -@import 'components/info/advanced-info-panel'; -@import 'layout/grid/column-layout'; -@import 'components/modal/info-modals'; -@import 'components/list/code-list'; -@import 'components/builder/insert-fields'; -@import 'components/builder/field-dragging'; -@import 'components/upgrade/upgrade-modal'; -@import 'layout/page/reports-info'; -@import 'components/modal/dialog'; -@import 'components/icons/circled-icons'; -@import 'components/links/link-styles'; -@import 'components/tooltip'; -@import 'components/form/inputs'; -@import 'components/button/button-grey'; -@import 'utilities/scrollbars'; -@import 'rtl/general'; -@import 'rtl/settings-components'; -@import 'utilities/clearfix'; +@import "components/form/general-form-styles"; +@import "components/form/form-field"; +@import "components/form/token-input"; +@import "components/loading/field-loading"; +@import "components/form/form-error"; +@import "components/form/mce"; +@import "components/license"; +@import "components/upgrade/upgrade-pro"; +@import "components/notifications/message-styles"; +@import "components/upgrade/upgrade-bar-elements"; +@import "components/table/table-styles"; +@import "base/typography/howto"; +@import "components/card/card"; +@import "utilities/effects/fade"; +@import "components/addon-tiles"; +@import "components/form-templates/form-templates"; +@import "layout/page/admin-page"; +@import "components/modal/modal"; +@import "components/list/template-list"; +@import "components/modal/modal-actions"; +@import "components/meta-tag"; +@import "components/list/upgrade-list"; +@import "components/modal/embed-modal"; +@import "components/modal/bulk-options"; +@import "components/button/small-add"; +@import "components/image/image-from-url"; +@import "components/select/dropdown"; +@import "components/accordion/accordion"; +@import "components/select/multiselect"; +@import "components/form/fields"; +@import "components/copied-frontend"; +@import "components/form/fields-part2"; +@import "utilities/typography/text-align-part2"; +@import "components/image/frm-help"; +@import "components/loading/loading"; +@import "components/form/fields-part3"; +@import "utilities/background"; +@import "utilities/border/border-light"; +@import "components/form/form-inputs"; +@import "components/links/affiliate-link"; +@import "components/select/select-box"; +@import "components/panel/options-panel"; +@import "components/form/field-key"; +@import "components/form/form-editor"; +@import "components/table/alt-table"; +@import "components/button/cb-button"; +@import "components/form/option-label"; +@import "components/form/rte"; +@import "components/form/subform"; +@import "components/form/html-field"; +@import "components/form/rte-textarea"; +@import "components/builder/field-box"; +@import "components/option/indent-opt"; +@import "components/charts"; +@import "components/sorting/sortable-placeholder"; +@import "components/sorting/sorting-display"; +@import "components/option/single-option"; +@import "components/sorting/ui-icon"; +@import "layout/page/entry-page"; +@import "components/settings/welcome-image-options"; +@import "components/form/option-templates"; +@import "components/image/image-components"; +@import "components/panel/settings-components"; +@import "components/form/toggle-components"; +@import "components/settings/global-settings"; +@import "layout/page/import-export"; +@import "components/builder/where-options"; +@import "components/panel/tabs-panel"; +@import "components/notifications/feature-banner"; +@import "components/addon-compat"; +@import "components/settings/form-settings"; +@import "components/panel/customization-panel"; +@import "components/form/html-tab"; +@import "components/form/form-actions"; +@import "components/notifications/notification-settings"; +@import "components/builder/logic-fields"; +@import "components/settings/form-settings-widget"; +@import "components/icons/icon-font"; +@import "base/typography/howto-extends"; +@import "components/sorting/sorting-form"; +@import "components/list/tag-checklist"; +@import "layout/page/no-entries"; +@import "layout/page/reports-page"; +@import "layout/page/views-page"; +@import "components/modal/field-popup"; +@import "components/form/form-editor-container"; +@import "components/sorting/widget-sorting"; +@import "components/form/field-group-controls"; +@import "components/sorting/field-sorting"; +@import "components/button/frm-button"; +@import "components/builder/dividers"; +@import "components/builder/form-rows"; +@import "components/builder/divider-icons"; +@import "components/page-collapsed"; +@import "components/builder/divider-labels"; +@import "components/form/empty-fields"; +@import "components/settings/product-fields"; +@import "components/settings/field-choices"; +@import "components/form/field-labels"; +@import "components/settings/category-tabs"; +@import "components/builder/ui-state-defaults"; +@import "components/notifications/update-msg"; +@import "components/table/admin-columns"; +@import "components/search/admin-search"; +@import "components/button/button-group"; +@import "components/form/input-icons"; +@import "components/modal/inline-modals"; +@import "components/form/input-positioning"; +@import "components/search/search-inputs"; +@import "components/form/not-set-fields"; +@import "components/form/shortcode-select"; +@import "components/table/grid-table"; +@import "layout/page/views-page-admin"; +@import "layout/page/views-admin-icons"; +@import "layout/page/views-admin-tabs"; +@import "components/settings/order-where-rows"; +@import "components/form/editor-elements"; +@import "components/info/advanced-info-panel"; +@import "layout/grid/column-layout"; +@import "components/modal/info-modals"; +@import "components/list/code-list"; +@import "components/builder/insert-fields"; +@import "components/builder/field-dragging"; +@import "components/upgrade/upgrade-modal"; +@import "layout/page/reports-info"; +@import "components/modal/dialog"; +@import "components/icons/circled-icons"; +@import "components/links/link-styles"; +@import "components/tooltip"; +@import "components/form/inputs"; +@import "components/button/button-grey"; +@import "utilities/scrollbars"; +@import "rtl/general"; +@import "rtl/settings-components"; +@import "utilities/clearfix"; /** * Responsive Styles * * Media queries for desktop, tablet, and mobile devices */ -@import 'media-queries/screen-desktop'; -@import 'media-queries/screen-laptop'; -@import 'media-queries/screen-tablet'; -@import 'media-queries/screen-mobile'; -@import 'media-queries/print'; +@import "media-queries/screen-desktop"; +@import "media-queries/screen-laptop"; +@import "media-queries/screen-tablet"; +@import "media-queries/screen-mobile"; +@import "media-queries/print"; /** * Extended Components * * Additional components loaded after the main layout */ -@import 'layout/top-bar/publishing'; -@import 'components/modal/field-group-popup'; -@import 'components/select/multiselect-popup'; -@import 'components/notifications/banner'; -@import 'components/form-templates/ready-made'; -@import 'components/settings/on-submit-action'; -@import 'components/notifications/call-to-action'; -@import 'components/modal/form-templates'; -@import 'components/builder/field-group-message'; -@import 'components/card/card-item'; -@import 'components/pirate-forms'; -@import 'components/form/option-box'; -@import 'components/form/validation-error'; -@import 'utilities/layout/box'; -@import 'components/links/external-links'; -@import 'layout/page-skeleton'; -@import 'components/builder/submit-field'; -@import 'components/accordion/accordion-title'; -@import 'components/square'; -@import 'components/coupons'; -@import 'components/banner/sale-banner'; -@import 'components/banner/get-free-templates-banner'; +@import "layout/top-bar/publishing"; +@import "components/modal/field-group-popup"; +@import "components/select/multiselect-popup"; +@import "components/notifications/banner"; +@import "components/form-templates/ready-made"; +@import "components/settings/on-submit-action"; +@import "components/notifications/call-to-action"; +@import "components/modal/form-templates"; +@import "components/builder/field-group-message"; +@import "components/card/card-item"; +@import "components/pirate-forms"; +@import "components/form/option-box"; +@import "components/form/validation-error"; +@import "utilities/layout/box"; +@import "components/links/external-links"; +@import "layout/page-skeleton"; +@import "components/builder/submit-field"; +@import "components/accordion/accordion-title"; +@import "components/square"; +@import "components/coupons"; +@import "components/banner/sale-banner"; +@import "components/banner/get-free-templates-banner"; /** * Backwards Compatibility */ -@import 'backwards-compatibility'; +@import "backwards-compatibility"; diff --git a/resources/scss/admin/layout/container/_container.scss b/resources/scss/admin/layout/container/_container.scss index ed3bdcce3c..6e3ed3d87c 100644 --- a/resources/scss/admin/layout/container/_container.scss +++ b/resources/scss/admin/layout/container/_container.scss @@ -4,7 +4,7 @@ .frm-admin-page-styles .frm_page_container, .frm_wrap .frm_page_container { /* Use .frm_wrap to avoid messing up Views editor layout */ - height: calc( 100vh - 32px ); + height: calc(100vh - 32px); display: flex; flex-direction: column; overflow: hidden; @@ -16,7 +16,8 @@ right: 0; } -.frm-admin-page-translate .frm_wrap .frm_page_container, .frm-admin-page-update_translations .frm_wrap .frm_page_container { +.frm-admin-page-translate .frm_wrap .frm_page_container, +.frm-admin-page-update_translations .frm_wrap .frm_page_container { position: static; } diff --git a/resources/scss/admin/layout/grid/_column-layout.scss b/resources/scss/admin/layout/grid/_column-layout.scss index c04960aa68..b0ebcdb529 100644 --- a/resources/scss/admin/layout/grid/_column-layout.scss +++ b/resources/scss/admin/layout/grid/_column-layout.scss @@ -2,7 +2,7 @@ * Column Layout */ - .frm_col_one { +.frm_col_one { margin-right: 4%; clear: both; } diff --git a/resources/scss/admin/layout/page/_admin-page.scss b/resources/scss/admin/layout/page/_admin-page.scss index e3edb3fffd..f8c65edb73 100644 --- a/resources/scss/admin/layout/page/_admin-page.scss +++ b/resources/scss/admin/layout/page/_admin-page.scss @@ -11,8 +11,7 @@ .frm-white-body .updated, .frm-white-body .notice, .frm_wrap > .wrap > .notice, -.frm-white-body .error:not(.frm_previous_install) -{ +.frm-white-body .error:not(.frm_previous_install) { display: none; } diff --git a/resources/scss/admin/layout/page/_editor-overrides.scss b/resources/scss/admin/layout/page/_editor-overrides.scss index 2f604258e6..007ac06efa 100644 --- a/resources/scss/admin/layout/page/_editor-overrides.scss +++ b/resources/scss/admin/layout/page/_editor-overrides.scss @@ -56,7 +56,7 @@ } #frm_view_editor_left.frm-right-panel .accordion-section-title::before { - content: '' !important; + content: "" !important; margin: 0; } diff --git a/resources/scss/admin/layout/page/_import-export.scss b/resources/scss/admin/layout/page/_import-export.scss index 5cc5aec683..b44fb9ec35 100644 --- a/resources/scss/admin/layout/page/_import-export.scss +++ b/resources/scss/admin/layout/page/_import-export.scss @@ -13,4 +13,4 @@ #frm_advanced td.frm_left_label { width: 20%; padding-right: 2px; -} \ No newline at end of file +} diff --git a/resources/scss/admin/layout/page/_reports-info.scss b/resources/scss/admin/layout/page/_reports-info.scss index 18bf6d2848..e7d0dd70c0 100644 --- a/resources/scss/admin/layout/page/_reports-info.scss +++ b/resources/scss/admin/layout/page/_reports-info.scss @@ -38,7 +38,7 @@ } .frm-settings-screenshot-toolbar + div img { - max-width: calc( 100% - 40px ); + max-width: calc(100% - 40px); } .frm-settings-screenshot-wrapper { @@ -46,5 +46,5 @@ margin: 50px auto 0; box-shadow: 0 4px 4px rgba(189, 196, 205, 0.25), 0 12px 56px rgba(42, 57, 75, 0.25); border-radius: 16px; - background: #EBECF1; + background: #ebecf1; } diff --git a/resources/scss/admin/layout/page/_views-admin-icons.scss b/resources/scss/admin/layout/page/_views-admin-icons.scss index 9f0bcb97d4..e04fbf3549 100644 --- a/resources/scss/admin/layout/page/_views-admin-icons.scss +++ b/resources/scss/admin/layout/page/_views-admin-icons.scss @@ -8,7 +8,7 @@ .post-type-frm_display .curtime #timestamp::before, .post-type-frm_display #post-body .misc-pub-revisions::before, .post-type-frm_display span.wp-media-buttons-icon::before { - color: var( --grey); + color: var(--grey); } .post-type-frm_display #frm_top_bar + #poststuff #submitdiv #publishing-action, /* Hide only if top bar is present */ diff --git a/resources/scss/admin/layout/page/_views-page-admin.scss b/resources/scss/admin/layout/page/_views-page-admin.scss index e49d21d8e9..6e9e28acb9 100644 --- a/resources/scss/admin/layout/page/_views-page-admin.scss +++ b/resources/scss/admin/layout/page/_views-page-admin.scss @@ -7,8 +7,8 @@ } .post-type-frm_display #post-body.columns-2 #postbox-container-1 { - margin-right: calc( var(--big-sidebar) * -1 ); - width: calc( var(--big-sidebar) - 40px ); + margin-right: calc(var(--big-sidebar) * -1); + width: calc(var(--big-sidebar) - 40px); } .post-type-frm_display #poststuff #post-body.columns-2 #side-sortables { diff --git a/resources/scss/admin/layout/sidebar/_sidebar.scss b/resources/scss/admin/layout/sidebar/_sidebar.scss index dfa0a1ea8c..b8c99c6e81 100644 --- a/resources/scss/admin/layout/sidebar/_sidebar.scss +++ b/resources/scss/admin/layout/sidebar/_sidebar.scss @@ -101,7 +101,7 @@ margin-top: 0 !important; &::after { - content: ''; + content: ""; position: absolute; left: var(--gap-sm); right: var(--gap-sm); diff --git a/resources/scss/admin/media-queries/_print.scss b/resources/scss/admin/media-queries/_print.scss index 26a5ad7cf5..4195de303f 100644 --- a/resources/scss/admin/media-queries/_print.scss +++ b/resources/scss/admin/media-queries/_print.scss @@ -1,18 +1,37 @@ @media print { - a, .misc-pub-section a { + a, + .misc-pub-section a { color: #000 !important; } - .add-new-h2, #frm_top_bar, .dashicons, - #adminmenuwrap, #adminmenuback, #wphead, #button_bar, #submitdiv, .button-secondary, - #screen-metas, #screen-meta-links, #footer, #wpfooter, .inner-sidebar, .frm_form_nav, - .frm_flash_graph, .frm_no_print, object, .error { + .add-new-h2, + #frm_top_bar, + .dashicons, + #adminmenuwrap, + #adminmenuback, + #wphead, + #button_bar, + #submitdiv, + .button-secondary, + #screen-metas, + #screen-meta-links, + #footer, + #wpfooter, + .inner-sidebar, + .frm_form_nav, + .frm_flash_graph, + .frm_no_print, + object, + .error { visibility: hidden; display: none !important; } - .widget, .postbox, .stuffbox, .postbox h3 { + .widget, + .postbox, + .stuffbox, + .postbox h3 { border-width: 0 !important; border-color: #fff; } @@ -23,7 +42,8 @@ position: static; } - .postbox h3, .postbox h4 { + .postbox h3, + .postbox h4 { background: #fff !important; } @@ -31,7 +51,8 @@ float: none; } - #wpcontent, #post-body-content, + #wpcontent, + #post-body-content, .has-right-sidebar #post-body, #poststuff .columns-2 { margin: 0 !important; @@ -74,12 +95,14 @@ float: none; } - .pg_odd, .pg_even { + .pg_odd, + .pg_even { page-break-inside: avoid; max-width: 600px; } - .form-table td, .form-table th { + .form-table td, + .form-table th { padding: 0; } @@ -87,4 +110,4 @@ display: block; width: 100%; } -} \ No newline at end of file +} diff --git a/resources/scss/admin/media-queries/_screen-laptop.scss b/resources/scss/admin/media-queries/_screen-laptop.scss index f2400a9ddb..6541d6508e 100644 --- a/resources/scss/admin/media-queries/_screen-laptop.scss +++ b/resources/scss/admin/media-queries/_screen-laptop.scss @@ -107,7 +107,7 @@ } #frm_top_bar .frm_form_nav { - box-shadow: 0 -0.47px 10px 0 #1018280F; + box-shadow: 0 -0.47px 10px 0 #1018280f; } #frm_top_bar ul.frm_form_nav { diff --git a/resources/scss/admin/media-queries/_screen-mobile.scss b/resources/scss/admin/media-queries/_screen-mobile.scss index c6edb56454..6e27282195 100644 --- a/resources/scss/admin/media-queries/_screen-mobile.scss +++ b/resources/scss/admin/media-queries/_screen-mobile.scss @@ -110,14 +110,14 @@ } #frm_small_device_message::before { - content: ''; + content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-78%, -65%); width: 900px; height: 900px; - background-color: #0D7DFC; + background-color: #0d7dfc; border-radius: 50%; z-index: -1; opacity: 0.3; diff --git a/resources/scss/admin/media-queries/_screen-tablet.scss b/resources/scss/admin/media-queries/_screen-tablet.scss index bb5d29190d..6d7fb76acc 100644 --- a/resources/scss/admin/media-queries/_screen-tablet.scss +++ b/resources/scss/admin/media-queries/_screen-tablet.scss @@ -3,10 +3,11 @@ .frm-white-body, .frm_wrap { --small-sidebar: 20%; - --medium-sidebar: 35% + --medium-sidebar: 35%; } - #form_settings_page .advanced_settings .form-table td, .form-table th { + #form_settings_page .advanced_settings .form-table td, + .form-table th { display: table-cell; width: auto !important; } @@ -153,4 +154,4 @@ --biggest-sidebar: 50%; --big-sidebar: 50%; } -} \ No newline at end of file +} diff --git a/resources/scss/admin/rtl/_general.scss b/resources/scss/admin/rtl/_general.scss index 46c5cf69ea..2441597f23 100644 --- a/resources/scss/admin/rtl/_general.scss +++ b/resources/scss/admin/rtl/_general.scss @@ -41,7 +41,7 @@ .rtl #frm-insert-fields-box, .rtl #frm-conditionals { - padding-right: .9em; + padding-right: 0.9em; } .rtl #html_settings .frm_field_html_box { diff --git a/resources/scss/admin/rtl/_settings-components.scss b/resources/scss/admin/rtl/_settings-components.scss index 3146b9c733..c4011b4a3b 100644 --- a/resources/scss/admin/rtl/_settings-components.scss +++ b/resources/scss/admin/rtl/_settings-components.scss @@ -22,7 +22,7 @@ } &.frm-last { - right: calc( -1 * var(--gap-xs) ); + right: calc(-1 * var(--gap-xs)); } } } diff --git a/resources/scss/admin/utilities/Interactivity/_cursor.scss b/resources/scss/admin/utilities/Interactivity/_cursor.scss index 0cf7086b17..56ca49dd50 100644 --- a/resources/scss/admin/utilities/Interactivity/_cursor.scss +++ b/resources/scss/admin/utilities/Interactivity/_cursor.scss @@ -4,4 +4,4 @@ .frm-cursor-pointer { cursor: pointer; -} \ No newline at end of file +} diff --git a/resources/scss/admin/utilities/_clearfix.scss b/resources/scss/admin/utilities/_clearfix.scss index 3e76832aa8..0c95eb7db5 100644 --- a/resources/scss/admin/utilities/_clearfix.scss +++ b/resources/scss/admin/utilities/_clearfix.scss @@ -36,4 +36,4 @@ span.clear { display: none; } -/* End hide from IE-mac */ \ No newline at end of file +/* End hide from IE-mac */ diff --git a/resources/scss/admin/utilities/_forced-generic-classes.scss b/resources/scss/admin/utilities/_forced-generic-classes.scss index b4f3007d5d..2ee2b1be47 100644 --- a/resources/scss/admin/utilities/_forced-generic-classes.scss +++ b/resources/scss/admin/utilities/_forced-generic-classes.scss @@ -34,4 +34,4 @@ a.frm_hidden, .frm-dropdown-menu.frm-on-top { z-index: 99999; -} \ No newline at end of file +} diff --git a/resources/scss/admin/utilities/border/_border.scss b/resources/scss/admin/utilities/border/_border.scss index cd3599cc03..c8aacf7e07 100644 --- a/resources/scss/admin/utilities/border/_border.scss +++ b/resources/scss/admin/utilities/border/_border.scss @@ -8,4 +8,4 @@ .frm-no-border { border: none !important; -} \ No newline at end of file +} diff --git a/resources/scss/admin/utilities/effects/_fade.scss b/resources/scss/admin/utilities/effects/_fade.scss index b9f219874b..1843810f30 100644 --- a/resources/scss/admin/utilities/effects/_fade.scss +++ b/resources/scss/admin/utilities/effects/_fade.scss @@ -5,4 +5,4 @@ .frm-fade { opacity: 0; transition: all 1s; -} \ No newline at end of file +} diff --git a/resources/scss/admin/utilities/effects/_transition.scss b/resources/scss/admin/utilities/effects/_transition.scss index c40a41315e..da197b18f8 100644 --- a/resources/scss/admin/utilities/effects/_transition.scss +++ b/resources/scss/admin/utilities/effects/_transition.scss @@ -3,5 +3,5 @@ */ .frm-transition-ease { - transition: all .2s ease; + transition: all 0.2s ease; } diff --git a/resources/scss/admin/utilities/layout/_visibility.scss b/resources/scss/admin/utilities/layout/_visibility.scss index c79ed1e4ba..0803fc502e 100644 --- a/resources/scss/admin/utilities/layout/_visibility.scss +++ b/resources/scss/admin/utilities/layout/_visibility.scss @@ -4,7 +4,7 @@ .frm_invisible { visibility: hidden; - transition: all .2s ease; + transition: all 0.2s ease; } .frm_disabled { diff --git a/resources/scss/admin/utilities/typography/_text-align-part2.scss b/resources/scss/admin/utilities/typography/_text-align-part2.scss index 3861c27542..1107c2bbd5 100644 --- a/resources/scss/admin/utilities/typography/_text-align-part2.scss +++ b/resources/scss/admin/utilities/typography/_text-align-part2.scss @@ -4,4 +4,4 @@ .frmcenter { text-align: center; -} \ No newline at end of file +} diff --git a/resources/scss/admin/utilities/typography/_vertical-align.scss b/resources/scss/admin/utilities/typography/_vertical-align.scss index 42067db27c..fad8270a6a 100644 --- a/resources/scss/admin/utilities/typography/_vertical-align.scss +++ b/resources/scss/admin/utilities/typography/_vertical-align.scss @@ -4,4 +4,4 @@ .frm-align-baseline { vertical-align: baseline !important; -} \ No newline at end of file +} diff --git a/resources/scss/font_icons.scss b/resources/scss/font_icons.scss index 33850b7b3d..62d02dac99 100644 --- a/resources/scss/font_icons.scss +++ b/resources/scss/font_icons.scss @@ -3,8 +3,8 @@ */ @font-face { - font-family: 's11-fp'; - src: url('../fonts/s11-fp.woff?v=7') format('woff'); + font-family: "s11-fp"; + src: url("../fonts/s11-fp.woff?v=7") format("woff"); font-weight: 400; font-style: normal; } @@ -19,22 +19,22 @@ } .frmfont, -.frm_icon_font{ - text-decoration:none; +.frm_icon_font { + text-decoration: none; text-shadow: none; - font-weight:400; - display:inline-block; + font-weight: 400; + display: inline-block; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: auto; line-height: 1.5; - transition: color .1s ease-in-out, opacity .1s ease-in-out; + transition: color 0.1s ease-in-out, opacity 0.1s ease-in-out; font-size: 18px; } i.frmfont, -i.frm_icon_font{ - font-style:normal; +i.frm_icon_font { + font-style: normal; font-variant: normal; speak: none; } @@ -42,9 +42,9 @@ i.frm_icon_font{ .frmfont::before, select.frmfont, .frm_icon_font::before, -select.frm_icon_font{ - font-family: 's11-fp' !important; - text-align:center; +select.frm_icon_font { + font-family: "s11-fp" !important; + text-align: center; } .frmfont, @@ -54,23 +54,23 @@ a.frmfont:hover .frm_icon_font, a.frm_icon_font, .frm_icon_font:hover, -a.frm_icon_font:hover{ - text-decoration:none !important; - box-shadow:none; +a.frm_icon_font:hover { + text-decoration: none !important; + box-shadow: none; } .frmfont:focus, -.frm_icon_font:focus{ - box-shadow:none; +.frm_icon_font:focus { + box-shadow: none; } .frmfont:active, -.frm_icon_font:active{ - outline:none; +.frm_icon_font:active { + outline: none; } -.frm_trigger .frm_icon_font{ - padding:0 5px; +.frm_trigger .frm_icon_font { + padding: 0 5px; } .frm_tooltip_icon::before { diff --git a/resources/scss/test-mode/frm_testing_mode.scss b/resources/scss/test-mode/frm_testing_mode.scss index 9c38227ee6..72787f9bcd 100644 --- a/resources/scss/test-mode/frm_testing_mode.scss +++ b/resources/scss/test-mode/frm_testing_mode.scss @@ -1,40 +1,40 @@ -@import '../admin/base/variables'; -@import '../admin/components/form/toggle-components'; +@import "../admin/base/variables"; +@import "../admin/components/form/toggle-components"; // These files are all required for multiselect dropdowns to look correct. -@import '../admin/components/form/inputs'; -@import '../admin/components/button/button'; -@import '../admin/components/tooltip'; -@import '../admin/components/select/dropdown'; -@import '../admin/components/select/multiselect'; -@import '../admin/components/select/multiselect-popup'; -@import '../admin/components/list/code-list'; -@import '../admin/components/accordion/accordion'; -@import '../admin/components/search/search-inputs'; +@import "../admin/components/form/inputs"; +@import "../admin/components/button/button"; +@import "../admin/components/tooltip"; +@import "../admin/components/select/dropdown"; +@import "../admin/components/select/multiselect"; +@import "../admin/components/select/multiselect-popup"; +@import "../admin/components/list/code-list"; +@import "../admin/components/accordion/accordion"; +@import "../admin/components/search/search-inputs"; // For upsells -@import '../admin/components/notifications/call-to-action'; -@import '../admin/components/upgrade/upgrade-bar'; +@import "../admin/components/notifications/call-to-action"; +@import "../admin/components/upgrade/upgrade-bar"; // For the warning message when the add-on is not active. -@import '../admin/components/notifications/_message-styles'; +@import "../admin/components/notifications/_message-styles"; // For the upgrade modal. -@import '../admin/components/modal/modal'; -@import '../admin/components/modal/dialog'; -@import '../admin/components/icons/circled-icons'; -@import '../admin/utilities/layout/flex'; -@import '../admin/components/modal/info-modals'; +@import "../admin/components/modal/modal"; +@import "../admin/components/modal/dialog"; +@import "../admin/components/icons/circled-icons"; +@import "../admin/utilities/layout/flex"; +@import "../admin/components/modal/info-modals"; // For the spinner -@import '../admin/components/loading/_loading'; +@import "../admin/components/loading/_loading"; .frmsvg { - fill:currentColor; - width:18px; - height:18px; - vertical-align:middle + fill: currentColor; + width: 18px; + height: 18px; + vertical-align: middle; } body.frm_preview_page .ui-widget-overlay { @@ -46,265 +46,266 @@ body.frm_preview_page .ui-widget-overlay { right: 0; bottom: 0; background: var(--grey-500); - opacity: .5; + opacity: 0.5; z-index: 2; } #frm_testing_mode { - border-radius: 1rem; - background-color: #fff; - border-color: #0000001a; - border-width: 1px; - border-style: solid; - padding: 16px 20px; - margin-bottom: 40px; - position: relative; - - h2 { - font-size: 18px; - font-weight: 600; - color: rgba(0, 0, 0, 1); - margin-bottom: 0; - } - - label { - font-size: 12px; - font-weight: 600; - - span.frm_toggle_opt { - color: var(--grey-800); - font-weight: 600; - } - } - - label:not(:first-child) { - margin-left: var(--gap-xs); - } - - a.frm_button { - margin-left: auto; - border-radius: 20px; - font-size: 14px; - } - - hr { - color: unset; - background: var(--grey-200); - height: 1px; - border: none; - } - - & > div:nth-of-type(2) { - display: flex; - align-items: center; - } - - .multiselect.dropdown-toggle:after { - border: none; - } - - // Used for the upsell "speaker" icon. - .frmsvg { - width: 11px; - height: 11px; - margin-right: var(--gap-2xs); - position: relative; - top: 1px; - } - - .frm_toggle_block { - gap: var(--gap-xs); - } - - label:not(.frm_toggle_block) { - margin-right: 2px; - } - - select { - width: auto !important; - min-height: auto !important; - outline: 0; - box-shadow: var(--box-shadow-xs); - border-radius: var(--small-radius); - border-width: 1px; - padding: 5px 14px; - border-color: var(--grey-300); - color: var(--grey-800); - font-size: var(--text-md); - margin: 0; - line-height: var(--leading); - appearance: none; - background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%; - padding-right: var(--gap-lg) !important; - } - - select:focus { - background-color: transparent !important; - } - - select, - .btn-group button.multiselect.dropdown-toggle { - border-radius: var(--medium-radius); - font-size: 12px; - font-weight: 600; - height: 30px; - } - - .btn-group button.multiselect.dropdown-toggle { - padding-top: 0; - padding-bottom: 0; - } - - .multiselect-selected-text { - position: relative; - top: 2px; - } - - #frm_testmode_fill_in_empty_form_fields { - background-color: var(--primary-500); - color: #fff; - padding: 8px 18px; - } - - .frm_help { - vertical-align: top; - } + border-radius: 1rem; + background-color: #fff; + border-color: #0000001a; + border-width: 1px; + border-style: solid; + padding: 16px 20px; + margin-bottom: 40px; + position: relative; + + h2 { + font-size: 18px; + font-weight: 600; + color: rgba(0, 0, 0, 1); + margin-bottom: 0; + } + + label { + font-size: 12px; + font-weight: 600; + + span.frm_toggle_opt { + color: var(--grey-800); + font-weight: 600; + } + } + + label:not(:first-child) { + margin-left: var(--gap-xs); + } + + a.frm_button { + margin-left: auto; + border-radius: 20px; + font-size: 14px; + } + + hr { + color: unset; + background: var(--grey-200); + height: 1px; + border: none; + } + + > div:nth-of-type(2) { + display: flex; + align-items: center; + } + + .multiselect.dropdown-toggle::after { + border: none; + } + + // Used for the upsell "speaker" icon. + .frmsvg { + width: 11px; + height: 11px; + margin-right: var(--gap-2xs); + position: relative; + top: 1px; + } + + .frm_toggle_block { + gap: var(--gap-xs); + } + + label:not(.frm_toggle_block) { + margin-right: 2px; + } + + select { + width: auto !important; + min-height: auto !important; + outline: 0; + box-shadow: var(--box-shadow-xs); + border-radius: var(--small-radius); + border-width: 1px; + padding: 5px 14px; + border-color: var(--grey-300); + color: var(--grey-800); + font-size: var(--text-md); + margin: 0; + line-height: var(--leading); + appearance: none; + background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%2398A2B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12.708 8.959 10 11.875 7.292 8.96'/%3E%3C/svg%3E") no-repeat right 8px top 50%; + padding-right: var(--gap-lg) !important; + } + + select:focus { + background-color: transparent !important; + } + + select, + .btn-group button.multiselect.dropdown-toggle { + border-radius: var(--medium-radius); + font-size: 12px; + font-weight: 600; + height: 30px; + } + + .btn-group button.multiselect.dropdown-toggle { + padding-top: 0; + padding-bottom: 0; + } + + .multiselect-selected-text { + position: relative; + top: 2px; + } + + #frm_testmode_fill_in_empty_form_fields { + background-color: var(--primary-500); + color: #fff; + padding: 8px 18px; + } + + .frm_help { + vertical-align: top; + } } #frm_testing_mode, #frm_testmode_disable_required_fields_modal, #frm_ai_autofill_error_modal { - .frm-button-secondary:hover { - border-color: var(--grey-300) !important; - color: var(--grey-800); - background: var(--grey-50) !important; - box-shadow: none !important; - outline: none !important; - } - - a { - text-decoration: none; - } + + .frm-button-secondary:hover { + border-color: var(--grey-300) !important; + color: var(--grey-800); + background: var(--grey-50) !important; + box-shadow: none !important; + outline: none !important; + } + + a { + text-decoration: none; + } } #frm_testmode_disable_required_fields_modal p { - font-size: 16px; + font-size: 16px; } #frm_test_mode_pagination { - display: inline-block; - margin-left: var(--gap-xs); - - input[type="button"] { - border: 1px solid var(--grey-300); - padding: 8px 12px; - border-radius: 8px; - font-size: 12px; - background-color: #fff; - - &.frm_test_mode_active_page { - background-color: var(--primary-500); - border-color: var(--primary-500); - color: #fff; - } - - &:not(.frm_noallow) { - cursor: pointer; - } - } + display: inline-block; + margin-left: var(--gap-xs); + + input[type="button"] { + border: 1px solid var(--grey-300); + padding: 8px 12px; + border-radius: 8px; + font-size: 12px; + background-color: #fff; + + &.frm_test_mode_active_page { + background-color: var(--primary-500); + border-color: var(--primary-500); + color: #fff; + } + + &:not(.frm_noallow) { + cursor: pointer; + } + } } #frm_testmode_start_over { - position: absolute; - right: 20px; - top: 20px; - background-color: #fff; - color: var(--grey-800); - border-radius: 20px; - padding: 4px 12px; - border-color: var(--grey-300); - font-weight: 600; - - img { - vertical-align: middle; - position: relative; - bottom: 2px; - } + position: absolute; + right: 20px; + top: 20px; + background-color: #fff; + color: var(--grey-800); + border-radius: 20px; + padding: 4px 12px; + border-color: var(--grey-300); + font-weight: 600; + + img { + vertical-align: middle; + position: relative; + bottom: 2px; + } } .frm_noallow { - opacity: .5; + opacity: 0.5; } #frm_testmode_enabled_form_actions_container { - vertical-align: middle; - display: inline-block; - max-width: 200px; + vertical-align: middle; + display: inline-block; + max-width: 200px; } #frm_testmode_upgrade { - border-radius: 16px; - padding: var(--gap-xs) var(--gap-sm); - text-align: center; - font-size: var(--text-xs); - margin-top: var(--gap-sm); - line-height: var(--text-xs); - font-weight: 500; - text-decoration: none; - display: block; - - // These negative margins are to counteract the padding on the parent element. - // The upgrade should occupy the bottom area of the card. - margin-left: -20px; - margin-right: -20px; - margin-bottom: -16px; - border-radius: 0 0 16px 16px; + padding: var(--gap-xs) var(--gap-sm); + text-align: center; + font-size: var(--text-xs); + margin-top: var(--gap-sm); + line-height: var(--text-xs); + font-weight: 500; + text-decoration: none; + display: block; + + // These negative margins are to counteract the padding on the parent element. + // The upgrade should occupy the bottom area of the card. + margin-left: -20px; + margin-right: -20px; + margin-bottom: -16px; + border-radius: 0 0 16px 16px; } .frm_warning_style:has(.frm-addon-button) { - display: flex; - padding: var(--gap-sm); - line-height: 40px; + display: flex; + padding: var(--gap-sm); + line-height: 40px; } .frm_warning_style .frm-addon-button, #frm_upgrade_modal a.frm-button-primary { - text-decoration: none; + text-decoration: none; } #frm_upgrade_modal a.frm-button-primary { - cursor: pointer; + cursor: pointer; } .frm-dialog { - z-index: 1001; + z-index: 1001; } .frm-dialog + .ui-widget-overlay { - z-index: 1000; + z-index: 1000; } @media (max-width: 1024px) { - #frm_testing_mode > div > label:not(#frm_quick_jump_label) { - width: 100%; - display: block !important; - margin-left: 0 !important; - } - - #frm_testing_mode > div > label:not(#frm_quick_jump_label) { - margin-top: var(--gap-sm); - } - - #frm_testmode_fill_in_empty_form_fields { - display: block; - } - - #frm_testing_mode > div:nth-of-type(2) { - flex-direction: column; - align-items: normal; - } - - #frm_test_mode_pagination { - margin-left: 0; - } + + #frm_testing_mode > div > label:not(#frm_quick_jump_label) { + width: 100%; + display: block !important; + margin-left: 0 !important; + } + + #frm_testing_mode > div > label:not(#frm_quick_jump_label) { + margin-top: var(--gap-sm); + } + + #frm_testmode_fill_in_empty_form_fields { + display: block; + } + + #frm_testing_mode > div:nth-of-type(2) { + flex-direction: column; + align-items: normal; + } + + #frm_test_mode_pagination { + margin-left: 0; + } } diff --git a/square/controllers/FrmSquareLiteSettingsController.php b/square/controllers/FrmSquareLiteSettingsController.php index 43dd55d0e1..ec5e427fb6 100644 --- a/square/controllers/FrmSquareLiteSettingsController.php +++ b/square/controllers/FrmSquareLiteSettingsController.php @@ -52,7 +52,7 @@ public static function global_settings_form( $atts = array() ) { public static function process_form() { $settings = FrmSquareLiteAppHelper::get_settings(); // phpcs:ignore WordPress.Security.NonceVerification.Missing - $settings->update( $_POST ); + $settings->update( wp_unslash( $_POST ) ); $settings->store(); } } diff --git a/square/js/frontend.js b/square/js/frontend.js index bee7fd8de2..c360e9ab67 100644 --- a/square/js/frontend.js +++ b/square/js/frontend.js @@ -96,14 +96,14 @@ * Disable submit button for a target form. * * @param {Element} form - * @return {void} + * @returns {void} */ function disableSubmit( form ) { jQuery( form ).find( 'input[type="submit"],input[type="button"],button[type="submit"]' ).not( '.frm_prev_page' ).attr( 'disabled', 'disabled' ); // Trigger custom event for other scripts to hook into const event = new CustomEvent( 'frmSquareLiteDisableSubmit', { - detail: { form: form } + detail: { form } } ); document.dispatchEvent( event ); } @@ -190,7 +190,7 @@ * Display an error message in the payment form. * * @param {string} errorMessage - * @return {void} + * @returns {void} */ function displayPaymentFailure( errorMessage ) { if ( ! thisForm ) { @@ -255,7 +255,7 @@ /** * @param {Object} $form - * @return {boolean} false if there are errors. + * @returns {boolean} false if there are errors. */ function validateFormSubmit( $form ) { const errors = frmFrontForm.validateFormSubmit( $form ); diff --git a/square/js/settings.js b/square/js/settings.js index 936f74edab..faf493e8df 100644 --- a/square/js/settings.js +++ b/square/js/settings.js @@ -20,7 +20,7 @@ formData.append( 'mode', mode ); frmDom.ajax.doJsonPost( 'square_oauth', formData ).then( function( response ) { - if ( 'undefined' !== typeof response.redirect_url ) { + if ( response.redirect_url !== undefined ) { window.location = response.redirect_url; } } @@ -40,7 +40,7 @@ formData.append( 'testMode', 'test' === event.target.id.replace( 'frm_disconnect_square_', '' ) ? 1 : 0 ); frmDom.ajax.doJsonPost( 'square_disconnect', formData ).then( function( response ) { - if ( 'undefined' !== typeof response.success && response.success ) { + if ( response.success ) { window.location.reload(); } } @@ -59,7 +59,7 @@ formData.append( 'mode', 'test' ); frmDom.ajax.doJsonPost( 'square_oauth', formData ).then( function( response ) { - if ( 'undefined' !== typeof response.redirect_url ) { + if ( response.redirect_url !== undefined ) { window.location = response.redirect_url; jQuery( modal ).dialog( 'close' ); } diff --git a/stripe/controllers/FrmStrpLiteSettingsController.php b/stripe/controllers/FrmStrpLiteSettingsController.php index a5c58e118a..5a3aded2ad 100644 --- a/stripe/controllers/FrmStrpLiteSettingsController.php +++ b/stripe/controllers/FrmStrpLiteSettingsController.php @@ -80,7 +80,7 @@ private static function get_default_settings_atts() { public static function process_form() { $settings = FrmStrpLiteAppHelper::get_settings(); // phpcs:ignore WordPress.Security.NonceVerification.Missing - $settings->update( $_POST ); + $settings->update( wp_unslash( $_POST ) ); $settings->store(); } } diff --git a/stripe/js/connect_settings.js b/stripe/js/connect_settings.js index 6bd2958e6a..e71f5bed69 100644 --- a/stripe/js/connect_settings.js +++ b/stripe/js/connect_settings.js @@ -47,7 +47,7 @@ strpSettingsAjaxRequest( 'frm_stripe_connect_reauth', function( data ) { - if ( 'undefined' !== typeof data.connect_url ) { + if ( data.connect_url !== undefined ) { window.location = data.connect_url; } else { renderStripeConnectSettingsButton(); @@ -62,7 +62,7 @@ strpSettingsAjaxRequest( 'frm_stripe_connect_oauth', function( data ) { - if ( 'undefined' !== typeof data.redirect_url ) { + if ( data.redirect_url !== undefined ) { window.location = data.redirect_url; } else { renderStripeConnectSettingsButton(); @@ -74,8 +74,8 @@ function strpSettingsAjaxRequest( action, success, testMode ) { const data = { - action: action, - testMode: testMode, + action, + testMode, nonce: frmGlobal.nonce }; postAjax( data, success ); @@ -97,7 +97,7 @@ if ( response !== '' ) { response = JSON.parse( response ); if ( response.success ) { - if ( 'undefined' === typeof response.data ) { + if ( response.data === undefined ) { response.data = {}; } success( response.data ); diff --git a/stripe/js/frmstrp.js b/stripe/js/frmstrp.js index e201be077a..5c9a8be601 100644 --- a/stripe/js/frmstrp.js +++ b/stripe/js/frmstrp.js @@ -33,7 +33,7 @@ } /** - * @return {boolean} True if form should be processed by Stripe. + * @returns {boolean} True if form should be processed by Stripe. */ function shouldProcessForm() { if ( formID != frm_stripe_vars.form_id ) { @@ -53,7 +53,7 @@ } /** - * @return {boolean} True if current action type should be processed. + * @returns {boolean} True if current action type should be processed. */ function currentActionTypeShouldBeProcessed() { const action = jQuery( thisForm ).find( 'input[name="frm_action"]' ).val(); @@ -65,7 +65,7 @@ return window.frmProForm.currentActionTypeShouldBeProcessed( action, { - thisForm: thisForm + thisForm } ); } @@ -104,7 +104,7 @@ * * @param {Element} object * @param {Object} meta - * @return {void} + * @returns {void} */ function stripeLinkSubmit( object, meta ) { object.classList.add( 'frm_trigger_event_on_submit', 'frm_ajax_submit' ); @@ -126,7 +126,7 @@ }; let params = { - elements: elements, + elements, confirmParams: { return_url: getReturnUrl() } @@ -142,7 +142,7 @@ } function getReturnUrl() { - const url = new URL( frm_stripe_vars.ajax ); // eslint-disable-line compat/compat + const url = new URL( frm_stripe_vars.ajax ); url.searchParams.append( 'action', 'frmstrplinkreturn' ); return url.toString(); @@ -179,10 +179,10 @@ * @since 6.10 * * @param {CustomEvent} event - * @return {boolean} True if no errors found in event data. + * @returns {boolean} True if no errors found in event data. */ function checkEventDataForError( event ) { - if ( ! event.frmData || ! event.frmData.content.length || -1 === event.frmData.content.indexOf( '
            0)return;frmFrontForm.submitFormManual(event,thisForm)}function enableSubmit(){if(running>0)return;thisForm.classList.add("frm_loading_form");frmFrontForm.removeSubmitLoading(jQuery(thisForm),"enable",0);triggerCustomEvent(document,"frmStripeLiteEnableSubmit",{form:thisForm})}function getPriceFields(){const priceFields=[];function checkStripeSettingForPriceFields(setting){if(-1!==setting.fields)each(setting.fields, -addFieldDataToPriceFieldsArray)}function addFieldDataToPriceFieldsArray(field){if(isNaN(field))priceFields.push("field_"+field);else priceFields.push(field)}each(getStripeSettings(),checkStripeSettingForPriceFields);return priceFields}function getStripeSettings(){const stripeSettings=[];each(frm_stripe_vars.settings,function(setting){if(-1!==setting.gateways.indexOf("stripe"))stripeSettings.push(setting)});return stripeSettings}function priceChanged(_,field,fieldId){let i;let data;const price=getPriceFields(); -let run=price.includes(fieldId)||price.includes(field.id);if(!run)for(i=0;i3&&xmlHttp.status==200){response=xmlHttp.responseText;if(response!=="")try{response=JSON.parse(response)}catch(error){response=""}success(response)}};xmlHttp.setRequestHeader("X-Requested-With","XMLHttpRequest");xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlHttp.send(params);return xmlHttp}function loadElements(){if(document.getElementsByClassName("frm-card-element").length)maybeLoadStripeLink()} +return window.frmProForm.currentActionTypeShouldBeProcessed(action,{thisForm})}function processForm(){const $form=jQuery(thisForm);$form.addClass("frm_js_validate");if(!validateFormSubmit($form))return;frmFrontForm.showSubmitLoading($form);const meta=addName($form);if("object"===typeof window.frmProForm&&"function"===typeof window.frmProForm.addAddressMeta)window.frmProForm.addAddressMeta($form,meta);if(!isStripeLink)return;stripeLinkSubmit($form.get(0),meta)}function stripeLinkSubmit(object,meta){object.classList.add("frm_trigger_event_on_submit", +"frm_ajax_submit");object.addEventListener("frmSubmitEvent",confirmPayment);running=0;submitForm();function confirmPayment(event){if(!checkEventDataForError(event))return;window.onpageshow=function(event){if(event.persisted||window.performance&&window.performance.getEntriesByType("navigation")[0].type==="back_forward")window.location.reload()};let params={elements,confirmParams:{return_url:getReturnUrl()}};if("object"===typeof window.frmProForm&&"function"===typeof frmProForm.beforeConfirmPayment)params= +frmProForm.beforeConfirmPayment(params,meta);const confirmFunction=isRecurring()?"confirmSetup":"confirmPayment";frmstripe[confirmFunction](params).then(handleConfirmPromise)}function getReturnUrl(){const url=new URL(frm_stripe_vars.ajax);url.searchParams.append("action","frmstrplinkreturn");return url.toString()}function handleConfirmPromise(result){if(result.error)handleConfirmPaymentError(result.error)}function handleConfirmPaymentError(error){running--;enableSubmit();const fieldset=jQuery(object).find(".frm_form_field"); +fieldset.removeClass("frm_doing_ajax");object.classList.remove("frm_loading_form");if("card_error"===error.type||"invalid_request_error"===error.type||"form_submit_error"===error.type){const cardErrors=object.querySelector(".frm-card-errors");if(cardErrors)cardErrors.textContent=error.message}}function checkEventDataForError(event){if(!event.frmData||!event.frmData.content.length||!event.frmData.content.includes('
            0)return;frmFrontForm.submitFormManual(event,thisForm)}function enableSubmit(){if(running>0)return;thisForm.classList.add("frm_loading_form");frmFrontForm.removeSubmitLoading(jQuery(thisForm),"enable",0);triggerCustomEvent(document,"frmStripeLiteEnableSubmit",{form:thisForm})}function getPriceFields(){const priceFields=[];function checkStripeSettingForPriceFields(setting){if(-1!==setting.fields)each(setting.fields,addFieldDataToPriceFieldsArray)} +function addFieldDataToPriceFieldsArray(field){if(isNaN(field))priceFields.push("field_"+field);else priceFields.push(field)}each(getStripeSettings(),checkStripeSettingForPriceFields);return priceFields}function getStripeSettings(){const stripeSettings=[];each(frm_stripe_vars.settings,function(setting){if(setting.gateways.includes("stripe"))stripeSettings.push(setting)});return stripeSettings}function priceChanged(_,field,fieldId){let i;let data;const price=getPriceFields();let run=price.includes(fieldId)|| +price.includes(field.id);if(!run)for(i=0;i3&&xmlHttp.status==200){response=xmlHttp.responseText;if(response!=="")try{response=JSON.parse(response)}catch(error){response=""}success(response)}};xmlHttp.setRequestHeader("X-Requested-With","XMLHttpRequest");xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlHttp.send(params);return xmlHttp}function loadElements(){if(document.getElementsByClassName("frm-card-element").length)maybeLoadStripeLink()} function maybeLoadStripeLink(){const stripeLinkForm=document.querySelector("form.frm_stripe_link_form");if(!stripeLinkForm)return false;const formId=parseInt(stripeLinkForm.querySelector('input[name="form_id"]').value);const intentField=stripeLinkForm.querySelector('input[name="frmintent'+formId+'[]"]');if(!intentField)return false;disableSubmit(stripeLinkForm);loadStripeLinkElements(intentField.value);triggerCustomEvent(document,"frmStripeLiteLoad",{form:stripeLinkForm});return true}function disableSubmit(form){jQuery(form).find('input[type="submit"],input[type="button"],button[type="submit"]').not(".frm_prev_page").attr("disabled", -"disabled");triggerCustomEvent(document,"frmStripeLiteDisableSubmit",{form:form})}function loadStripeLinkElements(clientSecret){const cardElement=document.querySelector(".frm-card-element");if(!cardElement)return;const appearance={theme:"stripe",variables:{fontSizeBase:frm_stripe_vars.baseFontSize,colorText:maybeAdjustColorForStripe(frm_stripe_vars.appearanceRules[".Input"].color),colorBackground:maybeAdjustColorForStripe(frm_stripe_vars.appearanceRules[".Input"].backgroundColor),fontSmooth:"auto"}, -rules:frm_stripe_vars.appearanceRules};elements=frmstripe.elements({clientSecret:clientSecret,appearance:appearance});isStripeLink=true;insertAuthenticationElement(cardElement);insertPaymentElement(cardElement);triggerCustomEvent(document,"frmStripeLiteLoadElements",{cardElement:cardElement})}function maybeAdjustColorForStripe(color){if(0!==color.indexOf("rgba"))return color;const rgba=color.replace(/^rgba?\(|\s+|\)$/g,"").split(",");return`#${((1<<24)+(parseInt(rgba[0],10)<<16)+(parseInt(rgba[1], -10)<<8)+parseInt(rgba[2],10)).toString(16).slice(1)}`}function insertAuthenticationElement(cardElement){let emailInput,cardFieldContainer;let addAboveCardElement=true;const emailField=checkForEmailField();const authenticationMountTarget=createMountTarget("frm-link-authentication-element");if(false!==emailField)if("hidden"===emailField.getAttribute("type"))emailInput=emailField;else{addAboveCardElement=false;emailInput=emailField.querySelector("input");replaceEmailField(emailField,emailInput,authenticationMountTarget)}if(addAboveCardElement){cardFieldContainer= -cardElement.closest(".frm_form_field");cardFieldContainer.parentNode.insertBefore(authenticationMountTarget,cardFieldContainer);triggerCustomEvent(document,"frmStripeLiteAddAuthElementAboveCardElement",{cardElement:cardElement,cardFieldContainer:cardFieldContainer,authenticationMountTarget:authenticationMountTarget})}const defaultEmailValue=false!==emailField?getSettingFieldValue(emailField):"";const authenticationElement=elements.create("linkAuthentication",{defaultValues:{email:defaultEmailValue}}); -authenticationElement.mount(".frm-link-authentication-element");authenticationElement.on("change",getAuthenticationChangeHandler(cardElement,emailInput))}function getAuthenticationChangeHandler(cardElement,emailInput){function syncEmailInput(emailValue){if("string"===typeof emailValue&&emailValue.length)emailInput.value=emailValue}return function(event){linkAuthenticationElementIsComplete=event.complete;if(linkAuthenticationElementIsComplete&&"undefined"!==typeof emailInput)syncEmailInput(event.value.email); -const form=cardElement.closest("form");if("object"===typeof window.frmChatForm&&"function"===typeof frmChatForm.maybeHandleAuthenticationChange&&frmChatForm.maybeHandleAuthenticationChange(form,event.complete))return;if(readyToSubmitStripeLink(form)){thisForm=form;running=0;enableSubmit()}else disableSubmit(form)}}function replaceEmailField(emailField,emailInput,authenticationMountTarget){emailInput.before(authenticationMountTarget);emailInput.type="hidden";const emailLabel=emailField.querySelector(".frm_primary_label"); -if(emailLabel)emailLabel.style.display="none"}function getLayout(){const settings=getStripeSettings()[0];return settings.hasOwnProperty("layout")&&settings.layout||"tabs"}function insertPaymentElement(cardElement){cardElement.parentNode.insertBefore(createMountTarget("frm-payment-element"),cardElement);const paymentElement=elements.create("payment",{layout:{type:getLayout()},defaultValues:{billingDetails:{name:getFullNameValueDefault(),phone:""}}});paymentElement.mount(".frm-payment-element");paymentElement.on("change", -handlePaymentElementChange);function handlePaymentElementChange(event){stripeLinkElementIsComplete=event.complete;toggleButtonsOnPaymentElementChange(cardElement);triggerCustomEvent(document,"frmStripeLitePaymentElementChange",{complete:event.complete})}}function toggleButtonsOnPaymentElementChange(cardElement){const form=cardElement.closest(".frm-show-form");if("object"===typeof window.frmChatForm&&"function"===typeof frmChatForm.maybeHandlePaymentChange&&frmChatForm.maybeHandlePaymentChange(form, -stripeLinkElementIsComplete))return;if(readyToSubmitStripeLink(form)){thisForm=form;running=0;enableSubmit()}else disableSubmit(form)}function readyToSubmitStripeLink(form){if(!linkAuthenticationElementIsComplete||!stripeLinkElementIsComplete)return false;if("object"!==typeof window.frmProForm||"function"!==typeof window.frmProForm.submitButtonIsConditionallyDisabled)return true;return!window.frmProForm.submitButtonIsConditionallyDisabled(form)}function getFullNameValueDefault(){const nameValues= -[];const firstNameField=checkForStripeSettingField("first_name");if(false!==firstNameField)nameValues.push(getSettingFieldValue(firstNameField));const lastNameField=checkForStripeSettingField("last_name");if(false!==lastNameField)nameValues.push(getSettingFieldValue(lastNameField));return nameValues.join(" ")}function getSettingFieldValue(field){let value;if("hidden"===field.getAttribute("type"))value=field.value;else value=field.querySelector("input").value;return value}function checkForEmailField(){return checkForStripeSettingField("email")} -function checkForStripeSettingField(settingKey){let settingField=false;each(getStripeSettings(),checkStripeSettingForField);function checkStripeSettingForField(currentSetting){let currentFieldId,fieldMatchByKey,fieldContainer,hiddenInput;if("string"!==typeof currentSetting[settingKey]||!currentSetting[settingKey].length)return;const currentSettingValue=currentSetting[settingKey];const settingIsWrappedAsShortcode="["===currentSettingValue[0]&&"]"===currentSettingValue[currentSettingValue.length-1]; -if(settingIsWrappedAsShortcode){currentFieldId=currentSettingValue.substr(1,currentSettingValue.length-2);if(isNaN(currentFieldId))fieldMatchByKey=document.getElementById("field_"+currentFieldId)}else currentFieldId=currentSettingValue;if(fieldMatchByKey)fieldContainer=fieldMatchByKey.closest(".frm_form_field");else fieldContainer=document.getElementById("frm_field_"+currentFieldId+"_container");if(!fieldContainer){hiddenInput=document.querySelector('input[name="item_meta['+currentFieldId+']"]'); -if(!hiddenInput)if("first_name"===settingKey)hiddenInput=document.querySelector('input[name="item_meta['+currentFieldId+'][first]"]');else if("last_name"===settingKey)hiddenInput=document.querySelector('input[name="item_meta['+currentFieldId+'][last]"]');if(hiddenInput){settingField=hiddenInput;return false}return}settingField=fieldContainer;return false}return settingField}function createMountTarget(className){const newElement=document.createElement("div");newElement.className=className+" frm_form_field form-field"; -return newElement}function each(items,callback){let index;const length=items.length;for(index=0;index $default ) { if ( isset( $params[ 'frm_' . $this->param() . '_' . $setting ] ) ) { - $this->settings->{$setting} = sanitize_text_field( $params[ 'frm_' . $this->param() . '_' . $setting ] ); + $value = $params[ 'frm_' . $this->param() . '_' . $setting ]; + + // Clean up any accumulated backslashes from previous bug. + // @see https://github.com/Strategy11/formidable-pro/issues/6294 + if ( 'processing_message' === $setting ) { + $value = str_replace( '\\', '', $value ); + } + + $this->settings->{$setting} = sanitize_text_field( $value ); } } diff --git a/tests/cypress/e2e/Forms/formPageDataValidation.cy.js b/tests/cypress/e2e/Forms/formPageDataValidation.cy.js index d1dca95952..9c63becc0f 100644 --- a/tests/cypress/e2e/Forms/formPageDataValidation.cy.js +++ b/tests/cypress/e2e/Forms/formPageDataValidation.cy.js @@ -173,12 +173,12 @@ describe( 'Forms page', () => { expect( datePart ).to.equal( formattedDate ); cy.log( 'Check that time exists in the
            element' ); - /* eslint-disable no-unused-expressions */ + cy.get( '.created_at > abbr' ) .invoke( 'html' ) .then( html => { expect( html.split( '
            ' )[ 1 ] ).to.exist.and.not.be.empty; - /* eslint-enable no-unused-expressions */ + } ); } ); } );