@bloom-housing/ui-components 5.1.1-alpha.9 → 6.0.0
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.
- package/CHANGELOG.md +54 -0
- package/index.ts +1 -0
- package/package.json +4 -2
- package/src/actions/ButtonGroup.docs.mdx +30 -0
- package/src/actions/ButtonGroup.scss +61 -0
- package/src/actions/ButtonGroup.tsx +42 -0
- package/src/blocks/FormCard.scss +1 -8
- package/src/headers/SiteHeader.tsx +3 -3
- package/src/locales/general.json +2 -0
- package/src/navigation/ProgressNav.scss +2 -1
- package/src/overlays/Drawer.scss +7 -0
- package/src/overlays/Modal.scss +0 -1
- package/src/page_components/listing/listing_sidebar/events/EventSection.tsx +1 -1
- package/src/prototypes/Swatch.tsx +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,60 @@
|
|
|
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.0](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@5.1.0...@bloom-housing/ui-components@6.0.0) (2022-08-25)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
* 2022-08-24 release (#2993) ([6f1deac](https://github.com/bloom-housing/bloom/commit/6f1deac5370fa8286b051b09431d153d22901b3a)), closes [#2993](https://github.com/bloom-housing/bloom/issues/2993) [#2821](https://github.com/bloom-housing/bloom/issues/2821) [#2764](https://github.com/bloom-housing/bloom/issues/2764) [#2767](https://github.com/bloom-housing/bloom/issues/2767) [#2787](https://github.com/bloom-housing/bloom/issues/2787) [#2769](https://github.com/bloom-housing/bloom/issues/2769) [#2781](https://github.com/bloom-housing/bloom/issues/2781) [#2827](https://github.com/bloom-housing/bloom/issues/2827) [Issue#2827](https://github.com/Issue/issues/2827) [#2788](https://github.com/bloom-housing/bloom/issues/2788) [#2842](https://github.com/bloom-housing/bloom/issues/2842) [#2822](https://github.com/bloom-housing/bloom/issues/2822) [#2847](https://github.com/bloom-housing/bloom/issues/2847) [#2830](https://github.com/bloom-housing/bloom/issues/2830) [#2788](https://github.com/bloom-housing/bloom/issues/2788) [#2842](https://github.com/bloom-housing/bloom/issues/2842) [#2827](https://github.com/bloom-housing/bloom/issues/2827) [Issue#2827](https://github.com/Issue/issues/2827) [#2822](https://github.com/bloom-housing/bloom/issues/2822) [#2846](https://github.com/bloom-housing/bloom/issues/2846) [#2851](https://github.com/bloom-housing/bloom/issues/2851) [#2594](https://github.com/bloom-housing/bloom/issues/2594) [#2812](https://github.com/bloom-housing/bloom/issues/2812) [#2799](https://github.com/bloom-housing/bloom/issues/2799) [#2828](https://github.com/bloom-housing/bloom/issues/2828) [#2843](https://github.com/bloom-housing/bloom/issues/2843) [#2827](https://github.com/bloom-housing/bloom/issues/2827) [#2875](https://github.com/bloom-housing/bloom/issues/2875) [#2859](https://github.com/bloom-housing/bloom/issues/2859) [#2848](https://github.com/bloom-housing/bloom/issues/2848) [#2785](https://github.com/bloom-housing/bloom/issues/2785)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### BREAKING CHANGES
|
|
13
|
+
|
|
14
|
+
* prop name change for header from "text" to "content"
|
|
15
|
+
|
|
16
|
+
* chore(release): version
|
|
17
|
+
|
|
18
|
+
- @bloom-housing/shared-helpers@5.0.1-alpha.2
|
|
19
|
+
- @bloom-housing/partners@5.0.1-alpha.2
|
|
20
|
+
- @bloom-housing/public@5.0.1-alpha.2
|
|
21
|
+
- @bloom-housing/ui-components@5.0.1-alpha.1
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## [5.1.1-alpha.12](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@5.1.1-alpha.11...@bloom-housing/ui-components@5.1.1-alpha.12) (2022-08-24)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
### Features
|
|
31
|
+
|
|
32
|
+
* show preference details on listing form ([#2989](https://github.com/bloom-housing/bloom/issues/2989)) ([b4b2b9e](https://github.com/bloom-housing/bloom/commit/b4b2b9ee75c4895ea5b0694dddbf0c8979c0e251))
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## [5.1.1-alpha.11](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@5.1.1-alpha.10...@bloom-housing/ui-components@5.1.1-alpha.11) (2022-08-23)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
* refactor!: preferences & programs data model merged (#2904) ([8e027ff](https://github.com/bloom-housing/bloom/commit/8e027ff905118f36c61bc0f974231d9bb8911131)), closes [#2904](https://github.com/bloom-housing/bloom/issues/2904)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
### BREAKING CHANGES
|
|
45
|
+
|
|
46
|
+
* The preference and program entities have been merged into a single entity called MultiselectQuestion
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## [5.1.1-alpha.10](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@5.1.1-alpha.9...@bloom-housing/ui-components@5.1.1-alpha.10) (2022-08-23)
|
|
53
|
+
|
|
54
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
6
60
|
## [5.1.1-alpha.9](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@5.1.1-alpha.8...@bloom-housing/ui-components@5.1.1-alpha.9) (2022-08-22)
|
|
7
61
|
|
|
8
62
|
|
package/index.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bloom-housing/ui-components",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
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",
|
|
@@ -85,6 +85,7 @@
|
|
|
85
85
|
"@types/react-dom": "^16.9.5",
|
|
86
86
|
"@types/react-text-mask": "^5.4.6",
|
|
87
87
|
"@types/react-transition-group": "^4.4.0",
|
|
88
|
+
"@types/sanitize-html": "^2.6.2",
|
|
88
89
|
"ag-grid-community": "^26.0.0",
|
|
89
90
|
"ag-grid-react": "^26.0.0",
|
|
90
91
|
"aria-autocomplete": "^1.4.0",
|
|
@@ -106,9 +107,10 @@
|
|
|
106
107
|
"react-tabs": "^3.2.2",
|
|
107
108
|
"react-text-mask": "^5.4.3",
|
|
108
109
|
"react-transition-group": "^4.4.1",
|
|
110
|
+
"sanitize-html": "^2.7.1",
|
|
109
111
|
"tailwindcss": "2.2.10",
|
|
110
112
|
"ts-jest": "^26.4.1",
|
|
111
113
|
"typesafe-actions": "^5.1.0"
|
|
112
114
|
},
|
|
113
|
-
"gitHead": "
|
|
115
|
+
"gitHead": "4144d01ef184f31f6fd2c943ee2487025170126c"
|
|
114
116
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Canvas, Story, ArgsTable } from "@storybook/addon-docs"
|
|
2
|
+
import { Swatch } from "../prototypes/Swatch"
|
|
3
|
+
import { ButtonGroup } from "./ButtonGroup"
|
|
4
|
+
|
|
5
|
+
# ButtonGroup
|
|
6
|
+
|
|
7
|
+
The button group component lets you place multiple buttons along a horizontal or vertical (mobile primarily) axis and group/space buttons according to some simple flex rules.
|
|
8
|
+
|
|
9
|
+
<Canvas>
|
|
10
|
+
<Story id="actions-button-group--two-columns" />
|
|
11
|
+
</Canvas>
|
|
12
|
+
|
|
13
|
+
<br />
|
|
14
|
+
<br />
|
|
15
|
+
|
|
16
|
+
## Component Properties
|
|
17
|
+
|
|
18
|
+
<ArgsTable of={ButtonGroup} />
|
|
19
|
+
|
|
20
|
+
## Theming Variables
|
|
21
|
+
|
|
22
|
+
You can apply CSS variables to the `.button-group` selector to customize the appearance of the component.
|
|
23
|
+
|
|
24
|
+
| Name | Type | Description | Default |
|
|
25
|
+
| -------------------------- | ----- | ----------------------------------------------------------------------------------- | --------------------------------------------------- |
|
|
26
|
+
| `--background-color` | Color | Background behind the buttons | <Swatch colorVar="--bloom-color-primary-lighter" /> |
|
|
27
|
+
| `--padding-block` | Size | The space around the buttons in the block (vertical) direction | `--bloom-s8` |
|
|
28
|
+
| `--padding-inline-desktop` | Size | The space around the buttons in the inline (horizontal) direction on larger screens | `--bloom-s16` |
|
|
29
|
+
| `--padding-inline-mobile` | Size | The space around the buttons in the inline (horizontal) direction on small screens | `--bloom-s4` |
|
|
30
|
+
| `--inner-button-gap` | Size | The gap between buttons whether in separate columns or within the same column | `--bloom-s3` |
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
.button-group {
|
|
2
|
+
--background-color: var(--bloom-color-primary-lighter);
|
|
3
|
+
--padding-block: var(--bloom-s8);
|
|
4
|
+
--padding-inline-desktop: var(--bloom-s16);
|
|
5
|
+
--padding-inline-mobile: var(--bloom-s4);
|
|
6
|
+
--inner-button-gap: var(--bloom-s3);
|
|
7
|
+
|
|
8
|
+
--padding-inline: var(--padding-inline-desktop);
|
|
9
|
+
|
|
10
|
+
@media (max-width: $screen-sm) {
|
|
11
|
+
--padding-inline: var(--padding-inline-mobile);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
background-color: var(--background-color);
|
|
15
|
+
padding-block: var(--padding-block);
|
|
16
|
+
padding-inline: var(--padding-inline);
|
|
17
|
+
display: flex;
|
|
18
|
+
flex-wrap: wrap;
|
|
19
|
+
gap: var(--inner-button-gap);
|
|
20
|
+
|
|
21
|
+
& > .button-group__column {
|
|
22
|
+
display: flex;
|
|
23
|
+
gap: var(--inner-button-gap);
|
|
24
|
+
|
|
25
|
+
.button {
|
|
26
|
+
@media (max-width: $screen-sm) {
|
|
27
|
+
--normal-rounded: var(--small-rounded);
|
|
28
|
+
--normal-padding: var(--small-padding);
|
|
29
|
+
--normal-font-size: var(--small-font-size);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&.has-between-spacing {
|
|
35
|
+
justify-content: space-between;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&.has-even-spacing {
|
|
39
|
+
justify-content: space-evenly;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&.has-fullwidth-mobile-buttons {
|
|
43
|
+
&,
|
|
44
|
+
& > .button-group__column {
|
|
45
|
+
@media (max-width: $screen-sm) {
|
|
46
|
+
flex-direction: column;
|
|
47
|
+
|
|
48
|
+
.button {
|
|
49
|
+
width: 100%;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&.is-reversed {
|
|
56
|
+
&,
|
|
57
|
+
& > .button-group__column {
|
|
58
|
+
flex-direction: row-reverse;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from "react"
|
|
2
|
+
import "./ButtonGroup.scss"
|
|
3
|
+
|
|
4
|
+
export enum ButtonGroupSpacing {
|
|
5
|
+
between = "between",
|
|
6
|
+
even = "even",
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface ButtonGroupProps {
|
|
10
|
+
/** Pass either Button components in, or fragments which can contain one or more buttons */
|
|
11
|
+
columns: React.ReactNodeArray
|
|
12
|
+
/** Between spacing pushes the columns far apart, even spacing keeps them closer together */
|
|
13
|
+
spacing?: ButtonGroupSpacing
|
|
14
|
+
/** When true, buttons will collapse to a single column on small screens and go full-width */
|
|
15
|
+
fullwidthMobile?: boolean
|
|
16
|
+
/** When true, the flex ordering of columns will reverse (aka RTL) */
|
|
17
|
+
reversed?: boolean
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const ButtonGroup = ({
|
|
21
|
+
spacing = ButtonGroupSpacing.between,
|
|
22
|
+
columns,
|
|
23
|
+
fullwidthMobile,
|
|
24
|
+
reversed,
|
|
25
|
+
}: ButtonGroupProps) => {
|
|
26
|
+
const spacingClassName = `has-${spacing}-spacing`
|
|
27
|
+
const classNames = ["button-group", spacingClassName]
|
|
28
|
+
if (fullwidthMobile) classNames.push("has-fullwidth-mobile-buttons")
|
|
29
|
+
if (reversed) classNames.push("is-reversed")
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<div className={classNames.join(" ")}>
|
|
33
|
+
{columns.map((column, index) => (
|
|
34
|
+
<div key={index} className="button-group__column">
|
|
35
|
+
{column}
|
|
36
|
+
</div>
|
|
37
|
+
))}
|
|
38
|
+
</div>
|
|
39
|
+
)
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export { ButtonGroup as default, ButtonGroup }
|
package/src/blocks/FormCard.scss
CHANGED
|
@@ -69,7 +69,6 @@
|
|
|
69
69
|
|
|
70
70
|
@screen print {
|
|
71
71
|
@apply py-2;
|
|
72
|
-
@apply px-0;
|
|
73
72
|
}
|
|
74
73
|
}
|
|
75
74
|
|
|
@@ -87,13 +86,7 @@
|
|
|
87
86
|
}
|
|
88
87
|
|
|
89
88
|
.form-card__group {
|
|
90
|
-
@
|
|
91
|
-
@apply px-8;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
@screen print {
|
|
95
|
-
@apply px-0;
|
|
96
|
-
}
|
|
89
|
+
@apply px-8;
|
|
97
90
|
}
|
|
98
91
|
|
|
99
92
|
.form-card__header {
|
|
@@ -147,7 +147,7 @@ const SiteHeader = (props: SiteHeaderProps) => {
|
|
|
147
147
|
}
|
|
148
148
|
dropdownOptionKeyDown(event, index)
|
|
149
149
|
}}
|
|
150
|
-
data-test-id={`${option.title}
|
|
150
|
+
data-test-id={`${option.title}`}
|
|
151
151
|
>
|
|
152
152
|
{dropdownOptionContent(option)}
|
|
153
153
|
</button>
|
|
@@ -301,7 +301,7 @@ const SiteHeader = (props: SiteHeaderProps) => {
|
|
|
301
301
|
className={`navbar-link ${props.menuItemClassName && props.menuItemClassName}`}
|
|
302
302
|
href={menuLink.href}
|
|
303
303
|
key={`${menuLink.title}-${index}`}
|
|
304
|
-
data-test-id={`${menuLink.title}
|
|
304
|
+
data-test-id={`${menuLink.title}`}
|
|
305
305
|
>
|
|
306
306
|
{menuContent}
|
|
307
307
|
</LinkComponent>
|
|
@@ -340,8 +340,8 @@ const SiteHeader = (props: SiteHeaderProps) => {
|
|
|
340
340
|
}}
|
|
341
341
|
onMouseEnter={() => changeMenuShow(menuLink.title, activeMenus, setActiveMenus)}
|
|
342
342
|
onMouseLeave={() => changeMenuShow(menuLink.title, activeMenus, setActiveMenus)}
|
|
343
|
-
data-test-id={`${menuLink.title}-${index}`}
|
|
344
343
|
role={"button"}
|
|
344
|
+
data-test-id={`${menuLink.title}`}
|
|
345
345
|
>
|
|
346
346
|
{menuContent}
|
|
347
347
|
</span>
|
package/src/locales/general.json
CHANGED
|
@@ -345,6 +345,7 @@
|
|
|
345
345
|
"application.programs.rentBasedOnIncome.flatRent.description": "I would like to apply for an affordable flat rent apartment, which has a set monthly rent amount that is below market rate. Note - applicants with Section 8 Mobile Housing Choice Vouchers (HCV) are welcome to apply.",
|
|
346
346
|
"application.programs.rentBasedOnIncome.flatRent.label": "Affordable apartment with flat rent",
|
|
347
347
|
"application.programs.rentBasedOnIncome.summary": "Flat Rent & Rent Based on Income",
|
|
348
|
+
"application.programs.selectBelow": "Please select all that apply:",
|
|
348
349
|
"application.programs.servedInMilitary.doNotConsider.label": "No",
|
|
349
350
|
"application.programs.servedInMilitary.servedInMilitary.label": "Yes",
|
|
350
351
|
"application.programs.servedInMilitary.summary": "Veteran of the US Military",
|
|
@@ -909,6 +910,7 @@
|
|
|
909
910
|
"t.preferNotToSay": "Prefer not to say",
|
|
910
911
|
"t.preferences": "Preferences",
|
|
911
912
|
"t.previous": "Previous",
|
|
913
|
+
"t.programs": "Programs",
|
|
912
914
|
"t.propertyAmenities": "Property Amenities",
|
|
913
915
|
"t.range": "%{from} to %{to}",
|
|
914
916
|
"t.readLess": "read less",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
.progress-nav__item {
|
|
11
11
|
@apply text-2xs;
|
|
12
|
-
@apply px-
|
|
12
|
+
@apply px-1;
|
|
13
13
|
@apply py-3;
|
|
14
14
|
@apply relative;
|
|
15
15
|
@apply text-center;
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
@screen md {
|
|
23
23
|
@apply text-sm;
|
|
24
24
|
@apply p-0;
|
|
25
|
+
@apply px-2;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
&:before {
|
package/src/overlays/Drawer.scss
CHANGED
package/src/overlays/Modal.scss
CHANGED