@bloom-housing/ui-components 6.0.1-alpha.1 → 6.0.1-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/index.ts +3 -1
  3. package/package.json +5 -2
  4. package/src/actions/Button.scss +1 -1
  5. package/src/blocks/Card.docs.mdx +60 -0
  6. package/src/blocks/Card.scss +65 -0
  7. package/src/blocks/Card.tsx +74 -0
  8. package/src/blocks/ImageCard.scss +1 -1
  9. package/src/blocks/StandardCard.scss +1 -1
  10. package/src/blocks/StandardCard.tsx +1 -1
  11. package/src/documentation/Utilities.scss +30 -0
  12. package/src/documentation/Utilities.stories.mdx +25 -0
  13. package/src/documentation/Utilities.tsx +67 -0
  14. package/src/forms/DOBField.tsx +1 -1
  15. package/src/forms/Field.tsx +1 -1
  16. package/src/forms/FieldGroup.tsx +1 -1
  17. package/src/forms/MultiSelectField.scss +2 -2
  18. package/src/forms/PhoneField.tsx +1 -1
  19. package/src/global/forms.scss +3 -15
  20. package/src/global/mixins.scss +2 -2
  21. package/src/global/text.scss +81 -63
  22. package/src/global/tokens/colors.scss +1 -0
  23. package/src/headers/HeadingGroup.docs.mdx +25 -0
  24. package/src/headers/HeadingGroup.scss +23 -0
  25. package/src/headers/HeadingGroup.tsx +31 -0
  26. package/src/navigation/ProgressNav.scss +1 -1
  27. package/src/page_components/listing/ListingCard.tsx +14 -14
  28. package/src/page_components/listing/ListingMap.tsx +2 -2
  29. package/src/page_components/listing/listing_sidebar/Contact.tsx +3 -3
  30. package/src/page_components/listing/listing_sidebar/ExpandableSection.tsx +4 -1
  31. package/src/page_components/listing/listing_sidebar/GetApplication.tsx +6 -5
  32. package/src/page_components/listing/listing_sidebar/QuantityRowSection.tsx +4 -1
  33. package/src/page_components/listing/listing_sidebar/ReferralApplication.tsx +4 -1
  34. package/src/page_components/listing/listing_sidebar/SidebarBlock.tsx +3 -3
  35. package/src/page_components/listing/listing_sidebar/SubmitApplication.tsx +4 -4
  36. package/src/page_components/listing/listing_sidebar/events/EventSection.tsx +5 -2
  37. package/src/sections/InfoCardGrid.tsx +2 -2
  38. package/src/tables/CategoryTable.tsx +2 -2
  39. package/src/text/Heading.docs.mdx +18 -0
  40. package/src/text/Heading.tsx +32 -0
  41. package/src/text/Tag.scss +1 -1
  42. package/tailwind.config.js +1 -0
  43. package/src/headers/Heading.tsx +0 -31
package/CHANGELOG.md CHANGED
@@ -3,6 +3,48 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [6.0.1-alpha.3](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@6.0.1-alpha.2...@bloom-housing/ui-components@6.0.1-alpha.3) (2022-10-03)
7
+
8
+
9
+ ### Code Refactoring
10
+
11
+ * organize design system text styles ([#3055](https://github.com/bloom-housing/bloom/issues/3055)) ([f5bcb62](https://github.com/bloom-housing/bloom/commit/f5bcb629885fd9ce6c17e3e817bd0ee500373990))
12
+
13
+
14
+ ### BREAKING CHANGES
15
+
16
+ * the different style types you can pass to the heading component have individually been renamed to fit the design system, as well as the prop to pass them in
17
+
18
+
19
+
20
+
21
+
22
+ ## [6.0.1-alpha.2](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@6.0.1-alpha.1...@bloom-housing/ui-components@6.0.1-alpha.2) (2022-09-29)
23
+
24
+
25
+ * 2938/card component (#3043) ([7a4a148](https://github.com/bloom-housing/bloom/commit/7a4a14891b4c8057f27a9f95e87a00d1d7a58be8)), closes [#3043](https://github.com/bloom-housing/bloom/issues/3043)
26
+
27
+
28
+ ### BREAKING CHANGES
29
+
30
+ * Renamed exported interfaces in ListingCard so as to not conflict with Card and other components
31
+
32
+ * Fix code style issues with Prettier
33
+
34
+ * feat: split HeadingGroup out to its own separate component
35
+
36
+ * fix: simplify stories and styling for Card and HeadingGroup
37
+
38
+ * remove: prototype "slotted" card component
39
+
40
+ * test: fix the incorrect component name in Card
41
+
42
+ Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
43
+
44
+
45
+
46
+
47
+
6
48
  ## [6.0.1-alpha.1](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@6.0.1-alpha.0...@bloom-housing/ui-components@6.0.1-alpha.1) (2022-09-28)
7
49
 
8
50
 
package/index.ts CHANGED
@@ -10,6 +10,7 @@ export * from "./src/actions/Video"
10
10
  /* Blocks */
11
11
  export * from "./src/blocks/ActionBlock"
12
12
  export * from "./src/blocks/StatusItem"
13
+ export * from "./src/blocks/Card"
13
14
  export * from "./src/blocks/DashBlock"
14
15
  export * from "./src/blocks/DashBlocks"
15
16
  export * from "./src/blocks/FormCard"
@@ -54,7 +55,7 @@ export * from "./src/headers/Hero"
54
55
  export * from "./src/headers/PageHeader"
55
56
  export * from "./src/headers/SiteHeader"
56
57
  export * from "./src/headers/StepHeader"
57
- export * from "./src/headers/Heading"
58
+ export * from "./src/headers/HeadingGroup"
58
59
 
59
60
  /* Helpers */
60
61
  export * from "./src/helpers/capitalize"
@@ -162,5 +163,6 @@ export * from "./src/tables/AgPagination"
162
163
 
163
164
  /* Text */
164
165
  export * from "./src/text/Description"
166
+ export * from "./src/text/Heading"
165
167
  export * from "./src/text/Message"
166
168
  export * from "./src/text/Tag"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bloom-housing/ui-components",
3
- "version": "6.0.1-alpha.1",
3
+ "version": "6.0.1-alpha.3",
4
4
  "author": "Sean Albert <sean.albert@exygy.com>",
5
5
  "description": "Shared user interface components for Bloom affordable housing system",
6
6
  "homepage": "https://github.com/bloom-housing/bloom/tree/master/shared/ui-components",
@@ -43,6 +43,7 @@
43
43
  "@types/dompurify": "^2.3.3",
44
44
  "@types/jest": "^26.0.14",
45
45
  "@types/jwt-decode": "^2.2.1",
46
+ "@types/pretty": "2.0.1",
46
47
  "@types/react-map-gl": "^5.2.10",
47
48
  "@types/react-tabs": "^2.3.2",
48
49
  "@types/react-test-renderer": "^16.9.3",
@@ -57,7 +58,9 @@
57
58
  "postcss": "^8.3.6",
58
59
  "postcss-loader": "^4.3",
59
60
  "preact": "^10.5.14",
61
+ "pretty": "2.0.0",
60
62
  "puppeteer": "^10.1.0",
63
+ "react-dom-server": "0.0.5",
61
64
  "react-is": "^17.0.2",
62
65
  "react-test-renderer": "^17.0.2",
63
66
  "regenerator-runtime": "^0.13.7",
@@ -110,5 +113,5 @@
110
113
  "ts-jest": "^26.4.1",
111
114
  "typesafe-actions": "^5.1.0"
112
115
  },
113
- "gitHead": "413ca224f8c49c4ae69e431cfabe26545fe54159"
116
+ "gitHead": "4e7935694f2d0551656828a64d487d2419c29ef4"
114
117
  }
@@ -54,7 +54,7 @@
54
54
 
55
55
  &.is-secondary {
56
56
  border-color: var(--bloom-color-gray-700);
57
- color: var(--bloom-color-gray-700);
57
+ color: var(--bloom-text-color-light);
58
58
 
59
59
  &:hover {
60
60
  background-color: var(--bloom-color-gray-700);
@@ -0,0 +1,60 @@
1
+ import { Canvas, Story, ArgsTable } from "@storybook/addon-docs"
2
+ import { Swatch } from "../prototypes/Swatch"
3
+ import { Card } from "./Card"
4
+
5
+ # Card
6
+
7
+ <Canvas>
8
+ <Story id="blocks-card--text-content" />
9
+ </Canvas>
10
+
11
+ The 2nd-generation Card component is intended to serve as a flexible content container with a header, optional content sections, and a footer. Over time our intention is to "port" some other card types and content blocks in the system to use Card as their underlying structure.
12
+
13
+ Styles within the Card node tree are intended to set up sensible defaults without requiring the consumer to configure bespoke styling as they author a card. For example, rule lines will be drawn automatically between the various subcomponents within a card, and margin/padding will be set according to top-level variables.
14
+
15
+ You can author a Card using subcomponents simply by referencing them via a single Card import. For example, `<Card.Header>`, `<Card.Footer>` etc. In the case where you want to create a new type of card, you can import the subcomponents directly as `<CardHeader>`, `<CardFooter>`, etc. and place them in any container. It's still recommended you include the `.card` class on your custom container so you inherit a base set of CSS properties.
16
+
17
+ Note that the `<Card.Footer>` subcomponent doesn't inherently add rules or padding so that you can use other components with self-contained styling such as `<ButtonGroup>`. However, you can add `<Card.Section>` within `<Card.Footer>` to add rules and padding.
18
+
19
+ The `<Card.Header>` subcomponent will typically be paired with a child `<HeadingGroup>` for a title + subtitle grouping, but that's not a requirement.
20
+
21
+ You can browse through the various stories for different examples of how you'd pattern a card with various subcomponents. Many of the visual aspects of a Card can be customized using the CSS variables listed below. For example, this "Detroit style" example:
22
+
23
+ <Canvas>
24
+ <Story id="blocks-card--detroit-style" />
25
+ </Canvas>
26
+
27
+ ## Card Properties
28
+
29
+ <ArgsTable of={Card} />
30
+
31
+ ## Card.Header Properties
32
+
33
+ <ArgsTable of={Card.Header} />
34
+
35
+ ## Card.Section Properties
36
+
37
+ <ArgsTable of={Card.Section} />
38
+
39
+ ## Card.Footer Properties
40
+
41
+ <ArgsTable of={Card.Footer} />
42
+
43
+ ## Theming Variables
44
+
45
+ You can apply CSS variables to the `.card` selector to customize the appearance of both the component and various subcomponents.
46
+
47
+ | Name | Type | Description | Default |
48
+ | --------------------------------- | -------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------ |
49
+ | `--background-color` | <Swatch colorVar="--bloom-color-white" /> | Background color of the card | `--bloom-color-white` |
50
+ | `--border-radius` | Size | Border radius of the card | `--bloom-rounded-lg` |
51
+ | `--border-width` | Size | Border width of the card (and rules by default) | `--bloom-border-1` |
52
+ | `--border-color` | <Swatch colorVar="--bloom-color-gray-450" /> | Border color of the card (and rules by default) | `--bloom-color-gray-450` |
53
+ | `--rule-width` | Size | Width of the inset rules | `--border-width` |
54
+ | `--rule-color` | <Swatch colorVar="--bloom-color-gray-450" /> | Color of the inset rules | `--border-color` |
55
+ | `--content-padding-block` | Size | The space above and below content sections | `--bloom-s8` |
56
+ | `--content-margin-inline-desktop` | Size | The space to the left and right of content sections for desktop-size screens | `--bloom-s16` |
57
+ | `--content-margin-inline-mobile` | Size | The space to the left and right of content sections for mobile-size screens | `--bloom-s4` |
58
+ | `--header-padding-block` | Size | The space above and below the header | `--bloom-s8` |
59
+ | `--header-margin-inline-desktop` | Size | The space to the left and right of the header for desktop-size screens | `--bloom-s16` |
60
+ | `--header-margin-inline-mobile` | Size | The space to the left and right of the header for mobile-size screens | `--bloom-s4` |
@@ -0,0 +1,65 @@
1
+ .card {
2
+ /* Component Variables */
3
+ --background-color: var(--bloom-color-white);
4
+ --border-radius: var(--bloom-rounded-lg);
5
+ --border-width: var(--bloom-border-1);
6
+ --border-color: var(--bloom-color-gray-450);
7
+ --rule-width: var(--border-width);
8
+ --rule-color: var(--border-color);
9
+
10
+ --content-padding-block: var(--bloom-s8);
11
+ --content-margin-inline-desktop: var(--bloom-s16);
12
+ --content-margin-inline-mobile: var(--bloom-s4);
13
+ --content-margin-inline: var(--content-margin-inline-desktop);
14
+
15
+ --header-padding-block: var(--bloom-s8) var(--bloom-s3);
16
+ --header-margin-inline-desktop: var(--content-margin-inline-desktop);
17
+ --header-margin-inline-mobile: var(--content-margin-inline-mobile);
18
+ --header-margin-inline: var(--header-margin-inline-desktop);
19
+
20
+ @media (max-width: $screen-sm) {
21
+ --content-margin-inline: var(--content-margin-inline-mobile);
22
+ --header-margin-inline: var(--header-margin-inline-mobile);
23
+ }
24
+
25
+ /* Default Styles */
26
+ background-color: var(--background-color);
27
+ border: var(--border-width) solid var(--border-color);
28
+ overflow: hidden;
29
+ border-radius: var(--border-radius);
30
+ display: flex;
31
+ flex-direction: column;
32
+ }
33
+
34
+ .card__header {
35
+ padding-block: var(--header-padding-block);
36
+ margin-inline: var(--header-margin-inline);
37
+ border-bottom: var(--rule-width) solid var(--rule-color);
38
+
39
+ &.is-flex {
40
+ display: flex;
41
+ justify-content: space-between;
42
+ align-items: center;
43
+ gap: var(--bloom-s7);
44
+ }
45
+ }
46
+
47
+ .card__header + .card__footer {
48
+ margin-block-start: var(--content-padding-block);
49
+ }
50
+
51
+ .card > *:nth-child(n + 3),
52
+ .card__footer > .card__section {
53
+ border-top: var(--rule-width) solid var(--rule-color);
54
+ }
55
+
56
+ .card__section {
57
+ padding-block: var(--content-padding-block);
58
+ margin-inline: var(--content-margin-inline);
59
+ }
60
+
61
+ /* Using the double-class specificity hack, proceed with caution: */
62
+ .card__footer.card__footer,
63
+ .card__footer.card__footer > :not(.card__section) + .card__section {
64
+ border-top: none;
65
+ }
@@ -0,0 +1,74 @@
1
+ import React from "react"
2
+ import "./Card.scss"
3
+
4
+ export interface CardHeaderProps {
5
+ /** An additional element(s) you can add to the side of the main child element(s) */
6
+ suffix?: React.ReactNode
7
+ /** Additional class name */
8
+ className?: string
9
+ children: React.ReactNode
10
+ }
11
+
12
+ const CardHeader = (props: CardHeaderProps) => {
13
+ const classNames = ["card__header"]
14
+ if (props.suffix) classNames.push("is-flex")
15
+ if (props.className) classNames.push(props.className)
16
+
17
+ return (
18
+ <header className={classNames.join(" ")}>
19
+ {props.children}
20
+ {props.suffix}
21
+ </header>
22
+ )
23
+ }
24
+
25
+ export interface CardSectionProps {
26
+ /**
27
+ * Whether to center the text within the section
28
+ * @default false
29
+ */
30
+ centered?: boolean
31
+ /** Additional class name */
32
+ className?: string
33
+ children: React.ReactNode
34
+ }
35
+
36
+ const CardSection = (props: CardSectionProps) => {
37
+ const classNames = ["card__section"]
38
+ if (props.centered) classNames.push("text-center")
39
+ if (props.className) classNames.push(props.className)
40
+
41
+ return <div className={classNames.join(" ")}>{props.children}</div>
42
+ }
43
+
44
+ export interface CardFooterProps {
45
+ /** Additional class name */
46
+ className?: string
47
+ children: React.ReactNode
48
+ }
49
+
50
+ const CardFooter = (props: CardFooterProps) => {
51
+ const classNames = ["card__footer"]
52
+ if (props.className) classNames.push(props.className)
53
+
54
+ return <footer className={classNames.join(" ")}>{props.children}</footer>
55
+ }
56
+
57
+ export interface CardProps {
58
+ /** Additional class name */
59
+ className?: string
60
+ children: React.ReactNode
61
+ }
62
+
63
+ const Card = (props: CardProps) => {
64
+ const classNames = ["card"]
65
+ if (props.className) classNames.push(props.className)
66
+
67
+ return <article className={classNames.join(" ")}>{props.children}</article>
68
+ }
69
+
70
+ Card.Header = CardHeader
71
+ Card.Section = CardSection
72
+ Card.Footer = CardFooter
73
+
74
+ export { Card as default, Card, CardHeader, CardSection, CardFooter }
@@ -150,7 +150,7 @@
150
150
  }
151
151
 
152
152
  .modal.image-card__gallery-modal {
153
- --title-color: var(--bloom-color-gray-750);
153
+ --title-color: var(--bloom-text-color);
154
154
  --background-color: transparent;
155
155
  --content-padding-block: var(--bloom-s2) var(--bloom-s4);
156
156
  --footer-background-color: transparent;
@@ -5,7 +5,7 @@
5
5
  --border-color: var(--bloom-color-gray-500);
6
6
  --title-color: var(--bloom-color-gray-900);
7
7
  --background-color: var(--bloom-color-white);
8
- --blank-color: var(--bloom-color-gray-750);
8
+ --blank-color: var(--bloom-text-color);
9
9
  --blank-background: var(--bloom-color-gray-200);
10
10
  }
11
11
 
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { Heading } from "../headers/Heading"
2
+ import { Heading } from "../text/Heading"
3
3
  import "./StandardCard.scss"
4
4
 
5
5
  export interface StandardCardProps {
@@ -0,0 +1,30 @@
1
+ .mdx-table {
2
+ width: 100%;
3
+ table-layout: auto;
4
+ white-space: nowrap;
5
+ margin-top: var(--bloom-s8);
6
+ font-size: var(--bloom-font-size-tiny);
7
+
8
+ tr {
9
+ padding: var(--bloom-s4);
10
+ background-color: var(--bloom-color-white) !important;
11
+ }
12
+
13
+ th {
14
+ background-color: var(--bloom-color-primary-lighter);
15
+ text-transform: uppercase;
16
+ font-weight: 700;
17
+ color: var(--bloom-text-color-darker);
18
+ letter-spacing: var(--bloom-letter-spacing-wide);
19
+ }
20
+
21
+ td:not(:first-child) {
22
+ width: 100%;
23
+ }
24
+
25
+ td,
26
+ th {
27
+ padding: var(--bloom-s2) var(--bloom-s4) var(--bloom-s2) var(--bloom-s4);
28
+ border: 1px solid var(--bloom-color-gray-450);
29
+ }
30
+ }
@@ -0,0 +1,25 @@
1
+ import { Canvas, Story, Meta, DocsContainer, Source } from "@storybook/addon-docs"
2
+ import { LargeHeader, LargeHeaderSource, Typography } from "./Utilities"
3
+
4
+ <Meta
5
+ title="Documentation/Utilities"
6
+ parameters={{
7
+ docs: {
8
+ container: ({ children, context }) => (
9
+ <DocsContainer context={context}>
10
+ <div>{children}</div>
11
+ </DocsContainer>
12
+ ),
13
+ },
14
+ }}
15
+ />
16
+
17
+ # Utilities
18
+
19
+ These styles are component agnostic and can be used to ensure UI consistency across the application.
20
+
21
+ ## Typography
22
+
23
+ These classes can be added to any text element in order to give it visual identity and hierarchy.
24
+
25
+ <Typography />
@@ -0,0 +1,67 @@
1
+ import * as React from "react"
2
+ import "./Utilities.scss"
3
+
4
+ interface CustomMdxTableProps {
5
+ data: (string | React.ReactNode)[][]
6
+ headers: (string | React.ReactNode)[]
7
+ }
8
+
9
+ const CustomMdxTable = (props: CustomMdxTableProps) => {
10
+ return (
11
+ <table className={"mdx-table"}>
12
+ {props.headers.length > 0 && (
13
+ <tr>
14
+ {props.headers.map((header) => {
15
+ return <th align="left">{header}</th>
16
+ })}
17
+ </tr>
18
+ )}
19
+
20
+ {props.data.map((row) => {
21
+ return (
22
+ <tr>
23
+ {row.map((cell) => {
24
+ return <td>{cell}</td>
25
+ })}
26
+ </tr>
27
+ )
28
+ })}
29
+ </table>
30
+ )
31
+ }
32
+
33
+ export const Typography = () => {
34
+ return (
35
+ <CustomMdxTable
36
+ headers={["Class", "Example"]}
37
+ data={[
38
+ [
39
+ "text__large-primary",
40
+ <div className={"text__large-primary"}>Large Primary Text Style</div>,
41
+ ],
42
+ [
43
+ "text__medium-normal",
44
+ <div className={"text__medium-normal"}>Medium Normal Text Style</div>,
45
+ ],
46
+ [
47
+ "text__small-weighted",
48
+ <div className={"text__small-weighted"}>Small Weighted Text Style</div>,
49
+ ],
50
+ ["text__small-normal", <div className={"text__small-normal"}>Small Normal Text Style</div>],
51
+ [
52
+ "text__underline-weighted",
53
+ <div className={"text__underline-weighted"}>Underline Weighted Text Style</div>,
54
+ ],
55
+ [
56
+ "text__light-weighted",
57
+ <div className={"text__light-weighted"}>Light Weighted Text Style</div>,
58
+ ],
59
+ [
60
+ "text__caps-weighted",
61
+ <div className={"text__caps-weighted"}>Caps Weighted Text Style</div>,
62
+ ],
63
+ ["text_caps-spaced", <div className={"text_caps-spaced"}>Caps Spaced Text Style</div>],
64
+ ]}
65
+ />
66
+ )
67
+ }
@@ -56,7 +56,7 @@ const DOBField = (props: DOBFieldProps) => {
56
56
  )
57
57
  }
58
58
 
59
- const labelClasses = ["field-label--caps"]
59
+ const labelClasses = ["text_caps-spaced"]
60
60
  if (props.readerOnly) labelClasses.push("sr-only")
61
61
  if (hasError) labelClasses.push("text-alert")
62
62
 
@@ -75,7 +75,7 @@ const Field = (props: FieldProps) => {
75
75
 
76
76
  const label = useMemo(() => {
77
77
  const labelClasses = ["label"]
78
- if (props.caps) labelClasses.push("field-label--caps")
78
+ if (props.caps) labelClasses.push("text_caps-spaced")
79
79
  if (props.primary) labelClasses.push("text-primary")
80
80
  if (props.readerOnly) labelClasses.push("sr-only")
81
81
  if (props.type === "radio") {
@@ -165,7 +165,7 @@ const FieldGroup = ({
165
165
  }
166
166
  return (
167
167
  <div>
168
- {groupLabel && <label className="field-label--caps">{groupLabel}</label>}
168
+ {groupLabel && <label className="text_caps-spaced">{groupLabel}</label>}
169
169
  {groupNote && <p className="field-note mb-4">{groupNote}</p>}
170
170
 
171
171
  <div className={`field ${error && "error"} ${fieldGroupClassName || ""} mb-0`}>
@@ -82,7 +82,7 @@
82
82
  width: 100%;
83
83
  padding: var(--bloom-s1) var(--bloom-s2);
84
84
  font-size: var(--bloom-font-size-sm);
85
- color: var(--bloom-color-gray-750);
85
+ color: var(--bloom-text-color);
86
86
  text-align: right;
87
87
  }
88
88
 
@@ -126,7 +126,7 @@
126
126
 
127
127
  .multi-select-field__option--no-results,
128
128
  .multi-select-field__option[aria-disabled="true"] {
129
- color: var(--bloom-color-gray-750) !important;
129
+ color: var(--bloom-text-color) !important;
130
130
  cursor: not-allowed !important;
131
131
  text-decoration: none !important;
132
132
  }
@@ -22,7 +22,7 @@ export const PhoneField = (props: {
22
22
  dataTestId?: string
23
23
  }) => {
24
24
  const labelClasses = ["label"]
25
- if (props.caps) labelClasses.push("field-label--caps")
25
+ if (props.caps) labelClasses.push("text_caps-spaced")
26
26
  if (props.readerOnly) labelClasses.push("sr-only")
27
27
  /**
28
28
  * we need to handle two different use cases,
@@ -23,7 +23,7 @@
23
23
  }
24
24
 
25
25
  label.sr-only + .control,
26
- label.field-label--caps + .control {
26
+ label.text_caps-spaced + .control {
27
27
  @apply mt-0;
28
28
  }
29
29
 
@@ -31,7 +31,7 @@
31
31
  @apply mt-2;
32
32
  }
33
33
 
34
- .field-label--caps.label + .field-note {
34
+ .text_caps-spaced.label + .field-note {
35
35
  @apply mt-0;
36
36
  }
37
37
 
@@ -256,10 +256,9 @@
256
256
  }
257
257
  }
258
258
 
259
- /* Restore previous Tailwind v1 color */
260
259
  input::placeholder,
261
260
  textarea::placeholder {
262
- color: #a0aec0;
261
+ color: var(--bloom-color-gray-650);
263
262
  }
264
263
 
265
264
  input[type],
@@ -298,17 +297,6 @@ input[type="number"] {
298
297
  @apply text-gray-800;
299
298
  }
300
299
 
301
- .field-label--caps {
302
- @apply font-sans;
303
- @apply uppercase;
304
- @apply text-gray-750;
305
- @apply tracking-widest;
306
- @apply font-semibold;
307
- @apply text-tiny;
308
- @apply mb-3;
309
- @apply inline-block;
310
- }
311
-
312
300
  .field--inline {
313
301
  display: inline-block;
314
302
  }
@@ -116,7 +116,7 @@
116
116
  &.is-warning {
117
117
  background-color: var(--warning-appearance-background-color, var(--bloom-color-warn));
118
118
  border-color: var(--warning-appearance-border-color, var(--bloom-color-warn));
119
- color: var(--warning-appearance-label-color, var(--bloom-color-gray-800));
119
+ color: var(--warning-appearance-label-color, var(--bloom-text-color-dark));
120
120
 
121
121
  &:hover {
122
122
  background-color: var(
@@ -176,7 +176,7 @@
176
176
  }
177
177
 
178
178
  &.is-warning {
179
- color: var(--bloom-color-gray-800);
179
+ color: var(--bloom-text-color-dark);
180
180
 
181
181
  &:hover {
182
182
  color: var(--bloom-color-white);