Skip to content

feat(components): Remove v1 InputText#3075

Draft
jdeichert wants to merge 15 commits into
masterfrom
JOB-145568/remove-v1-inputtext
Draft

feat(components): Remove v1 InputText#3075
jdeichert wants to merge 15 commits into
masterfrom
JOB-145568/remove-v1-inputtext

Conversation

@jdeichert
Copy link
Copy Markdown
Contributor

@jdeichert jdeichert commented Apr 16, 2026

⚠️ TODO before merging

Why Is This Changing?

This PR deletes the V1 implementation of InputText.

DO NOT MERGE until after we prepare our next major v7 components release.

What Is Changing?

  • Deleted V1 InputText
  • Renamed "InputTextSPAR" back to "InputText"
  • Replaced v1 stories/tests with v2 implementations

Consumer Impact

  • Impact: High
  • Action required: You will need to migrate to the new InputText implementation (v2)
  • Breaking change: Yes

⚠️ Although this is a breaking change, we're going to prep a v7 major release for components, and then ship all of these v1 removals in quick succession which will end up being minor versions on the v7 release line.

Validation

Reviewer Notes

Changes can be tested via Pre-release


In Atlantis we use Github's built in pull request reviews.

),
label: "Legacy V1 Docs",
// TODO: update this branch to the official v6 branch name once it's ready
url: "https://v6.atlantis.pages.dev/components/InputText?isLegacy=true",
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: update this link

class="input"
id="«r0»"
type="text"
name="generatedName--«r0»"
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This appears to be expected. type="text" is the default input type when not supplied. The v2 implementation just doesn't set it.

@@ -10,7 +10,6 @@ import {
type Option,
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: we should remove v1 Autocomplete implementation and ship that before this InputText PR.

Then we can delete the changes here.

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Apr 16, 2026

Deploying atlantis with  Cloudflare Pages  Cloudflare Pages

Latest commit: e19b446
Status: ✅  Deploy successful!
Preview URL: https://2498daed.atlantis.pages.dev
Branch Preview URL: https://job-145568-remove-v1-inputte.atlantis.pages.dev

View logs

: debouncedSearch
isControlled
? (val: string) => searchComponent.props.onSearch(val)
: handleUncontrolledChange
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested via a one-off story

Screen.Recording.2026-04-16.at.2.53.04.PM.mov

.trim()}
</code>
</pre>
</Disclosure>
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand why we had 2 code blocks... this disclosure seems redundant.

Image

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 16, 2026

Published Pre-release for e19b446 with versions:

  - @jobber/components@6.120.3-JOB-145568-e19b446.16+e19b44624

To install the new version(s) for Web run:

npm install @jobber/components@6.120.3-JOB-145568-e19b446.16+e19b44624

Comment thread packages/site/src/content/hooks/UseFormState.tsx
@@ -1,5 +1,6 @@
import React, { useRef, useState } from "react";
Copy link
Copy Markdown
Contributor Author

@jdeichert jdeichert Apr 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't pay much attention to this file. All react-hook-form stuff (Form, useFormState) will be deleted in a subsequent PR.

@@ -1,12 +1,45 @@
import React, { useRef } from "react";
Copy link
Copy Markdown
Contributor Author

@jdeichert jdeichert Apr 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't pay much attention to this file. All react-hook-form stuff (Form, useFormState) will be deleted in a subsequent PR.

@@ -13,6 +13,7 @@ export default {
component: {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't pay much attention to this file. All react-hook-form stuff (Form, useFormState) will be deleted in a subsequent PR.

@@ -3,6 +3,42 @@ import { InputText } from "@jobber/components/InputText";
import { Content } from "@jobber/components/Content";
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't pay much attention to this file. All react-hook-form stuff (Form, useFormState) will be deleted in a subsequent PR.

When spreading props like {...inputProps}, it may contain unknown props such as `validations` which isn't valid on v2 InputText components. Typescript will not error for unknown props being spread.

By marking them as never, it helps catch cases where these props are implicitly spread, to ensure they get fixed accordingly.
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