{"hits": [{"proj": "hyva-themes/hyva-docs", "file": "csp-crossref-review.md", "ref": "main", "q": "password", "data": "The minimal registration example already had `registerInlineScript()`, but all seven advanced pattern examples in collapsible blocks were missing it. Added to each:\n\n- \"validate with confirmation and password prompt\"\n- \"Error Handling in placeOrder\"\n- \"Advanced Exception Handling with Error Codes\"\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-checkout/devdocs/csp/csp-checkout-with-non-csp-theme.md", "ref": "main", "q": "password", "data": " /** @var ReCaptcha $recaptcha */\n /** @var HeroiconsOutline $heroicons */\n@@ -37,17 +39,20 @@ $isAutocompleteEnabled = $storeConfig->getStoreConfig('customer/password/autocom\n     function initAuthentication() {\n         return {\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-checkout/devdocs/form-api/form-rendering.md", "ref": "main", "q": "password", "data": "```\n\nHyvä Checkout also ships with default templates for the most common input types: `select`, `checkbox`, `hidden`, and `password`.\n\n### Accessories\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-checkout/devdocs/form-api/index.md", "ref": "main", "q": "password", "data": "Form modifiers in Hyva Checkout let you customize existing forms through lifecycle hooks without modifying the original form class. All essential fields should be created in the `populate()` method. Modifiers are best suited for optional fields or conditional logic.\n\nA good example is a login component: the password field should only appear when the user enters an email address that belongs to an "}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-checkout/devdocs/form-api/magewire-driven-forms.md", "ref": "main", "q": "password", "data": "1. Sets the `autocomplete` attribute to `off` on the email field.\n2. Adds an advanced form validation rule `email` set to `true`.\n3. Creates and adds a password field along with a comment.\n4. Creates and adds a submit button element with a custom \"Submit\" label.\n\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-checkout/devdocs/place-order-service-api/index.md", "ref": "main", "q": "password", "data": "\n??? question \"What is 3DS Authentication?\"\n    3D Secure (3DS) is a security protocol for online card payments. After submitting payment details, the cardholder's bank verifies their identity through a password, SMS code, or biometric check. Successful authentication allows the transaction to proceed; failure declines it. 3DS reduces fraud and often shifts liability from merchants to issuing bank"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-checkout/devdocs/frontend-api/index.md", "ref": "main", "q": "secret", "data": "        // Register the validator - the name must match createValidation() in the backend\n        hyvaCheckout.evaluation.registerValidator('validateExampleComponent', (element, component) => {\n            const field = element.querySelector('#secret');\n\n            if (field) {\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/cms/tailwind-jit/server-side-setup.md", "ref": "main", "q": "secret", "data": "- The **PHP side** (the admin compile controller and the standalone `pub/cms-tailwind.php` endpoint) reads it *only* from the `auth_token` field of `var/hyva_cms_tailwind_daemon.json`. It never reads an environment variable or a config value.\n\nThe token is a **random secret**, not a value derived from your Magento configuration.\n\nWhen Magento starts the daemon itself — the admin Start button, **Cr"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/view-utilities/recaptcha-in-custom-forms.md", "ref": "main", "q": "secret", "data": "The reCAPTCHA integration has to be fully configured in the system configuration at \"Security > Google reCAPTCHA\nStorefront\".  \nYour Google API Website Key and Secret Key need to be specified for reCAPTCHA to be available.\n\n!!! warning \"Disabling legacy Captcha\"\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-commerce/features/admin-dashboard/system-configuration.md", "ref": "main", "q": "api_key", "data": "### API Key\n\n- **Config Path:** `hyva_admin_dashboard/google_crux_history/api_key`\n- **Default Value:** N/A\n\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/ai/features-providers/integration-guide.md", "ref": "main", "q": "api_key", "data": "    <group id=\"anthropic\" translate=\"label\" sortOrder=\"30\" showInDefault=\"1\">\n        <label>Anthropic Configuration</label>\n        <field id=\"api_key\" translate=\"label\" type=\"obscure\" sortOrder=\"10\" showInDefault=\"1\">\n            <label>API Key</label>\n            <backend_model>Magento\\Config\\Model\\Config\\Backend\\Encrypted</backend_model>\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/working-with-tailwindcss/design-tokens/claude-design.md", "ref": "main", "q": "token", "data": "# Using Claude Design\n\n[Claude Design](https://claude.ai/design){:target=\"_blank\"} is a design tool that can generate a W3C DTCG-compatible JSON token file from your design. This format is the default format for `hyva-tokens`, so no `format` key is needed in your configuration.\n\n## Exporting Tokens from Claude Design\n\nClaude Design does not generate a token file by default. You need to explicitly "}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/working-with-tailwindcss/design-tokens/faq.md", "ref": "main", "q": "token", "data": "# What Are Design Tokens?\n\nDesign tokens are the single source of truth for the design properties of a product.\nThey are named entities that store design-related values, such as colors, typography, spacing, and shadows.\nThink of them as variables for your design system.\n\nInstead of hardcoding values like `#4F46E5` for your primary color,\nyou define a token called `color.primary.DEFAULT` and assign"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/working-with-tailwindcss/design-tokens/figma.md", "ref": "main", "q": "token", "data": "# Using Tokens Studio (Figma / Penpot)\n\n[Tokens Studio](https://tokens.studio/){:target=\"_blank\"} is a plugin for Figma and Penpot that lets you manage design tokens right inside your design tool and export them as JSON.\n\nThe `hyva-tokens` CLI supports the legacy Tokens Studio export format via the `format: \"figma\"` setting.\n\n!!! note \"Which format is your export?\"\n    Tokens Studio has two export"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/working-with-tailwindcss/design-tokens/formats.md", "ref": "main", "q": "token", "data": "# Token File Formats\n\nThe `hyva-tokens` command supports three token file formats: the default DTCG format, the legacy Tokens Studio format, and the Google Stitch Markdown format.\nA fourth format based on the DTCG 2025.10 specification is planned for a future release.\n\nYou set the format via the `format` key in `hyva.config.json`. The Google Stitch format is detected automatically from the `.md` f"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/working-with-tailwindcss/design-tokens/google-stitch.md", "ref": "main", "q": "token", "data": "# Using Google Stitch\n\n[Google Stitch](https://stitch.withgoogle.com){:target=\"_blank\"} is a design token tool that lets designers export tokens straight from their design environment as a Markdown file with YAML frontmatter. This makes it a natural fit for `hyva-tokens` - the gap between design and development closes without any manual conversion step.\n\n## Exporting Tokens from Google Stitch\n\nFro"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/working-with-tailwindcss/design-tokens/index.md", "ref": "main", "q": "token", "data": "# Design Tokens\n\nDesign tokens are named design decisions - colors, spacing, typography, shadows -\nstored in a structured format that both designers and developers can share.\n\nIn Hyvä, the `hyva-tokens` command converts a design token file into CSS custom properties,\nmaking it the single source of truth for your theme's visual style.\n\n!!! tip \"Quick Reference\"\n    For command options and configura"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/working-with-tailwindcss/design-tokens/simple-tokens.md", "ref": "main", "q": "token", "data": "# Using Simple Tokens\n\nSimple tokens let you define design tokens directly in `hyva.config.json` without needing a design tool like Figma or Penpot.\n\nThe structure mirrors a Tailwind CSS theme config - plain key/value pairs without the `$value`/`$type` wrapper that [W3C design token files](formats.md) normally require.\n\n!!! tip\n    You can also keep your token values in a separate JSON file and po"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/working-with-tailwindcss/using-hyva-modules/tokens.md", "ref": "main", "q": "token", "data": "# The hyva-tokens Command\n\nThe `hyva-tokens` command generates a CSS file from a design tokens file.\nIt bridges the gap between design and development by letting you use values from design tools like Figma directly in your theme.\n\nDesign tokens are key-value pairs that store design-related information such as colors, spacing, and typography.\nA similar concept was used in earlier JavaScript-based T"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/js/search-token-fix.js", "ref": "main", "q": "token", "data": "/**\n * Fix search for terms containing colons, dots, hyphens, or slashes\n * (e.g. hyva:config:generate, tailwind.config.js, app/etc/config.php).\n *\n * Problem 1: Lunr.js hardcodes \":\" as a field separator in QueryLexer,\n * so \"hyva:config:generate\" is parsed as field \"hyva\" with value\n * \"config:generate\", which MkDocs Material converts to a broad OR search.\n *\n * Problem 2: QueryLexer.lexText mat"}, {"proj": "hyva-themes/hyva-docs", "file": ".claude/skills/optimize-hyva-doc-page/SKILL.md", "ref": "main", "q": "token", "data": "\nThe target vector database uses the following chunking configuration:\n- **Chunk size**: 450 tokens\n- **Overlap**: 60 tokens\n- **Code block handling**: Fenced code blocks are NEVER split during chunking—even if this causes a chunk to exceed the token limit. A 600-token code block will remain intact in a single oversized chunk. This ensures consistency for human consumption.\n\n## Primary Objectives\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-checkout/devdocs/frontend-api/V1/storage.md", "ref": "main", "q": "token", "data": "Hyvä Checkout uses two predefined storage groups that automatically transfer data to the backend Place Order Service PHP object:\n\n- **`payment`** - Stores payment-related data (tokens, method-specific values, transaction IDs)\n- **`shipping`** - Stores shipping-related data (carrier preferences, delivery instructions)\n\n"}, {"proj": "hyva-themes/hyva-docs", "file": ".gitlab-ci.yml", "ref": "main", "q": "private_key", "data": "    - apk add rsync\n    - eval $(ssh-agent -s)\n    - cat \"$SSH_PRIVATE_KEY\" | tr -d '\\r' | ssh-add -\n    - mkdir -p ~/.ssh\n    - chmod 070 ~/.ssh\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-checkout/devdocs/form-customization/entity-form-interfaces.md", "ref": "main", "q": "BEGIN", "data": "`\\Hyva\\Checkout\\Model\\Form\\EntityFormModifierInterface`\n\nThe `EntityFormModifierInterface` is where most Hyvä Checkout form customizations begin. By implementing this interface, you register callbacks that execute at specific points during the form lifecycle - letting you add fields, remove fields, change properties, or rearrange the form structure.\n\nThe modifier pattern is what makes Hyvä Checkou"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-checkout/devdocs/form-customization/entity-form-modifiers.md", "ref": "main", "q": "BEGIN", "data": "# Implementing EntityFormModifierInterface in Hyva Checkout\n\nThe `EntityFormModifierInterface` is the primary extension point for customizing Hyva Checkout address forms. Form modifiers let you add, remove, and manipulate form fields in shipping and billing address forms - all without conflicting with other modules. Whether you need to change field labels, add validation rules, or restructure form"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-checkout/magewire/component-lifecycle.md", "ref": "main", "q": "BEGIN", "data": "## How the Magewire Component Lifecycle Works\n\nA Magewire component's lifecycle begins with the initial page render and continues across multiple requests - from the first page request through any number of Ajax requests triggered by user interaction. The lifecycle ends when the visitor leaves the page.\n\nUnder the hood, PHP instantiates the Magewire component once per request. But because Magewire"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-checkout/upgrading/changelog.md", "ref": "main", "q": "BEGIN", "data": "\n  We've introduced a new method `removeAttributesStartingWith` that is used by all form fields. It allows developers\n  to eliminate all attributes associated with form fields that begin with a specified string.\n  For instance, all Magewire-related attributes can now be removed in a single operation.\n\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-commerce/features/admin-dashboard/managing-widgets.md", "ref": "main", "q": "BEGIN", "data": "## Adding Widgets\n\nThe initial Hyvä Commerce admin dashboard view is a blank canvas that invites you to begin adding widgets:\n\n1. Click the `Add Widget` button. It's available at the bottom of an empty dashboard, and permanently in the top right corner of the page.\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-commerce/features/cms/changelog.md", "ref": "main", "q": "BEGIN", "data": "* Command to patch data for Hyva Liveview version upgrades\n* Improvements to layout rendering\n* Added \"Edit - Hyvä CMS\" option to the beginning of actions column in the CMS Pages and CMS Blocks grids.\n* Image editor event to open/close the image handler sidebar\n* Config option to restrict preview to Hyva themes only. As only Hyva themes are supported in the editor at the moment it is enabled by de"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-commerce/features/cms/features/templates-and-snippets.md", "ref": "main", "q": "BEGIN", "data": "`Stores > Configuration > Hyvä Commerce > Hyvä CMS > Templates > Default Templates`\n\nThis is useful when every new landing page, category description, or CMS block should begin with an approved layout.\n\n## Snippets: Reusable Content Sections\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-enterprise/getting-started/index.md", "ref": "main", "q": "BEGIN", "data": "Hyvä Enterprise for Hyvä Themes provides frontend compatibility for Adobe Commerce enterprise features. Install only the metapackages for the features you need. All packages come from your Hyvä packagist.com license key.\n\n**Before you begin**, make sure you have:\n\n1. Installed and configured [Hyvä Themes](../../hyva-themes/getting-started/index.md)\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-enterprise/index.md", "ref": "main", "q": "BEGIN", "data": "\n<details><summary>More on Adobe Services packages (and Sensei)</summary>\n<p>At the beginning of Hyvä Enterprise, we started out 3 initial sub-groups: Adobe Commerce, B2B and Sensei. These names were also used for the metapackages for each, and in the case of Sensei, this contained both Live Search and Product Recommendations together.</p>\n\n<p>There are 2 separate triggers that caused us to stop u"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/building-your-theme/adobe-commerce-cloud-deployment.md", "ref": "main", "q": "BEGIN", "data": "### The Solution: Use Deny-List .gitignore Pattern\n\nReplace the Adobe Commerce Cloud `.gitignore` file with a \"deny-list\" approach that explicitly lists files and directories to ignore, rather than ignoring everything by default and then selectively un-ignoring paths. Use the [standard Magento 2 .gitignore](https://raw.githubusercontent.com/magento/magento2/refs/heads/2.4-develop/.gitignore) as a "}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/building-your-theme/hyva-settings.md", "ref": "main", "q": "BEGIN", "data": "### Speculation Eagerness\n\nThe **Eagerness** setting controls when the browser begins speculating on links:\n\n- **`Immediate`** - Speculates on all qualifying links as soon as the page loads\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/building-your-theme/styling-emails.md", "ref": "main", "q": "BEGIN", "data": "{{inlinecss file=\"css/email-inline.css\"}}\n\n<!-- Begin wrapper table -->\n<table class=\"wrapper\" width=\"100%\">\n    <tr>\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/compatibility-modules/development-guidelines.md", "ref": "main", "q": "BEGIN", "data": "    For a detailed explanation on how to make an existing module Hyvä-compatible without creating a new compatibility module, please see the [Making Existing Modules Hyvä-Compatible](./getting-started.md#making-existing-modules-hyva-compatible) section in our Getting Started documentation.\n\n## Where to Begin Coding\n\nThis page describes the process of creating a Compatibility Module. It assumes you"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/performance/hyva-performance-tips.md", "ref": "main", "q": "BEGIN", "data": "Third-party scripts such as analytics tags, tracking pixels, and marketing tools block the main thread when loaded on page load, directly hurting LCP and delaying interactivity. In most cases they serve no purpose until a real user is present.\n\nHyvä dispatches an `init-external-scripts` event the first time the visitor makes any interaction. Deferring script loading until this event fires means th"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/upgrading/changelog-default-theme.md", "ref": "main", "q": "BEGIN", "data": "    For more information, please refer to [issue #768](https://gitlab.hyva.io/hyva-themes/magento2-default-theme/-/issues/768).\n\n-   **Align the text on layered navigation toggle buttons to the beginning**\n\n    Previously, for long attribute labels that caused a line wrap, the second line was centered.\n"}, {"proj": "hyva-themes/hyva-docs", "file": "docs/hyva-themes/upgrading/changelog-theme-module.md", "ref": "main", "q": "BEGIN", "data": "    To transition all Hyvä Commerce and Hyvä Projects to a unified icon set,\n    we're now introducing Lucide Icons as an alternative to Heroicons.  \n    New projects will begin using them immediately,\n    and we plan to update the default Hyvä theme with this new icon set in an upcoming release.\n\n"}], "errors": []}