@universityofmaryland/web-elements-library 1.5.8 → 1.6.0-beta.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/README.md +1 -1
- package/dist/atomic/_types.d.ts +1 -1
- package/dist/atomic/_types.d.ts.map +1 -1
- package/dist/atomic/events/sign.d.ts.map +1 -1
- package/dist/atomic/events/sign.js +1 -7
- package/dist/atomic/events/sign.js.map +1 -1
- package/dist/atomic/events/sign.mjs +1 -6
- package/dist/atomic/events/sign.mjs.map +1 -1
- package/dist/atomic/layout/person/columns.d.ts +2 -2
- package/dist/atomic/layout/person/columns.d.ts.map +1 -1
- package/dist/atomic/layout/person/columns.js +7 -5
- package/dist/atomic/layout/person/columns.js.map +1 -1
- package/dist/atomic/layout/person/columns.mjs +7 -5
- package/dist/atomic/layout/person/columns.mjs.map +1 -1
- package/dist/atomic/text-lockup/contact.d.ts +1 -1
- package/dist/atomic/text-lockup/contact.d.ts.map +1 -1
- package/dist/atomic/text-lockup/contact.js +3 -3
- package/dist/atomic/text-lockup/contact.js.map +1 -1
- package/dist/atomic/text-lockup/contact.mjs +3 -3
- package/dist/atomic/text-lockup/contact.mjs.map +1 -1
- package/dist/atomic/text-lockup/person.d.ts.map +1 -1
- package/dist/atomic/text-lockup/person.js +3 -3
- package/dist/atomic/text-lockup/person.js.map +1 -1
- package/dist/atomic/text-lockup/person.mjs +3 -3
- package/dist/atomic/text-lockup/person.mjs.map +1 -1
- package/dist/composite/carousel/elements/overlay.js +2 -0
- package/dist/composite/carousel/elements/overlay.js.map +1 -1
- package/dist/composite/carousel/elements/overlay.mjs +2 -0
- package/dist/composite/carousel/elements/overlay.mjs.map +1 -1
- package/dist/composite/media/inline/caption.js +2 -0
- package/dist/composite/media/inline/caption.js.map +1 -1
- package/dist/composite/media/inline/caption.mjs +2 -0
- package/dist/composite/media/inline/caption.mjs.map +1 -1
- package/dist/composite/media/inline/standard.js +3 -0
- package/dist/composite/media/inline/standard.js.map +1 -1
- package/dist/composite/media/inline/standard.mjs +3 -0
- package/dist/composite/media/inline/standard.mjs.map +1 -1
- package/dist/composite/media/inline/wrapped.js +2 -0
- package/dist/composite/media/inline/wrapped.js.map +1 -1
- package/dist/composite/media/inline/wrapped.mjs +2 -0
- package/dist/composite/media/inline/wrapped.mjs.map +1 -1
- package/dist/composite/person/_types.d.ts +2 -2
- package/dist/composite/person/_types.d.ts.map +1 -1
- package/dist/composite/person/block.d.ts.map +1 -1
- package/dist/composite/person/block.js +1 -0
- package/dist/composite/person/block.js.map +1 -1
- package/dist/composite/person/block.mjs +1 -0
- package/dist/composite/person/block.mjs.map +1 -1
- package/dist/composite/person/list.d.ts +1 -1
- package/dist/composite/person/list.d.ts.map +1 -1
- package/dist/composite/person/list.js +5 -3
- package/dist/composite/person/list.js.map +1 -1
- package/dist/composite/person/list.mjs +5 -3
- package/dist/composite/person/list.mjs.map +1 -1
- package/dist/composite/person/tabular.d.ts +1 -1
- package/dist/composite/person/tabular.d.ts.map +1 -1
- package/dist/composite/person/tabular.js +3 -3
- package/dist/composite/person/tabular.js.map +1 -1
- package/dist/composite/person/tabular.mjs +3 -3
- package/dist/composite/person/tabular.mjs.map +1 -1
- package/dist/composite/quote/elements/action.d.ts.map +1 -1
- package/dist/composite/quote/elements/action.js +1 -0
- package/dist/composite/quote/elements/action.js.map +1 -1
- package/dist/composite/quote/elements/action.mjs +1 -0
- package/dist/composite/quote/elements/action.mjs.map +1 -1
- package/dist/layout/grid-border.d.ts +9 -0
- package/dist/layout/grid-border.d.ts.map +1 -0
- package/dist/layout/grid-border.js +55 -0
- package/dist/layout/grid-border.js.map +1 -0
- package/dist/layout/grid-border.mjs +39 -0
- package/dist/layout/grid-border.mjs.map +1 -0
- package/dist/layout/grid-gap.d.ts +8 -0
- package/dist/layout/grid-gap.d.ts.map +1 -0
- package/dist/layout/grid-gap.js +31 -0
- package/dist/layout/grid-gap.js.map +1 -0
- package/dist/layout/grid-gap.mjs +32 -0
- package/dist/layout/grid-gap.mjs.map +1 -0
- package/dist/layout/grid-offset.d.ts +13 -0
- package/dist/layout/grid-offset.d.ts.map +1 -0
- package/dist/layout/grid-offset.js +71 -0
- package/dist/layout/grid-offset.js.map +1 -0
- package/dist/layout/grid-offset.mjs +72 -0
- package/dist/layout/grid-offset.mjs.map +1 -0
- package/dist/layout/grid.d.ts +8 -0
- package/dist/layout/grid.d.ts.map +1 -0
- package/dist/layout/grid.js +30 -0
- package/dist/layout/grid.js.map +1 -0
- package/dist/layout/grid.mjs +31 -0
- package/dist/layout/grid.mjs.map +1 -0
- package/dist/layout/index.d.ts +5 -0
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/stacked.d.ts +10 -0
- package/dist/layout/stacked.d.ts.map +1 -0
- package/dist/layout/stacked.js +28 -0
- package/dist/layout/stacked.js.map +1 -0
- package/dist/layout/stacked.mjs +29 -0
- package/dist/layout/stacked.mjs.map +1 -0
- package/dist/layout.js +10 -0
- package/dist/layout.js.map +1 -1
- package/dist/layout.mjs +11 -1
- package/dist/layout.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# University of Maryland Web Elements Library
|
|
2
2
|
|
|
3
|
-
[](https://www.npmjs.com/package/@universityofmaryland/web-elements-library)
|
|
4
4
|
|
|
5
5
|
Foundational UI building blocks for the UMD Design System, providing atomic elements that combine to create complex, accessible, and brand-compliant University of Maryland digital experiences.
|
|
6
6
|
|
package/dist/atomic/_types.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export interface PersonContactProps extends PersonCtaProps, Pick<ThemeProps, 'is
|
|
|
6
6
|
additionalContact?: ContentElement;
|
|
7
7
|
address?: ContentElement;
|
|
8
8
|
email?: ContentElement;
|
|
9
|
-
|
|
9
|
+
linkedin?: ContentElement;
|
|
10
10
|
phone?: ContentElement;
|
|
11
11
|
}
|
|
12
12
|
export interface PersonTextLockupProps extends PersonCtaProps, Pick<ThemeProps, 'isThemeDark'> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_types.d.ts","sourceRoot":"","sources":["../../source/atomic/_types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAKD,MAAM,WAAW,kBACf,SAAQ,cAAc,EACpB,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;IACjC,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,
|
|
1
|
+
{"version":3,"file":"_types.d.ts","sourceRoot":"","sources":["../../source/atomic/_types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAKD,MAAM,WAAW,kBACf,SAAQ,cAAc,EACpB,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;IACjC,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAGD,MAAM,WAAW,qBACf,SAAQ,cAAc,EACpB,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;IACjC,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,aAAa,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAGD,MAAM,WAAW,4BAA6B,SAAQ,kBAAkB;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,+BAAgC,SAAQ,qBAAqB;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAGD,MAAM,WAAW,eACf,SAAQ,qBAAqB,EAC3B,kBAAkB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAGD,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../source/atomic/events/sign.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../source/atomic/events/sign.ts"],"names":[],"mappings":"yBAgIgB,OAAO;IACrB,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAPD,wBA+DE"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const webBuilderLibrary = require("@universityofmaryland/web-builder-library");
|
|
3
|
-
const token = require("@universityofmaryland/web-token-library");
|
|
4
3
|
const typography = require("@universityofmaryland/web-styles-library/typography");
|
|
5
4
|
const elementStyles = require("@universityofmaryland/web-styles-library/element");
|
|
6
5
|
const theme = require("@universityofmaryland/web-utilities-library/theme");
|
|
@@ -20,7 +19,6 @@ function _interopNamespaceDefault(e) {
|
|
|
20
19
|
n.default = e;
|
|
21
20
|
return Object.freeze(n);
|
|
22
21
|
}
|
|
23
|
-
const token__namespace = /* @__PURE__ */ _interopNamespaceDefault(token);
|
|
24
22
|
const typography__namespace = /* @__PURE__ */ _interopNamespaceDefault(typography);
|
|
25
23
|
const elementStyles__namespace = /* @__PURE__ */ _interopNamespaceDefault(elementStyles);
|
|
26
24
|
const makeDateElement = ({
|
|
@@ -83,11 +81,7 @@ const makeStartDateBlock = ({
|
|
|
83
81
|
isMultiDay,
|
|
84
82
|
isThemeDark
|
|
85
83
|
});
|
|
86
|
-
return new webBuilderLibrary.ElementBuilder("p").withClassName("event-sign-start").withStyles({
|
|
87
|
-
subElement: {
|
|
88
|
-
color: token__namespace.color.black
|
|
89
|
-
}
|
|
90
|
-
}).withChildren(monthElement, dayElement).build();
|
|
84
|
+
return new webBuilderLibrary.ElementBuilder("p").withClassName("event-sign-start").withStyles({}).withChildren(monthElement, dayElement).build();
|
|
91
85
|
};
|
|
92
86
|
const makeEndDateBlock = ({
|
|
93
87
|
endMonth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.js","sources":["../../../source/atomic/events/sign.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport { theme } from '@universityofmaryland/web-utilities-library/theme';\n\nconst makeDateElement = ({\n element,\n isMonth,\n isDay,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n}: {\n element: string | HTMLElement;\n isMonth?: boolean;\n isDay?: boolean;\n isLargeSize?: boolean;\n isMultiDay?: boolean;\n isThemeDark?: boolean;\n}) => {\n const dateElement = document.createElement('span');\n if (typeof element === 'string') {\n dateElement.innerHTML = element;\n } else {\n dateElement.appendChild(element);\n }\n\n if (isDay && isLargeSize && !isMultiDay) {\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('extralarge', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .build();\n }\n\n if (isDay) {\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('larger', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .build();\n }\n\n if (isMonth && isLargeSize && !isMultiDay) {\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('small', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .build();\n }\n\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('min', { theme: theme.fontColor(isThemeDark) }),\n )\n .build();\n};\n\nconst makeStartDateBlock = ({\n startMonth,\n startDay,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n}: {\n startMonth: string | HTMLElement;\n startDay: string | HTMLElement;\n isLargeSize?: boolean;\n isMultiDay?: boolean;\n isThemeDark?: boolean;\n}) => {\n const monthElement = makeDateElement({\n element: startMonth,\n isMonth: true,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n });\n const dayElement = makeDateElement({\n element: startDay,\n isDay: true,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n });\n\n return new ElementBuilder('p')\n .withClassName('event-sign-start')\n .withStyles({
|
|
1
|
+
{"version":3,"file":"sign.js","sources":["../../../source/atomic/events/sign.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport { theme } from '@universityofmaryland/web-utilities-library/theme';\n\nconst makeDateElement = ({\n element,\n isMonth,\n isDay,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n}: {\n element: string | HTMLElement;\n isMonth?: boolean;\n isDay?: boolean;\n isLargeSize?: boolean;\n isMultiDay?: boolean;\n isThemeDark?: boolean;\n}) => {\n const dateElement = document.createElement('span');\n if (typeof element === 'string') {\n dateElement.innerHTML = element;\n } else {\n dateElement.appendChild(element);\n }\n\n if (isDay && isLargeSize && !isMultiDay) {\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('extralarge', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .build();\n }\n\n if (isDay) {\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('larger', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .build();\n }\n\n if (isMonth && isLargeSize && !isMultiDay) {\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('small', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .build();\n }\n\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('min', { theme: theme.fontColor(isThemeDark) }),\n )\n .build();\n};\n\nconst makeStartDateBlock = ({\n startMonth,\n startDay,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n}: {\n startMonth: string | HTMLElement;\n startDay: string | HTMLElement;\n isLargeSize?: boolean;\n isMultiDay?: boolean;\n isThemeDark?: boolean;\n}) => {\n const monthElement = makeDateElement({\n element: startMonth,\n isMonth: true,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n });\n const dayElement = makeDateElement({\n element: startDay,\n isDay: true,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n });\n\n return new ElementBuilder('p')\n .withClassName('event-sign-start')\n .withStyles({})\n .withChildren(monthElement, dayElement)\n .build();\n};\n\nconst makeEndDateBlock = ({\n endMonth,\n endDay,\n isThemeDark,\n}: {\n endDay: string | HTMLElement;\n endMonth: string | HTMLElement;\n isThemeDark?: boolean;\n}) => {\n const monthElement = makeDateElement({\n element: endMonth,\n isMonth: true,\n isMultiDay: true,\n isThemeDark,\n });\n const dayElement = makeDateElement({\n element: endDay,\n isDay: true,\n isMultiDay: true,\n isThemeDark,\n });\n\n return new ElementBuilder('p')\n .withClassName('event-sign-end')\n .withChildren(monthElement, dayElement)\n .build();\n};\n\nexport default (props: {\n startMonth: string | HTMLElement;\n startDay: string | HTMLElement;\n endDay?: string | HTMLElement;\n endMonth?: string | HTMLElement;\n isThemeDark?: boolean;\n isLargeSize?: boolean;\n}) => {\n const {\n startMonth,\n startDay,\n endDay,\n endMonth,\n isThemeDark,\n isLargeSize = false,\n } = props;\n const isTheSameMonth = endMonth === startMonth;\n const isTheSameDay = endDay === startDay;\n const isMultiDay = !isTheSameMonth || !isTheSameDay;\n\n const startBlock = makeStartDateBlock({\n startMonth,\n startDay,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n });\n\n const container = new ElementBuilder()\n .styled(elementStyles.event.sign.container)\n .withChild(startBlock);\n\n if (isMultiDay && !!endDay && !!endMonth) {\n const srOnly = new ElementBuilder('span')\n .withClassName('sr-only')\n .withHTML('to')\n .build();\n\n const dash = new ElementBuilder('span')\n .withClassName('dash')\n .withStyles({\n element: {\n width: '10px',\n height: '3px',\n margin: '13px 5px 0',\n display: 'block',\n backgroundColor: isThemeDark ? 'white' : 'black',\n },\n })\n .build();\n\n const endBlock = makeEndDateBlock({\n endDay: endDay!,\n endMonth: endMonth!,\n isThemeDark,\n });\n\n container.withChild(srOnly);\n container.withChild(dash);\n container.withChild(endBlock);\n }\n\n return container.build();\n};\n"],"names":["ElementBuilder","typography","theme","elementStyles"],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ElementBuilder } from "@universityofmaryland/web-builder-library";
|
|
2
|
-
import * as token from "@universityofmaryland/web-token-library";
|
|
3
2
|
import * as typography from "@universityofmaryland/web-styles-library/typography";
|
|
4
3
|
import * as elementStyles from "@universityofmaryland/web-styles-library/element";
|
|
5
4
|
import { theme } from "@universityofmaryland/web-utilities-library/theme";
|
|
@@ -63,11 +62,7 @@ const makeStartDateBlock = ({
|
|
|
63
62
|
isMultiDay,
|
|
64
63
|
isThemeDark
|
|
65
64
|
});
|
|
66
|
-
return new ElementBuilder("p").withClassName("event-sign-start").withStyles({
|
|
67
|
-
subElement: {
|
|
68
|
-
color: token.color.black
|
|
69
|
-
}
|
|
70
|
-
}).withChildren(monthElement, dayElement).build();
|
|
65
|
+
return new ElementBuilder("p").withClassName("event-sign-start").withStyles({}).withChildren(monthElement, dayElement).build();
|
|
71
66
|
};
|
|
72
67
|
const makeEndDateBlock = ({
|
|
73
68
|
endMonth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.mjs","sources":["../../../source/atomic/events/sign.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport { theme } from '@universityofmaryland/web-utilities-library/theme';\n\nconst makeDateElement = ({\n element,\n isMonth,\n isDay,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n}: {\n element: string | HTMLElement;\n isMonth?: boolean;\n isDay?: boolean;\n isLargeSize?: boolean;\n isMultiDay?: boolean;\n isThemeDark?: boolean;\n}) => {\n const dateElement = document.createElement('span');\n if (typeof element === 'string') {\n dateElement.innerHTML = element;\n } else {\n dateElement.appendChild(element);\n }\n\n if (isDay && isLargeSize && !isMultiDay) {\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('extralarge', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .build();\n }\n\n if (isDay) {\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('larger', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .build();\n }\n\n if (isMonth && isLargeSize && !isMultiDay) {\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('small', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .build();\n }\n\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('min', { theme: theme.fontColor(isThemeDark) }),\n )\n .build();\n};\n\nconst makeStartDateBlock = ({\n startMonth,\n startDay,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n}: {\n startMonth: string | HTMLElement;\n startDay: string | HTMLElement;\n isLargeSize?: boolean;\n isMultiDay?: boolean;\n isThemeDark?: boolean;\n}) => {\n const monthElement = makeDateElement({\n element: startMonth,\n isMonth: true,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n });\n const dayElement = makeDateElement({\n element: startDay,\n isDay: true,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n });\n\n return new ElementBuilder('p')\n .withClassName('event-sign-start')\n .withStyles({
|
|
1
|
+
{"version":3,"file":"sign.mjs","sources":["../../../source/atomic/events/sign.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport { theme } from '@universityofmaryland/web-utilities-library/theme';\n\nconst makeDateElement = ({\n element,\n isMonth,\n isDay,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n}: {\n element: string | HTMLElement;\n isMonth?: boolean;\n isDay?: boolean;\n isLargeSize?: boolean;\n isMultiDay?: boolean;\n isThemeDark?: boolean;\n}) => {\n const dateElement = document.createElement('span');\n if (typeof element === 'string') {\n dateElement.innerHTML = element;\n } else {\n dateElement.appendChild(element);\n }\n\n if (isDay && isLargeSize && !isMultiDay) {\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('extralarge', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .build();\n }\n\n if (isDay) {\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('larger', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .build();\n }\n\n if (isMonth && isLargeSize && !isMultiDay) {\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('small', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .build();\n }\n\n return new ElementBuilder(dateElement)\n .styled(\n typography.sans.compose('min', { theme: theme.fontColor(isThemeDark) }),\n )\n .build();\n};\n\nconst makeStartDateBlock = ({\n startMonth,\n startDay,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n}: {\n startMonth: string | HTMLElement;\n startDay: string | HTMLElement;\n isLargeSize?: boolean;\n isMultiDay?: boolean;\n isThemeDark?: boolean;\n}) => {\n const monthElement = makeDateElement({\n element: startMonth,\n isMonth: true,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n });\n const dayElement = makeDateElement({\n element: startDay,\n isDay: true,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n });\n\n return new ElementBuilder('p')\n .withClassName('event-sign-start')\n .withStyles({})\n .withChildren(monthElement, dayElement)\n .build();\n};\n\nconst makeEndDateBlock = ({\n endMonth,\n endDay,\n isThemeDark,\n}: {\n endDay: string | HTMLElement;\n endMonth: string | HTMLElement;\n isThemeDark?: boolean;\n}) => {\n const monthElement = makeDateElement({\n element: endMonth,\n isMonth: true,\n isMultiDay: true,\n isThemeDark,\n });\n const dayElement = makeDateElement({\n element: endDay,\n isDay: true,\n isMultiDay: true,\n isThemeDark,\n });\n\n return new ElementBuilder('p')\n .withClassName('event-sign-end')\n .withChildren(monthElement, dayElement)\n .build();\n};\n\nexport default (props: {\n startMonth: string | HTMLElement;\n startDay: string | HTMLElement;\n endDay?: string | HTMLElement;\n endMonth?: string | HTMLElement;\n isThemeDark?: boolean;\n isLargeSize?: boolean;\n}) => {\n const {\n startMonth,\n startDay,\n endDay,\n endMonth,\n isThemeDark,\n isLargeSize = false,\n } = props;\n const isTheSameMonth = endMonth === startMonth;\n const isTheSameDay = endDay === startDay;\n const isMultiDay = !isTheSameMonth || !isTheSameDay;\n\n const startBlock = makeStartDateBlock({\n startMonth,\n startDay,\n isLargeSize,\n isMultiDay,\n isThemeDark,\n });\n\n const container = new ElementBuilder()\n .styled(elementStyles.event.sign.container)\n .withChild(startBlock);\n\n if (isMultiDay && !!endDay && !!endMonth) {\n const srOnly = new ElementBuilder('span')\n .withClassName('sr-only')\n .withHTML('to')\n .build();\n\n const dash = new ElementBuilder('span')\n .withClassName('dash')\n .withStyles({\n element: {\n width: '10px',\n height: '3px',\n margin: '13px 5px 0',\n display: 'block',\n backgroundColor: isThemeDark ? 'white' : 'black',\n },\n })\n .build();\n\n const endBlock = makeEndDateBlock({\n endDay: endDay!,\n endMonth: endMonth!,\n isThemeDark,\n });\n\n container.withChild(srOnly);\n container.withChild(dash);\n container.withChild(endBlock);\n }\n\n return container.build();\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { PersonContactPropsWithStyles, PersonTextLockupPropsWithStyles, PersonFullProps } from '../../_types';
|
|
2
2
|
export declare const image: ({ customStyles, image, isThemeDark, }: {
|
|
3
3
|
customStyles?: Record<string, any>;
|
|
4
|
-
image: HTMLImageElement;
|
|
4
|
+
image: HTMLImageElement | HTMLAnchorElement;
|
|
5
5
|
isThemeDark?: boolean;
|
|
6
6
|
}) => import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement>;
|
|
7
7
|
export declare const details: (props: PersonTextLockupPropsWithStyles) => import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement>;
|
|
8
8
|
export declare const contact: (props: PersonContactPropsWithStyles) => import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement>;
|
|
9
|
-
export declare const information: ({ actions, additionalContact, address, association, customStyles, email, isThemeDark, job,
|
|
9
|
+
export declare const information: ({ actions, additionalContact, address, association, customStyles, email, isThemeDark, job, linkedin, name, phone, pronouns, subText, }: PersonFullProps) => import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement>;
|
|
10
10
|
//# sourceMappingURL=columns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../source/atomic/layout/person/columns.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACpC,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AAMtB,eAAO,MAAM,KAAK,GAAI,uCAInB;IACD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,KAAK,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../source/atomic/layout/person/columns.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACpC,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AAMtB,eAAO,MAAM,KAAK,GAAI,uCAInB;IACD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,kFA4CA,CAAC;AAuBF,eAAO,MAAM,OAAO,GAAI,OAAO,+BAA+B,kFAc7D,CAAC;AAqBF,eAAO,MAAM,OAAO,GAAI,OAAO,4BAA4B,kFAuB1D,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,wIAczB,eAAe,kFA6BjB,CAAC"}
|
|
@@ -75,6 +75,7 @@ const image = ({
|
|
|
75
75
|
...styles.createMediaQuery("min-width", mediumBreakpointStart, {
|
|
76
76
|
display: "block",
|
|
77
77
|
width: "96px",
|
|
78
|
+
minWidth: "96px",
|
|
78
79
|
paddingRight: `${token__namespace.spacing.md}`,
|
|
79
80
|
alignSelf: "flex-start"
|
|
80
81
|
}),
|
|
@@ -82,7 +83,8 @@ const image = ({
|
|
|
82
83
|
"& img, & svg": {
|
|
83
84
|
...styles.createMediaQuery("max-width", smallBreakpoint, {
|
|
84
85
|
height: "auto !important",
|
|
85
|
-
width: "140px"
|
|
86
|
+
width: "140px",
|
|
87
|
+
minWidth: "140px"
|
|
86
88
|
})
|
|
87
89
|
}
|
|
88
90
|
}
|
|
@@ -123,14 +125,14 @@ const contactLockup = ({
|
|
|
123
125
|
address,
|
|
124
126
|
email,
|
|
125
127
|
isThemeDark,
|
|
126
|
-
|
|
128
|
+
linkedin,
|
|
127
129
|
phone
|
|
128
130
|
}) => contact$1({
|
|
129
131
|
actions,
|
|
130
132
|
address,
|
|
131
133
|
email,
|
|
132
134
|
isThemeDark,
|
|
133
|
-
|
|
135
|
+
linkedin,
|
|
134
136
|
phone
|
|
135
137
|
});
|
|
136
138
|
const contact = (props) => {
|
|
@@ -158,7 +160,7 @@ const information = ({
|
|
|
158
160
|
email,
|
|
159
161
|
isThemeDark,
|
|
160
162
|
job,
|
|
161
|
-
|
|
163
|
+
linkedin,
|
|
162
164
|
name,
|
|
163
165
|
phone,
|
|
164
166
|
pronouns,
|
|
@@ -178,7 +180,7 @@ const information = ({
|
|
|
178
180
|
address,
|
|
179
181
|
email,
|
|
180
182
|
isThemeDark,
|
|
181
|
-
|
|
183
|
+
linkedin,
|
|
182
184
|
phone
|
|
183
185
|
});
|
|
184
186
|
return new webBuilderLibrary.ElementBuilder().withClassName("person-column-information").withStyles({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columns.js","sources":["../../../../source/atomic/layout/person/columns.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport { createMediaQuery } from '@universityofmaryland/web-utilities-library/styles';\nimport { assets, textLockup } from 'atomic';\nimport {\n type PersonContactPropsWithStyles,\n type PersonTextLockupPropsWithStyles,\n type PersonFullProps,\n} from '../../_types';\n\nconst smallBreakpoint = token.media.breakpointValues.small.max;\nconst mediumBreakpointStart = token.media.breakpointValues.medium.min;\nconst mediumBreakpoint = token.media.breakpointValues.large.min;\n\nexport const image = ({\n customStyles,\n image,\n isThemeDark,\n}: {\n customStyles?: Record<string, any>;\n image: HTMLImageElement;\n isThemeDark?: boolean;\n}) => {\n const backgroundImage = assets.image.background({\n element: image,\n isScaled: false,\n });\n\n return new ElementBuilder()\n .withClassName('person-column-image')\n .withStyles({\n element: {\n ...createMediaQuery('max-width', smallBreakpoint, {\n marginBottom: `${token.spacing.md}`,\n backgroundColor: `${token.color.gray.lighter}`,\n display: 'flex',\n justifyContent: 'center',\n\n ...(isThemeDark && {\n ...createMediaQuery('max-width', smallBreakpoint, {\n backgroundColor: `${token.color.gray.darker}`,\n }),\n }),\n }),\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n display: 'block',\n width: '96px',\n paddingRight: `${token.spacing.md}`,\n alignSelf: 'flex-start',\n }),\n\n ...customStyles,\n\n '& img, & svg': {\n ...createMediaQuery('max-width', smallBreakpoint, {\n height: 'auto !important',\n width: '140px',\n }),\n },\n },\n })\n .withChild(backgroundImage)\n .build();\n};\n\nconst personLockup = ({\n actions,\n association,\n isThemeDark,\n job,\n name,\n nameComposite,\n pronouns,\n subText,\n}: PersonTextLockupPropsWithStyles) =>\n textLockup.person({\n actions,\n name,\n nameComposite,\n job,\n association,\n pronouns,\n subText,\n isThemeDark,\n });\n\nexport const details = (props: PersonTextLockupPropsWithStyles) => {\n const { customStyles = {} } = props;\n const lockup = personLockup(props);\n\n return new ElementBuilder()\n .withClassName('person-column-details')\n .withStyles({\n element: {\n flex: '1 0',\n ...customStyles,\n },\n })\n .withChild(lockup)\n .build();\n};\n\nconst contactLockup = ({\n actions,\n additionalContact,\n address,\n email,\n isThemeDark,\n
|
|
1
|
+
{"version":3,"file":"columns.js","sources":["../../../../source/atomic/layout/person/columns.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport { createMediaQuery } from '@universityofmaryland/web-utilities-library/styles';\nimport { assets, textLockup } from 'atomic';\nimport {\n type PersonContactPropsWithStyles,\n type PersonTextLockupPropsWithStyles,\n type PersonFullProps,\n} from '../../_types';\n\nconst smallBreakpoint = token.media.breakpointValues.small.max;\nconst mediumBreakpointStart = token.media.breakpointValues.medium.min;\nconst mediumBreakpoint = token.media.breakpointValues.large.min;\n\nexport const image = ({\n customStyles,\n image,\n isThemeDark,\n}: {\n customStyles?: Record<string, any>;\n image: HTMLImageElement | HTMLAnchorElement;\n isThemeDark?: boolean;\n}) => {\n const backgroundImage = assets.image.background({\n element: image,\n isScaled: false,\n });\n\n return new ElementBuilder()\n .withClassName('person-column-image')\n .withStyles({\n element: {\n ...createMediaQuery('max-width', smallBreakpoint, {\n marginBottom: `${token.spacing.md}`,\n backgroundColor: `${token.color.gray.lighter}`,\n display: 'flex',\n justifyContent: 'center',\n\n ...(isThemeDark && {\n ...createMediaQuery('max-width', smallBreakpoint, {\n backgroundColor: `${token.color.gray.darker}`,\n }),\n }),\n }),\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n display: 'block',\n width: '96px',\n minWidth: '96px',\n paddingRight: `${token.spacing.md}`,\n alignSelf: 'flex-start',\n }),\n\n ...customStyles,\n\n '& img, & svg': {\n ...createMediaQuery('max-width', smallBreakpoint, {\n height: 'auto !important',\n width: '140px',\n minWidth: '140px',\n }),\n },\n },\n })\n .withChild(backgroundImage)\n .build();\n};\n\nconst personLockup = ({\n actions,\n association,\n isThemeDark,\n job,\n name,\n nameComposite,\n pronouns,\n subText,\n}: PersonTextLockupPropsWithStyles) =>\n textLockup.person({\n actions,\n name,\n nameComposite,\n job,\n association,\n pronouns,\n subText,\n isThemeDark,\n });\n\nexport const details = (props: PersonTextLockupPropsWithStyles) => {\n const { customStyles = {} } = props;\n const lockup = personLockup(props);\n\n return new ElementBuilder()\n .withClassName('person-column-details')\n .withStyles({\n element: {\n flex: '1 0',\n ...customStyles,\n },\n })\n .withChild(lockup)\n .build();\n};\n\nconst contactLockup = ({\n actions,\n additionalContact,\n address,\n email,\n isThemeDark,\n linkedin,\n phone,\n}: PersonContactPropsWithStyles) =>\n textLockup.contact({\n actions,\n additionalContact,\n address,\n email,\n isThemeDark,\n linkedin,\n phone,\n });\n\nexport const contact = (props: PersonContactPropsWithStyles) => {\n const { customStyles = {} } = props;\n const lockup = contactLockup(props);\n\n return new ElementBuilder()\n .withClassName('person-column-contact')\n .withStyles({\n element: {\n marginTop: `${token.spacing.sm}`,\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n paddingLeft: `${token.spacing.md}`,\n }),\n\n ...createMediaQuery('min-width', mediumBreakpoint, {\n width: '30%',\n }),\n\n ...customStyles,\n },\n })\n .withChild(lockup)\n .build();\n};\n\nexport const information = ({\n actions,\n additionalContact,\n address,\n association,\n customStyles = {},\n email,\n isThemeDark,\n job,\n linkedin,\n name,\n phone,\n pronouns,\n subText,\n}: PersonFullProps) => {\n const person = personLockup({\n association,\n isThemeDark,\n job,\n name,\n pronouns,\n subText,\n });\n\n const contact = contactLockup({\n actions,\n additionalContact,\n address,\n email,\n isThemeDark,\n linkedin,\n phone,\n });\n\n return new ElementBuilder()\n .withClassName('person-column-information')\n .withStyles({\n element: {\n ...customStyles,\n },\n })\n .withChildren(person, contact)\n .build();\n};\n"],"names":["token","image","assets.image.background","ElementBuilder","createMediaQuery","textLockup.person","textLockup.contact","person","contact"],"mappings":"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"}
|
|
@@ -56,6 +56,7 @@ const image = ({
|
|
|
56
56
|
...createMediaQuery("min-width", mediumBreakpointStart, {
|
|
57
57
|
display: "block",
|
|
58
58
|
width: "96px",
|
|
59
|
+
minWidth: "96px",
|
|
59
60
|
paddingRight: `${token.spacing.md}`,
|
|
60
61
|
alignSelf: "flex-start"
|
|
61
62
|
}),
|
|
@@ -63,7 +64,8 @@ const image = ({
|
|
|
63
64
|
"& img, & svg": {
|
|
64
65
|
...createMediaQuery("max-width", smallBreakpoint, {
|
|
65
66
|
height: "auto !important",
|
|
66
|
-
width: "140px"
|
|
67
|
+
width: "140px",
|
|
68
|
+
minWidth: "140px"
|
|
67
69
|
})
|
|
68
70
|
}
|
|
69
71
|
}
|
|
@@ -104,14 +106,14 @@ const contactLockup = ({
|
|
|
104
106
|
address,
|
|
105
107
|
email,
|
|
106
108
|
isThemeDark,
|
|
107
|
-
|
|
109
|
+
linkedin,
|
|
108
110
|
phone
|
|
109
111
|
}) => contact$1({
|
|
110
112
|
actions,
|
|
111
113
|
address,
|
|
112
114
|
email,
|
|
113
115
|
isThemeDark,
|
|
114
|
-
|
|
116
|
+
linkedin,
|
|
115
117
|
phone
|
|
116
118
|
});
|
|
117
119
|
const contact = (props) => {
|
|
@@ -139,7 +141,7 @@ const information = ({
|
|
|
139
141
|
email,
|
|
140
142
|
isThemeDark,
|
|
141
143
|
job,
|
|
142
|
-
|
|
144
|
+
linkedin,
|
|
143
145
|
name,
|
|
144
146
|
phone,
|
|
145
147
|
pronouns,
|
|
@@ -159,7 +161,7 @@ const information = ({
|
|
|
159
161
|
address,
|
|
160
162
|
email,
|
|
161
163
|
isThemeDark,
|
|
162
|
-
|
|
164
|
+
linkedin,
|
|
163
165
|
phone
|
|
164
166
|
});
|
|
165
167
|
return new ElementBuilder().withClassName("person-column-information").withStyles({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columns.mjs","sources":["../../../../source/atomic/layout/person/columns.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport { createMediaQuery } from '@universityofmaryland/web-utilities-library/styles';\nimport { assets, textLockup } from 'atomic';\nimport {\n type PersonContactPropsWithStyles,\n type PersonTextLockupPropsWithStyles,\n type PersonFullProps,\n} from '../../_types';\n\nconst smallBreakpoint = token.media.breakpointValues.small.max;\nconst mediumBreakpointStart = token.media.breakpointValues.medium.min;\nconst mediumBreakpoint = token.media.breakpointValues.large.min;\n\nexport const image = ({\n customStyles,\n image,\n isThemeDark,\n}: {\n customStyles?: Record<string, any>;\n image: HTMLImageElement;\n isThemeDark?: boolean;\n}) => {\n const backgroundImage = assets.image.background({\n element: image,\n isScaled: false,\n });\n\n return new ElementBuilder()\n .withClassName('person-column-image')\n .withStyles({\n element: {\n ...createMediaQuery('max-width', smallBreakpoint, {\n marginBottom: `${token.spacing.md}`,\n backgroundColor: `${token.color.gray.lighter}`,\n display: 'flex',\n justifyContent: 'center',\n\n ...(isThemeDark && {\n ...createMediaQuery('max-width', smallBreakpoint, {\n backgroundColor: `${token.color.gray.darker}`,\n }),\n }),\n }),\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n display: 'block',\n width: '96px',\n paddingRight: `${token.spacing.md}`,\n alignSelf: 'flex-start',\n }),\n\n ...customStyles,\n\n '& img, & svg': {\n ...createMediaQuery('max-width', smallBreakpoint, {\n height: 'auto !important',\n width: '140px',\n }),\n },\n },\n })\n .withChild(backgroundImage)\n .build();\n};\n\nconst personLockup = ({\n actions,\n association,\n isThemeDark,\n job,\n name,\n nameComposite,\n pronouns,\n subText,\n}: PersonTextLockupPropsWithStyles) =>\n textLockup.person({\n actions,\n name,\n nameComposite,\n job,\n association,\n pronouns,\n subText,\n isThemeDark,\n });\n\nexport const details = (props: PersonTextLockupPropsWithStyles) => {\n const { customStyles = {} } = props;\n const lockup = personLockup(props);\n\n return new ElementBuilder()\n .withClassName('person-column-details')\n .withStyles({\n element: {\n flex: '1 0',\n ...customStyles,\n },\n })\n .withChild(lockup)\n .build();\n};\n\nconst contactLockup = ({\n actions,\n additionalContact,\n address,\n email,\n isThemeDark,\n
|
|
1
|
+
{"version":3,"file":"columns.mjs","sources":["../../../../source/atomic/layout/person/columns.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport { createMediaQuery } from '@universityofmaryland/web-utilities-library/styles';\nimport { assets, textLockup } from 'atomic';\nimport {\n type PersonContactPropsWithStyles,\n type PersonTextLockupPropsWithStyles,\n type PersonFullProps,\n} from '../../_types';\n\nconst smallBreakpoint = token.media.breakpointValues.small.max;\nconst mediumBreakpointStart = token.media.breakpointValues.medium.min;\nconst mediumBreakpoint = token.media.breakpointValues.large.min;\n\nexport const image = ({\n customStyles,\n image,\n isThemeDark,\n}: {\n customStyles?: Record<string, any>;\n image: HTMLImageElement | HTMLAnchorElement;\n isThemeDark?: boolean;\n}) => {\n const backgroundImage = assets.image.background({\n element: image,\n isScaled: false,\n });\n\n return new ElementBuilder()\n .withClassName('person-column-image')\n .withStyles({\n element: {\n ...createMediaQuery('max-width', smallBreakpoint, {\n marginBottom: `${token.spacing.md}`,\n backgroundColor: `${token.color.gray.lighter}`,\n display: 'flex',\n justifyContent: 'center',\n\n ...(isThemeDark && {\n ...createMediaQuery('max-width', smallBreakpoint, {\n backgroundColor: `${token.color.gray.darker}`,\n }),\n }),\n }),\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n display: 'block',\n width: '96px',\n minWidth: '96px',\n paddingRight: `${token.spacing.md}`,\n alignSelf: 'flex-start',\n }),\n\n ...customStyles,\n\n '& img, & svg': {\n ...createMediaQuery('max-width', smallBreakpoint, {\n height: 'auto !important',\n width: '140px',\n minWidth: '140px',\n }),\n },\n },\n })\n .withChild(backgroundImage)\n .build();\n};\n\nconst personLockup = ({\n actions,\n association,\n isThemeDark,\n job,\n name,\n nameComposite,\n pronouns,\n subText,\n}: PersonTextLockupPropsWithStyles) =>\n textLockup.person({\n actions,\n name,\n nameComposite,\n job,\n association,\n pronouns,\n subText,\n isThemeDark,\n });\n\nexport const details = (props: PersonTextLockupPropsWithStyles) => {\n const { customStyles = {} } = props;\n const lockup = personLockup(props);\n\n return new ElementBuilder()\n .withClassName('person-column-details')\n .withStyles({\n element: {\n flex: '1 0',\n ...customStyles,\n },\n })\n .withChild(lockup)\n .build();\n};\n\nconst contactLockup = ({\n actions,\n additionalContact,\n address,\n email,\n isThemeDark,\n linkedin,\n phone,\n}: PersonContactPropsWithStyles) =>\n textLockup.contact({\n actions,\n additionalContact,\n address,\n email,\n isThemeDark,\n linkedin,\n phone,\n });\n\nexport const contact = (props: PersonContactPropsWithStyles) => {\n const { customStyles = {} } = props;\n const lockup = contactLockup(props);\n\n return new ElementBuilder()\n .withClassName('person-column-contact')\n .withStyles({\n element: {\n marginTop: `${token.spacing.sm}`,\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n paddingLeft: `${token.spacing.md}`,\n }),\n\n ...createMediaQuery('min-width', mediumBreakpoint, {\n width: '30%',\n }),\n\n ...customStyles,\n },\n })\n .withChild(lockup)\n .build();\n};\n\nexport const information = ({\n actions,\n additionalContact,\n address,\n association,\n customStyles = {},\n email,\n isThemeDark,\n job,\n linkedin,\n name,\n phone,\n pronouns,\n subText,\n}: PersonFullProps) => {\n const person = personLockup({\n association,\n isThemeDark,\n job,\n name,\n pronouns,\n subText,\n });\n\n const contact = contactLockup({\n actions,\n additionalContact,\n address,\n email,\n isThemeDark,\n linkedin,\n phone,\n });\n\n return new ElementBuilder()\n .withClassName('person-column-information')\n .withStyles({\n element: {\n ...customStyles,\n },\n })\n .withChildren(person, contact)\n .build();\n};\n"],"names":["image","assets.image.background","textLockup.person","textLockup.contact","person","contact"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { PersonContactProps } from '../_types';
|
|
2
|
-
declare const _default: ({ actions, address, email, isThemeDark,
|
|
2
|
+
declare const _default: ({ actions, address, email, isThemeDark, linkedin, phone, }: PersonContactProps) => import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement>;
|
|
3
3
|
export default _default;
|
|
4
4
|
//# sourceMappingURL=contact.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../source/atomic/text-lockup/contact.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;yBA4FpC,
|
|
1
|
+
{"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../source/atomic/text-lockup/contact.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;yBA4FpC,4DAOb,kBAAkB;AAPrB,wBA8EE"}
|
|
@@ -88,7 +88,7 @@ const contact = ({
|
|
|
88
88
|
address,
|
|
89
89
|
email,
|
|
90
90
|
isThemeDark,
|
|
91
|
-
|
|
91
|
+
linkedin,
|
|
92
92
|
phone
|
|
93
93
|
}) => {
|
|
94
94
|
const container = new webBuilderLibrary.ElementBuilder().withClassName("text-lockup-contact").withStyles({
|
|
@@ -108,10 +108,10 @@ const contact = ({
|
|
|
108
108
|
).build();
|
|
109
109
|
container.withChild(emailElement);
|
|
110
110
|
}
|
|
111
|
-
if (
|
|
111
|
+
if (linkedin) {
|
|
112
112
|
const linkedInElement = new webBuilderLibrary.ElementBuilder().withClassName("text-lockup-contact-linkedin").withChild(
|
|
113
113
|
makeContactLink({
|
|
114
|
-
element:
|
|
114
|
+
element: linkedin,
|
|
115
115
|
icon: social.linkedin,
|
|
116
116
|
isThemeDark
|
|
117
117
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact.js","sources":["../../../source/atomic/text-lockup/contact.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport { theme } from '@universityofmaryland/web-utilities-library/theme';\nimport {\n email as iconEmail,\n phone as iconPhone,\n} from '@universityofmaryland/web-icons-library/communication';\nimport { pin as iconPin } from '@universityofmaryland/web-icons-library/location';\nimport { linkedin as iconLinkedIn } from '@universityofmaryland/web-icons-library/social';\nimport { type PersonContactProps } from '../_types';\n\nconst makeIcon = ({\n icon,\n isThemeDark,\n}: {\n icon: string;\n isThemeDark?: boolean;\n}) => {\n return new ElementBuilder('span')\n .withHTML(icon)\n .styled(\n elementStyles.action.icon.composeIcon({\n theme: theme.variant(isThemeDark),\n }),\n )\n .build();\n};\n\nconst makeText = ({\n text,\n isThemeDark,\n}: {\n text: string;\n isThemeDark?: boolean;\n}) => {\n return new ElementBuilder('span')\n .withHTML(text)\n .styled(\n typography.sans.compose('smaller', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles({\n element: {\n ...(!isThemeDark && { color: `${token.color.gray.dark}` }),\n },\n })\n .build();\n};\n\nconst makeContactLink = ({\n element,\n icon,\n isThemeDark,\n}: {\n element: HTMLElement | HTMLAnchorElement;\n icon: string;\n isThemeDark?: boolean;\n}) => {\n const isLink = element.getAttribute('href') && icon !== iconPin;\n const textSpan = makeText({ text: element.innerHTML, isThemeDark });\n const iconSpan = makeIcon({ icon, isThemeDark });\n const containerStyles = {\n element: {\n marginTop: '4px',\n lineHeight: '1.2em',\n\n [`&a:hover, &a:focus`]: {\n textDecoration: 'underline',\n\n ...(isThemeDark && {\n color: `${token.color.white}`,\n }),\n },\n },\n };\n\n if (isLink) {\n const ariaLabel = element.getAttribute('aria-label');\n const href = element.getAttribute('href') || '';\n\n const linkBuilder = new ElementBuilder('a')\n .styled(layout.grid.inline.row)\n .withStyles(containerStyles)\n .withChildren(iconSpan, textSpan)\n .withAttribute('href', href);\n\n if (ariaLabel) {\n linkBuilder.withAttribute('aria-label', ariaLabel);\n }\n\n return linkBuilder.build();\n }\n\n return new ElementBuilder()\n .styled(layout.grid.inline.row)\n .withStyles(containerStyles)\n .withChildren(iconSpan, textSpan)\n .build();\n};\n\nexport default ({\n actions,\n address,\n email,\n isThemeDark,\n
|
|
1
|
+
{"version":3,"file":"contact.js","sources":["../../../source/atomic/text-lockup/contact.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport { theme } from '@universityofmaryland/web-utilities-library/theme';\nimport {\n email as iconEmail,\n phone as iconPhone,\n} from '@universityofmaryland/web-icons-library/communication';\nimport { pin as iconPin } from '@universityofmaryland/web-icons-library/location';\nimport { linkedin as iconLinkedIn } from '@universityofmaryland/web-icons-library/social';\nimport { type PersonContactProps } from '../_types';\n\nconst makeIcon = ({\n icon,\n isThemeDark,\n}: {\n icon: string;\n isThemeDark?: boolean;\n}) => {\n return new ElementBuilder('span')\n .withHTML(icon)\n .styled(\n elementStyles.action.icon.composeIcon({\n theme: theme.variant(isThemeDark),\n }),\n )\n .build();\n};\n\nconst makeText = ({\n text,\n isThemeDark,\n}: {\n text: string;\n isThemeDark?: boolean;\n}) => {\n return new ElementBuilder('span')\n .withHTML(text)\n .styled(\n typography.sans.compose('smaller', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles({\n element: {\n ...(!isThemeDark && { color: `${token.color.gray.dark}` }),\n },\n })\n .build();\n};\n\nconst makeContactLink = ({\n element,\n icon,\n isThemeDark,\n}: {\n element: HTMLElement | HTMLAnchorElement;\n icon: string;\n isThemeDark?: boolean;\n}) => {\n const isLink = element.getAttribute('href') && icon !== iconPin;\n const textSpan = makeText({ text: element.innerHTML, isThemeDark });\n const iconSpan = makeIcon({ icon, isThemeDark });\n const containerStyles = {\n element: {\n marginTop: '4px',\n lineHeight: '1.2em',\n\n [`&a:hover, &a:focus`]: {\n textDecoration: 'underline',\n\n ...(isThemeDark && {\n color: `${token.color.white}`,\n }),\n },\n },\n };\n\n if (isLink) {\n const ariaLabel = element.getAttribute('aria-label');\n const href = element.getAttribute('href') || '';\n\n const linkBuilder = new ElementBuilder('a')\n .styled(layout.grid.inline.row)\n .withStyles(containerStyles)\n .withChildren(iconSpan, textSpan)\n .withAttribute('href', href);\n\n if (ariaLabel) {\n linkBuilder.withAttribute('aria-label', ariaLabel);\n }\n\n return linkBuilder.build();\n }\n\n return new ElementBuilder()\n .styled(layout.grid.inline.row)\n .withStyles(containerStyles)\n .withChildren(iconSpan, textSpan)\n .build();\n};\n\nexport default ({\n actions,\n address,\n email,\n isThemeDark,\n linkedin,\n phone,\n}: PersonContactProps) => {\n const container = new ElementBuilder()\n .withClassName('text-lockup-contact')\n .withStyles({\n element: {\n marginTop: `${token.spacing.sm}`,\n },\n });\n\n if (phone) {\n const phoneElement = new ElementBuilder()\n .withClassName('text-lockup-contact-phone')\n .withChild(\n makeContactLink({ element: phone, icon: iconPhone, isThemeDark }),\n )\n .build();\n\n container.withChild(phoneElement);\n }\n\n if (email) {\n const emailElement = new ElementBuilder()\n .withClassName('text-lockup-contact-email')\n .withChild(\n makeContactLink({ element: email, icon: iconEmail, isThemeDark }),\n )\n .build();\n\n container.withChild(emailElement);\n }\n\n if (linkedin) {\n const linkedInElement = new ElementBuilder()\n .withClassName('text-lockup-contact-linkedin')\n .withChild(\n makeContactLink({\n element: linkedin,\n icon: iconLinkedIn,\n isThemeDark,\n }),\n )\n .build();\n\n container.withChild(linkedInElement);\n }\n\n if (address) {\n const addressElement = new ElementBuilder()\n .withClassName('text-lockup-contact-address')\n .withChild(\n makeContactLink({ element: address, icon: iconPin, isThemeDark }),\n )\n .build();\n\n container.withChild(addressElement);\n }\n\n if (actions) {\n const actionsElement = new ElementBuilder(actions)\n .styled(layout.grid.inline.tabletRows)\n .withStyles({\n element: {\n marginTop: token.spacing.sm,\n },\n })\n .build();\n\n container.withChild(actionsElement);\n }\n\n return container.build();\n};\n"],"names":["ElementBuilder","elementStyles","theme","typography","token","iconPin","layout","iconPhone","iconEmail","iconLinkedIn"],"mappings":"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"}
|
|
@@ -67,7 +67,7 @@ const contact = ({
|
|
|
67
67
|
address,
|
|
68
68
|
email: email$1,
|
|
69
69
|
isThemeDark,
|
|
70
|
-
|
|
70
|
+
linkedin: linkedin$1,
|
|
71
71
|
phone: phone$1
|
|
72
72
|
}) => {
|
|
73
73
|
const container = new ElementBuilder().withClassName("text-lockup-contact").withStyles({
|
|
@@ -87,10 +87,10 @@ const contact = ({
|
|
|
87
87
|
).build();
|
|
88
88
|
container.withChild(emailElement);
|
|
89
89
|
}
|
|
90
|
-
if (
|
|
90
|
+
if (linkedin$1) {
|
|
91
91
|
const linkedInElement = new ElementBuilder().withClassName("text-lockup-contact-linkedin").withChild(
|
|
92
92
|
makeContactLink({
|
|
93
|
-
element:
|
|
93
|
+
element: linkedin$1,
|
|
94
94
|
icon: linkedin,
|
|
95
95
|
isThemeDark
|
|
96
96
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact.mjs","sources":["../../../source/atomic/text-lockup/contact.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport { theme } from '@universityofmaryland/web-utilities-library/theme';\nimport {\n email as iconEmail,\n phone as iconPhone,\n} from '@universityofmaryland/web-icons-library/communication';\nimport { pin as iconPin } from '@universityofmaryland/web-icons-library/location';\nimport { linkedin as iconLinkedIn } from '@universityofmaryland/web-icons-library/social';\nimport { type PersonContactProps } from '../_types';\n\nconst makeIcon = ({\n icon,\n isThemeDark,\n}: {\n icon: string;\n isThemeDark?: boolean;\n}) => {\n return new ElementBuilder('span')\n .withHTML(icon)\n .styled(\n elementStyles.action.icon.composeIcon({\n theme: theme.variant(isThemeDark),\n }),\n )\n .build();\n};\n\nconst makeText = ({\n text,\n isThemeDark,\n}: {\n text: string;\n isThemeDark?: boolean;\n}) => {\n return new ElementBuilder('span')\n .withHTML(text)\n .styled(\n typography.sans.compose('smaller', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles({\n element: {\n ...(!isThemeDark && { color: `${token.color.gray.dark}` }),\n },\n })\n .build();\n};\n\nconst makeContactLink = ({\n element,\n icon,\n isThemeDark,\n}: {\n element: HTMLElement | HTMLAnchorElement;\n icon: string;\n isThemeDark?: boolean;\n}) => {\n const isLink = element.getAttribute('href') && icon !== iconPin;\n const textSpan = makeText({ text: element.innerHTML, isThemeDark });\n const iconSpan = makeIcon({ icon, isThemeDark });\n const containerStyles = {\n element: {\n marginTop: '4px',\n lineHeight: '1.2em',\n\n [`&a:hover, &a:focus`]: {\n textDecoration: 'underline',\n\n ...(isThemeDark && {\n color: `${token.color.white}`,\n }),\n },\n },\n };\n\n if (isLink) {\n const ariaLabel = element.getAttribute('aria-label');\n const href = element.getAttribute('href') || '';\n\n const linkBuilder = new ElementBuilder('a')\n .styled(layout.grid.inline.row)\n .withStyles(containerStyles)\n .withChildren(iconSpan, textSpan)\n .withAttribute('href', href);\n\n if (ariaLabel) {\n linkBuilder.withAttribute('aria-label', ariaLabel);\n }\n\n return linkBuilder.build();\n }\n\n return new ElementBuilder()\n .styled(layout.grid.inline.row)\n .withStyles(containerStyles)\n .withChildren(iconSpan, textSpan)\n .build();\n};\n\nexport default ({\n actions,\n address,\n email,\n isThemeDark,\n
|
|
1
|
+
{"version":3,"file":"contact.mjs","sources":["../../../source/atomic/text-lockup/contact.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport { theme } from '@universityofmaryland/web-utilities-library/theme';\nimport {\n email as iconEmail,\n phone as iconPhone,\n} from '@universityofmaryland/web-icons-library/communication';\nimport { pin as iconPin } from '@universityofmaryland/web-icons-library/location';\nimport { linkedin as iconLinkedIn } from '@universityofmaryland/web-icons-library/social';\nimport { type PersonContactProps } from '../_types';\n\nconst makeIcon = ({\n icon,\n isThemeDark,\n}: {\n icon: string;\n isThemeDark?: boolean;\n}) => {\n return new ElementBuilder('span')\n .withHTML(icon)\n .styled(\n elementStyles.action.icon.composeIcon({\n theme: theme.variant(isThemeDark),\n }),\n )\n .build();\n};\n\nconst makeText = ({\n text,\n isThemeDark,\n}: {\n text: string;\n isThemeDark?: boolean;\n}) => {\n return new ElementBuilder('span')\n .withHTML(text)\n .styled(\n typography.sans.compose('smaller', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles({\n element: {\n ...(!isThemeDark && { color: `${token.color.gray.dark}` }),\n },\n })\n .build();\n};\n\nconst makeContactLink = ({\n element,\n icon,\n isThemeDark,\n}: {\n element: HTMLElement | HTMLAnchorElement;\n icon: string;\n isThemeDark?: boolean;\n}) => {\n const isLink = element.getAttribute('href') && icon !== iconPin;\n const textSpan = makeText({ text: element.innerHTML, isThemeDark });\n const iconSpan = makeIcon({ icon, isThemeDark });\n const containerStyles = {\n element: {\n marginTop: '4px',\n lineHeight: '1.2em',\n\n [`&a:hover, &a:focus`]: {\n textDecoration: 'underline',\n\n ...(isThemeDark && {\n color: `${token.color.white}`,\n }),\n },\n },\n };\n\n if (isLink) {\n const ariaLabel = element.getAttribute('aria-label');\n const href = element.getAttribute('href') || '';\n\n const linkBuilder = new ElementBuilder('a')\n .styled(layout.grid.inline.row)\n .withStyles(containerStyles)\n .withChildren(iconSpan, textSpan)\n .withAttribute('href', href);\n\n if (ariaLabel) {\n linkBuilder.withAttribute('aria-label', ariaLabel);\n }\n\n return linkBuilder.build();\n }\n\n return new ElementBuilder()\n .styled(layout.grid.inline.row)\n .withStyles(containerStyles)\n .withChildren(iconSpan, textSpan)\n .build();\n};\n\nexport default ({\n actions,\n address,\n email,\n isThemeDark,\n linkedin,\n phone,\n}: PersonContactProps) => {\n const container = new ElementBuilder()\n .withClassName('text-lockup-contact')\n .withStyles({\n element: {\n marginTop: `${token.spacing.sm}`,\n },\n });\n\n if (phone) {\n const phoneElement = new ElementBuilder()\n .withClassName('text-lockup-contact-phone')\n .withChild(\n makeContactLink({ element: phone, icon: iconPhone, isThemeDark }),\n )\n .build();\n\n container.withChild(phoneElement);\n }\n\n if (email) {\n const emailElement = new ElementBuilder()\n .withClassName('text-lockup-contact-email')\n .withChild(\n makeContactLink({ element: email, icon: iconEmail, isThemeDark }),\n )\n .build();\n\n container.withChild(emailElement);\n }\n\n if (linkedin) {\n const linkedInElement = new ElementBuilder()\n .withClassName('text-lockup-contact-linkedin')\n .withChild(\n makeContactLink({\n element: linkedin,\n icon: iconLinkedIn,\n isThemeDark,\n }),\n )\n .build();\n\n container.withChild(linkedInElement);\n }\n\n if (address) {\n const addressElement = new ElementBuilder()\n .withClassName('text-lockup-contact-address')\n .withChild(\n makeContactLink({ element: address, icon: iconPin, isThemeDark }),\n )\n .build();\n\n container.withChild(addressElement);\n }\n\n if (actions) {\n const actionsElement = new ElementBuilder(actions)\n .styled(layout.grid.inline.tabletRows)\n .withStyles({\n element: {\n marginTop: token.spacing.sm,\n },\n })\n .build();\n\n container.withChild(actionsElement);\n }\n\n return container.build();\n};\n"],"names":["iconPin","email","linkedin","phone","iconPhone","iconEmail","iconLinkedIn"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"person.d.ts","sourceRoot":"","sources":["../../../source/atomic/text-lockup/person.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAC;yBAEvC,qFASb,qBAAqB;AATxB,
|
|
1
|
+
{"version":3,"file":"person.d.ts","sourceRoot":"","sources":["../../../source/atomic/text-lockup/person.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAC;yBAEvC,qFASb,qBAAqB;AATxB,wBAqKE"}
|
|
@@ -117,10 +117,10 @@ const person = ({
|
|
|
117
117
|
...!isThemeDark && { color: `${token__namespace.color.gray.dark}` },
|
|
118
118
|
[`& + *`]: {
|
|
119
119
|
marginTop: "4px"
|
|
120
|
+
},
|
|
121
|
+
[`& *`]: {
|
|
122
|
+
color: "currentColor"
|
|
120
123
|
}
|
|
121
|
-
},
|
|
122
|
-
subElement: {
|
|
123
|
-
color: "currentColor"
|
|
124
124
|
}
|
|
125
125
|
}).build();
|
|
126
126
|
container.withChild(pronounsElement);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"person.js","sources":["../../../source/atomic/text-lockup/person.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport * as animationStyles from '@universityofmaryland/web-styles-library/animation';\nimport { theme } from '@universityofmaryland/web-utilities-library/theme';\nimport { wrapTextNodeInSpan } from '@universityofmaryland/web-utilities-library/dom';\nimport { type PersonTextLockupProps } from '../_types';\n\nexport default ({\n actions,\n association,\n isThemeDark,\n job,\n name,\n nameComposite,\n pronouns,\n subText,\n}: PersonTextLockupProps) => {\n const container = new ElementBuilder()\n .withClassName('text-lockup-person-container')\n .withStyles({\n element: {\n zIndex: '9',\n position: 'relative',\n },\n });\n\n if (nameComposite && !name) {\n container.withChild(nameComposite);\n }\n\n if (name) {\n const headlineStyles = {\n ...typography.sans.compose('larger', {\n theme: theme.fontColor(isThemeDark),\n }),\n ...animationStyles.line.composeSlideUnder({\n color: theme.foreground(isThemeDark),\n }),\n };\n\n const nameElement = new ElementBuilder(name)\n .styled(headlineStyles)\n .withStyles({\n element: {\n fontWeight: '700',\n\n [`& + *`]: {\n marginTop: '4px',\n },\n },\n subElement: {\n color: 'currentColor',\n },\n })\n .withModifier((el) => wrapTextNodeInSpan(el))\n .build();\n\n container.withChild(nameElement);\n }\n\n if (job) {\n const jobElement = new ElementBuilder(job)\n .styled(\n typography.sans.compose('small', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles({\n element: {\n lineHeight: `1.25em`,\n\n ...(!isThemeDark && { color: `${token.color.gray.dark}` }),\n },\n subElement: {\n color: 'currentColor',\n },\n })\n .build();\n\n container.withChild(jobElement);\n }\n\n if (association) {\n const associationElement = new ElementBuilder(association)\n .styled(\n typography.sans.compose('small', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles({\n element: {\n lineHeight: '1.2em',\n display: 'block',\n ...(!isThemeDark && { color: `${token.color.gray.dark}` }),\n\n [`& + *`]: {\n marginTop: '4px',\n },\n\n [`& a:hover, a:focus`]: {\n textDecoration: 'underline',\n },\n },\n subElement: {\n color: 'currentColor',\n },\n })\n .build();\n\n container.withChild(associationElement);\n }\n\n if (pronouns) {\n pronouns.innerHTML = `<i>${pronouns.innerHTML}</i>`;\n const pronounsElement = new ElementBuilder(pronouns)\n .styled(\n typography.sans.compose('small', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles({\n element: {\n ...(!isThemeDark && { color: `${token.color.gray.dark}` }),\n\n [`& + *`]: {\n marginTop: '4px',\n },\n
|
|
1
|
+
{"version":3,"file":"person.js","sources":["../../../source/atomic/text-lockup/person.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport * as animationStyles from '@universityofmaryland/web-styles-library/animation';\nimport { theme } from '@universityofmaryland/web-utilities-library/theme';\nimport { wrapTextNodeInSpan } from '@universityofmaryland/web-utilities-library/dom';\nimport { type PersonTextLockupProps } from '../_types';\n\nexport default ({\n actions,\n association,\n isThemeDark,\n job,\n name,\n nameComposite,\n pronouns,\n subText,\n}: PersonTextLockupProps) => {\n const container = new ElementBuilder()\n .withClassName('text-lockup-person-container')\n .withStyles({\n element: {\n zIndex: '9',\n position: 'relative',\n },\n });\n\n if (nameComposite && !name) {\n container.withChild(nameComposite);\n }\n\n if (name) {\n const headlineStyles = {\n ...typography.sans.compose('larger', {\n theme: theme.fontColor(isThemeDark),\n }),\n ...animationStyles.line.composeSlideUnder({\n color: theme.foreground(isThemeDark),\n }),\n };\n\n const nameElement = new ElementBuilder(name)\n .styled(headlineStyles)\n .withStyles({\n element: {\n fontWeight: '700',\n\n [`& + *`]: {\n marginTop: '4px',\n },\n },\n subElement: {\n color: 'currentColor',\n },\n })\n .withModifier((el) => wrapTextNodeInSpan(el))\n .build();\n\n container.withChild(nameElement);\n }\n\n if (job) {\n const jobElement = new ElementBuilder(job)\n .styled(\n typography.sans.compose('small', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles({\n element: {\n lineHeight: `1.25em`,\n\n ...(!isThemeDark && { color: `${token.color.gray.dark}` }),\n },\n subElement: {\n color: 'currentColor',\n },\n })\n .build();\n\n container.withChild(jobElement);\n }\n\n if (association) {\n const associationElement = new ElementBuilder(association)\n .styled(\n typography.sans.compose('small', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles({\n element: {\n lineHeight: '1.2em',\n display: 'block',\n ...(!isThemeDark && { color: `${token.color.gray.dark}` }),\n\n [`& + *`]: {\n marginTop: '4px',\n },\n\n [`& a:hover, a:focus`]: {\n textDecoration: 'underline',\n },\n },\n subElement: {\n color: 'currentColor',\n },\n })\n .build();\n\n container.withChild(associationElement);\n }\n\n if (pronouns) {\n pronouns.innerHTML = `<i>${pronouns.innerHTML}</i>`;\n const pronounsElement = new ElementBuilder(pronouns)\n .styled(\n typography.sans.compose('small', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles({\n element: {\n ...(!isThemeDark && { color: `${token.color.gray.dark}` }),\n\n [`& + *`]: {\n marginTop: '4px',\n },\n\n [`& *`]: {\n color: 'currentColor',\n },\n },\n })\n .build();\n\n container.withChild(pronounsElement);\n }\n\n if (subText) {\n const subTextElement = new ElementBuilder(subText)\n .styled(\n typography.sans.compose('small', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles({\n element: {\n ...(!isThemeDark && { color: `${token.color.gray.dark}` }),\n },\n siblingAfter: {\n marginTop: '4px',\n },\n })\n .build();\n\n container.withChild(subTextElement);\n }\n\n if (actions) {\n const actionsElement = new ElementBuilder(actions)\n .styled(layout.grid.inline.tabletRows)\n .withStyles({\n element: {\n marginTop: token.spacing.sm,\n },\n })\n .build();\n\n container.withChild(actionsElement);\n }\n\n return container.build();\n};\n"],"names":["ElementBuilder","typography","theme","animationStyles","wrapTextNodeInSpan","token","layout"],"mappings":"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"}
|
|
@@ -96,10 +96,10 @@ const person = ({
|
|
|
96
96
|
...!isThemeDark && { color: `${token.color.gray.dark}` },
|
|
97
97
|
[`& + *`]: {
|
|
98
98
|
marginTop: "4px"
|
|
99
|
+
},
|
|
100
|
+
[`& *`]: {
|
|
101
|
+
color: "currentColor"
|
|
99
102
|
}
|
|
100
|
-
},
|
|
101
|
-
subElement: {
|
|
102
|
-
color: "currentColor"
|
|
103
103
|
}
|
|
104
104
|
}).build();
|
|
105
105
|
container.withChild(pronounsElement);
|