Skip to content

Conversation

@mark-fitzgerald
Copy link
Contributor

Summary:

This PR converts the Aphrodite styling into standard CSS. However, since this widget uses a Wonder Blocks component and overrides its styling, the legacy Aphrodite code is kept in a separate file to be deleted later (once Wonder Blocks has migrated to CSS Modules).

Issue: LEMS-3524

Test plan:

Regression tests pass

…assName property pass-through in text-input.

Update extract-css script to handle stylesheet declarations inside of functional components in addition to the class-based component.
…branch 'main' into LEMS-3524-migrate-aphrodite-to-css-modules-for-numeric-input
…verse CSS parser as a temporary solution until WB has CSS Modules implemented.
…ll aphrodite extract data to its own file.

Start debugging conditional expressions in styles.
…onditionalExpression logic to its own function.

Make ConditionalExpressions generate a secondary class name and ruleset in output.
Consolidate pxToRem references to be consistent throughout.
… handling variations of Conditional Expressions for CSS values.

Update Aphrodite extraction to handle conditional classes.
…sue with async exec commands.

Tokenize measurement values.
Comment out conditional code blocks with a note to handle the conditional setting of styling.
…t Numeric Input styling to CSS Modules, keeping legacy styling until LEMS-3815 is completed.
…hangeset): [CSS] Migrate Numeric Input styling to CSS Modules
…ck changes to CSS extract file (changes in a different PR).

Add comment in legacy styling file for easy searchability.
@mark-fitzgerald mark-fitzgerald self-assigned this Dec 24, 2025
@mark-fitzgerald mark-fitzgerald requested a review from a team December 24, 2025 01:19
@github-actions
Copy link
Contributor

github-actions bot commented Dec 24, 2025

🗄️ Schema Change: No Changes ✅

@github-actions
Copy link
Contributor

github-actions bot commented Dec 24, 2025

🛠️ Item Splitting: No Changes ✅

@github-actions
Copy link
Contributor

github-actions bot commented Dec 24, 2025

Size Change: +217 B (+0.04%)

Total Size: 499 kB

Filename Size Change
packages/perseus/dist/es/index.js 200 kB +217 B (+0.11%)
ℹ️ View Unchanged
Filename Size
packages/kas/dist/es/index.js 20.8 kB
packages/keypad-context/dist/es/index.js 1 kB
packages/kmath/dist/es/index.js 5.98 kB
packages/math-input/dist/es/index.js 98.3 kB
packages/math-input/dist/es/strings.js 1.61 kB
packages/perseus-core/dist/es/index.item-splitting.js 13.1 kB
packages/perseus-core/dist/es/index.js 25.6 kB
packages/perseus-editor/dist/es/index.js 97.5 kB
packages/perseus-linter/dist/es/index.js 8.65 kB
packages/perseus-score/dist/es/index.js 9.25 kB
packages/perseus-utils/dist/es/index.js 403 B
packages/perseus/dist/es/strings.js 7.78 kB
packages/pure-markdown/dist/es/index.js 1.39 kB
packages/simple-markdown/dist/es/index.js 6.72 kB

compressed-size-action

@github-actions
Copy link
Contributor

github-actions bot commented Dec 24, 2025

npm Snapshot: Published

Good news!! We've packaged up the latest commit from this PR (7b3fe0e) and published it to npm. You
can install it using the tag PR3162.

Example:

pnpm add @khanacademy/perseus@PR3162

If you are working in Khan Academy's frontend, you can run the below command.

./dev/tools/bump_perseus_version.ts -t PR3162

If you are working in Khan Academy's webapp, you can run the below command.

./dev/tools/bump_perseus_version.js -t PR3162

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants