Add setting option icons and number bounds to the setting schema - #1850
Closed
lukeh-shopify wants to merge 1 commit into
Closed
Add setting option icons and number bounds to the setting schema#1850lukeh-shopify wants to merge 1 commit into
lukeh-shopify wants to merge 1 commit into
Conversation
Adds the new setting kinds from issues-merchant-workflows issue 2669: - `settingIcon`: an enum of the 64 supported snake_case stable icon IDs, with an error message that points merchants and theme developers away from Polaris component names (`LayoutColumns3Icon`) and kebab-case admin handles (`layout-columns-3`). - `selectOptions`: an optional `icon` on each option. - `radioOptions`: a new definition for `radio` settings that rejects `icon` with a message pointing at `select`, so radio settings no longer silently accept an unsupported attribute. The shared `options` definition is unchanged. - `numberOptions`: a new definition for suggested `value`/`label`/`icon` entries on `number` settings, where `value` is a required number with at most one decimal digit. - `number`: new `min`, `max`, `icon` and `options` attributes, and one decimal digit of precision on `default`, `min` and `max`. The icon list and the precision rules mirror Core's `Theme::SettingOptionIcon` and spec validator, so the editor, the platform and theme-check agree on what is valid. theme-check downloads these schemas from this repository and uses them for its ValidSchema check. Assisted-By: devx/0e7ab314-3226-4582-ac8d-b65bca9cbfd8
lukeh-shopify
force-pushed
the
lh-theme-check-new-setting-kinds
branch
from
August 5, 2026 20:05
8b23a63 to
a78d549
Compare
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.
What are you trying to accomplish?
Add schema support and validation for new optional setting properties:
selectsettings: options can now specify aniconnumbersettings: new optionalmin,max,icon, andoptionsmetadataAllows theme check to pass for these before submitting them to the server
What approach did you use?
settingIcondefinition, an enum of the supportedsnake_caseicon IDsnumberOptionsdefinitionmin/maxto thenumberdefinition and option values to enforce at most one decimal digitradioOptionsdefinition so radio options keep their existing shape but rejecticonwith a message pointing to select settings