@bloom-housing/ui-components 10.0.15 → 10.0.16
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/dist/src/page_components/listing/ListingDetailHeader.d.ts +1 -0
- package/dist/src/page_components/listing/ListingDetailHeader.js +4 -2
- package/dist/src/page_components/listing/ListingDetailHeader.js.map +1 -1
- package/dist/src/page_components/listing/ListingDetailHeader.stories.d.ts +9 -0
- package/dist/src/page_components/listing/ListingDetailHeader.stories.js +14 -0
- package/dist/src/page_components/listing/ListingDetailHeader.stories.js.map +1 -0
- package/dist/src/page_components/listing/ListingDetails.d.ts +1 -0
- package/dist/src/page_components/listing/ListingDetails.js +2 -1
- package/dist/src/page_components/listing/ListingDetails.js.map +1 -1
- package/package.json +1 -1
- package/src/global/app-css.scss +0 -1
- package/src/page_components/listing/ContentAccordion.scss +6 -0
- package/src/page_components/listing/ListingDetailHeader.scss +97 -0
- package/src/page_components/listing/ListingDetailHeader.stories.tsx +24 -0
- package/src/page_components/listing/ListingDetailHeader.tsx +5 -2
- package/src/page_components/listing/ListingDetails.scss +11 -0
- package/src/page_components/listing/ListingDetails.tsx +2 -1
- package/src/global/headers.scss +0 -93
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { Icon } from "../../icons/Icon";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import "./ListingDetailHeader.scss";
|
|
4
|
+
var ListingDetailHeader = function (props) { return (React.createElement("header", { className: "detail-header ".concat(props.hideHeader ? "md:hidden" : "") },
|
|
5
|
+
React.createElement("span", { className: "detail-header__image-container" },
|
|
6
|
+
React.createElement("img", { alt: props.imageAlt, className: "detail-header__image ", src: props.imageSrc })),
|
|
5
7
|
React.createElement("hgroup", { className: "detail-header__hgroup" },
|
|
6
8
|
React.createElement("h2", { className: "detail-header__title" }, props.title),
|
|
7
9
|
React.createElement("span", { className: "detail-header__subtitle" }, props.subtitle),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListingDetailHeader.js","sourceRoot":"","sources":["../../../../src/page_components/listing/ListingDetailHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"ListingDetailHeader.js","sourceRoot":"","sources":["../../../../src/page_components/listing/ListingDetailHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,4BAA4B,CAAA;AAYnC,IAAM,mBAAmB,GAAG,UAAC,KAA+B,IAAK,OAAA,CAC/D,gCAAQ,SAAS,EAAE,wBAAiB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE;IACvE,8BAAM,SAAS,EAAE,gCAAgC;QAC/C,6BAAK,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAC,uBAAuB,EAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAI,CAC9E;IACP,gCAAQ,SAAS,EAAC,uBAAuB;QACvC,4BAAI,SAAS,EAAC,sBAAsB,IAAE,KAAK,CAAC,KAAK,CAAM;QACvD,8BAAM,SAAS,EAAC,yBAAyB,IAAE,KAAK,CAAC,QAAQ,CAAQ;QACjE,oBAAC,IAAI,IAAC,MAAM,EAAC,WAAW,EAAC,IAAI,EAAC,QAAQ,GAAG,CAClC,CACF,CACV,EAXgE,CAWhE,CAAA;AAED,OAAO,EAAE,mBAAmB,IAAI,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { BADGES } from "../../../.storybook/constants";
|
|
3
|
+
import { ListingDetailHeader } from "./ListingDetailHeader";
|
|
4
|
+
export default {
|
|
5
|
+
title: "Listing/ListingDetailHeader 🚩",
|
|
6
|
+
parameters: {
|
|
7
|
+
badges: [BADGES.GEN2],
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
export var Default = function () {
|
|
11
|
+
return (React.createElement("div", { style: { maxWidth: "500px" } },
|
|
12
|
+
React.createElement(ListingDetailHeader, { imageAlt: "Building", imageSrc: "https://res.cloudinary.com/exygy/image/upload/w_400,c_limit,q_65/dev/listing-eligibility_advdnd.jpg", title: "Title", subtitle: "Subtitle" })));
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=ListingDetailHeader.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListingDetailHeader.stories.js","sourceRoot":"","sources":["../../../../src/page_components/listing/ListingDetailHeader.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,eAAe;IACb,KAAK,EAAE,gCAAgC;IACvC,UAAU,EAAE;QACV,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;KACtB;CACF,CAAA;AAED,MAAM,CAAC,IAAM,OAAO,GAAG;IACrB,OAAO,CACL,6BAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;QAC/B,oBAAC,mBAAmB,IAClB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAC,qGAAqG,EAC9G,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,UAAU,GACpB,CACE,CACP,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { ResponsiveContentList, ResponsiveContentItem, ResponsiveContentItemHeader, ResponsiveContentItemBody, } from "../../sections/ResponsiveContentList";
|
|
3
3
|
import { ListingDetailHeader } from "./ListingDetailHeader";
|
|
4
|
-
|
|
4
|
+
import "./ListingDetails.scss";
|
|
5
|
+
export var ListingDetails = function (props) { return (React.createElement("div", { className: "details" },
|
|
5
6
|
React.createElement(ResponsiveContentList, null, props.children))); };
|
|
6
7
|
export var ListingDetailItem = function (props) { return (React.createElement(ResponsiveContentItem, { desktopClass: props.desktopClass },
|
|
7
8
|
React.createElement(ResponsiveContentItemHeader, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListingDetails.js","sourceRoot":"","sources":["../../../../src/page_components/listing/ListingDetails.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAA4B,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"ListingDetails.js","sourceRoot":"","sources":["../../../../src/page_components/listing/ListingDetails.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAA4B,MAAM,uBAAuB,CAAA;AACrF,OAAO,uBAAuB,CAAA;AAE9B,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,KAAU,IAAK,OAAA,CAC5C,6BAAK,SAAS,EAAC,SAAS;IACtB,oBAAC,qBAAqB,QAAE,KAAK,CAAC,QAAQ,CAAyB,CAC3D,CACP,EAJ6C,CAI7C,CAAA;AAED,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,KAA+B,IAAK,OAAA,CACpE,oBAAC,qBAAqB,IAAC,YAAY,EAAE,KAAK,CAAC,YAAY;IACrD,oBAAC,2BAA2B;QAC1B,oBAAC,mBAAmB,IAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,UAAU,EAAE,KAAK,CAAC,UAAU,GAC5B,CAC0B;IAC9B,oBAAC,yBAAyB,QAAE,KAAK,CAAC,QAAQ,CAA6B,CACjD,CACzB,EAbqE,CAarE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bloom-housing/ui-components",
|
|
3
|
-
"version": "10.0.
|
|
3
|
+
"version": "10.0.16",
|
|
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/ui-components",
|
package/src/global/app-css.scss
CHANGED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
.detail-header {
|
|
2
|
+
--text-color: var(--bloom-color-primary-darker);
|
|
3
|
+
--subtitle-desktop-font-size: var(--bloom-font-size-sm);
|
|
4
|
+
--subtitle-mobile-font-size: var(--bloom-font-size-sm);
|
|
5
|
+
--title-desktop-font-size: var(--bloom-font-size-2xl);
|
|
6
|
+
--title-mobile-font-size: var(--bloom-font-size-sm);
|
|
7
|
+
--title-desktop-font-family: var(--bloom-font-serif);
|
|
8
|
+
--title-mobile-font-family: var(--bloom-font-alt-sans);
|
|
9
|
+
position: relative;
|
|
10
|
+
padding: var(--bloom-s4) var(--bloom-s4) var(--bloom-s6) var(--bloom-s4);
|
|
11
|
+
border-bottom: 1px solid var(--bloom-color-gray-400);
|
|
12
|
+
color: var(--text-color);
|
|
13
|
+
display: flex;
|
|
14
|
+
justify-content: start;
|
|
15
|
+
|
|
16
|
+
@media (min-width: $screen-md) {
|
|
17
|
+
padding-top: 0;
|
|
18
|
+
padding-bottom: var(--bloom-s8);
|
|
19
|
+
border: none;
|
|
20
|
+
color: var(--bloom-color-gray-800);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.detail-header__image {
|
|
25
|
+
position: absolute;
|
|
26
|
+
width: var(--bloom-s12);
|
|
27
|
+
margin-right: var(--bloom-s2);
|
|
28
|
+
margin-left: 0;
|
|
29
|
+
|
|
30
|
+
@media (min-width: $screen-md) {
|
|
31
|
+
left: 0;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.detail-header__image-container {
|
|
36
|
+
width: auto;
|
|
37
|
+
[dir="rtl"] & {
|
|
38
|
+
width: var(--bloom-s14);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.detail-header__hgroup {
|
|
43
|
+
margin-left: var(--bloom-s12);
|
|
44
|
+
padding-left: var(--bloom-s4);
|
|
45
|
+
|
|
46
|
+
@media (min-width: $screen-md) {
|
|
47
|
+
border-left: 2px solid var(--bloom-color-primary);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
[dir="rtl"] & {
|
|
51
|
+
margin-right: var(--bloom-s4);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.ui-icon {
|
|
55
|
+
position: absolute;
|
|
56
|
+
top: var(--bloom-s4);
|
|
57
|
+
right: var(--bloom-s4);
|
|
58
|
+
|
|
59
|
+
[dir="rtl"] & {
|
|
60
|
+
left: var(--bloom-s4);
|
|
61
|
+
right: auto;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@media (min-width: $screen-md) {
|
|
65
|
+
display: none;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
svg {
|
|
69
|
+
width: var(--bloom-s3);
|
|
70
|
+
height: var(--bloom-s3);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.detail-header__title {
|
|
76
|
+
font-family: var(--title-mobile-font-family);
|
|
77
|
+
text-transform: uppercase;
|
|
78
|
+
font-size: var(--title-mobile-font-size);
|
|
79
|
+
letter-spacing: 0.1rem;
|
|
80
|
+
color: var(--text-color);
|
|
81
|
+
@media (min-width: $screen-md) {
|
|
82
|
+
font-family: var(--title-desktop-font-family);
|
|
83
|
+
font-size: var(--title-desktop-font-size);
|
|
84
|
+
text-transform: none;
|
|
85
|
+
letter-spacing: 0rem;
|
|
86
|
+
color: var(--bloom-color-gray-950);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.detail-header__subtitle {
|
|
91
|
+
font-size: var(--subtitle-mobile-font-size);
|
|
92
|
+
|
|
93
|
+
@media (min-width: $screen-md) {
|
|
94
|
+
color: var(--bloom-color-gray-800);
|
|
95
|
+
font-size: var(--subtitle-desktop-font-size);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as React from "react"
|
|
2
|
+
import { BADGES } from "../../../.storybook/constants"
|
|
3
|
+
|
|
4
|
+
import { ListingDetailHeader } from "./ListingDetailHeader"
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
title: "Listing/ListingDetailHeader 🚩",
|
|
8
|
+
parameters: {
|
|
9
|
+
badges: [BADGES.GEN2],
|
|
10
|
+
},
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const Default = () => {
|
|
14
|
+
return (
|
|
15
|
+
<div style={{ maxWidth: "500px" }}>
|
|
16
|
+
<ListingDetailHeader
|
|
17
|
+
imageAlt={"Building"}
|
|
18
|
+
imageSrc="https://res.cloudinary.com/exygy/image/upload/w_400,c_limit,q_65/dev/listing-eligibility_advdnd.jpg"
|
|
19
|
+
title={"Title"}
|
|
20
|
+
subtitle={"Subtitle"}
|
|
21
|
+
/>
|
|
22
|
+
</div>
|
|
23
|
+
)
|
|
24
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react"
|
|
2
2
|
import { Icon } from "../../icons/Icon"
|
|
3
|
+
import "./ListingDetailHeader.scss"
|
|
3
4
|
|
|
4
5
|
export interface ListingDetailHeaderProps {
|
|
5
6
|
imageAlt: string
|
|
@@ -12,8 +13,10 @@ export interface ListingDetailHeaderProps {
|
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
const ListingDetailHeader = (props: ListingDetailHeaderProps) => (
|
|
15
|
-
<header className={props.hideHeader ? "
|
|
16
|
-
<
|
|
16
|
+
<header className={`detail-header ${props.hideHeader ? "md:hidden" : ""}`}>
|
|
17
|
+
<span className={"detail-header__image-container"}>
|
|
18
|
+
<img alt={props.imageAlt} className="detail-header__image " src={props.imageSrc} />
|
|
19
|
+
</span>
|
|
17
20
|
<hgroup className="detail-header__hgroup">
|
|
18
21
|
<h2 className="detail-header__title">{props.title}</h2>
|
|
19
22
|
<span className="detail-header__subtitle">{props.subtitle}</span>
|
|
@@ -6,9 +6,10 @@ import {
|
|
|
6
6
|
ResponsiveContentItemBody,
|
|
7
7
|
} from "../../sections/ResponsiveContentList"
|
|
8
8
|
import { ListingDetailHeader, ListingDetailHeaderProps } from "./ListingDetailHeader"
|
|
9
|
+
import "./ListingDetails.scss"
|
|
9
10
|
|
|
10
11
|
export const ListingDetails = (props: any) => (
|
|
11
|
-
<div className="
|
|
12
|
+
<div className="details">
|
|
12
13
|
<ResponsiveContentList>{props.children}</ResponsiveContentList>
|
|
13
14
|
</div>
|
|
14
15
|
)
|
package/src/global/headers.scss
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
// Listing Detail
|
|
2
|
-
.detail-header {
|
|
3
|
-
@apply relative;
|
|
4
|
-
@apply pr-4;
|
|
5
|
-
@apply pb-6;
|
|
6
|
-
@apply pl-4;
|
|
7
|
-
@apply pt-4;
|
|
8
|
-
@apply border-b;
|
|
9
|
-
@apply border-gray-400;
|
|
10
|
-
@apply text-primary-darker;
|
|
11
|
-
|
|
12
|
-
@screen md {
|
|
13
|
-
@apply pt-0;
|
|
14
|
-
@apply pb-8;
|
|
15
|
-
@apply text-xs;
|
|
16
|
-
@apply border-none;
|
|
17
|
-
@apply text-gray-800;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.detail-header__image {
|
|
22
|
-
@apply absolute;
|
|
23
|
-
@apply w-12;
|
|
24
|
-
@apply mr-2;
|
|
25
|
-
|
|
26
|
-
@screen md {
|
|
27
|
-
@apply left-0;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.detail-header__hgroup {
|
|
32
|
-
@apply ml-12;
|
|
33
|
-
@apply pl-4;
|
|
34
|
-
|
|
35
|
-
@screen md {
|
|
36
|
-
@apply border-l-2;
|
|
37
|
-
@apply border-primary;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.ui-icon {
|
|
41
|
-
@apply absolute;
|
|
42
|
-
top: 1rem;
|
|
43
|
-
right: 1rem;
|
|
44
|
-
|
|
45
|
-
@screen md {
|
|
46
|
-
@apply hidden;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
svg {
|
|
50
|
-
@apply w-3;
|
|
51
|
-
@apply h-3;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
.detail-header__title {
|
|
57
|
-
@apply font-alt-sans;
|
|
58
|
-
@apply uppercase;
|
|
59
|
-
@apply text-sm;
|
|
60
|
-
@apply tracking-widest;
|
|
61
|
-
@apply text-primary-darker;
|
|
62
|
-
|
|
63
|
-
@screen md {
|
|
64
|
-
@apply text-black;
|
|
65
|
-
@apply font-serif;
|
|
66
|
-
@apply text-2xl;
|
|
67
|
-
@apply normal-case;
|
|
68
|
-
@apply tracking-normal;
|
|
69
|
-
@apply text-gray-950;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.detail-header__subtitle {
|
|
74
|
-
@apply text-sm;
|
|
75
|
-
|
|
76
|
-
@screen md {
|
|
77
|
-
@apply text-gray-750;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.toggle-header {
|
|
82
|
-
@apply bg-primary-light;
|
|
83
|
-
@apply p-4;
|
|
84
|
-
@apply border-b;
|
|
85
|
-
@apply border-primary;
|
|
86
|
-
display: flex;
|
|
87
|
-
justify-content: space-between;
|
|
88
|
-
}
|
|
89
|
-
.toggle-header-content {
|
|
90
|
-
@apply font-sans;
|
|
91
|
-
@apply text-sm;
|
|
92
|
-
@apply text-gray-800;
|
|
93
|
-
}
|