{iconLeft}
{isInvalid && iconError}
From 08b73571a09e0c5a59dfc4de7c0ee202ce3cbc2e Mon Sep 17 00:00:00 2001
From: Marcus Kernohan <135075821+mkernohanbc@users.noreply.github.com>
Date: Tue, 2 Jul 2024 13:41:42 -0700
Subject: [PATCH 29/33] add min-height to input field as accessibility
safeguard
---
.../react-components/src/components/TextField/TextField.css | 2 ++
1 file changed, 2 insertions(+)
diff --git a/packages/react-components/src/components/TextField/TextField.css b/packages/react-components/src/components/TextField/TextField.css
index 4a2c455b..73e09b3e 100644
--- a/packages/react-components/src/components/TextField/TextField.css
+++ b/packages/react-components/src/components/TextField/TextField.css
@@ -50,11 +50,13 @@
.bcds-react-aria-TextField--container.small {
/* using margin token is kludgy, consider adding component-specific token for input sizing */
height: var(--layout-margin-xlarge);
+ min-height: var(--layout-margin-xlarge);
}
.bcds-react-aria-TextField--container.medium {
/* using margin token is kludgy, consider adding component-specific token for input sizing */
height: var(--layout-margin-xxlarge);
+ min-height: var(--layout-margin-xxlarge);
}
/* Text input field */
From 290b8412ac4f1d6a7ee10ff511a18c942108c59e Mon Sep 17 00:00:00 2001
From: Marcus Kernohan <135075821+mkernohanbc@users.noreply.github.com>
Date: Wed, 17 Jul 2024 10:47:10 -0700
Subject: [PATCH 30/33] cleanup and add missing text colour rules
---
.../src/components/TextField/TextField.css | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/packages/react-components/src/components/TextField/TextField.css b/packages/react-components/src/components/TextField/TextField.css
index 73e09b3e..d5c67a17 100644
--- a/packages/react-components/src/components/TextField/TextField.css
+++ b/packages/react-components/src/components/TextField/TextField.css
@@ -41,11 +41,6 @@
padding: var(--layout-padding-small) 12px;
}
-.bcds-react-aria-TextField--Input {
- border: none;
- flex-grow: 1;
-}
-
/* Sizes */
.bcds-react-aria-TextField--container.small {
/* using margin token is kludgy, consider adding component-specific token for input sizing */
@@ -63,6 +58,13 @@
.bcds-react-aria-TextField--Input {
font: var(--typography-regular-body);
padding: var(--layout-padding-none);
+ color: var(--typography-color-primary);
+ border: none;
+ flex-grow: 1;
+}
+
+.bcds-react-aria-TextField--Input::placeholder {
+ color: var(--typography-color-placeholder);
}
/* Hover and focus states */
From 5d1f3fde7d252bca9a04be390ca0c23961c58d00 Mon Sep 17 00:00:00 2001
From: Marcus Kernohan <135075821+mkernohanbc@users.noreply.github.com>
Date: Wed, 17 Jul 2024 10:50:57 -0700
Subject: [PATCH 31/33] add missing colour rule for disabled state
---
packages/react-components/src/components/TextField/TextField.css | 1 +
1 file changed, 1 insertion(+)
diff --git a/packages/react-components/src/components/TextField/TextField.css b/packages/react-components/src/components/TextField/TextField.css
index d5c67a17..405ea68b 100644
--- a/packages/react-components/src/components/TextField/TextField.css
+++ b/packages/react-components/src/components/TextField/TextField.css
@@ -96,6 +96,7 @@
}
.bcds-react-aria-TextField--Input[data-disabled] {
+ color: var(--typography-color-placeholder);
cursor: not-allowed;
}
From d9b8c91bd60df081654ca77af5ce92cdafafbfd5 Mon Sep 17 00:00:00 2001
From: Marcus Kernohan <135075821+mkernohanbc@users.noreply.github.com>
Date: Wed, 17 Jul 2024 11:05:51 -0700
Subject: [PATCH 32/33] add note about placeholder text
---
packages/react-components/src/stories/TextField.mdx | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/packages/react-components/src/stories/TextField.mdx b/packages/react-components/src/stories/TextField.mdx
index 8cab1993..faa910e7 100644
--- a/packages/react-components/src/stories/TextField.mdx
+++ b/packages/react-components/src/stories/TextField.mdx
@@ -39,6 +39,10 @@ This component is based on [React Aria TextField](https://react-spectrum.adobe.c
Default and custom data validation support is built in, using the [React Aria FieldError subcomponent](https://react-spectrum.adobe.com/react-aria/forms.html#validation).
+### Placeholder text
+
+As a general rule, the `placeholder` attribute should not be used on text fields. While `placeholder` is technically supported, the use of 'ghost text' has [serious accessibility and usability issues](https://developer.mozilla.org/en-US/docs/Web/CSS/::placeholder#accessibility_concerns).
+
## Controls
From eec554a969145350edb86c5daac977826f14b021 Mon Sep 17 00:00:00 2001
From: Marcus Kernohan <135075821+mkernohanbc@users.noreply.github.com>
Date: Wed, 17 Jul 2024 11:14:02 -0700
Subject: [PATCH 33/33] add randomly generated example password to login field
example
---
packages/react-components/src/stories/TextField.stories.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/react-components/src/stories/TextField.stories.tsx b/packages/react-components/src/stories/TextField.stories.tsx
index fa9bb380..627c2fc2 100644
--- a/packages/react-components/src/stories/TextField.stories.tsx
+++ b/packages/react-components/src/stories/TextField.stories.tsx
@@ -152,7 +152,7 @@ export const PasswordField: Story = {
label: "Password",
size: "medium",
type: "password",
- value: "password",
+ value: "s&mU9ZHu5d5^uP",
description: "Input is automatically obscured",
},
};