Skip to content

⚡ Spark: slugify transformation - #69

Merged
galiprandi merged 1 commit into
mainfrom
spark/slugify-transform-4898550752951199275
May 27, 2026
Merged

⚡ Spark: slugify transformation#69
galiprandi merged 1 commit into
mainfrom
spark/slugify-transform-4898550752951199275

Conversation

@galiprandi

Copy link
Copy Markdown
Owner

💡 What: Added a new slugify transformation to the valueTransforms utility and Input component.

🎯 Why: Developers frequently need to convert user input (like titles or names) into URL-friendly slugs for permalinks, IDs, or filenames. This is a common requirement in forms and content management interfaces.

📦 What it adds:

  • A new "slugify" option to the TransformType union.
  • Robust implementation in valueTransforms that handles:
    • Unicode normalization (NFD) to decompose and remove diacritics (accents).
    • Trimming and lowercase conversion.
    • Replacement of non-alphanumeric character sequences (including spaces, underscores, and hyphens) with single hyphens.
    • Removal of leading and trailing hyphens.

🚀 How to use:

<Input
  label="Post Title"
  transform="slugify"
  onChangeValue={(slug) => console.log(slug)} // "Héllo World!" -> "hello-world"
/>

♻️ Deps Free: Confirmed. Uses only native JavaScript string methods and built-in Unicode normalization.

🎨 Harmony: Fits perfectly with the library's existing patterns. By extending the centralized valueTransforms utility, the new transformation is automatically type-safe and available in the Input component via the existing transform prop. Added comprehensive tests in lib/utilities/strings.test.ts.


PR created automatically by Jules for task 4898550752951199275 started by @galiprandi

Adds a new 'slugify' transformation to valueTransforms and Input component.
Handles diacritics, normalization, and URL-friendly character replacement.
@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@galiprandi
galiprandi merged commit 177c038 into main May 27, 2026
4 checks passed
@galiprandi
galiprandi deleted the spark/slugify-transform-4898550752951199275 branch June 15, 2026 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant