@sankhyatronics/sankhya-cms 0.1.18 → 0.3.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/custom-elements.json +11634 -3153
- package/dist/attention-panel/index.js +2 -2
- package/dist/bar-chart/index.js +2 -2
- package/dist/bento-grid/index.d.ts +33 -1
- package/dist/bento-grid/index.js +4 -3
- package/dist/booking/index.d.ts +309 -0
- package/dist/booking/index.js +20 -0
- package/dist/booking/index.js.map +1 -0
- package/dist/card/index.d.ts +3 -4
- package/dist/card/index.js +2 -2
- package/dist/carousel/index.d.ts +20 -6
- package/dist/carousel/index.js +3 -3
- package/dist/chip/index.js +2 -2
- package/dist/{chunk-JQY2G4QK.js → chunk-2GTR37PU.js} +2 -2
- package/dist/chunk-2GTR37PU.js.map +1 -0
- package/dist/{chunk-FLY7TNRT.js → chunk-2HMOX253.js} +128 -25
- package/dist/chunk-2HMOX253.js.map +1 -0
- package/dist/{chunk-DH53HZPB.js → chunk-37KFBKPD.js} +32 -4
- package/dist/chunk-37KFBKPD.js.map +1 -0
- package/dist/{chunk-ALI26WOB.js → chunk-4XPKKYVZ.js} +54 -15
- package/dist/chunk-4XPKKYVZ.js.map +1 -0
- package/dist/chunk-535QAZ6A.js +236 -0
- package/dist/chunk-535QAZ6A.js.map +1 -0
- package/dist/{chunk-AKJQ345O.js → chunk-5AWGZQWU.js} +2 -2
- package/dist/chunk-6OZKZG5J.js +300 -0
- package/dist/chunk-6OZKZG5J.js.map +1 -0
- package/dist/chunk-AYNT7G3J.js +805 -0
- package/dist/chunk-AYNT7G3J.js.map +1 -0
- package/dist/chunk-BEWX3E6P.js +32 -0
- package/dist/chunk-BEWX3E6P.js.map +1 -0
- package/dist/chunk-CZUGPKXV.js +275 -0
- package/dist/chunk-CZUGPKXV.js.map +1 -0
- package/dist/{chunk-LEXZKGQX.js → chunk-DJFWZOZM.js} +107 -11
- package/dist/chunk-DJFWZOZM.js.map +1 -0
- package/dist/chunk-DPANTC3O.js +1714 -0
- package/dist/chunk-DPANTC3O.js.map +1 -0
- package/dist/chunk-EKZFFY45.js +426 -0
- package/dist/chunk-EKZFFY45.js.map +1 -0
- package/dist/chunk-ER7MCPDV.js +7 -0
- package/dist/chunk-ER7MCPDV.js.map +1 -0
- package/dist/chunk-EW2RK5Y6.js +383 -0
- package/dist/chunk-EW2RK5Y6.js.map +1 -0
- package/dist/{chunk-BLQV2YMO.js → chunk-EZOKT7NJ.js} +2 -2
- package/dist/chunk-FF2LWEF3.js +386 -0
- package/dist/chunk-FF2LWEF3.js.map +1 -0
- package/dist/chunk-FOUK3NHR.js +7 -0
- package/dist/chunk-FOUK3NHR.js.map +1 -0
- package/dist/chunk-GB4NGCZI.js +181 -0
- package/dist/chunk-GB4NGCZI.js.map +1 -0
- package/dist/{chunk-7NLZND6Q.js → chunk-GOFSMD6W.js} +35 -11
- package/dist/chunk-GOFSMD6W.js.map +1 -0
- package/dist/{chunk-6D6ROU7X.js → chunk-IGMVF3KK.js} +2 -2
- package/dist/{chunk-INMSEYT6.js → chunk-IVPVYVWG.js} +2 -2
- package/dist/chunk-JURCF4OD.js +381 -0
- package/dist/chunk-JURCF4OD.js.map +1 -0
- package/dist/{chunk-FZ36KL73.js → chunk-KZ7PMFWS.js} +11 -1
- package/dist/chunk-KZ7PMFWS.js.map +1 -0
- package/dist/{chunk-EMCQBT3S.js → chunk-LO6TZBGD.js} +129 -35
- package/dist/chunk-LO6TZBGD.js.map +1 -0
- package/dist/chunk-MFRGAT6D.js +860 -0
- package/dist/chunk-MFRGAT6D.js.map +1 -0
- package/dist/chunk-MIBVQXRU.js +1098 -0
- package/dist/chunk-MIBVQXRU.js.map +1 -0
- package/dist/{chunk-35TX3AOA.js → chunk-NABSRUXG.js} +2 -2
- package/dist/{chunk-R5G6KFTJ.js → chunk-NXKDZWS7.js} +44 -6
- package/dist/chunk-NXKDZWS7.js.map +1 -0
- package/dist/{chunk-KMU6ABQF.js → chunk-NXUS2CH7.js} +14 -1
- package/dist/chunk-NXUS2CH7.js.map +1 -0
- package/dist/{chunk-GJO3RGOB.js → chunk-OCPGOLVF.js} +56 -11
- package/dist/chunk-OCPGOLVF.js.map +1 -0
- package/dist/chunk-OEOE6IFY.js +628 -0
- package/dist/chunk-OEOE6IFY.js.map +1 -0
- package/dist/{chunk-SMLR736E.js → chunk-PV6OCXXN.js} +2 -2
- package/dist/chunk-PV6OCXXN.js.map +1 -0
- package/dist/chunk-Q66CJO3P.js +534 -0
- package/dist/chunk-Q66CJO3P.js.map +1 -0
- package/dist/{chunk-MG2VTZA4.js → chunk-QS3ANOWN.js} +2 -2
- package/dist/{chunk-ZN4LIKVG.js → chunk-QSJ543V2.js} +2 -2
- package/dist/chunk-QSJ543V2.js.map +1 -0
- package/dist/{chunk-FML6AG2V.js → chunk-RANC3OI6.js} +2 -2
- package/dist/chunk-T4BIN37Q.js +32 -0
- package/dist/chunk-T4BIN37Q.js.map +1 -0
- package/dist/{chunk-YVTFQHVY.js → chunk-TEAZZPDQ.js} +2 -2
- package/dist/chunk-TJK55CJ2.js +49 -0
- package/dist/chunk-TJK55CJ2.js.map +1 -0
- package/dist/chunk-UKIVLF7S.js +32 -0
- package/dist/chunk-UKIVLF7S.js.map +1 -0
- package/dist/chunk-V4R7PYP5.js +905 -0
- package/dist/chunk-V4R7PYP5.js.map +1 -0
- package/dist/{chunk-AG2COC64.js → chunk-VVYQ2DDS.js} +2 -2
- package/dist/chunk-WAMOAAMN.js +16 -0
- package/dist/chunk-WAMOAAMN.js.map +1 -0
- package/dist/chunk-WAYHHL4J.js +1234 -0
- package/dist/chunk-WAYHHL4J.js.map +1 -0
- package/dist/{chunk-YQ42EBK5.js → chunk-WH6HE6SY.js} +10 -4
- package/dist/chunk-WH6HE6SY.js.map +1 -0
- package/dist/chunk-XP6DI3VY.js +180 -0
- package/dist/chunk-XP6DI3VY.js.map +1 -0
- package/dist/{chunk-5EBWMPJS.js → chunk-XS6LNTSH.js} +76 -14
- package/dist/chunk-XS6LNTSH.js.map +1 -0
- package/dist/{chunk-WT4OATGP.js → chunk-ZKFCDVB4.js} +16 -7
- package/dist/chunk-ZKFCDVB4.js.map +1 -0
- package/dist/cms-theme.css +29 -0
- package/dist/contact-form/index.d.ts +220 -0
- package/dist/contact-form/index.js +16 -0
- package/dist/contact-form/index.js.map +1 -0
- package/dist/content-block/index.d.ts +39 -4
- package/dist/content-block/index.js +8 -4
- package/dist/cookie-consent/index.d.ts +60 -12
- package/dist/cookie-consent/index.js +3 -2
- package/dist/date-tile/index.js +2 -2
- package/dist/dropdown/index.d.ts +29 -11
- package/dist/dropdown/index.js +4 -2
- package/dist/feature-split/index.d.ts +6 -1
- package/dist/feature-split/index.js +5 -4
- package/dist/features-section/index.d.ts +53 -9
- package/dist/features-section/index.js +6 -5
- package/dist/flow/index.d.ts +35 -0
- package/dist/flow/index.js +9 -0
- package/dist/flow/index.js.map +1 -0
- package/dist/footer/index.d.ts +13 -0
- package/dist/footer/index.js +2 -2
- package/dist/header/index.d.ts +135 -16
- package/dist/header/index.js +3 -2
- package/dist/hero/index.d.ts +92 -8
- package/dist/hero/index.js +6 -3
- package/dist/icon-button/index.d.ts +7 -7
- package/dist/icon-button/index.js +2 -2
- package/dist/index.d.ts +12 -3
- package/dist/index.js +121 -47
- package/dist/items-accordion/index.d.ts +9 -0
- package/dist/items-accordion/index.js +4 -3
- package/dist/kpi-card/index.js +2 -2
- package/dist/markdown/index.d.ts +19 -2
- package/dist/markdown/index.js +3 -2
- package/dist/mega-menu/index.d.ts +95 -7
- package/dist/mega-menu/index.js +7 -2
- package/dist/menu-grid/index.d.ts +2 -3
- package/dist/menu-grid/index.js +2 -2
- package/dist/menu-grid-item/index.d.ts +6 -8
- package/dist/menu-grid-item/index.js +2 -2
- package/dist/menu-item/index.d.ts +11 -7
- package/dist/menu-item/index.js +3 -2
- package/dist/plan-cards/index.d.ts +69 -0
- package/dist/plan-cards/index.js +13 -0
- package/dist/plan-cards/index.js.map +1 -0
- package/dist/product-nav/index.d.ts +127 -0
- package/dist/product-nav/index.js +11 -0
- package/dist/product-nav/index.js.map +1 -0
- package/dist/promo-banner/index.d.ts +42 -4
- package/dist/promo-banner/index.js +6 -3
- package/dist/quote-dialog/index.d.ts +174 -0
- package/dist/quote-dialog/index.js +22 -0
- package/dist/quote-dialog/index.js.map +1 -0
- package/dist/schema/index.d.ts +11 -0
- package/dist/schema/index.js +9 -0
- package/dist/schema/index.js.map +1 -1
- package/dist/screenshot-tour/index.d.ts +54 -0
- package/dist/screenshot-tour/index.js +9 -0
- package/dist/screenshot-tour/index.js.map +1 -0
- package/dist/section/index.d.ts +3 -0
- package/dist/section/index.js +3 -3
- package/dist/segmented-control/index.js +2 -2
- package/dist/select/index.js +2 -2
- package/dist/shared/styles.d.ts +7 -1
- package/dist/shared/styles.js +3 -1
- package/dist/stats/index.js +2 -2
- package/dist/steps/index.d.ts +45 -0
- package/dist/steps/index.js +11 -0
- package/dist/steps/index.js.map +1 -0
- package/dist/tag-strip/index.d.ts +33 -0
- package/dist/tag-strip/index.js +9 -0
- package/dist/tag-strip/index.js.map +1 -0
- package/dist/testimonials/index.d.ts +9 -1
- package/dist/testimonials/index.js +3 -3
- package/dist/tooltip/index.js +2 -2
- package/package.json +38 -2
- package/dist/chunk-5EBWMPJS.js.map +0 -1
- package/dist/chunk-76AVBQUA.js +0 -252
- package/dist/chunk-76AVBQUA.js.map +0 -1
- package/dist/chunk-7NLZND6Q.js.map +0 -1
- package/dist/chunk-ALI26WOB.js.map +0 -1
- package/dist/chunk-BMHMNXIA.js +0 -158
- package/dist/chunk-BMHMNXIA.js.map +0 -1
- package/dist/chunk-DH53HZPB.js.map +0 -1
- package/dist/chunk-EMCQBT3S.js.map +0 -1
- package/dist/chunk-FLY7TNRT.js.map +0 -1
- package/dist/chunk-FZ36KL73.js.map +0 -1
- package/dist/chunk-GJO3RGOB.js.map +0 -1
- package/dist/chunk-J6EO4R73.js +0 -633
- package/dist/chunk-J6EO4R73.js.map +0 -1
- package/dist/chunk-JKBWZLG4.js +0 -348
- package/dist/chunk-JKBWZLG4.js.map +0 -1
- package/dist/chunk-JQY2G4QK.js.map +0 -1
- package/dist/chunk-KMU6ABQF.js.map +0 -1
- package/dist/chunk-LEXZKGQX.js.map +0 -1
- package/dist/chunk-MSSH3HFK.js +0 -205
- package/dist/chunk-MSSH3HFK.js.map +0 -1
- package/dist/chunk-R5G6KFTJ.js.map +0 -1
- package/dist/chunk-SMLR736E.js.map +0 -1
- package/dist/chunk-VWS53WY4.js +0 -157
- package/dist/chunk-VWS53WY4.js.map +0 -1
- package/dist/chunk-WT4OATGP.js.map +0 -1
- package/dist/chunk-XWB4CKDU.js +0 -708
- package/dist/chunk-XWB4CKDU.js.map +0 -1
- package/dist/chunk-YQ42EBK5.js.map +0 -1
- package/dist/chunk-ZN4LIKVG.js.map +0 -1
- /package/dist/{chunk-AKJQ345O.js.map → chunk-5AWGZQWU.js.map} +0 -0
- /package/dist/{chunk-BLQV2YMO.js.map → chunk-EZOKT7NJ.js.map} +0 -0
- /package/dist/{chunk-6D6ROU7X.js.map → chunk-IGMVF3KK.js.map} +0 -0
- /package/dist/{chunk-INMSEYT6.js.map → chunk-IVPVYVWG.js.map} +0 -0
- /package/dist/{chunk-35TX3AOA.js.map → chunk-NABSRUXG.js.map} +0 -0
- /package/dist/{chunk-MG2VTZA4.js.map → chunk-QS3ANOWN.js.map} +0 -0
- /package/dist/{chunk-FML6AG2V.js.map → chunk-RANC3OI6.js.map} +0 -0
- /package/dist/{chunk-YVTFQHVY.js.map → chunk-TEAZZPDQ.js.map} +0 -0
- /package/dist/{chunk-AG2COC64.js.map → chunk-VVYQ2DDS.js.map} +0 -0
package/dist/dropdown/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Dropdown
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-DJFWZOZM.js";
|
|
4
|
+
import "../chunk-ER7MCPDV.js";
|
|
5
|
+
import "../chunk-UKIVLF7S.js";
|
|
4
6
|
import "../chunk-WTD2YIAA.js";
|
|
5
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-NXUS2CH7.js";
|
|
6
8
|
import "../chunk-EUXUH3YW.js";
|
|
7
9
|
export {
|
|
8
10
|
Dropdown
|
|
@@ -10,9 +10,13 @@ interface FeatureSplitItem {
|
|
|
10
10
|
}
|
|
11
11
|
type FeatureSplitImagePosition = 'left' | 'right' | 'top';
|
|
12
12
|
/**
|
|
13
|
-
* A title/markdown-subtitle/feature-list block beside (or under) an image.
|
|
13
|
+
* A title/markdown-subtitle/feature-list block beside (or under) an image. The `action-label` button
|
|
14
|
+
* is a real link to `href`: the browser follows it unless the cancelable `feature-split-action`
|
|
15
|
+
* event is cancelled (a router does this to navigate client-side).
|
|
14
16
|
*
|
|
17
|
+
* @fires feature-split-action - Cancelable, before following the action link. Detail `{ href }`.
|
|
15
18
|
* @cssprop --st-feature-split-padding - Overrides the block's padding.
|
|
19
|
+
* @csspart action - The action link.
|
|
16
20
|
*/
|
|
17
21
|
declare class FeatureSplit extends LitElement {
|
|
18
22
|
static styles: lit.CSSResult;
|
|
@@ -26,6 +30,7 @@ declare class FeatureSplit extends LitElement {
|
|
|
26
30
|
imagePosition: FeatureSplitImagePosition;
|
|
27
31
|
actionLabel: string;
|
|
28
32
|
href: string;
|
|
33
|
+
/** Fires the cancelable `feature-split-action`; the link is followed unless it is cancelled. */
|
|
29
34
|
private onAction;
|
|
30
35
|
render(): lit.TemplateResult<1>;
|
|
31
36
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
FeatureSplit
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-ZKFCDVB4.js";
|
|
4
|
+
import "../chunk-XS6LNTSH.js";
|
|
5
|
+
import "../chunk-TJK55CJ2.js";
|
|
6
|
+
import "../chunk-KZ7PMFWS.js";
|
|
7
|
+
import "../chunk-NXUS2CH7.js";
|
|
7
8
|
import "../chunk-EUXUH3YW.js";
|
|
8
9
|
export {
|
|
9
10
|
FeatureSplit
|
|
@@ -2,11 +2,30 @@ import * as lit from 'lit';
|
|
|
2
2
|
import { LitElement } from 'lit';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* One feature tile for `st-features-section`: optional icon, title, Markdown description
|
|
6
|
-
* optional "Learn more" link, rendered on an `st-card`. `icon` is an Iconify name (e.g.
|
|
7
|
-
* `mdi:rocket`). The link is a plain `<a
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* One feature tile for `st-features-section`: optional icon, title (`<h3>`), Markdown description
|
|
6
|
+
* and an optional "Learn more" link, rendered on an `st-card`. `icon` is an Iconify name (e.g.
|
|
7
|
+
* `mdi:rocket`). The link is a plain `<a href>`, so it works without JavaScript; the click is
|
|
8
|
+
* composed, so an SPA router can intercept it (e.g. via `event.composedPath()`) and navigate
|
|
9
|
+
* client-side. `http(s)` links open in a new tab.
|
|
10
|
+
*
|
|
11
|
+
* @csspart card - The `st-card` around the tile.
|
|
12
|
+
* @csspart icon - The icon tile.
|
|
13
|
+
* @csspart title - The tile heading (`<h3>`).
|
|
14
|
+
* `variant="panel"` drops the icon tile for a compact card (20px padding, 12px radius, 16px title).
|
|
15
|
+
* Inverted panels sit on the lighter navy panel colour (`--st-cms-navy-2`) with a hairline border.
|
|
16
|
+
*
|
|
17
|
+
* @csspart card - The `st-card` around the tile (the panel `div` with `variant="panel"`).
|
|
18
|
+
* @csspart description - The Markdown description.
|
|
19
|
+
* @csspart link - The "Learn more" link.
|
|
20
|
+
* @cssprop --st-feature-item-panel-bg - Panel background (default `--st-color-surface`).
|
|
21
|
+
* @cssprop --st-feature-item-panel-border - Panel border colour (default `--st-color-border`).
|
|
22
|
+
* @cssprop --st-feature-item-panel-radius - Panel corner radius (default 12px).
|
|
23
|
+
* @cssprop --st-feature-item-panel-padding - Panel padding (default 20px).
|
|
24
|
+
* @cssprop --st-feature-item-panel-gap - Gap between panel title and description (default `--st-space-8`).
|
|
25
|
+
* @cssprop --st-feature-item-panel-title-size - Panel title size (default 16px).
|
|
26
|
+
* @cssprop --st-feature-item-panel-title-weight - Panel title weight (default bold).
|
|
27
|
+
* @cssprop --st-feature-item-panel-title-color - Panel title colour (default `--st-color-text-strong`).
|
|
28
|
+
* @cssprop --st-feature-item-panel-desc-color - Panel description colour (default `--st-color-text-muted`).
|
|
10
29
|
*/
|
|
11
30
|
declare class FeatureItem extends LitElement {
|
|
12
31
|
static styles: lit.CSSResult;
|
|
@@ -18,32 +37,57 @@ declare class FeatureItem extends LitElement {
|
|
|
18
37
|
href: string;
|
|
19
38
|
actionLabel: string;
|
|
20
39
|
inverted: boolean;
|
|
40
|
+
/** `default` is the icon card; `panel` is the compact card without an icon tile. */
|
|
41
|
+
variant: 'default' | 'panel';
|
|
42
|
+
private renderBody;
|
|
21
43
|
render(): lit.TemplateResult<1>;
|
|
22
44
|
}
|
|
23
45
|
|
|
24
46
|
/** Data for one tile when using the `items` property (mirrors `st-feature-item`'s properties). */
|
|
25
47
|
interface FeatureItemData {
|
|
48
|
+
/** Iconify name. Without it the tile has no icon tile. */
|
|
26
49
|
icon?: string;
|
|
27
50
|
title: string;
|
|
28
51
|
description: string;
|
|
29
52
|
href?: string;
|
|
53
|
+
/** `full` makes the tile span every column of the grid (a wide call-out between rows). */
|
|
54
|
+
span?: 'full';
|
|
30
55
|
}
|
|
31
56
|
/**
|
|
32
|
-
* A titled grid of feature tiles.
|
|
33
|
-
* `
|
|
34
|
-
*
|
|
35
|
-
*
|
|
57
|
+
* A titled grid of feature tiles. Tiles come from the `items` property, from slotted
|
|
58
|
+
* `st-feature-item` elements, or both (slotted first). `columns` sets the grid width (default 2;
|
|
59
|
+
* one column below 768px). `inverted` is passed on to the `items` tiles; slotted tiles need their
|
|
60
|
+
* own `inverted` attribute.
|
|
61
|
+
*
|
|
62
|
+
* The header can carry an `eyebrow` (a small uppercase label above the title). The title is a
|
|
63
|
+
* real `<h2>`; each tile's title is an `<h3>`. `align="center"` centres the last, incomplete row:
|
|
64
|
+
* five tiles in three columns lay out as 3 + 2 centred, instead of 3 + 2 left-aligned.
|
|
65
|
+
*
|
|
66
|
+
* `variant="panel"` renders the `items` tiles as compact panels without icon tiles (see
|
|
67
|
+
* `st-feature-item`). A tile from `items` with `span: "full"` spans every column. Slotted tiles
|
|
68
|
+
* need their own `variant` attribute.
|
|
36
69
|
*
|
|
37
70
|
* @cssprop --st-features-section-padding - Overrides the section's padding.
|
|
71
|
+
* @csspart header - The eyebrow, title and subtitle block.
|
|
72
|
+
* @csspart eyebrow - The small uppercase label above the title.
|
|
73
|
+
* @csspart title - The section heading (`<h2>`).
|
|
74
|
+
* @csspart subtitle - The line under the title.
|
|
75
|
+
* @csspart grid - The grid holding the tiles.
|
|
38
76
|
*/
|
|
39
77
|
declare class FeaturesSection extends LitElement {
|
|
40
78
|
static styles: lit.CSSResult;
|
|
79
|
+
/** Small uppercase label above the title (e.g. "Why Sankhya"). */
|
|
80
|
+
eyebrow: string;
|
|
41
81
|
title: string;
|
|
42
82
|
subtitle: string;
|
|
43
83
|
/** Applied to every tile built from `items`. */
|
|
44
84
|
actionLabel: string;
|
|
45
85
|
columns: number;
|
|
86
|
+
/** `start` (default) lays tiles out in a grid. `center` centres the last, incomplete row. */
|
|
87
|
+
align: 'start' | 'center';
|
|
46
88
|
inverted: boolean;
|
|
89
|
+
/** `default` is the icon tile grid; `panel` gives the `items` tiles compact panels without icon tiles. */
|
|
90
|
+
variant: 'default' | 'panel';
|
|
47
91
|
/** Tiles to render (property only). */
|
|
48
92
|
items: FeatureItemData[];
|
|
49
93
|
render(): lit.TemplateResult<1>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
FeatureItem,
|
|
3
3
|
FeaturesSection
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-2HMOX253.js";
|
|
5
|
+
import "../chunk-XS6LNTSH.js";
|
|
6
|
+
import "../chunk-TJK55CJ2.js";
|
|
7
|
+
import "../chunk-QSJ543V2.js";
|
|
8
|
+
import "../chunk-KZ7PMFWS.js";
|
|
9
|
+
import "../chunk-NXUS2CH7.js";
|
|
9
10
|
import "../chunk-EUXUH3YW.js";
|
|
10
11
|
export {
|
|
11
12
|
FeatureItem,
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
|
|
4
|
+
interface FlowNode {
|
|
5
|
+
label: string;
|
|
6
|
+
caption?: string;
|
|
7
|
+
/** `solid` (default, primary fill), `outline` (dashed accent border) or `accent` (cyan fill). */
|
|
8
|
+
variant?: 'solid' | 'outline' | 'accent';
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* A left-to-right process or architecture flow: boxes joined by arrows. Boxes come in three looks
|
|
12
|
+
* (`solid`, `outline`, `accent`); the arrows are decorative (`aria-hidden`), and the list is exposed
|
|
13
|
+
* as an ordered list. Below 600px the row stacks vertically and the arrows point down.
|
|
14
|
+
* `inverted` puts the flow on the dark band (`--st-cms-band-dark-bg`).
|
|
15
|
+
*
|
|
16
|
+
* @cssprop --st-flow-padding - Overrides the block's padding.
|
|
17
|
+
* @csspart flow - The ordered list of nodes.
|
|
18
|
+
* @csspart node - Each step's box (a `li`'s child).
|
|
19
|
+
* @csspart label - The box's label.
|
|
20
|
+
* @csspart caption - The box's caption.
|
|
21
|
+
* @csspart arrow - The arrow between two boxes.
|
|
22
|
+
*/
|
|
23
|
+
declare class Flow extends LitElement {
|
|
24
|
+
static styles: lit.CSSResult;
|
|
25
|
+
/** The boxes, in order. */
|
|
26
|
+
nodes: FlowNode[];
|
|
27
|
+
/** Accessible name for the list of steps. */
|
|
28
|
+
label: string;
|
|
29
|
+
/** Puts the flow on the dark band (`--st-cms-band-dark-bg`), which stays dark in the dark theme. */
|
|
30
|
+
inverted: boolean;
|
|
31
|
+
private arrow;
|
|
32
|
+
render(): lit.TemplateResult<1>;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { Flow, type FlowNode };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/footer/index.d.ts
CHANGED
|
@@ -4,15 +4,21 @@ import { LitElement, PropertyValues } from 'lit';
|
|
|
4
4
|
interface FooterLink {
|
|
5
5
|
label: string;
|
|
6
6
|
href: string;
|
|
7
|
+
/** `false` leaves the link out of the footer. Omit, or `true`, to show it. */
|
|
8
|
+
visible?: boolean;
|
|
7
9
|
}
|
|
8
10
|
interface FooterColumn {
|
|
9
11
|
title: string;
|
|
10
12
|
links: FooterLink[];
|
|
13
|
+
/** `false` leaves the whole column out. A column whose links are all hidden is left out too. */
|
|
14
|
+
visible?: boolean;
|
|
11
15
|
}
|
|
12
16
|
interface FooterSocialLink {
|
|
13
17
|
/** Iconify icon name, e.g. `mdi:github`. */
|
|
14
18
|
icon: string;
|
|
15
19
|
href: string;
|
|
20
|
+
/** Accessible name of the icon link (e.g. "Sankhyatronics on LinkedIn"). Falls back to `icon`. */
|
|
21
|
+
label?: string;
|
|
16
22
|
}
|
|
17
23
|
/** Fired when an internal footer link is activated — cancelable, so an SPA can `preventDefault()` and route instead. */
|
|
18
24
|
interface FooterLinkEventDetail {
|
|
@@ -38,6 +44,8 @@ declare class Footer extends LitElement {
|
|
|
38
44
|
companyName: string;
|
|
39
45
|
/** Overrides the default computed copyright line entirely. */
|
|
40
46
|
copyright: string;
|
|
47
|
+
/** Legal line (e.g. a trademark notice) shown beside the copyright. Empty hides it. */
|
|
48
|
+
legalNote: string;
|
|
41
49
|
poweredBy: string;
|
|
42
50
|
poweredByLink: string;
|
|
43
51
|
/** App version, rendered as `v{version}` after the copyright line — for apps that show their own
|
|
@@ -45,6 +53,8 @@ declare class Footer extends LitElement {
|
|
|
45
53
|
version: string;
|
|
46
54
|
/** Logo shown in the brand block (site layout). */
|
|
47
55
|
imageSrc: string;
|
|
56
|
+
/** Alt text of the logo. Default: the company name plus "home", or "Home" without one. */
|
|
57
|
+
imageAlt: string;
|
|
48
58
|
/** Short blurb under the logo (site layout). */
|
|
49
59
|
description: string;
|
|
50
60
|
/** Link columns (site layout). */
|
|
@@ -52,12 +62,15 @@ declare class Footer extends LitElement {
|
|
|
52
62
|
/** Social icon links under the description (site layout). */
|
|
53
63
|
socialLinks: FooterSocialLink[];
|
|
54
64
|
private get isSite();
|
|
65
|
+
/** The columns to show, each with only its visible links; a column left with no links is dropped. */
|
|
66
|
+
private get visibleColumns();
|
|
55
67
|
private get resolvedCopyright();
|
|
56
68
|
protected willUpdate(changed: PropertyValues): void;
|
|
57
69
|
private onLinkClick;
|
|
58
70
|
private renderLink;
|
|
59
71
|
private renderPoweredBy;
|
|
60
72
|
private renderSite;
|
|
73
|
+
private renderCopyright;
|
|
61
74
|
render(): lit.TemplateResult<1>;
|
|
62
75
|
}
|
|
63
76
|
|
package/dist/footer/index.js
CHANGED
package/dist/header/index.d.ts
CHANGED
|
@@ -4,18 +4,21 @@ import { LitElement } from 'lit';
|
|
|
4
4
|
/**
|
|
5
5
|
* The app-shell header bar — brand (image + title, or title alone) on the left, a `slot="menu"`
|
|
6
6
|
* for primary nav (e.g. `st-dropdown`/`st-menu-grid` mega-menus, or plain links) taking the
|
|
7
|
-
* middle, and a `slot="utility"` for account/app-switcher/theme controls on the right.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* `imageSrc` logo with no text fallback, but none of this suite's apps has a logo image today, so
|
|
11
|
-
* `title` is the primary brand prop here and `brand-image-url` is optional, mirroring
|
|
12
|
-
* `st-app-header`'s own brand/title split (this component's slotted-menu/utility shape is a
|
|
13
|
-
* deliberately different, more generic surface than `st-app-header`'s fixed nav-links/user-menu
|
|
14
|
-
* props — pick whichever fits a given app's header).
|
|
7
|
+
* middle, and a `slot="utility"` for account/app-switcher/theme controls on the right. `title` is
|
|
8
|
+
* the primary brand prop; `brand-image-url` is optional. For a fixed nav-links/user-menu header,
|
|
9
|
+
* use `st-app-header` instead.
|
|
15
10
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
11
|
+
* The nav link for the page being shown is marked: `current-path` (e.g. `/t-pilot`) is compared
|
|
12
|
+
* with each `st-menu-item`/`st-mega-menu-column`/`st-mega-menu-feature` `href` (and a mega column's
|
|
13
|
+
* `cta-href`). A link is current when it equals the path, or, for a non-root href, when the path is
|
|
14
|
+
* beneath it; `/` is current only on `/`. The current link gets `aria-current="page"`, and an
|
|
15
|
+
* `st-dropdown` containing one is highlighted as active. Without `current-path` the header uses
|
|
16
|
+
* `location.pathname`, re-checked on `popstate`; a single-page app should set `current-path`
|
|
17
|
+
* on each navigation (the React `Header` does this from the router).
|
|
18
|
+
*
|
|
19
|
+
* Layout: the menu starts 4rem after the brand, the utility
|
|
20
|
+
* controls sit after a vertical divider, and below `BREAKPOINT_TABLET` (900px) `menu`/`utility`
|
|
21
|
+
* collapse behind a hamburger toggle into a full-screen layer under the
|
|
19
22
|
* toggle (closes on Escape or a click inside it), where the menu's `st-dropdown`s are switched to
|
|
20
23
|
* `inline` so they open in the flow — the same two slotted elements just get repositioned by CSS
|
|
21
24
|
* (`.mobile-panel`'s `display: contents` at desktop width vs. a real fixed-position box below
|
|
@@ -26,24 +29,48 @@ import { LitElement } from 'lit';
|
|
|
26
29
|
* "🇮🇳 India Edition"); unlike `menu`/`utility` it stays in the bar at every width.
|
|
27
30
|
*
|
|
28
31
|
* Also carries an optional built-in language switcher (`languages`/`currentLanguageCode`, fires
|
|
29
|
-
* `language-change`)
|
|
30
|
-
* rebuilt, since the source `Header`'s reference story shows an equivalent flag/language `Select`
|
|
31
|
-
* as a first-class header utility. Hidden entirely when `languages` has fewer than two entries.
|
|
32
|
+
* `language-change`). Hidden entirely when `languages` has fewer than two entries.
|
|
32
33
|
* This component has no translation logic itself; the consuming app owns what a language `code`
|
|
33
34
|
* means and which content it re-renders in response.
|
|
34
35
|
*
|
|
36
|
+
* Context mode (opt-in): set `context-trigger` to a CSS selector for a page element (typically the
|
|
37
|
+
* hero) and give the header a `slot="context"` child (e.g. an `st-product-nav` with `embedded` and
|
|
38
|
+
* `scroll-spy`). Once the trigger element has scrolled up past the bar, the bar swaps its menu for
|
|
39
|
+
* the slotted context content. Scrolling back above the trigger restores the menu. Both rows share the
|
|
40
|
+
* same 64px box, so the header never changes height, and the bar is solid while the context row shows,
|
|
41
|
+
* even when `transparent`. With no `context-trigger`, or no `slot="context"` content, the header is
|
|
42
|
+
* unchanged. An open mobile menu closes when the context row takes over. `context-active` reflects the
|
|
43
|
+
* state; `header-context-change` fires on every switch (detail `{ active }`).
|
|
44
|
+
*
|
|
45
|
+
* In context mode, the slotted product nav's site-menu button (`product-nav-site-menu`) opens this
|
|
46
|
+
* header's site menu over the bar, at every width. The bar keeps its state: the context row stays
|
|
47
|
+
* visible underneath (made inert), and only the drawer, its close button and a backdrop (above 768px)
|
|
48
|
+
* are shown on top. `st-cookie-consent` steps aside while the drawer is open (see `setModalOpen`). Esc,
|
|
49
|
+
* the close button, a click outside the bar, or activating a link in the drawer closes it and returns
|
|
50
|
+
* focus to that button.
|
|
51
|
+
*
|
|
52
|
+
* On a narrow screen the open drawer covers the whole viewport and locks page scroll. It sets
|
|
53
|
+
* `data-st-drawer-open` on `<html>`, holds keyboard focus (Tab wraps, Esc closes, focus returns to the
|
|
54
|
+
* toggle), and shows the brand and, with `cta-label` + `cta-href`, a primary call to action above the
|
|
55
|
+
* menu, which sits before the theme toggle on desktop.
|
|
56
|
+
*
|
|
35
57
|
* @slot menu - Primary navigation.
|
|
58
|
+
* @slot context - Product sub-nav shown in place of the menu in context mode (see above). Its children get `inert` while the context row is hidden or a site-menu drawer is open.
|
|
36
59
|
* @slot utility - Account, app-switcher and theme controls, after the divider.
|
|
37
60
|
* @slot brand-extra - Shown right after the brand at every width (e.g. an edition badge).
|
|
38
61
|
* @slot menu-icon - Replaces the hamburger on the narrow-screen toggle (the built-in glyph when empty).
|
|
39
62
|
* @slot close-icon - Replaces the close (X) on the toggle while the menu is open (the built-in glyph when empty).
|
|
40
63
|
* @cssprop --st-header-toggle-icon-size - Width and height of a slotted toggle icon (default 20px, the built-in glyph's size).
|
|
64
|
+
* @fires header-context-change - Fired when the bar switches to or from the context row. Detail: `{ active: boolean }`. Bubbles, composed.
|
|
65
|
+
* @csspart mobile-panel - The menu and utility panel (the full-screen layer under the hamburger below 900px, and the site menu in context mode).
|
|
41
66
|
*/
|
|
42
67
|
declare class Header extends LitElement {
|
|
43
68
|
static styles: lit.CSSResult;
|
|
44
69
|
title: string;
|
|
45
70
|
/** Optional logo image URL, shown before `title`. Omitted entirely when empty — none of this suite's apps has one today. Matches the source component's `imageSrc` (renamed here to pair with `title`/`logoHref`, since this component's only image use is the brand mark). */
|
|
46
71
|
brandImageUrl: string;
|
|
72
|
+
/** Path of the page being shown (e.g. `/t-pilot`). Marks the matching nav link as current; falls back to `location.pathname` when empty. */
|
|
73
|
+
currentPath: string;
|
|
47
74
|
/** `alt` text for the brand image — matches the source component's `altText` (default `'Logo'`). */
|
|
48
75
|
altText: string;
|
|
49
76
|
/** Wraps the brand in an `<a>` when set (e.g. `/`); a plain non-link `<div>` otherwise. */
|
|
@@ -73,6 +100,8 @@ declare class Header extends LitElement {
|
|
|
73
100
|
scrollHidden: boolean;
|
|
74
101
|
private lastScrollY;
|
|
75
102
|
private scrollFrame;
|
|
103
|
+
/** The `<html>` overflow and padding to restore when the drawer closes; null while the page is not locked. */
|
|
104
|
+
private drawerScrollLock;
|
|
76
105
|
private onScroll;
|
|
77
106
|
/**
|
|
78
107
|
* Language switcher options, e.g. `[{ code: 'en', label: 'English' }, ...]` — hidden entirely
|
|
@@ -94,11 +123,34 @@ declare class Header extends LitElement {
|
|
|
94
123
|
/** True while the menu doesn't fit the bar at the current width: the header then shows the same
|
|
95
124
|
* hamburger layout it uses on a narrow screen. Set by `evaluateFit`, never from outside. */
|
|
96
125
|
compact: boolean;
|
|
126
|
+
/** Label of an optional primary call to action in the utility row, before the theme toggle. Hidden when empty (also needs `cta-href`). */
|
|
127
|
+
ctaLabel: string;
|
|
128
|
+
/** Target of the call to action. Hidden when empty (also needs `cta-label`). */
|
|
129
|
+
ctaHref: string;
|
|
97
130
|
private languageMenuOpen;
|
|
98
131
|
/** Whether `slot="utility"` has content — an empty utility row (and its divider) is hidden. */
|
|
99
132
|
private hasUtility;
|
|
100
133
|
/** Whether `slot="brand-extra"` has content — an empty one takes no room beside the brand. */
|
|
101
134
|
private hasBrandExtra;
|
|
135
|
+
/**
|
|
136
|
+
* CSS selector of a page element (e.g. `#hero`). Once it has scrolled up past the bar, the bar
|
|
137
|
+
* shows the context row instead of its menu. Empty (the default) turns context mode off. The
|
|
138
|
+
* selector is re-queried for up to 5s if the element is not rendered yet, and again whenever it changes.
|
|
139
|
+
*/
|
|
140
|
+
contextTrigger: string;
|
|
141
|
+
/** True while the page is past the trigger, so the context row shows. A site-menu drawer opened over it leaves it showing. Set by the header from the trigger's position, never from outside. */
|
|
142
|
+
contextActive: boolean;
|
|
143
|
+
/** Whether `slot="context"` has content. */
|
|
144
|
+
private hasContext;
|
|
145
|
+
/** True while a site-menu request from the slotted product nav has its drawer open over the bar (see openSiteMenu). */
|
|
146
|
+
private siteMenuRequested;
|
|
147
|
+
/** The product nav's site-menu button that asked for the menu; focus returns to it when the menu closes. */
|
|
148
|
+
private siteMenuTrigger;
|
|
149
|
+
/** Whether the trigger element has scrolled up past the bar. */
|
|
150
|
+
private pastTrigger;
|
|
151
|
+
private triggerObserver?;
|
|
152
|
+
private triggerMutations?;
|
|
153
|
+
private triggerTimer;
|
|
102
154
|
private resizeObserver?;
|
|
103
155
|
/** Matches below BREAKPOINT_TABLET, where the hamburger layout is always on. */
|
|
104
156
|
private narrowQuery?;
|
|
@@ -106,12 +158,34 @@ declare class Header extends LitElement {
|
|
|
106
158
|
* own `inline` setting is left alone. */
|
|
107
159
|
private inlinedDropdowns;
|
|
108
160
|
/** While the hamburger layout is on, the dropdowns in the header open in the flow of the
|
|
109
|
-
* full-screen panel instead of floating over it (
|
|
161
|
+
* full-screen panel instead of floating over it (the touch-device layout). */
|
|
110
162
|
private syncInlineDropdowns;
|
|
111
163
|
private onBrandExtraSlotChange;
|
|
112
164
|
private onUtilitySlotChange;
|
|
113
165
|
private onMenuSlotChange;
|
|
166
|
+
/** Hands the current page path to every nav element under the header, which marks its own link current. */
|
|
167
|
+
private syncCurrentPath;
|
|
168
|
+
/** Runs when the light DOM changes: a late-rendered dropdown or nav item needs the same state as the rest. */
|
|
169
|
+
private onLightDomChange;
|
|
170
|
+
/** Re-watches the trigger when `context-trigger` changes (before render, so state changes don't re-render twice). */
|
|
171
|
+
protected willUpdate(changed: Map<string, unknown>): void;
|
|
114
172
|
protected updated(changed: Map<string, unknown>): void;
|
|
173
|
+
/**
|
|
174
|
+
* Keeps the page in step with the drawer: `<html data-st-drawer-open>` (which the cookie banner reads) and
|
|
175
|
+
* a scroll lock. The lock gives back the scrollbar's width, so the page does not shift sideways. Opening
|
|
176
|
+
* moves focus to the first item in the drawer; a site-menu request focuses its close button instead.
|
|
177
|
+
*/
|
|
178
|
+
private syncDrawerOpen;
|
|
179
|
+
private unlockScroll;
|
|
180
|
+
/** What a keyboard user can reach in the open drawer, in order: its own items, then the toggle that closes it. */
|
|
181
|
+
private drawerFocusables;
|
|
182
|
+
/** Keeps Tab and Shift+Tab inside the open drawer, wrapping at either end (and pulling in focus that has left it). */
|
|
183
|
+
private trapDrawerFocus;
|
|
184
|
+
/**
|
|
185
|
+
* Closes the drawer and returns focus to its toggle. A site-menu request returns focus to the product
|
|
186
|
+
* nav's button instead (see endSiteMenu).
|
|
187
|
+
*/
|
|
188
|
+
private closeDrawer;
|
|
115
189
|
/** The bar width at which the menu last overflowed — the bar only expands again once it is
|
|
116
190
|
* clearly wider than this, so it can't flip back and forth right at the threshold. */
|
|
117
191
|
private collapsedAtWidth;
|
|
@@ -128,10 +202,55 @@ declare class Header extends LitElement {
|
|
|
128
202
|
connectedCallback(): void;
|
|
129
203
|
private lightDomObserver?;
|
|
130
204
|
disconnectedCallback(): void;
|
|
131
|
-
|
|
205
|
+
/** Esc closes the open drawer; Tab is held inside it while it is open. */
|
|
206
|
+
private onKeyDown;
|
|
132
207
|
private closeLanguageMenuOnOutsideClick;
|
|
208
|
+
/** A click outside the bar closes a site menu opened from the product nav. */
|
|
209
|
+
private closeSiteMenuOnOutsideClick;
|
|
210
|
+
/** The product nav's site-menu button asked for the site menu (context mode only). */
|
|
211
|
+
private onSiteMenuRequest;
|
|
212
|
+
/**
|
|
213
|
+
* Opens the site menu as a drawer over the bar, which keeps its state underneath (see render). The
|
|
214
|
+
* drawer is the collapsed layout, so `compact` is forced on at every width, the page's modal flag is
|
|
215
|
+
* set, and focus moves to the drawer's close button.
|
|
216
|
+
*/
|
|
217
|
+
private openSiteMenu;
|
|
218
|
+
/**
|
|
219
|
+
* Ends a site-menu request: the drawer closes, and the layout goes back to what the bar's own fit
|
|
220
|
+
* gives. Focus returns to the product nav's button when asked and the context row is shown.
|
|
221
|
+
*/
|
|
222
|
+
private endSiteMenu;
|
|
223
|
+
/** Keeps the slotted product nav's `site-menu-open` in step with the header's site menu. */
|
|
224
|
+
private syncSiteMenuOpen;
|
|
225
|
+
/** Whether the bar has a context row: a trigger is set and `slot="context"` has content. */
|
|
226
|
+
private get stacked();
|
|
227
|
+
/** Layer B (the context row) is inert while it is hidden, and while a site-menu drawer is open over the bar. */
|
|
228
|
+
private get layerBInert();
|
|
229
|
+
/** Starts watching the trigger element, retrying for a few seconds while the page has not rendered it. */
|
|
230
|
+
private startContextTrigger;
|
|
231
|
+
/** Observes the trigger element if the page has it now. An invalid selector counts as not found. */
|
|
232
|
+
private observeContextTrigger;
|
|
233
|
+
private onTriggerIntersect;
|
|
234
|
+
private stopTriggerRetry;
|
|
235
|
+
private stopContextTrigger;
|
|
236
|
+
private updateContextActive;
|
|
237
|
+
private setContextActive;
|
|
238
|
+
/** Which layer holds the focus right now, if any. */
|
|
239
|
+
private focusedLayer;
|
|
240
|
+
/** Focuses the first control of the layer that is shown: the brand link or toggle (layer A), or the first rendered control of the context content (layer B). */
|
|
241
|
+
private focusLayer;
|
|
242
|
+
/** The first rendered control of the context row: the slotted product nav's brand link. */
|
|
243
|
+
private layerBFocusTarget;
|
|
244
|
+
private layerAFocusTarget;
|
|
245
|
+
private contextSlotElements;
|
|
246
|
+
/** The slotted context content is inert while layer B is inert (see layerBInert). */
|
|
247
|
+
private syncContextSlot;
|
|
248
|
+
private onContextSlotChange;
|
|
249
|
+
/** The primary call to action (`cta-label` + `cta-href`), before the theme toggle. */
|
|
250
|
+
private renderCta;
|
|
133
251
|
private renderLanguageMenu;
|
|
134
252
|
private onLanguageSelect;
|
|
253
|
+
/** The header's brand link. Inert while a site-menu request is open, when the drawer shows its own copy (`drawer-head`). */
|
|
135
254
|
private renderBrand;
|
|
136
255
|
render(): lit.TemplateResult<1>;
|
|
137
256
|
}
|
package/dist/header/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Header
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-WAYHHL4J.js";
|
|
4
|
+
import "../chunk-WAMOAAMN.js";
|
|
4
5
|
import "../chunk-WTD2YIAA.js";
|
|
5
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-NXUS2CH7.js";
|
|
6
7
|
import "../chunk-EUXUH3YW.js";
|
|
7
8
|
export {
|
|
8
9
|
Header
|