Feat/corex_mcp - #74
Merged
Merged
Conversation
…tracts Introduce JSON multi-value datasets, FormField auto_invalid defaults, Connect.ItemNav, and shared form_control attrs. Helpers re-export for compatibility. Co-authored-by: Cursor <cursoragent@cursor.com>
Add controlled-attr-snapshot, phoenix-form-bridge, and zag-live-hook; update hooks and rebuild priv/static assets for LV form sync. Co-authored-by: Cursor <cursoragent@cursor.com>
Move MCP server/tools out of lib/mcp into the mcp/ companion package
with design-aware tools; apps depend on {:corex_mcp, only: :dev}.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expose human-readable design axis options, rename mix corex.code to mix corex.design.code, and apply minor CSS/tooling polish. Co-authored-by: Cursor <cursoragent@cursor.com>
Add gettext/locale scaffolding to corex.tableau.new and document Tableau localization. Co-authored-by: Cursor <cursoragent@cursor.com>
Expand e2e form coverage for auto_invalid/JSON values, add form suite migration fields, and enforce demo id/field guards. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Match root mix Code.ensure_loaded?(:json) for corex_mcp so OTP 26 compiles without :json warnings, and drop duplicate data-table patterns paths that broke DocA11yRoutesCoverageTest. Co-authored-by: Cursor <cursoragent@cursor.com>
Normalize pin attrs to string keys once, guard LiveView upload tmp paths before File.rm, and exclude the admin form from PathTraversal like the other upload LiveView. Co-authored-by: Cursor <cursoragent@cursor.com>
ValueBinding encodes select values as JSON arrays; align the form LiveView assertions with the component unit tests. Co-authored-by: Cursor <cursoragent@cursor.com>
Use Enum.map_join, handle json_polyfill start failures, add castore for excoveralls on design/mcp, and drop the removed MissingTelemetryInLiveViewMount Credo check from package configs. Co-authored-by: Cursor <cursoragent@cursor.com>
tags-input delete-trigger handler uses PointerEvent; declare it like MouseEvent so pnpm lint passes under no-undef. Co-authored-by: Cursor <cursoragent@cursor.com>
…pdate Accept one-element list values for single-mode date pickers (form display helpers), and re-render the menu tree on LiveView updated so trigger aria-disabled/tabindex stay in sync after toggling native disabled. Co-authored-by: Cursor <cursoragent@cursor.com>
The basic form only shows error text; data-invalid is covered by the dedicated invalid demo that passes FormField.invalid?/1. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
corex_mcp; split helpers into Attrs / ValueBinding / form contracts; LiveView controlled-attr snapshot + Phoenix form bridge.mix corex.code→mix corex.design.code; addcorex.design.options; Tableaumix corex.tableau.new --langscaffolding; e2e form suite / doc-parity / demo id guards.Breaking (see CHANGELOG Unreleased)
FormField.assign_form_field/2leavesinvalidoff by default (auto_invalid/ explicitinvalid)form_field/field_usedno longer public attrs on select/combobox:idwhen no:field{:corex_mcp, "~> 0.2", only: :dev}; config underconfig :corex_mcp