@ds-gn/ui 0.6.2 → 0.8.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 +21 -3
- package/custom-elements.json +202 -31
- package/dist/components/Background/src/Background.js +1 -13
- package/dist/components/Container/src/Container.d.ts +10 -5
- package/dist/components/Container/src/Container.js +85 -67
- package/dist/components/Container/src/Container.props.d.ts +19 -1
- package/dist/components/Container/src/Container.props.js +9 -4
- package/dist/components/Container/src/Container.styles.d.ts +9 -2
- package/dist/components/FeatureTabs/src/FeatureTabs.d.ts +14 -0
- package/dist/components/FeatureTabs/src/FeatureTabs.js +27 -43
- package/dist/components/FeatureTabs/src/FeatureTabs.styles.d.ts +1 -1
- package/dist/components/Footer/src/Footer.d.ts +5 -9
- package/dist/components/Footer/src/Footer.js +10 -12
- package/dist/components/Heading/src/Heading.js +1 -13
- package/dist/components/Hero/src/Hero.d.ts +5 -0
- package/dist/components/Hero/src/Hero.js +31 -5
- package/dist/components/Hero/src/Hero.styles.d.ts +1 -0
- package/dist/components/Modal/src/Modal.d.ts +4 -1
- package/dist/components/Modal/src/Modal.js +49 -264
- package/dist/components/Modal/src/Modal.props.d.ts +3 -0
- package/dist/components/Modal/src/Modal.props.js +9 -0
- package/dist/components/Modal/src/Modal.styles.d.ts +3 -7
- package/dist/components/Nav/src/Nav.js +2 -9
- package/dist/styles/hero-fallback.css +503 -0
- package/dist/styles/layout-fallback.css +168 -0
- package/package.json +11 -7
- package/dist/common/helpers/motion.d.ts +0 -9
|
@@ -16,5 +16,23 @@ export declare const containerPaddingValues: {
|
|
|
16
16
|
readonly XL: "xl";
|
|
17
17
|
};
|
|
18
18
|
export type ContainerPaddingType = (typeof containerPaddingValues)[keyof typeof containerPaddingValues];
|
|
19
|
+
/**
|
|
20
|
+
* Gutter step override. Leave unset to follow the inherited `--dsgn-gutter`,
|
|
21
|
+
* which pages and brands set once for every component.
|
|
22
|
+
*/
|
|
19
23
|
export declare const containerPaddingXProps: import("lit").PropertyDeclaration<unknown, unknown>;
|
|
20
|
-
|
|
24
|
+
/** Steps for the space above and below a page section. */
|
|
25
|
+
export declare const sectionSpaceValues: {
|
|
26
|
+
readonly NONE: "none";
|
|
27
|
+
readonly SM: "sm";
|
|
28
|
+
readonly MD: "md";
|
|
29
|
+
readonly LG: "lg";
|
|
30
|
+
readonly XL: "xl";
|
|
31
|
+
};
|
|
32
|
+
export type SectionSpaceType = ContainerPaddingType;
|
|
33
|
+
/**
|
|
34
|
+
* Section spacing override for one side. Leave unset to follow the inherited
|
|
35
|
+
* `--dsgn-section-space`.
|
|
36
|
+
*/
|
|
37
|
+
export declare const paddingTopProps: import("lit").PropertyDeclaration<unknown, unknown>;
|
|
38
|
+
export declare const paddingBottomProps: import("lit").PropertyDeclaration<unknown, unknown>;
|
|
@@ -38,12 +38,17 @@ var containerPaddingValues = {
|
|
|
38
38
|
LG: "lg",
|
|
39
39
|
XL: "xl"
|
|
40
40
|
};
|
|
41
|
-
var
|
|
42
|
-
var
|
|
41
|
+
var optional = (values) => [...values, undefined, null];
|
|
42
|
+
var containerPaddingXProps = enumCreator(optional(Object.values(containerPaddingValues)), "padding-x", String, { reflect: true, attribute: "padding-x" });
|
|
43
|
+
var sectionSpaceValues = containerPaddingValues;
|
|
44
|
+
var paddingTopProps = enumCreator(optional(Object.values(sectionSpaceValues)), "padding-top", String, { reflect: true, attribute: "padding-top" });
|
|
45
|
+
var paddingBottomProps = enumCreator(optional(Object.values(sectionSpaceValues)), "padding-bottom", String, { reflect: true, attribute: "padding-bottom" });
|
|
43
46
|
export {
|
|
44
47
|
containerPaddingValues,
|
|
45
48
|
containerPaddingXProps,
|
|
46
|
-
containerPaddingYProps,
|
|
47
49
|
containerSizeProps,
|
|
48
|
-
containerSizeValues
|
|
50
|
+
containerSizeValues,
|
|
51
|
+
paddingBottomProps,
|
|
52
|
+
paddingTopProps,
|
|
53
|
+
sectionSpaceValues
|
|
49
54
|
};
|
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
import type { ContainerPaddingType, ContainerSizeType } from './Container.props.js';
|
|
2
|
-
|
|
1
|
+
import type { ContainerPaddingType, ContainerSizeType, SectionSpaceType } from './Container.props.js';
|
|
2
|
+
/** Shared by the component and its pre-upgrade stylesheet. */
|
|
3
|
+
export declare const paddingXClassNames: (padding?: ContainerPaddingType) => string;
|
|
4
|
+
/**
|
|
5
|
+
* Vertical padding. A section follows the inherited section space on any side
|
|
6
|
+
* left unset; a plain container has none there.
|
|
7
|
+
*/
|
|
8
|
+
export declare const sectionSpaceClassNames: (section: boolean, top?: SectionSpaceType, bottom?: SectionSpaceType) => string;
|
|
9
|
+
export declare const classNames: (size: ContainerSizeType, paddingX: ContainerPaddingType | undefined, section: boolean, paddingTop?: SectionSpaceType, paddingBottom?: SectionSpaceType) => string;
|
|
@@ -8,12 +8,20 @@ import '../../Icon/src/Icon.js';
|
|
|
8
8
|
import { Base } from '../../../common/Base/Base.js';
|
|
9
9
|
import { type SurfaceType } from '../../../common/props/surface/surface.props.js';
|
|
10
10
|
import { type CSSResultGroup } from 'lit';
|
|
11
|
+
import { type SectionSpaceType } from '../../Container/src/Container.props.js';
|
|
11
12
|
import { type FeatureTabData } from './FeatureTabs.props.js';
|
|
12
13
|
/** @slot header - Optional content above the tab interface. */
|
|
13
14
|
export declare class FeatureTabs extends Base {
|
|
14
15
|
static styles: CSSResultGroup;
|
|
16
|
+
/** Space above the section. Unset follows the inherited section space. */
|
|
17
|
+
paddingTop?: SectionSpaceType;
|
|
18
|
+
/** Space below the section. Unset follows the inherited section space. */
|
|
19
|
+
paddingBottom?: SectionSpaceType;
|
|
15
20
|
private _inView;
|
|
16
21
|
private _rotate;
|
|
22
|
+
private _motion;
|
|
23
|
+
/** The feature whose detail last faded in; the fade replays when it changes. */
|
|
24
|
+
private _shownIndex?;
|
|
17
25
|
surface: SurfaceType;
|
|
18
26
|
features: FeatureTabData[];
|
|
19
27
|
duration: number;
|
|
@@ -32,6 +40,12 @@ export declare class FeatureTabs extends Base {
|
|
|
32
40
|
constructor();
|
|
33
41
|
firstUpdated(): void;
|
|
34
42
|
updated(changedProperties: Map<string | number | symbol, unknown>): void;
|
|
43
|
+
/**
|
|
44
|
+
* Fade the detail in whenever the active feature changes. `keyed` renders a
|
|
45
|
+
* fresh element per feature, so each change animates a new node. This runs
|
|
46
|
+
* after render and before paint, so the new detail never shows unfaded.
|
|
47
|
+
*/
|
|
48
|
+
private _fadeInDetail;
|
|
35
49
|
private _handleTabClick;
|
|
36
50
|
private _handleTabKeyDown;
|
|
37
51
|
private _handlePauseResume;
|
|
@@ -95,20 +95,8 @@ class Base extends LitElement {
|
|
|
95
95
|
}
|
|
96
96
|
defineElement("dsgn-base", Base);
|
|
97
97
|
|
|
98
|
-
// common/helpers/motion.ts
|
|
99
|
-
var REDUCED_MOTION_QUERY = "(prefers-reduced-motion: reduce)";
|
|
100
|
-
var cachedMatchMedia;
|
|
101
|
-
var cachedQuery = null;
|
|
102
|
-
function prefersReducedMotion() {
|
|
103
|
-
const mm = typeof matchMedia === "function" ? matchMedia : undefined;
|
|
104
|
-
if (mm !== cachedMatchMedia) {
|
|
105
|
-
cachedMatchMedia = mm;
|
|
106
|
-
cachedQuery = mm ? mm(REDUCED_MOTION_QUERY) : null;
|
|
107
|
-
}
|
|
108
|
-
return cachedQuery?.matches ?? false;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
98
|
// common/controllers/AutoRotateController.ts
|
|
99
|
+
import { prefersReducedMotion } from "@ds-gn/motion";
|
|
112
100
|
var TICK_MS = 32;
|
|
113
101
|
|
|
114
102
|
class AutoRotateController {
|
|
@@ -229,6 +217,9 @@ var surfaceValues = {
|
|
|
229
217
|
};
|
|
230
218
|
var surfaceProps = enumCreator(Object.values(surfaceValues), "surface", String, { reflect: true });
|
|
231
219
|
|
|
220
|
+
// components/FeatureTabs/src/FeatureTabs.ts
|
|
221
|
+
import { MotionController } from "@ds-gn/motion/lit";
|
|
222
|
+
|
|
232
223
|
// ../../node_modules/.bun/lit-html@3.3.3/node_modules/lit-html/development/is-server.js
|
|
233
224
|
var NODE_MODE = false;
|
|
234
225
|
var isServer = NODE_MODE;
|
|
@@ -304,8 +295,9 @@ import { property } from "lit/decorators.js";
|
|
|
304
295
|
import { keyed } from "lit/directives/keyed.js";
|
|
305
296
|
import { styleMap } from "lit/directives/style-map.js";
|
|
306
297
|
import {
|
|
307
|
-
|
|
308
|
-
|
|
298
|
+
containerSizeValues,
|
|
299
|
+
paddingBottomProps,
|
|
300
|
+
paddingTopProps
|
|
309
301
|
} from "../../Container/src/Container.props.js";
|
|
310
302
|
|
|
311
303
|
// components/FeatureTabs/src/FeatureTabs.css
|
|
@@ -337,8 +329,6 @@ var styles2 = css2`/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.co
|
|
|
337
329
|
--color-text-primary: inherit;
|
|
338
330
|
--color-text-secondary: inherit;
|
|
339
331
|
--color-text-tertiary: inherit;
|
|
340
|
-
--animate-fade-in-a: fade-in-a 0.3s ease-in;
|
|
341
|
-
--animate-fade-in-b: fade-in-b 0.3s ease-in;
|
|
342
332
|
}
|
|
343
333
|
}
|
|
344
334
|
@layer utilities {
|
|
@@ -462,12 +452,6 @@ var styles2 = css2`/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.co
|
|
|
462
452
|
.shrink-0 {
|
|
463
453
|
flex-shrink: 0;
|
|
464
454
|
}
|
|
465
|
-
.animate-fade-in-a {
|
|
466
|
-
animation: var(--animate-fade-in-a);
|
|
467
|
-
}
|
|
468
|
-
.animate-fade-in-b {
|
|
469
|
-
animation: var(--animate-fade-in-b);
|
|
470
|
-
}
|
|
471
455
|
.cursor-pointer {
|
|
472
456
|
cursor: pointer;
|
|
473
457
|
}
|
|
@@ -849,22 +833,6 @@ var styles2 = css2`/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.co
|
|
|
849
833
|
syntax: "*";
|
|
850
834
|
inherits: false;
|
|
851
835
|
}
|
|
852
|
-
@keyframes fade-in-a {
|
|
853
|
-
from {
|
|
854
|
-
opacity: 0;
|
|
855
|
-
}
|
|
856
|
-
to {
|
|
857
|
-
opacity: 1;
|
|
858
|
-
}
|
|
859
|
-
}
|
|
860
|
-
@keyframes fade-in-b {
|
|
861
|
-
from {
|
|
862
|
-
opacity: 0;
|
|
863
|
-
}
|
|
864
|
-
to {
|
|
865
|
-
opacity: 1;
|
|
866
|
-
}
|
|
867
|
-
}
|
|
868
836
|
@layer properties {
|
|
869
837
|
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
|
|
870
838
|
*, ::before, ::after, ::backdrop {
|
|
@@ -1018,7 +986,7 @@ var patternOverlayStyles = () => ({
|
|
|
1018
986
|
maskImage: PATTERN_MASK,
|
|
1019
987
|
WebkitMaskImage: PATTERN_MASK
|
|
1020
988
|
});
|
|
1021
|
-
var detailContentClassNames = (
|
|
989
|
+
var detailContentClassNames = () => clsx_default("relative", "flex", "flex-col", "flex-1");
|
|
1022
990
|
var detailHeaderClassNames = () => clsx_default("flex", "items-center", "gap-3", "mb-6");
|
|
1023
991
|
var detailEyebrowClassNames = () => clsx_default("font-mono", "text-[11px]", "tracking-[0.06em]", "uppercase", "text-text-tertiary");
|
|
1024
992
|
var detailCounterClassNames = () => clsx_default("ml-auto", "font-mono", "text-[12px]", "text-text-tertiary");
|
|
@@ -1068,6 +1036,7 @@ class FeatureTabs extends Base {
|
|
|
1068
1036
|
config: { threshold: 0 },
|
|
1069
1037
|
callback: (entries) => entries[entries.length - 1]?.isIntersecting ?? false
|
|
1070
1038
|
});
|
|
1039
|
+
this._motion = new MotionController(this);
|
|
1071
1040
|
this.surface = surfaceValues.DARK;
|
|
1072
1041
|
this.features = DEFAULT_FEATURES;
|
|
1073
1042
|
this.duration = DEFAULT_DURATION;
|
|
@@ -1088,6 +1057,14 @@ class FeatureTabs extends Base {
|
|
|
1088
1057
|
if (changedProperties.has("duration")) {
|
|
1089
1058
|
this._rotate.setDuration(this.duration);
|
|
1090
1059
|
}
|
|
1060
|
+
this._fadeInDetail();
|
|
1061
|
+
}
|
|
1062
|
+
_fadeInDetail() {
|
|
1063
|
+
const index = this._rotate.activeIndex;
|
|
1064
|
+
if (index === this._shownIndex)
|
|
1065
|
+
return;
|
|
1066
|
+
this._shownIndex = index;
|
|
1067
|
+
this.renderRoot.querySelectorAll("[data-detail-content]").forEach((detail) => void this._motion.enter(detail, "fade"));
|
|
1091
1068
|
}
|
|
1092
1069
|
_handleTabClick(index) {
|
|
1093
1070
|
this._rotate.goTo(index);
|
|
@@ -1147,7 +1124,7 @@ class FeatureTabs extends Base {
|
|
|
1147
1124
|
<div aria-hidden="true" style=${styleMap(patternOverlayStyles())}></div>
|
|
1148
1125
|
|
|
1149
1126
|
${keyed(idx, html2`
|
|
1150
|
-
<div class="${detailContentClassNames(
|
|
1127
|
+
<div class="${detailContentClassNames()}" data-detail-content>
|
|
1151
1128
|
<div class="${detailHeaderClassNames()}">
|
|
1152
1129
|
<span class="${iconBadgeClassNames(true, true)}">
|
|
1153
1130
|
${this._renderIcon(feature.icon, "lg")}
|
|
@@ -1276,8 +1253,9 @@ class FeatureTabs extends Base {
|
|
|
1276
1253
|
<section>
|
|
1277
1254
|
<dsgn-container
|
|
1278
1255
|
size="${containerSizeValues.XXL}"
|
|
1279
|
-
|
|
1280
|
-
|
|
1256
|
+
section
|
|
1257
|
+
.paddingTop=${this.paddingTop}
|
|
1258
|
+
.paddingBottom=${this.paddingBottom}
|
|
1281
1259
|
>
|
|
1282
1260
|
<div class="${headerClassNames()}">
|
|
1283
1261
|
<slot name="header"></slot>
|
|
@@ -1300,6 +1278,12 @@ class FeatureTabs extends Base {
|
|
|
1300
1278
|
`;
|
|
1301
1279
|
}
|
|
1302
1280
|
}
|
|
1281
|
+
__legacyDecorateClassTS([
|
|
1282
|
+
property({ ...paddingTopProps })
|
|
1283
|
+
], FeatureTabs.prototype, "paddingTop", undefined);
|
|
1284
|
+
__legacyDecorateClassTS([
|
|
1285
|
+
property({ ...paddingBottomProps })
|
|
1286
|
+
], FeatureTabs.prototype, "paddingBottom", undefined);
|
|
1303
1287
|
__legacyDecorateClassTS([
|
|
1304
1288
|
property({ ...surfaceProps })
|
|
1305
1289
|
], FeatureTabs.prototype, "surface", undefined);
|
|
@@ -18,7 +18,7 @@ export declare const controlBtnClassNames: () => string;
|
|
|
18
18
|
export declare const controlDotClassNames: (rotating: boolean) => string;
|
|
19
19
|
export declare const detailClassNames: () => string;
|
|
20
20
|
export declare const patternOverlayStyles: () => Record<string, string>;
|
|
21
|
-
export declare const detailContentClassNames: (
|
|
21
|
+
export declare const detailContentClassNames: () => string;
|
|
22
22
|
export declare const detailHeaderClassNames: () => string;
|
|
23
23
|
export declare const detailEyebrowClassNames: () => string;
|
|
24
24
|
export declare const detailCounterClassNames: () => string;
|
|
@@ -3,7 +3,7 @@ import '../../Container/src/Container.js';
|
|
|
3
3
|
import { type CSSResultGroup } from 'lit';
|
|
4
4
|
import { Base } from '../../../common/Base/Base.js';
|
|
5
5
|
import { type SurfaceType } from '../../../common/props/surface/surface.props.js';
|
|
6
|
-
import { type
|
|
6
|
+
import { type ContainerSizeType, type SectionSpaceType } from '../../Container/src/Container.props.js';
|
|
7
7
|
/**
|
|
8
8
|
* @slot logo - Brand or logo content.
|
|
9
9
|
* @slot col-1 - First footer column.
|
|
@@ -21,14 +21,10 @@ export declare class Footer extends Base {
|
|
|
21
21
|
* Container max-width size
|
|
22
22
|
*/
|
|
23
23
|
containerSize: ContainerSizeType;
|
|
24
|
-
/**
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Container vertical padding
|
|
30
|
-
*/
|
|
31
|
-
containerPaddingY: ContainerPaddingType;
|
|
24
|
+
/** Space above the section. Unset follows the inherited section space. */
|
|
25
|
+
paddingTop?: SectionSpaceType;
|
|
26
|
+
/** Space below the section. Unset follows the inherited section space. */
|
|
27
|
+
paddingBottom?: SectionSpaceType;
|
|
32
28
|
updated(changedProperties: Map<string | number | symbol, unknown>): void;
|
|
33
29
|
render(): import("lit").TemplateResult<1>;
|
|
34
30
|
}
|
|
@@ -124,11 +124,10 @@ var surfaceProps = enumCreator(Object.values(surfaceValues), "surface", String,
|
|
|
124
124
|
|
|
125
125
|
// components/Footer/src/Footer.ts
|
|
126
126
|
import {
|
|
127
|
-
containerPaddingValues,
|
|
128
|
-
containerPaddingXProps,
|
|
129
|
-
containerPaddingYProps,
|
|
130
127
|
containerSizeProps,
|
|
131
|
-
containerSizeValues
|
|
128
|
+
containerSizeValues,
|
|
129
|
+
paddingBottomProps,
|
|
130
|
+
paddingTopProps
|
|
132
131
|
} from "../../Container/src/Container.props.js";
|
|
133
132
|
|
|
134
133
|
// components/Footer/src/Footer.css
|
|
@@ -303,8 +302,6 @@ class Footer extends Base {
|
|
|
303
302
|
super(...arguments);
|
|
304
303
|
this.surface = surfaceValues.DARK;
|
|
305
304
|
this.containerSize = containerSizeValues.XXL;
|
|
306
|
-
this.containerPaddingX = containerPaddingValues.SM;
|
|
307
|
-
this.containerPaddingY = containerPaddingValues.LG;
|
|
308
305
|
}
|
|
309
306
|
static styles = [Base.styles, Footer_default];
|
|
310
307
|
updated(changedProperties) {
|
|
@@ -316,8 +313,9 @@ class Footer extends Base {
|
|
|
316
313
|
<footer class="${classNames()}">
|
|
317
314
|
<dsgn-container
|
|
318
315
|
size="${this.containerSize}"
|
|
319
|
-
|
|
320
|
-
|
|
316
|
+
section
|
|
317
|
+
.paddingTop=${this.paddingTop}
|
|
318
|
+
.paddingBottom=${this.paddingBottom}
|
|
321
319
|
>
|
|
322
320
|
<div class="${topClasses()}">
|
|
323
321
|
<div class="${logoClasses()}">
|
|
@@ -350,11 +348,11 @@ __legacyDecorateClassTS([
|
|
|
350
348
|
property({ ...containerSizeProps, attribute: "container-size" })
|
|
351
349
|
], Footer.prototype, "containerSize", undefined);
|
|
352
350
|
__legacyDecorateClassTS([
|
|
353
|
-
property({ ...
|
|
354
|
-
], Footer.prototype, "
|
|
351
|
+
property({ ...paddingTopProps })
|
|
352
|
+
], Footer.prototype, "paddingTop", undefined);
|
|
355
353
|
__legacyDecorateClassTS([
|
|
356
|
-
property({ ...
|
|
357
|
-
], Footer.prototype, "
|
|
354
|
+
property({ ...paddingBottomProps })
|
|
355
|
+
], Footer.prototype, "paddingBottom", undefined);
|
|
358
356
|
defineElement("dsgn-footer", Footer);
|
|
359
357
|
export {
|
|
360
358
|
Footer
|
|
@@ -157,20 +157,8 @@ class Base extends LitElement {
|
|
|
157
157
|
}
|
|
158
158
|
defineElement("dsgn-base", Base);
|
|
159
159
|
|
|
160
|
-
// common/helpers/motion.ts
|
|
161
|
-
var REDUCED_MOTION_QUERY = "(prefers-reduced-motion: reduce)";
|
|
162
|
-
var cachedMatchMedia;
|
|
163
|
-
var cachedQuery = null;
|
|
164
|
-
function prefersReducedMotion() {
|
|
165
|
-
const mm = typeof matchMedia === "function" ? matchMedia : undefined;
|
|
166
|
-
if (mm !== cachedMatchMedia) {
|
|
167
|
-
cachedMatchMedia = mm;
|
|
168
|
-
cachedQuery = mm ? mm(REDUCED_MOTION_QUERY) : null;
|
|
169
|
-
}
|
|
170
|
-
return cachedQuery?.matches ?? false;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
160
|
// common/controllers/WordCycleController.ts
|
|
161
|
+
import { prefersReducedMotion } from "@ds-gn/motion";
|
|
174
162
|
var DEFAULT_INTERVAL = 1000;
|
|
175
163
|
|
|
176
164
|
class WordCycleController {
|
|
@@ -6,6 +6,7 @@ import '../../HeadingBlock/src/HeadingBlock.js';
|
|
|
6
6
|
import { type CSSResultGroup } from 'lit';
|
|
7
7
|
import { Base } from '../../../common/Base/Base.js';
|
|
8
8
|
import { type SurfaceType } from '../../../common/props/surface/surface.props.js';
|
|
9
|
+
import { type SectionSpaceType } from '../../Container/src/Container.props.js';
|
|
9
10
|
import { type HeroContentAlignType, type HeroLayoutType, type HeroMinHeightType } from './Hero.props.js';
|
|
10
11
|
/**
|
|
11
12
|
* @slot content - Primary hero content.
|
|
@@ -32,6 +33,10 @@ export declare class Hero extends Base {
|
|
|
32
33
|
* Has no effect on asset-right / asset-left / asset-background layouts.
|
|
33
34
|
*/
|
|
34
35
|
contentAlign: HeroContentAlignType;
|
|
36
|
+
/** Space above the section. Unset follows the inherited section space. */
|
|
37
|
+
paddingTop?: SectionSpaceType;
|
|
38
|
+
/** Space below the section. Unset follows the inherited section space. */
|
|
39
|
+
paddingBottom?: SectionSpaceType;
|
|
35
40
|
updated(changedProperties: Map<string | number | symbol, unknown>): void;
|
|
36
41
|
render(): import("lit").TemplateResult<1>;
|
|
37
42
|
}
|
|
@@ -126,7 +126,11 @@ var surfaceValues = {
|
|
|
126
126
|
var surfaceProps = enumCreator(Object.values(surfaceValues), "surface", String, { reflect: true });
|
|
127
127
|
|
|
128
128
|
// components/Hero/src/Hero.ts
|
|
129
|
-
import {
|
|
129
|
+
import {
|
|
130
|
+
containerSizeValues,
|
|
131
|
+
paddingBottomProps,
|
|
132
|
+
paddingTopProps
|
|
133
|
+
} from "../../Container/src/Container.props.js";
|
|
130
134
|
import {
|
|
131
135
|
gridAlignValues,
|
|
132
136
|
gridColsValues,
|
|
@@ -399,8 +403,9 @@ var overlayClassNames = () => {
|
|
|
399
403
|
var featuresClassNames = () => {
|
|
400
404
|
return clsx_default("mt-14", "pb-6", "relative", "z-10");
|
|
401
405
|
};
|
|
406
|
+
var featuresTypographyClassNames = () => clsx_default("font-mono", "text-xs", "text-text-tertiary", "tracking-[0.02em]", "uppercase");
|
|
402
407
|
var featuresContentClassNames = (layout, contentAlign) => {
|
|
403
|
-
return clsx_default("flex", "gap-10", "flex-wrap",
|
|
408
|
+
return clsx_default("flex", "gap-10", "flex-wrap", featuresTypographyClassNames(), layout === "centered" && contentAlign === "center" && "justify-center");
|
|
404
409
|
};
|
|
405
410
|
var centeredFormClassNames = (contentAlign) => {
|
|
406
411
|
return clsx_default("flex", "w-full", contentAlign === "center" ? "justify-center" : "justify-start");
|
|
@@ -430,7 +435,12 @@ class Hero extends Base {
|
|
|
430
435
|
</div>
|
|
431
436
|
</div>
|
|
432
437
|
<div class="${overlayClassNames()}"></div>
|
|
433
|
-
<dsgn-container
|
|
438
|
+
<dsgn-container
|
|
439
|
+
size="${containerSizeValues.XXL}"
|
|
440
|
+
section
|
|
441
|
+
.paddingTop=${this.paddingTop}
|
|
442
|
+
.paddingBottom=${this.paddingBottom}
|
|
443
|
+
>
|
|
434
444
|
<div class="${backgroundInnerClassNames()}">
|
|
435
445
|
<slot name="content"></slot>
|
|
436
446
|
<slot name="form"></slot>
|
|
@@ -447,7 +457,12 @@ class Hero extends Base {
|
|
|
447
457
|
if (this.layout === heroLayoutValues.CENTERED) {
|
|
448
458
|
return html2`
|
|
449
459
|
<div class="${wrapperClassNames(this.layout, this.minHeight)}">
|
|
450
|
-
<dsgn-container
|
|
460
|
+
<dsgn-container
|
|
461
|
+
size="${containerSizeValues.XXL}"
|
|
462
|
+
section
|
|
463
|
+
.paddingTop=${this.paddingTop}
|
|
464
|
+
.paddingBottom=${this.paddingBottom}
|
|
465
|
+
>
|
|
451
466
|
<div class="${centeredInnerClassNames()}">
|
|
452
467
|
<slot name="content"></slot>
|
|
453
468
|
<div class="${centeredFormClassNames(this.contentAlign)}">
|
|
@@ -467,7 +482,12 @@ class Hero extends Base {
|
|
|
467
482
|
}
|
|
468
483
|
return html2`
|
|
469
484
|
<div class="${wrapperClassNames(this.layout, this.minHeight)}">
|
|
470
|
-
<dsgn-container
|
|
485
|
+
<dsgn-container
|
|
486
|
+
size="${containerSizeValues.XXL}"
|
|
487
|
+
section
|
|
488
|
+
.paddingTop=${this.paddingTop}
|
|
489
|
+
.paddingBottom=${this.paddingBottom}
|
|
490
|
+
>
|
|
471
491
|
<dsgn-grid
|
|
472
492
|
.cols=${gridColsValues.EIGHT_FOUR}
|
|
473
493
|
.gap=${gridGapValues.LG}
|
|
@@ -500,6 +520,12 @@ __legacyDecorateClassTS([
|
|
|
500
520
|
__legacyDecorateClassTS([
|
|
501
521
|
property({ ...heroContentAlignProps })
|
|
502
522
|
], Hero.prototype, "contentAlign", undefined);
|
|
523
|
+
__legacyDecorateClassTS([
|
|
524
|
+
property({ ...paddingTopProps })
|
|
525
|
+
], Hero.prototype, "paddingTop", undefined);
|
|
526
|
+
__legacyDecorateClassTS([
|
|
527
|
+
property({ ...paddingBottomProps })
|
|
528
|
+
], Hero.prototype, "paddingBottom", undefined);
|
|
503
529
|
defineElement("dsgn-hero", Hero);
|
|
504
530
|
export {
|
|
505
531
|
Hero
|
|
@@ -6,5 +6,6 @@ export declare const assetClassNames: (layout: HeroLayoutType) => string;
|
|
|
6
6
|
export declare const assetInnerClassNames: (layout: HeroLayoutType) => string;
|
|
7
7
|
export declare const overlayClassNames: () => string;
|
|
8
8
|
export declare const featuresClassNames: () => string;
|
|
9
|
+
export declare const featuresTypographyClassNames: () => string;
|
|
9
10
|
export declare const featuresContentClassNames: (layout?: HeroLayoutType, contentAlign?: HeroContentAlignType) => string;
|
|
10
11
|
export declare const centeredFormClassNames: (contentAlign?: HeroContentAlignType) => string;
|
|
@@ -72,8 +72,10 @@ export declare class Modal extends Base {
|
|
|
72
72
|
* keyboard users are stuck.
|
|
73
73
|
*/
|
|
74
74
|
noEscapeDismiss: boolean;
|
|
75
|
-
|
|
75
|
+
private readonly _motion;
|
|
76
76
|
private _closing;
|
|
77
|
+
/** Invalidates an exit when reopened, disconnected, or closed externally. */
|
|
78
|
+
private _closeRun;
|
|
77
79
|
private _hasHeading;
|
|
78
80
|
private _hasDescription;
|
|
79
81
|
private _hasFooter;
|
|
@@ -118,6 +120,7 @@ export declare class Modal extends Base {
|
|
|
118
120
|
* on the animations' own `finished` promises.
|
|
119
121
|
*/
|
|
120
122
|
private _runCloseSequence;
|
|
123
|
+
private _animateDialog;
|
|
121
124
|
/**
|
|
122
125
|
* Deliberate initial focus: an author-marked `[autofocus]` (light DOM first,
|
|
123
126
|
* since that is where the modal's content lives), otherwise the dialog itself.
|