diff --git a/apps/web/i18n.lock b/apps/web/i18n.lock index b3993cca3dca..af7d6c2dff7d 100644 --- a/apps/web/i18n.lock +++ b/apps/web/i18n.lock @@ -198,6 +198,7 @@ checksums: common/failed_to_copy_to_clipboard: de836a7d628d36c832809252f188f784 common/failed_to_load_organizations: 512808a2b674c7c28bca73f8f91fd87e common/failed_to_load_workspaces: 6ee3448097394517dc605074cd4e6ea4 + common/filter: 626325a05e4c8800f7ede7012b0cadaf common/finish: ffa7a10f71182b48fefed7135bee24fa common/first_name: cf040a5d6a9fd696be400380cc99f54b common/follow_these: 3a730b242bb17a3f95e01bf0dae86885 @@ -1372,7 +1373,6 @@ checksums: environments/surveys/edit/follow_ups_modal_updated_successfull_toast: 61204fada3231f4f1fe3866e87e1130a environments/surveys/edit/follow_ups_new: 224c779d252b3e75086e4ed456ba2548 environments/surveys/edit/follow_ups_upgrade_button_text: 4cd167527fc6cdb5b0bfc9b486b142a8 - environments/surveys/edit/form_styling: 1278a2db4257b5500474161133acc857 environments/surveys/edit/formbricks_sdk_is_not_connected: 35165b0cac182a98408007a378cc677e environments/surveys/edit/four_points: b289628a6b8a6cd0f7d17a14ca6cd7bf environments/surveys/edit/heading: 79e9dfa461f38a239d34b9833ca103f1 @@ -1589,6 +1589,7 @@ checksums: environments/surveys/edit/survey_completed_subheading: db537c356c3ab6564d24de0d11a0fee2 environments/surveys/edit/survey_display_settings: 8ed19e6a8e1376f7a1ba037d82c4ae11 environments/surveys/edit/survey_placement: 083c10f257337f9648bf9d435b18ec2c + environments/surveys/edit/survey_styling: 7f96d6563e934e65687b74374a33b1dc environments/surveys/edit/survey_trigger: f0c7014a684ca566698b87074fad5579 environments/surveys/edit/switch_multi_language_on_to_get_started: cca0ef91ee49095da30cd1e3f26c406f environments/surveys/edit/target_block_not_found: 0a0c401017ab32364fec2fcbf815d832 diff --git a/apps/web/locales/de-DE.json b/apps/web/locales/de-DE.json index 624e40ad146a..4323bb39bea1 100644 --- a/apps/web/locales/de-DE.json +++ b/apps/web/locales/de-DE.json @@ -1444,7 +1444,6 @@ "follow_ups_modal_updated_successfull_toast": "Nachverfolgung aktualisiert und wird gespeichert, sobald du die Umfrage speicherst.", "follow_ups_new": "Neues Follow-up", "follow_ups_upgrade_button_text": "Upgrade, um Follow-ups zu aktivieren", - "form_styling": "Umfrage Styling", "formbricks_sdk_is_not_connected": "Formbricks SDK ist nicht verbunden", "four_points": "4 Punkte", "heading": "Überschrift", @@ -1663,6 +1662,7 @@ "survey_completed_subheading": "Diese kostenlose und quelloffene Umfrage wurde geschlossen", "survey_display_settings": "Einstellungen zur Anzeige der Umfrage", "survey_placement": "Platzierung der Umfrage", + "survey_styling": "Umfrage Styling", "survey_trigger": "Auslöser der Umfrage", "switch_multi_language_on_to_get_started": "Aktiviere Mehrsprachigkeit, um loszulegen 👉", "target_block_not_found": "Zielblock nicht gefunden", diff --git a/apps/web/locales/en-US.json b/apps/web/locales/en-US.json index ed251b68eef0..6baef7bf4813 100644 --- a/apps/web/locales/en-US.json +++ b/apps/web/locales/en-US.json @@ -1444,7 +1444,6 @@ "follow_ups_modal_updated_successfull_toast": "Follow-up updated and will be saved once you save the survey.", "follow_ups_new": "New follow-up", "follow_ups_upgrade_button_text": "Upgrade to enable follow-ups", - "form_styling": "Form styling", "formbricks_sdk_is_not_connected": "Formbricks SDK is not connected", "four_points": "4 points", "heading": "Heading", @@ -1663,6 +1662,7 @@ "survey_completed_subheading": "This free & open-source survey has been closed", "survey_display_settings": "Survey Display Settings", "survey_placement": "Survey Placement", + "survey_styling": "Survey styling", "survey_trigger": "Survey Trigger", "switch_multi_language_on_to_get_started": "Switch multi-language on to get started 👉", "target_block_not_found": "Target block not found", diff --git a/apps/web/locales/es-ES.json b/apps/web/locales/es-ES.json index ca7c7e805c55..586a54d65be9 100644 --- a/apps/web/locales/es-ES.json +++ b/apps/web/locales/es-ES.json @@ -1444,7 +1444,6 @@ "follow_ups_modal_updated_successfull_toast": "Seguimiento actualizado y se guardará cuando guardes la encuesta.", "follow_ups_new": "Nuevo seguimiento", "follow_ups_upgrade_button_text": "Actualiza para habilitar seguimientos", - "form_styling": "Estilo del formulario", "formbricks_sdk_is_not_connected": "El SDK de Formbricks no está conectado", "four_points": "4 puntos", "heading": "Encabezado", @@ -1663,6 +1662,7 @@ "survey_completed_subheading": "Esta encuesta gratuita y de código abierto ha sido cerrada", "survey_display_settings": "Ajustes de visualización de la encuesta", "survey_placement": "Ubicación de la encuesta", + "survey_styling": "Estilo del formulario", "survey_trigger": "Activador de la encuesta", "switch_multi_language_on_to_get_started": "Activa el modo multiidioma para comenzar 👉", "target_block_not_found": "Bloque objetivo no encontrado", diff --git a/apps/web/locales/fr-FR.json b/apps/web/locales/fr-FR.json index 54d58f7b87d1..53d292340011 100644 --- a/apps/web/locales/fr-FR.json +++ b/apps/web/locales/fr-FR.json @@ -112,7 +112,6 @@ "link_expired_description": "Le lien que vous avez utilisé n'est plus valide." }, "common": { - "Filter": "Filtrer", "accepted": "Accepté", "account": "Compte", "account_settings": "Paramètres du compte", @@ -1445,7 +1444,6 @@ "follow_ups_modal_updated_successfull_toast": "\"Suivi mis à jour et sera enregistré une fois que vous sauvegarderez le sondage.\"", "follow_ups_new": "Nouveau suivi", "follow_ups_upgrade_button_text": "Passez à la version supérieure pour activer les relances", - "form_styling": "Style de formulaire", "formbricks_sdk_is_not_connected": "Le SDK Formbricks n'est pas connecté", "four_points": "4 points", "heading": "En-tête", @@ -1664,6 +1662,7 @@ "survey_completed_subheading": "Cette enquête gratuite et open-source a été fermée", "survey_display_settings": "Paramètres d'affichage de l'enquête", "survey_placement": "Placement de l'enquête", + "survey_styling": "Style de formulaire", "survey_trigger": "Déclencheur d'enquête", "switch_multi_language_on_to_get_started": "Activez le mode multilingue pour commencer 👉", "target_block_not_found": "Bloc cible non trouvé", diff --git a/apps/web/locales/hu-HU.json b/apps/web/locales/hu-HU.json index 7a8d5773cb6d..b50a19f97040 100644 --- a/apps/web/locales/hu-HU.json +++ b/apps/web/locales/hu-HU.json @@ -1444,7 +1444,6 @@ "follow_ups_modal_updated_successfull_toast": "A követés frissítve, és akkor lesz elmentve, ha elmenti a kérdőívet.", "follow_ups_new": "Új követés", "follow_ups_upgrade_button_text": "Magasabb csomagra váltás a követések engedélyezéséhez", - "form_styling": "Űrlap stílusának beállítása", "formbricks_sdk_is_not_connected": "A Formbricks SDK nincs csatlakoztatva", "four_points": "4 pont", "heading": "Címsor", @@ -1663,6 +1662,7 @@ "survey_completed_subheading": "Ez a szabad és nyílt forráskódú kérdőív le lett zárva", "survey_display_settings": "Kérdőív megjelenítésének beállításai", "survey_placement": "Kérdőív elhelyezése", + "survey_styling": "Űrlap stílusának beállítása", "survey_trigger": "Kérdőív aktiválója", "switch_multi_language_on_to_get_started": "Kapcsolja be a többnyelvűséget a kezdéshez 👉", "target_block_not_found": "A célblokk nem található", diff --git a/apps/web/locales/ja-JP.json b/apps/web/locales/ja-JP.json index 1bd7a2ddce73..399ef2d2dbaf 100644 --- a/apps/web/locales/ja-JP.json +++ b/apps/web/locales/ja-JP.json @@ -1444,7 +1444,6 @@ "follow_ups_modal_updated_successfull_toast": "フォローアップ が 更新され、 アンケートを 保存すると保存されます。", "follow_ups_new": "新しいフォローアップ", "follow_ups_upgrade_button_text": "フォローアップを有効にするためにアップグレード", - "form_styling": "フォームのスタイル", "formbricks_sdk_is_not_connected": "Formbricks SDKが接続されていません", "four_points": "4点", "heading": "見出し", @@ -1663,6 +1662,7 @@ "survey_completed_subheading": "この無料のオープンソースフォームは閉鎖されました", "survey_display_settings": "フォーム表示設定", "survey_placement": "フォームの配置", + "survey_styling": "フォームのスタイル", "survey_trigger": "フォームのトリガー", "switch_multi_language_on_to_get_started": "多言語機能をオンにして開始 👉", "target_block_not_found": "対象ブロックが見つかりません", diff --git a/apps/web/locales/nl-NL.json b/apps/web/locales/nl-NL.json index 1dbe9974d3a3..2f52a72f3eff 100644 --- a/apps/web/locales/nl-NL.json +++ b/apps/web/locales/nl-NL.json @@ -1444,7 +1444,6 @@ "follow_ups_modal_updated_successfull_toast": "Follow-up bijgewerkt en wordt opgeslagen zodra u de enquête opslaat.", "follow_ups_new": "Nieuw vervolg", "follow_ups_upgrade_button_text": "Upgrade om follow-ups mogelijk te maken", - "form_styling": "Vorm styling", "formbricks_sdk_is_not_connected": "Formbricks SDK is niet verbonden", "four_points": "4 punten", "heading": "Rubriek", @@ -1663,6 +1662,7 @@ "survey_completed_subheading": "Deze gratis en open source-enquête is gesloten", "survey_display_settings": "Enquêteweergave-instellingen", "survey_placement": "Enquête plaatsing", + "survey_styling": "Vorm styling", "survey_trigger": "Enquêtetrigger", "switch_multi_language_on_to_get_started": "Schakel meertaligheid in om te beginnen 👉", "target_block_not_found": "Doelblok niet gevonden", diff --git a/apps/web/locales/pt-BR.json b/apps/web/locales/pt-BR.json index 3ebcdffd9dc6..0b66af86312b 100644 --- a/apps/web/locales/pt-BR.json +++ b/apps/web/locales/pt-BR.json @@ -1444,7 +1444,6 @@ "follow_ups_modal_updated_successfull_toast": "Acompanhamento atualizado e será salvo assim que você salvar a pesquisa.", "follow_ups_new": "Novo acompanhamento", "follow_ups_upgrade_button_text": "Atualize para habilitar os Acompanhamentos", - "form_styling": "Estilização de Formulários", "formbricks_sdk_is_not_connected": "O SDK do Formbricks não está conectado", "four_points": "4 pontos", "heading": "Título", @@ -1663,6 +1662,7 @@ "survey_completed_subheading": "Essa pesquisa gratuita e de código aberto foi encerrada", "survey_display_settings": "Configurações de Exibição da Pesquisa", "survey_placement": "Posicionamento da Pesquisa", + "survey_styling": "Estilização de Formulários", "survey_trigger": "Gatilho de Pesquisa", "switch_multi_language_on_to_get_started": "Ative o modo multilíngue para começar 👉", "target_block_not_found": "Bloco de destino não encontrado", diff --git a/apps/web/locales/pt-PT.json b/apps/web/locales/pt-PT.json index e01b303e8e8c..dae084599491 100644 --- a/apps/web/locales/pt-PT.json +++ b/apps/web/locales/pt-PT.json @@ -1444,7 +1444,6 @@ "follow_ups_modal_updated_successfull_toast": "Seguimento atualizado e será guardado assim que guardar o questionário.", "follow_ups_new": "Novo acompanhamento", "follow_ups_upgrade_button_text": "Atualize para ativar os acompanhamentos", - "form_styling": "Estilo do formulário", "formbricks_sdk_is_not_connected": "O SDK do Formbricks não está conectado", "four_points": "4 pontos", "heading": "Cabeçalho", @@ -1663,6 +1662,7 @@ "survey_completed_subheading": "Este inquérito gratuito e de código aberto foi encerrado", "survey_display_settings": "Configurações de Exibição do Inquérito", "survey_placement": "Colocação do Inquérito", + "survey_styling": "Estilo do formulário", "survey_trigger": "Desencadeador de Inquérito", "switch_multi_language_on_to_get_started": "Ative o modo multilingue para começar 👉", "target_block_not_found": "Bloco de destino não encontrado", diff --git a/apps/web/locales/ro-RO.json b/apps/web/locales/ro-RO.json index c2cf7bd82e59..1a7f33ede63c 100644 --- a/apps/web/locales/ro-RO.json +++ b/apps/web/locales/ro-RO.json @@ -1444,7 +1444,6 @@ "follow_ups_modal_updated_successfull_toast": "Urmărirea a fost actualizată și va fi salvată odată ce salvați sondajul.", "follow_ups_new": "Follow-up nou", "follow_ups_upgrade_button_text": "Actualizați pentru a activa urmărările", - "form_styling": "Stilizare formular", "formbricks_sdk_is_not_connected": "SDK Formbricks nu este conectat", "four_points": "4 puncte", "heading": "Titlu", @@ -1663,6 +1662,7 @@ "survey_completed_subheading": "Acest sondaj gratuit și open-source a fost închis", "survey_display_settings": "Setări de afișare a sondajului", "survey_placement": "Amplasarea sondajului", + "survey_styling": "Stilizare formular", "survey_trigger": "Declanșator sondaj", "switch_multi_language_on_to_get_started": "Activați opțiunea multi-limbă pentru a începe 👉", "target_block_not_found": "Blocul țintă nu a fost găsit", diff --git a/apps/web/locales/ru-RU.json b/apps/web/locales/ru-RU.json index 08d1f7382b78..6bebc8253f33 100644 --- a/apps/web/locales/ru-RU.json +++ b/apps/web/locales/ru-RU.json @@ -112,7 +112,6 @@ "link_expired_description": "Ссылка, которой вы воспользовались, больше не действительна." }, "common": { - "Filter": "Фильтр", "accepted": "Принято", "account": "Аккаунт", "account_settings": "Настройки аккаунта", @@ -1445,7 +1444,6 @@ "follow_ups_modal_updated_successfull_toast": "Фоллоу-ап обновлён и будет сохранён после сохранения опроса.", "follow_ups_new": "Новый фоллоу-ап", "follow_ups_upgrade_button_text": "Обновите тариф для активации фоллоу-апов", - "form_styling": "Оформление формы", "formbricks_sdk_is_not_connected": "Formbricks SDK не подключён", "four_points": "4 балла", "heading": "Заголовок", @@ -1664,6 +1662,7 @@ "survey_completed_subheading": "Этот бесплатный и открытый опрос был закрыт", "survey_display_settings": "Настройки отображения опроса", "survey_placement": "Размещение опроса", + "survey_styling": "Оформление формы", "survey_trigger": "Триггер опроса", "switch_multi_language_on_to_get_started": "Включите многоязычный режим, чтобы начать 👉", "target_block_not_found": "Целевой блок не найден", diff --git a/apps/web/locales/sv-SE.json b/apps/web/locales/sv-SE.json index fc4a12d22a9e..45b53bcbecac 100644 --- a/apps/web/locales/sv-SE.json +++ b/apps/web/locales/sv-SE.json @@ -1444,7 +1444,6 @@ "follow_ups_modal_updated_successfull_toast": "Uppföljning uppdaterad och sparas när du sparar enkäten.", "follow_ups_new": "Ny uppföljning", "follow_ups_upgrade_button_text": "Uppgradera för att aktivera uppföljningar", - "form_styling": "Formulärstil", "formbricks_sdk_is_not_connected": "Formbricks SDK är inte anslutet", "four_points": "4 poäng", "heading": "Rubrik", @@ -1663,6 +1662,7 @@ "survey_completed_subheading": "Denna gratis och öppenkällkodsenkät har stängts", "survey_display_settings": "Visningsinställningar för enkät", "survey_placement": "Enkätplacering", + "survey_styling": "Formulärstil", "survey_trigger": "Enkätutlösare", "switch_multi_language_on_to_get_started": "Slå på flerspråkighet för att komma igång 👉", "target_block_not_found": "Målblock hittades inte", diff --git a/apps/web/locales/zh-Hans-CN.json b/apps/web/locales/zh-Hans-CN.json index ca6dcaa2903e..ceb85de06d2e 100644 --- a/apps/web/locales/zh-Hans-CN.json +++ b/apps/web/locales/zh-Hans-CN.json @@ -1444,7 +1444,6 @@ "follow_ups_modal_updated_successfull_toast": "后续 操作 已 更新, 并且 在 你 保存 调查 后 将 被 保存。", "follow_ups_new": "新的跟进", "follow_ups_upgrade_button_text": "升级 以启用 跟进", - "form_styling": "表单 样式", "formbricks_sdk_is_not_connected": "Formbricks SDK 未连接", "four_points": "4 分", "heading": "标题", @@ -1663,6 +1662,7 @@ "survey_completed_subheading": "此 免费 & 开源 调查 已 关闭", "survey_display_settings": "调查显示设置", "survey_placement": "调查 放置", + "survey_styling": "表单 样式", "survey_trigger": "调查 触发", "switch_multi_language_on_to_get_started": "开启多语言以开始使用 👉", "target_block_not_found": "未找到目标区块", diff --git a/apps/web/locales/zh-Hant-TW.json b/apps/web/locales/zh-Hant-TW.json index c8d999018c1e..2ae5c31861ed 100644 --- a/apps/web/locales/zh-Hant-TW.json +++ b/apps/web/locales/zh-Hant-TW.json @@ -1444,7 +1444,6 @@ "follow_ups_modal_updated_successfull_toast": "後續 動作 已 更新 並 將 在 你 儲存 調查 後 儲存", "follow_ups_new": "新增後續追蹤", "follow_ups_upgrade_button_text": "升級以啟用後續追蹤", - "form_styling": "表單樣式設定", "formbricks_sdk_is_not_connected": "Formbricks SDK 未連線", "four_points": "4 分", "heading": "標題", @@ -1663,6 +1662,7 @@ "survey_completed_subheading": "此免費且開源的問卷已關閉", "survey_display_settings": "問卷顯示設定", "survey_placement": "問卷位置", + "survey_styling": "表單樣式設定", "survey_trigger": "問卷觸發器", "switch_multi_language_on_to_get_started": "請開啟多語言功能以開始使用 👉", "target_block_not_found": "找不到目標區塊", diff --git a/apps/web/modules/projects/settings/look/loading.tsx b/apps/web/modules/projects/settings/look/loading.tsx index f164b06d8685..795f29432db3 100644 --- a/apps/web/modules/projects/settings/look/loading.tsx +++ b/apps/web/modules/projects/settings/look/loading.tsx @@ -52,7 +52,7 @@ export const ProjectLookSettingsLoading = () => {

- {t("environments.surveys.edit.form_styling")} + {t("environments.surveys.edit.survey_styling")}

{t("environments.surveys.edit.style_the_question_texts_descriptions_and_input_fields")} @@ -149,7 +149,7 @@ export const ProjectLookSettingsLoading = () => {

- @@ -159,7 +159,7 @@ export const ProjectLookSettingsLoading = () => { title="Formbricks Signature" description="We love your support but understand if you toggle it off.">
-
+
diff --git a/apps/web/modules/survey/editor/components/form-styling-settings.tsx b/apps/web/modules/survey/editor/components/form-styling-settings.tsx index 7e4577d10142..2f9129018952 100644 --- a/apps/web/modules/survey/editor/components/form-styling-settings.tsx +++ b/apps/web/modules/survey/editor/components/form-styling-settings.tsx @@ -67,7 +67,7 @@ export const FormStylingSettings = ({

- {t("environments.surveys.edit.form_styling")} + {t("environments.surveys.edit.survey_styling")}

{t("environments.surveys.edit.style_the_question_texts_descriptions_and_input_fields")} diff --git a/apps/web/playwright/survey-styling.spec.ts b/apps/web/playwright/survey-styling.spec.ts index 1d0c42217151..74603a6a7475 100644 --- a/apps/web/playwright/survey-styling.spec.ts +++ b/apps/web/playwright/survey-styling.spec.ts @@ -50,8 +50,8 @@ test.describe("Survey Styling", async () => { await addCustomStyles.click(); } - // --- Form styling --- - await openAccordion(page, "Form styling"); + // --- Survey styling --- + await openAccordion(page, "Survey styling"); // 1. Headlines & Descriptions await openAccordion(page, "Headlines & Descriptions"); @@ -182,7 +182,7 @@ test.describe("Survey Styling", async () => { } // Set some non-color properties BEFORE suggesting colors, so we can verify they aren't overwritten - await openAccordion(page, "Form styling"); + await openAccordion(page, "Survey styling"); await openAccordion(page, "Inputs"); await setDimension(page, "Border Radius", "12"); await setDimension(page, "Padding Y", "20"); @@ -341,7 +341,7 @@ test.describe("Survey Styling", async () => { } // Apply Overrides - await openAccordion(page, "Form styling"); + await openAccordion(page, "Survey styling"); await openAccordion(page, "Headlines & Descriptions"); // Override Headline Color (Blue) diff --git a/docs/images/xm-and-surveys/core-features/styling-theme/form-css-styling.webp b/docs/images/xm-and-surveys/core-features/styling-theme/form-css-styling.webp new file mode 100644 index 000000000000..8a1bec036a46 Binary files /dev/null and b/docs/images/xm-and-surveys/core-features/styling-theme/form-css-styling.webp differ diff --git a/docs/xm-and-surveys/core-features/styling-theme.mdx b/docs/xm-and-surveys/core-features/styling-theme.mdx index 3df460223fa3..77ef83e9ab85 100644 --- a/docs/xm-and-surveys/core-features/styling-theme.mdx +++ b/docs/xm-and-surveys/core-features/styling-theme.mdx @@ -1,6 +1,6 @@ --- title: "Styling Theme" -description: "Keep the survey styling consistent over all surveys with a Styling Theme. Customize the colors, fonts, and other styling options to match your brand's aesthetic." +description: "Keep the survey styling consistent over all surveys with a Styling Theme. Customize colors, fonts, buttons, inputs, and more to match your brand." icon: "palette" --- @@ -10,48 +10,114 @@ icon: "palette" uploads](/self-hosting/configuration/file-uploads) before using these features. -Keep the survey styling consistent over all surveys with a Styling Theme. Customize the colors, fonts, and other styling options to match your brand's aesthetic. +Keep the survey styling consistent over all surveys with a Styling Theme. Customize colors, fonts, buttons, inputs, and other styling options to match your brand's aesthetic. ## Configuration In the left side bar, you find the `Configuration` page. On this page you find the `Look & Feel` section: -![Look & Feel](/images/xm-and-surveys/core-features/styling-theme/look-and-feel.webp) -/> +![Look & Feel](/images/xm-and-surveys/core-features/styling-theme/form-css-styling.webp) -## **Styling Options** +## Survey styling -1. **Form Styling:** Customize the survey card using the following settings +The Survey styling section gives you granular control over every text and input element in your survey. Expand the **Survey styling** panel to find collapsible sub-sections for Headlines & Descriptions, Inputs, Buttons, and Options. -![Form styling options UI](/images/xm-and-surveys/core-features/styling-theme/form-settings.webp) +### Headlines & Descriptions -- **Brand Color**: Sets the primary color tone of the survey. -- **Text Color**: This is a single color scheme that will be used across to display all the text on your survey. Ensures all text is readable against the background. -- **Input Color:** Alters the border color of input fields. -- **Input Border Color**: This is the color of the border of the form input field. +Fine-tune how question headlines, descriptions, and upper labels appear: -2. **Card Styling:** Adjust the look of the survey card +| Property | Description | +|---|---| +| **Headline Color** | Color of the question headline text | +| **Description Color** | Color of the question description text | +| **Headline Font Size** | Font size for headlines (in `px` or any CSS unit) | +| **Description Font Size** | Font size for descriptions | +| **Headline Font Weight** | Numeric font weight for headlines (e.g. `400`, `600`, `700`) | +| **Description Font Weight** | Numeric font weight for descriptions | +| **Upper Label Color** | Color of the small labels above input fields | +| **Upper Label Font Size** | Font size for upper labels | +| **Upper Label Font Weight** | Numeric font weight for upper labels | -![Card styling options UI](/images/xm-and-surveys/core-features/styling-theme/card-settings.webp) +### Inputs -- **Roundness**: Adjusts the corner roundness of the survey card and its components (including input boxes, buttons). -- **Card Background Color**: Sets the card's main background color. -- **Card Border Color**: Changes the border color of the card +Control the appearance of text inputs, textareas, and other form fields: -- **Hide Progress Bar**: Optionally remove the progress bar to simplify the survey experience -- **Add Highlight Border**: Adds a distinct border for emphasis. +| Property | Description | +|---|---| +| **Input Color** | Background color of input fields | +| **Input Border Color** | Border color of input fields | +| **Input Text Color** | Color of text typed into inputs | +| **Border Radius** | Corner roundness of input fields (in `px` or any CSS unit) | +| **Height** | Height of input fields | +| **Font Size** | Font size of text inside inputs | +| **Padding X** | Horizontal padding inside inputs | +| **Padding Y** | Vertical padding inside inputs | +| **Placeholder Opacity** | Opacity of placeholder text (`0` to `1`) | +| **Shadow** | CSS box-shadow value for inputs (e.g. `0 1px 2px rgba(0,0,0,0.1)`) | -3. **Background Styling**: Customize the survey background with static colors, animations, or images (upload your own or get from Unsplash) +### Buttons -This is only available for Link Surveys +Customize the submit and navigation buttons: -![Background styling options UI](/images/xm-and-surveys/core-features/styling-theme/background-settings.webp) +| Property | Description | +|---|---| +| **Button Background** | Background color of buttons | +| **Button Text** | Text color of buttons | +| **Border Radius** | Corner roundness of buttons | +| **Height** | Height of buttons | +| **Font Size** | Font size of button text | +| **Font Weight** | Numeric font weight for button text | +| **Padding X** | Horizontal padding inside buttons | +| **Padding Y** | Vertical padding inside buttons | -- **Color**: Pick any color for the background -- **Animation**: Add dynamic animations to enhance user experience.. -- **Upload**: Use a custom uploaded image for a personalized touch. Images must be 5 MB or less. -- Image: Choose from Unsplash's extensive gallery. Note that these images will have a link and mention of the author & Unsplash on the bottom right to give them the credit for their awesome work! -- **Background Overlay**: Adjust the background's opacity +### Options + +Style the select options in single-select, multi-select, and similar question types: + +| Property | Description | +|---|---| +| **Option Background** | Background color of option items | +| **Option Label Color** | Text color of option labels | +| **Border Radius** | Corner roundness of option items | +| **Padding X** | Horizontal padding inside options | +| **Padding Y** | Vertical padding inside options | +| **Font Size** | Font size of option text | + +## Card Styling + +Adjust the look of the survey card container: + +| Property | Description | +|---|---| +| **Roundness** | Corner roundness of the survey card (in `px` or any CSS unit) | +| **Card Background Color** | Background color of the survey card | +| **Card Border Color** | Border color of the survey card | +| **Add Highlight Border** | Adds a distinct colored border for emphasis (app surveys only) | +| **Card Arrangement** | Layout mode for stacking cards: **Simple**, **Straight**, or **Casual** | + +### Progress Bar + +When the progress bar is visible (toggle **Hide Progress Bar** to control it), you can customize: + +| Property | Description | +|---|---| +| **Track Background** | Background color of the progress track | +| **Indicator Background** | Fill color of the progress indicator | +| **Track Height** | Height of the progress bar track | + +## Background Styling + +Customize the survey background with static colors, animations, or images (upload your own or pick from Unsplash). + +Background styling is only available for Link Surveys. + +| Property | Description | +|---|---| +| **Color** | Pick any color for the background | +| **Animation** | Add dynamic animations to enhance user experience | +| **Upload** | Use a custom uploaded image (5 MB max) | +| **Image** | Choose from Unsplash's gallery (attribution shown automatically) | +| **Background Overlay** | Adjust the background's opacity / brightness | ## Add Brand Logo @@ -59,30 +125,44 @@ Customize your survey with your brand's logo. Brand logos are only visible on Link Survey pages. -1. In the Look & Feel page itself in Project settings, scroll down to see the Logo Upload box. + + + In the **Look & Feel** page in Project settings, scroll down to the **Logo Upload** box. -![Choose a link survey template](/images/xm-and-surveys/core-features/styling-theme/step-four.webp) + ![Logo upload box](/images/xm-and-surveys/core-features/styling-theme/step-four.webp) + -2. Upload your logo. Logos must be 5 MB or less. + + Upload your logo. Logos must be 5 MB or less. -![Choose a link survey template](/images/xm-and-surveys/core-features/styling-theme/step-five.webp) + ![Upload logo](/images/xm-and-surveys/core-features/styling-theme/step-five.webp) + -3. Add a background color: If you’ve uploaded a transparent image and want to add background to it, enable this toggle and select the color of your choice. + + If you've uploaded a transparent image and want to add a background to it, enable the toggle and select a color. -![Choose a link survey template](/images/xm-and-surveys/core-features/styling-theme/step-six.webp) + ![Logo background color](/images/xm-and-surveys/core-features/styling-theme/step-six.webp) + -4. Remember to save your changes! + + Remember to save your changes! -![Choose a link survey template](/images/xm-and-surveys/core-features/styling-theme/step-seven.webp) + ![Save changes](/images/xm-and-surveys/core-features/styling-theme/step-seven.webp) + + -The logo settings apply across all Link Surveys pages. +The logo settings apply across all Link Survey pages. ## Overwrite Styling Theme -You can allow to overwrite the styling theme for individual surveys to create unique styles for each survey: +You can allow overwriting the styling theme for individual surveys to create unique styles per survey: -![Choose a link survey template](/images/xm-and-surveys/core-features/styling-theme/allow-overwrite.webp) +![Allow overwrite toggle](/images/xm-and-surveys/core-features/styling-theme/allow-overwrite.webp) -In the survey editor, a tab called `Styling` will appear. Here you can overwrite the default styling theme. +In the survey editor, a **Styling** tab will appear where you can overwrite the default styling theme. See the [Custom Styling](/xm-and-surveys/surveys/general-features/overwrite-styling) guide for details. ---- +## CSS Variables Reference + +Under the hood, every styling property maps to a CSS variable prefixed with `--fb-`. For App & Website Surveys, you can override these directly in your global CSS file (e.g., `globals.css`) by targeting the `#fbjs` selector. + +See the full [CSS Variables Reference](/xm-and-surveys/surveys/general-features/overwrite-styling#overwrite-css-styles-for-app--website-surveys) in the Custom Styling guide. diff --git a/docs/xm-and-surveys/surveys/general-features/overwrite-styling.mdx b/docs/xm-and-surveys/surveys/general-features/overwrite-styling.mdx index 331766395c4d..f255e828bdc4 100644 --- a/docs/xm-and-surveys/surveys/general-features/overwrite-styling.mdx +++ b/docs/xm-and-surveys/surveys/general-features/overwrite-styling.mdx @@ -76,12 +76,4 @@ Windows XP Who's a Good Boy? "Things you've likely said to your dog." -![Dog-themed survey example](/images/xm-and-surveys/surveys/general-features/overwrite-styling/doggo.webp) - -### Fixes & Improvements: -- **Numbered list formatting**: Fixed numbering issues. -- **Consistent image alt text**: Updated descriptions for clarity. -- **CSS syntax correction**: Removed unnecessary text before code block. -- **Grammar & punctuation fixes**: Ensured clarity and smooth readability. - -This should now display correctly on Mintlify! Let me know if you need further tweaks. \ No newline at end of file +![Dog-themed survey example](/images/xm-and-surveys/surveys/general-features/overwrite-styling/doggo.webp) \ No newline at end of file diff --git a/packages/email/package.json b/packages/email/package.json index 44785b94de07..7abb12e74f97 100644 --- a/packages/email/package.json +++ b/packages/email/package.json @@ -20,7 +20,7 @@ "@formbricks/config-typescript": "workspace:*", "@formbricks/eslint-config": "workspace:*", "@formbricks/types": "workspace:*", - "@react-email/preview-server": "5.2.5", + "@react-email/preview-server": "5.2.8", "autoprefixer": "10.4.21", "clsx": "2.1.1", "postcss": "8.5.3", diff --git a/packages/surveys/src/styles/global.css b/packages/surveys/src/styles/global.css index eb24ef413de5..985279f5ecf1 100644 --- a/packages/surveys/src/styles/global.css +++ b/packages/surveys/src/styles/global.css @@ -57,6 +57,36 @@ color: var(--fb-subheading-color) !important; } +/* + * Restore list styling for rich text (questions/descriptions). + * Preflight resets ul/ol with list-style:none; these overrides restore bullets/numbers. + */ +#fbjs .htmlbody ul, +#fbjs .htmlbody ol, +#fbjs [data-variant="headline"] ul, +#fbjs [data-variant="headline"] ol, +#fbjs [data-variant="description"] ul, +#fbjs [data-variant="description"] ol { + list-style-position: outside; + margin: 0.5em 0; + padding-left: 1.5em; +} +#fbjs .htmlbody ul, +#fbjs [data-variant="headline"] ul, +#fbjs [data-variant="description"] ul { + list-style-type: disc; +} +#fbjs .htmlbody ol, +#fbjs [data-variant="headline"] ol, +#fbjs [data-variant="description"] ol { + list-style-type: decimal; +} +#fbjs .htmlbody li, +#fbjs [data-variant="headline"] li, +#fbjs [data-variant="description"] li { + margin: 0.25em 0; +} + /* without this, it wont override the color */ #fbjs p.editor-paragraph { overflow-wrap: break-word; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 45552b054671..452451d84191 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -28,7 +28,7 @@ importers: dependencies: next: specifier: 16.1.6 - version: 16.1.6(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 16.1.6(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: specifier: 19.2.3 version: 19.2.3 @@ -294,7 +294,7 @@ importers: version: 1.2.6(@types/react-dom@19.2.1(@types/react@19.2.1))(@types/react@19.2.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@sentry/nextjs': specifier: 10.5.0 - version: 10.5.0(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@16.1.6(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(webpack@5.99.8(esbuild@0.25.12)) + version: 10.5.0(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@16.1.6(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(webpack@5.99.8(esbuild@0.25.12)) '@t3-oss/env-nextjs': specifier: 0.13.4 version: 0.13.4(arktype@2.1.29)(typescript@5.8.3)(zod@3.25.76) @@ -384,13 +384,13 @@ importers: version: 3.0.1 next: specifier: 16.1.6 - version: 16.1.6(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 16.1.6(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) next-auth: specifier: 4.24.12 - version: 4.24.12(patch_hash=7ac5717a8d7d2049442182b5d83ab492d33fe774ff51ff5ea3884628b77df87b)(next@16.1.6(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(nodemailer@7.0.11)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 4.24.12(patch_hash=7ac5717a8d7d2049442182b5d83ab492d33fe774ff51ff5ea3884628b77df87b)(next@16.1.6(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(nodemailer@7.0.11)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) next-safe-action: specifier: 7.10.8 - version: 7.10.8(next@16.1.6(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76) + version: 7.10.8(next@16.1.6(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76) node-fetch: specifier: 3.3.2 version: 3.3.2 @@ -744,8 +744,8 @@ importers: specifier: workspace:* version: link:../types '@react-email/preview-server': - specifier: 5.2.5 - version: 5.2.5(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + specifier: 5.2.8 + version: 5.2.8(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) autoprefixer: specifier: 10.4.21 version: 10.4.21(postcss@8.5.3) @@ -1827,6 +1827,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.25.10': + resolution: {integrity: sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/aix-ppc64@0.25.12': resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} engines: {node: '>=18'} @@ -1845,6 +1851,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.25.10': + resolution: {integrity: sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.25.12': resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} engines: {node: '>=18'} @@ -1863,6 +1875,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.25.10': + resolution: {integrity: sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.25.12': resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} engines: {node: '>=18'} @@ -1881,6 +1899,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.25.10': + resolution: {integrity: sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.25.12': resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} engines: {node: '>=18'} @@ -1899,6 +1923,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.25.10': + resolution: {integrity: sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.25.12': resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} engines: {node: '>=18'} @@ -1917,6 +1947,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.25.10': + resolution: {integrity: sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.25.12': resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} engines: {node: '>=18'} @@ -1935,6 +1971,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.25.10': + resolution: {integrity: sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.25.12': resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} engines: {node: '>=18'} @@ -1953,6 +1995,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.10': + resolution: {integrity: sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.25.12': resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} engines: {node: '>=18'} @@ -1971,6 +2019,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.25.10': + resolution: {integrity: sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.25.12': resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} engines: {node: '>=18'} @@ -1989,6 +2043,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.25.10': + resolution: {integrity: sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.25.12': resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} engines: {node: '>=18'} @@ -2007,6 +2067,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.25.10': + resolution: {integrity: sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.25.12': resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} engines: {node: '>=18'} @@ -2025,6 +2091,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.25.10': + resolution: {integrity: sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.25.12': resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} engines: {node: '>=18'} @@ -2043,6 +2115,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.25.10': + resolution: {integrity: sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.25.12': resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} engines: {node: '>=18'} @@ -2061,6 +2139,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.25.10': + resolution: {integrity: sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.25.12': resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} engines: {node: '>=18'} @@ -2079,6 +2163,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.25.10': + resolution: {integrity: sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.25.12': resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} engines: {node: '>=18'} @@ -2097,6 +2187,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.25.10': + resolution: {integrity: sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.25.12': resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} engines: {node: '>=18'} @@ -2115,6 +2211,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.25.10': + resolution: {integrity: sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.25.12': resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} engines: {node: '>=18'} @@ -2127,6 +2229,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/netbsd-arm64@0.25.10': + resolution: {integrity: sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-arm64@0.25.12': resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} engines: {node: '>=18'} @@ -2145,6 +2253,12 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.10': + resolution: {integrity: sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.25.12': resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} engines: {node: '>=18'} @@ -2163,6 +2277,12 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.25.10': + resolution: {integrity: sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-arm64@0.25.12': resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} engines: {node: '>=18'} @@ -2181,6 +2301,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.10': + resolution: {integrity: sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.25.12': resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} engines: {node: '>=18'} @@ -2193,6 +2319,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openharmony-arm64@0.25.10': + resolution: {integrity: sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/openharmony-arm64@0.25.12': resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} engines: {node: '>=18'} @@ -2211,6 +2343,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.25.10': + resolution: {integrity: sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.25.12': resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} engines: {node: '>=18'} @@ -2229,6 +2367,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.25.10': + resolution: {integrity: sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.25.12': resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} engines: {node: '>=18'} @@ -2247,6 +2391,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.25.10': + resolution: {integrity: sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.25.12': resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} engines: {node: '>=18'} @@ -2265,6 +2415,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.25.10': + resolution: {integrity: sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.25.12': resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} engines: {node: '>=18'} @@ -2845,46 +3001,24 @@ packages: '@neoconfetti/react@1.0.0': resolution: {integrity: sha512-klcSooChXXOzIm+SE5IISIAn3bYzYfPjbX7D7HoqZL84oAfgREeSg5vSIaSFH+DaGzzvImTyWe1OyrJ67vik4A==} - '@next/env@16.0.10': - resolution: {integrity: sha512-8tuaQkyDVgeONQ1MeT9Mkk8pQmZapMKFh5B+OrFUlG3rVmYTXcXlBetBgTurKXGaIZvkoqRT9JL5K3phXcgang==} - '@next/env@16.1.6': resolution: {integrity: sha512-N1ySLuZjnAtN3kFnwhAwPvZah8RJxKasD7x1f8shFqhncnWZn4JMfg37diLNuoHsLAlrDfM3g4mawVdtAG8XLQ==} '@next/eslint-plugin-next@15.3.2': resolution: {integrity: sha512-ijVRTXBgnHT33aWnDtmlG+LJD+5vhc9AKTJPquGG5NKXjpKNjc62woIhFtrAcWdBobt8kqjCoaJ0q6sDQoX7aQ==} - '@next/swc-darwin-arm64@16.0.10': - resolution: {integrity: sha512-4XgdKtdVsaflErz+B5XeG0T5PeXKDdruDf3CRpnhN+8UebNa5N2H58+3GDgpn/9GBurrQ1uWW768FfscwYkJRg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - '@next/swc-darwin-arm64@16.1.6': resolution: {integrity: sha512-wTzYulosJr/6nFnqGW7FrG3jfUUlEf8UjGA0/pyypJl42ExdVgC6xJgcXQ+V8QFn6niSG2Pb8+MIG1mZr2vczw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@16.0.10': - resolution: {integrity: sha512-spbEObMvRKkQ3CkYVOME+ocPDFo5UqHb8EMTS78/0mQ+O1nqE8toHJVioZo4TvebATxgA8XMTHHrScPrn68OGw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - '@next/swc-darwin-x64@16.1.6': resolution: {integrity: sha512-BLFPYPDO+MNJsiDWbeVzqvYd4NyuRrEYVB5k2N3JfWncuHAy2IVwMAOlVQDFjj+krkWzhY2apvmekMkfQR0CUQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@16.0.10': - resolution: {integrity: sha512-uQtWE3X0iGB8apTIskOMi2w/MKONrPOUCi5yLO+v3O8Mb5c7K4Q5KD1jvTpTF5gJKa3VH/ijKjKUq9O9UhwOYw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@next/swc-linux-arm64-gnu@16.1.6': resolution: {integrity: sha512-OJYkCd5pj/QloBvoEcJ2XiMnlJkRv9idWA/j0ugSuA34gMT6f5b7vOiCQHVRpvStoZUknhl6/UxOXL4OwtdaBw==} engines: {node: '>= 10'} @@ -2892,13 +3026,6 @@ packages: os: [linux] libc: [glibc] - '@next/swc-linux-arm64-musl@16.0.10': - resolution: {integrity: sha512-llA+hiDTrYvyWI21Z0L1GiXwjQaanPVQQwru5peOgtooeJ8qx3tlqRV2P7uH2pKQaUfHxI/WVarvI5oYgGxaTw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - libc: [musl] - '@next/swc-linux-arm64-musl@16.1.6': resolution: {integrity: sha512-S4J2v+8tT3NIO9u2q+S0G5KdvNDjXfAv06OhfOzNDaBn5rw84DGXWndOEB7d5/x852A20sW1M56vhC/tRVbccQ==} engines: {node: '>= 10'} @@ -2906,13 +3033,6 @@ packages: os: [linux] libc: [musl] - '@next/swc-linux-x64-gnu@16.0.10': - resolution: {integrity: sha512-AK2q5H0+a9nsXbeZ3FZdMtbtu9jxW4R/NgzZ6+lrTm3d6Zb7jYrWcgjcpM1k8uuqlSy4xIyPR2YiuUr+wXsavA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - libc: [glibc] - '@next/swc-linux-x64-gnu@16.1.6': resolution: {integrity: sha512-2eEBDkFlMMNQnkTyPBhQOAyn2qMxyG2eE7GPH2WIDGEpEILcBPI/jdSv4t6xupSP+ot/jkfrCShLAa7+ZUPcJQ==} engines: {node: '>= 10'} @@ -2920,13 +3040,6 @@ packages: os: [linux] libc: [glibc] - '@next/swc-linux-x64-musl@16.0.10': - resolution: {integrity: sha512-1TDG9PDKivNw5550S111gsO4RGennLVl9cipPhtkXIFVwo31YZ73nEbLjNC8qG3SgTz/QZyYyaFYMeY4BKZR/g==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - libc: [musl] - '@next/swc-linux-x64-musl@16.1.6': resolution: {integrity: sha512-oicJwRlyOoZXVlxmIMaTq7f8pN9QNbdes0q2FXfRsPhfCi8n8JmOZJm5oo1pwDaFbnnD421rVU409M3evFbIqg==} engines: {node: '>= 10'} @@ -2934,24 +3047,12 @@ packages: os: [linux] libc: [musl] - '@next/swc-win32-arm64-msvc@16.0.10': - resolution: {integrity: sha512-aEZIS4Hh32xdJQbHz121pyuVZniSNoqDVx1yIr2hy+ZwJGipeqnMZBJHyMxv2tiuAXGx6/xpTcQJ6btIiBjgmg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - '@next/swc-win32-arm64-msvc@16.1.6': resolution: {integrity: sha512-gQmm8izDTPgs+DCWH22kcDmuUp7NyiJgEl18bcr8irXA5N2m2O+JQIr6f3ct42GOs9c0h8QF3L5SzIxcYAAXXw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@16.0.10': - resolution: {integrity: sha512-E+njfCoFLb01RAFEnGZn6ERoOqhK1Gl3Lfz1Kjnj0Ulfu7oJbuMyvBKNj/bw8XZnenHDASlygTjZICQW+rYW1Q==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - '@next/swc-win32-x64-msvc@16.1.6': resolution: {integrity: sha512-NRfO39AIrzBnixKbjuo2YiYhB6o9d8v/ymU9m/Xk8cyVk+k7XylniXkHwjs4s70wedVffc6bQNbufk5v0xEm0A==} engines: {node: '>= 10'} @@ -4521,8 +4622,8 @@ packages: peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/preview-server@5.2.5': - resolution: {integrity: sha512-YERhEKl0Dz2qNbHTzdSwnsK15gipEqonKMPEbsoE8C+ACiHIm/f/d1UzQVmhrsN6PW7L+JhAuzcdIX1H3pLmFg==} + '@react-email/preview-server@5.2.8': + resolution: {integrity: sha512-drQ0C7vi7P0uE7Ox1Cyiujsx0oqp2RbIscOdSBR5qvzw3EKjlGbW2pWjQ000cjxTq3Si7lqlRKhOIF8MzOnqHw==} '@react-email/preview@0.0.14': resolution: {integrity: sha512-aYK8q0IPkBXyMsbpMXgxazwHxYJxTrXrV95GFuu2HbEiIToMwSyUgb8HDFYwPqqfV03/jbwqlsXmFxsOd+VNaw==} @@ -7602,6 +7703,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.25.10: + resolution: {integrity: sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==} + engines: {node: '>=18'} + hasBin: true + esbuild@0.25.12: resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} engines: {node: '>=18'} @@ -9326,27 +9432,6 @@ packages: zod: optional: true - next@16.0.10: - resolution: {integrity: sha512-RtWh5PUgI+vxlV3HdR+IfWA1UUHu0+Ram/JBO4vWB54cVPentCD0e+lxyAYEsDTqGGMg7qpjhKh6dc6aW7W/sA==} - engines: {node: '>=20.9.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - '@playwright/test': ^1.51.1 - babel-plugin-react-compiler: '*' - react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 - react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - '@playwright/test': - optional: true - babel-plugin-react-compiler: - optional: true - sass: - optional: true - next@16.1.6: resolution: {integrity: sha512-hkyRkcu5x/41KoqnROkfTm2pZVbKxvbZRuNvKXLRXxs3VfyO0WhY50TQS40EuKO9SW3rBj/sF3WbVwDACeMZyw==} engines: {node: '>=20.9.0'} @@ -13575,6 +13660,9 @@ snapshots: '@esbuild/aix-ppc64@0.23.1': optional: true + '@esbuild/aix-ppc64@0.25.10': + optional: true + '@esbuild/aix-ppc64@0.25.12': optional: true @@ -13584,6 +13672,9 @@ snapshots: '@esbuild/android-arm64@0.23.1': optional: true + '@esbuild/android-arm64@0.25.10': + optional: true + '@esbuild/android-arm64@0.25.12': optional: true @@ -13593,6 +13684,9 @@ snapshots: '@esbuild/android-arm@0.23.1': optional: true + '@esbuild/android-arm@0.25.10': + optional: true + '@esbuild/android-arm@0.25.12': optional: true @@ -13602,6 +13696,9 @@ snapshots: '@esbuild/android-x64@0.23.1': optional: true + '@esbuild/android-x64@0.25.10': + optional: true + '@esbuild/android-x64@0.25.12': optional: true @@ -13611,6 +13708,9 @@ snapshots: '@esbuild/darwin-arm64@0.23.1': optional: true + '@esbuild/darwin-arm64@0.25.10': + optional: true + '@esbuild/darwin-arm64@0.25.12': optional: true @@ -13620,6 +13720,9 @@ snapshots: '@esbuild/darwin-x64@0.23.1': optional: true + '@esbuild/darwin-x64@0.25.10': + optional: true + '@esbuild/darwin-x64@0.25.12': optional: true @@ -13629,6 +13732,9 @@ snapshots: '@esbuild/freebsd-arm64@0.23.1': optional: true + '@esbuild/freebsd-arm64@0.25.10': + optional: true + '@esbuild/freebsd-arm64@0.25.12': optional: true @@ -13638,6 +13744,9 @@ snapshots: '@esbuild/freebsd-x64@0.23.1': optional: true + '@esbuild/freebsd-x64@0.25.10': + optional: true + '@esbuild/freebsd-x64@0.25.12': optional: true @@ -13647,6 +13756,9 @@ snapshots: '@esbuild/linux-arm64@0.23.1': optional: true + '@esbuild/linux-arm64@0.25.10': + optional: true + '@esbuild/linux-arm64@0.25.12': optional: true @@ -13656,6 +13768,9 @@ snapshots: '@esbuild/linux-arm@0.23.1': optional: true + '@esbuild/linux-arm@0.25.10': + optional: true + '@esbuild/linux-arm@0.25.12': optional: true @@ -13665,6 +13780,9 @@ snapshots: '@esbuild/linux-ia32@0.23.1': optional: true + '@esbuild/linux-ia32@0.25.10': + optional: true + '@esbuild/linux-ia32@0.25.12': optional: true @@ -13674,6 +13792,9 @@ snapshots: '@esbuild/linux-loong64@0.23.1': optional: true + '@esbuild/linux-loong64@0.25.10': + optional: true + '@esbuild/linux-loong64@0.25.12': optional: true @@ -13683,6 +13804,9 @@ snapshots: '@esbuild/linux-mips64el@0.23.1': optional: true + '@esbuild/linux-mips64el@0.25.10': + optional: true + '@esbuild/linux-mips64el@0.25.12': optional: true @@ -13692,6 +13816,9 @@ snapshots: '@esbuild/linux-ppc64@0.23.1': optional: true + '@esbuild/linux-ppc64@0.25.10': + optional: true + '@esbuild/linux-ppc64@0.25.12': optional: true @@ -13701,6 +13828,9 @@ snapshots: '@esbuild/linux-riscv64@0.23.1': optional: true + '@esbuild/linux-riscv64@0.25.10': + optional: true + '@esbuild/linux-riscv64@0.25.12': optional: true @@ -13710,6 +13840,9 @@ snapshots: '@esbuild/linux-s390x@0.23.1': optional: true + '@esbuild/linux-s390x@0.25.10': + optional: true + '@esbuild/linux-s390x@0.25.12': optional: true @@ -13719,12 +13852,18 @@ snapshots: '@esbuild/linux-x64@0.23.1': optional: true + '@esbuild/linux-x64@0.25.10': + optional: true + '@esbuild/linux-x64@0.25.12': optional: true '@esbuild/linux-x64@0.27.2': optional: true + '@esbuild/netbsd-arm64@0.25.10': + optional: true + '@esbuild/netbsd-arm64@0.25.12': optional: true @@ -13734,6 +13873,9 @@ snapshots: '@esbuild/netbsd-x64@0.23.1': optional: true + '@esbuild/netbsd-x64@0.25.10': + optional: true + '@esbuild/netbsd-x64@0.25.12': optional: true @@ -13743,6 +13885,9 @@ snapshots: '@esbuild/openbsd-arm64@0.23.1': optional: true + '@esbuild/openbsd-arm64@0.25.10': + optional: true + '@esbuild/openbsd-arm64@0.25.12': optional: true @@ -13752,12 +13897,18 @@ snapshots: '@esbuild/openbsd-x64@0.23.1': optional: true + '@esbuild/openbsd-x64@0.25.10': + optional: true + '@esbuild/openbsd-x64@0.25.12': optional: true '@esbuild/openbsd-x64@0.27.2': optional: true + '@esbuild/openharmony-arm64@0.25.10': + optional: true + '@esbuild/openharmony-arm64@0.25.12': optional: true @@ -13767,6 +13918,9 @@ snapshots: '@esbuild/sunos-x64@0.23.1': optional: true + '@esbuild/sunos-x64@0.25.10': + optional: true + '@esbuild/sunos-x64@0.25.12': optional: true @@ -13776,6 +13930,9 @@ snapshots: '@esbuild/win32-arm64@0.23.1': optional: true + '@esbuild/win32-arm64@0.25.10': + optional: true + '@esbuild/win32-arm64@0.25.12': optional: true @@ -13785,6 +13942,9 @@ snapshots: '@esbuild/win32-ia32@0.23.1': optional: true + '@esbuild/win32-ia32@0.25.10': + optional: true + '@esbuild/win32-ia32@0.25.12': optional: true @@ -13794,6 +13954,9 @@ snapshots: '@esbuild/win32-x64@0.23.1': optional: true + '@esbuild/win32-x64@0.25.10': + optional: true + '@esbuild/win32-x64@0.25.12': optional: true @@ -14441,59 +14604,33 @@ snapshots: '@neoconfetti/react@1.0.0': {} - '@next/env@16.0.10': {} - '@next/env@16.1.6': {} '@next/eslint-plugin-next@15.3.2': dependencies: fast-glob: 3.3.1 - '@next/swc-darwin-arm64@16.0.10': - optional: true - '@next/swc-darwin-arm64@16.1.6': optional: true - '@next/swc-darwin-x64@16.0.10': - optional: true - '@next/swc-darwin-x64@16.1.6': optional: true - '@next/swc-linux-arm64-gnu@16.0.10': - optional: true - '@next/swc-linux-arm64-gnu@16.1.6': optional: true - '@next/swc-linux-arm64-musl@16.0.10': - optional: true - '@next/swc-linux-arm64-musl@16.1.6': optional: true - '@next/swc-linux-x64-gnu@16.0.10': - optional: true - '@next/swc-linux-x64-gnu@16.1.6': optional: true - '@next/swc-linux-x64-musl@16.0.10': - optional: true - '@next/swc-linux-x64-musl@16.1.6': optional: true - '@next/swc-win32-arm64-msvc@16.0.10': - optional: true - '@next/swc-win32-arm64-msvc@16.1.6': optional: true - '@next/swc-win32-x64-msvc@16.0.10': - optional: true - '@next/swc-win32-x64-msvc@16.1.6': optional: true @@ -16719,9 +16856,10 @@ snapshots: marked: 15.0.12 react: 19.2.3 - '@react-email/preview-server@5.2.5(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@react-email/preview-server@5.2.8(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - next: 16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + esbuild: 0.25.10 + next: 16.1.6(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) transitivePeerDependencies: - '@babel/core' - '@opentelemetry/api' @@ -17049,7 +17187,7 @@ snapshots: '@sentry/core@10.5.0': {} - '@sentry/nextjs@10.5.0(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@16.1.6(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(webpack@5.99.8(esbuild@0.25.12))': + '@sentry/nextjs@10.5.0(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@16.1.6(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(webpack@5.99.8(esbuild@0.25.12))': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.38.0 @@ -17062,7 +17200,7 @@ snapshots: '@sentry/vercel-edge': 10.5.0 '@sentry/webpack-plugin': 4.6.1(encoding@0.1.13)(webpack@5.99.8(esbuild@0.25.12)) chalk: 3.0.0 - next: 16.1.6(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + next: 16.1.6(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) resolve: 1.22.8 rollup: 4.54.0 stacktrace-parser: 0.1.11 @@ -20291,6 +20429,35 @@ snapshots: '@esbuild/win32-ia32': 0.23.1 '@esbuild/win32-x64': 0.23.1 + esbuild@0.25.10: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.10 + '@esbuild/android-arm': 0.25.10 + '@esbuild/android-arm64': 0.25.10 + '@esbuild/android-x64': 0.25.10 + '@esbuild/darwin-arm64': 0.25.10 + '@esbuild/darwin-x64': 0.25.10 + '@esbuild/freebsd-arm64': 0.25.10 + '@esbuild/freebsd-x64': 0.25.10 + '@esbuild/linux-arm': 0.25.10 + '@esbuild/linux-arm64': 0.25.10 + '@esbuild/linux-ia32': 0.25.10 + '@esbuild/linux-loong64': 0.25.10 + '@esbuild/linux-mips64el': 0.25.10 + '@esbuild/linux-ppc64': 0.25.10 + '@esbuild/linux-riscv64': 0.25.10 + '@esbuild/linux-s390x': 0.25.10 + '@esbuild/linux-x64': 0.25.10 + '@esbuild/netbsd-arm64': 0.25.10 + '@esbuild/netbsd-x64': 0.25.10 + '@esbuild/openbsd-arm64': 0.25.10 + '@esbuild/openbsd-x64': 0.25.10 + '@esbuild/openharmony-arm64': 0.25.10 + '@esbuild/sunos-x64': 0.25.10 + '@esbuild/win32-arm64': 0.25.10 + '@esbuild/win32-ia32': 0.25.10 + '@esbuild/win32-x64': 0.25.10 + esbuild@0.25.12: optionalDependencies: '@esbuild/aix-ppc64': 0.25.12 @@ -22186,13 +22353,13 @@ snapshots: neo-async@2.6.2: {} - next-auth@4.24.12(patch_hash=7ac5717a8d7d2049442182b5d83ab492d33fe774ff51ff5ea3884628b77df87b)(next@16.1.6(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(nodemailer@7.0.11)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): + next-auth@4.24.12(patch_hash=7ac5717a8d7d2049442182b5d83ab492d33fe774ff51ff5ea3884628b77df87b)(next@16.1.6(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(nodemailer@7.0.11)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): dependencies: '@babel/runtime': 7.28.4 '@panva/hkdf': 1.2.1 cookie: 0.7.2 jose: 4.15.9 - next: 16.1.6(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + next: 16.1.6(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) oauth: 0.9.15 openid-client: 5.7.1 preact: 10.28.2 @@ -22203,40 +22370,15 @@ snapshots: optionalDependencies: nodemailer: 7.0.11 - next-safe-action@7.10.8(next@16.1.6(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76): + next-safe-action@7.10.8(next@16.1.6(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76): dependencies: - next: 16.1.6(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + next: 16.1.6(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: zod: 3.25.76 - next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): - dependencies: - '@next/env': 16.0.10 - '@swc/helpers': 0.5.15 - caniuse-lite: 1.0.30001762 - postcss: 8.4.31 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - styled-jsx: 5.1.6(react@19.2.3) - optionalDependencies: - '@next/swc-darwin-arm64': 16.0.10 - '@next/swc-darwin-x64': 16.0.10 - '@next/swc-linux-arm64-gnu': 16.0.10 - '@next/swc-linux-arm64-musl': 16.0.10 - '@next/swc-linux-x64-gnu': 16.0.10 - '@next/swc-linux-x64-musl': 16.0.10 - '@next/swc-win32-arm64-msvc': 16.0.10 - '@next/swc-win32-x64-msvc': 16.0.10 - '@opentelemetry/api': 1.9.0 - '@playwright/test': 1.56.1 - sharp: 0.34.5 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - - next@16.1.6(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): + next@16.1.6(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): dependencies: '@next/env': 16.1.6 '@swc/helpers': 0.5.15 @@ -22245,7 +22387,7 @@ snapshots: postcss: 8.4.31 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - styled-jsx: 5.1.6(react@19.2.3) + styled-jsx: 5.1.6(@babel/core@7.28.5)(react@19.2.3) optionalDependencies: '@next/swc-darwin-arm64': 16.1.6 '@next/swc-darwin-x64': 16.1.6 @@ -23991,10 +24133,12 @@ snapshots: stubborn-utils@1.0.2: {} - styled-jsx@5.1.6(react@19.2.3): + styled-jsx@5.1.6(@babel/core@7.28.5)(react@19.2.3): dependencies: client-only: 0.0.1 react: 19.2.3 + optionalDependencies: + '@babel/core': 7.28.5 stylis@4.3.6: {}