@sankhyatronics/sankhya-cms 0.1.8 → 0.1.10
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/LICENSE +21 -21
- package/README.md +34 -34
- package/custom-elements.json +1145 -1086
- package/dist/bento-grid/index.js +3 -3
- package/dist/card/index.js +2 -2
- package/dist/carousel/index.js +3 -3
- package/dist/{chunk-3JU3R22O.js → chunk-5EBWMPJS.js} +2 -2
- package/dist/chunk-5EBWMPJS.js.map +1 -0
- package/dist/{chunk-2JGWWXEI.js → chunk-76AVBQUA.js} +3 -3
- package/dist/chunk-76AVBQUA.js.map +1 -0
- package/dist/{chunk-NN3OCPDV.js → chunk-7NLZND6Q.js} +3 -3
- package/dist/{chunk-EMVHNAID.js → chunk-ALI26WOB.js} +3 -3
- package/dist/chunk-ALI26WOB.js.map +1 -0
- package/dist/{chunk-TLHG33MM.js → chunk-BLQV2YMO.js} +3 -3
- package/dist/chunk-BLQV2YMO.js.map +1 -0
- package/dist/{chunk-UVNBZD7R.js → chunk-BMHMNXIA.js} +3 -3
- package/dist/chunk-BMHMNXIA.js.map +1 -0
- package/dist/{chunk-ZRXYWH6C.js → chunk-DH53HZPB.js} +4 -4
- package/dist/{chunk-HPIQSECE.js → chunk-EMCQBT3S.js} +3 -3
- package/dist/{chunk-BQTDFQ4V.js → chunk-FLY7TNRT.js} +3 -3
- package/dist/chunk-FLY7TNRT.js.map +1 -0
- package/dist/{chunk-3VE6VFJ4.js → chunk-FZ36KL73.js} +1 -1
- package/dist/chunk-FZ36KL73.js.map +1 -0
- package/dist/{chunk-HGTC3LCW.js → chunk-G3CF7MBO.js} +3 -3
- package/dist/{chunk-CDC4P77V.js → chunk-GJO3RGOB.js} +2 -2
- package/dist/chunk-GJO3RGOB.js.map +1 -0
- package/dist/{chunk-K4ZICRZL.js → chunk-JKBWZLG4.js} +3 -3
- package/dist/chunk-JKBWZLG4.js.map +1 -0
- package/dist/{chunk-4HKSA5UT.js → chunk-JQY2G4QK.js} +2 -2
- package/dist/chunk-JQY2G4QK.js.map +1 -0
- package/dist/{chunk-RHAOQ6K4.js → chunk-KMU6ABQF.js} +1 -1
- package/dist/chunk-KMU6ABQF.js.map +1 -0
- package/dist/{chunk-IQPW3CYZ.js → chunk-LEXZKGQX.js} +3 -3
- package/dist/chunk-LEXZKGQX.js.map +1 -0
- package/dist/{chunk-MW43OS47.js → chunk-MSSH3HFK.js} +2 -2
- package/dist/chunk-MSSH3HFK.js.map +1 -0
- package/dist/{chunk-DQHMJZ6X.js → chunk-R5G6KFTJ.js} +18 -8
- package/dist/chunk-R5G6KFTJ.js.map +1 -0
- package/dist/{chunk-VYON56QO.js → chunk-SMLR736E.js} +2 -2
- package/dist/chunk-SMLR736E.js.map +1 -0
- package/dist/{chunk-HGJT24UG.js → chunk-VWS53WY4.js} +3 -3
- package/dist/chunk-VWS53WY4.js.map +1 -0
- package/dist/{chunk-VRRBMOUP.js → chunk-WT4OATGP.js} +3 -3
- package/dist/chunk-WT4OATGP.js.map +1 -0
- package/dist/{chunk-PB7ZPPLP.js → chunk-WTD2YIAA.js} +1 -1
- package/dist/chunk-WTD2YIAA.js.map +1 -0
- package/dist/{chunk-X2ALYIVT.js → chunk-XWB4CKDU.js} +20 -4
- package/dist/chunk-XWB4CKDU.js.map +1 -0
- package/dist/{chunk-XXPBFHWR.js → chunk-YQ42EBK5.js} +2 -2
- package/dist/chunk-YQ42EBK5.js.map +1 -0
- package/dist/{chunk-6H262SG6.js → chunk-YVTFQHVY.js} +2 -2
- package/dist/chunk-YVTFQHVY.js.map +1 -0
- package/dist/{chunk-7PSYCTEN.js → chunk-ZN4LIKVG.js} +2 -2
- package/dist/chunk-ZN4LIKVG.js.map +1 -0
- package/dist/cms-theme.css +26 -26
- package/dist/content-block/index.js +4 -4
- package/dist/cookie-consent/index.js +2 -2
- package/dist/dropdown/index.js +3 -3
- package/dist/feature-split/index.js +4 -4
- package/dist/features-section/index.js +5 -5
- package/dist/fonts/inter-latin-400-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-500-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-600-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-700-normal.woff2 +0 -0
- package/dist/fonts.css +39 -0
- package/dist/footer/index.js +2 -2
- package/dist/header/index.d.ts +7 -0
- package/dist/header/index.js +3 -3
- package/dist/hero/index.js +3 -3
- package/dist/icon-button/index.js +2 -2
- package/dist/index.js +35 -35
- package/dist/items-accordion/index.js +3 -3
- package/dist/markdown/index.js +2 -2
- package/dist/mega-menu/index.js +3 -3
- package/dist/menu-grid/index.js +2 -2
- package/dist/menu-grid-item/index.js +2 -2
- package/dist/menu-item/index.d.ts +5 -0
- package/dist/menu-item/index.js +3 -3
- package/dist/promo-banner/index.js +3 -3
- package/dist/schema/index.js.map +1 -1
- package/dist/section/index.js +3 -3
- package/dist/select/index.js +3 -3
- package/dist/shared/icons.js +1 -1
- package/dist/shared/styles.js +1 -1
- package/dist/stats/index.js +2 -2
- package/dist/testimonials/index.js +4 -4
- package/dist/theme.css +340 -291
- package/dist/themes.css +84 -64
- package/dist/theming/index.js.map +1 -1
- package/package.json +4 -2
- package/dist/chunk-2JGWWXEI.js.map +0 -1
- package/dist/chunk-3JU3R22O.js.map +0 -1
- package/dist/chunk-3VE6VFJ4.js.map +0 -1
- package/dist/chunk-4HKSA5UT.js.map +0 -1
- package/dist/chunk-6H262SG6.js.map +0 -1
- package/dist/chunk-7PSYCTEN.js.map +0 -1
- package/dist/chunk-BQTDFQ4V.js.map +0 -1
- package/dist/chunk-CDC4P77V.js.map +0 -1
- package/dist/chunk-DQHMJZ6X.js.map +0 -1
- package/dist/chunk-EMVHNAID.js.map +0 -1
- package/dist/chunk-HGJT24UG.js.map +0 -1
- package/dist/chunk-IQPW3CYZ.js.map +0 -1
- package/dist/chunk-K4ZICRZL.js.map +0 -1
- package/dist/chunk-MW43OS47.js.map +0 -1
- package/dist/chunk-PB7ZPPLP.js.map +0 -1
- package/dist/chunk-RHAOQ6K4.js.map +0 -1
- package/dist/chunk-TLHG33MM.js.map +0 -1
- package/dist/chunk-UVNBZD7R.js.map +0 -1
- package/dist/chunk-VRRBMOUP.js.map +0 -1
- package/dist/chunk-VYON56QO.js.map +0 -1
- package/dist/chunk-X2ALYIVT.js.map +0 -1
- package/dist/chunk-XXPBFHWR.js.map +0 -1
- /package/dist/{chunk-NN3OCPDV.js.map → chunk-7NLZND6Q.js.map} +0 -0
- /package/dist/{chunk-ZRXYWH6C.js.map → chunk-DH53HZPB.js.map} +0 -0
- /package/dist/{chunk-HPIQSECE.js.map → chunk-EMCQBT3S.js.map} +0 -0
- /package/dist/{chunk-HGTC3LCW.js.map → chunk-G3CF7MBO.js.map} +0 -0
package/custom-elements.json
CHANGED
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
"declarations": [
|
|
127
127
|
{
|
|
128
128
|
"kind": "class",
|
|
129
|
-
"description": "A surfaced container — content goes in the default slot. Ports `SankhyaUI`'s React `Card`\
|
|
129
|
+
"description": "A surfaced container — content goes in the default slot. Ports `SankhyaUI`'s React `Card`\n(`variant`, `padding`, `elevation`, `hoverable`, `inverted`); `onClick` is just a native `click`\nlistener on the element. `padding` takes `none | small | medium | large` (the source's\n`sm|md|lg`, spelled like `paddingScaleStyles`); `elevation` takes `none | sm | md | lg`.",
|
|
130
130
|
"name": "Card",
|
|
131
131
|
"members": [
|
|
132
132
|
{
|
|
@@ -670,13 +670,199 @@
|
|
|
670
670
|
}
|
|
671
671
|
]
|
|
672
672
|
},
|
|
673
|
+
{
|
|
674
|
+
"kind": "javascript-module",
|
|
675
|
+
"path": "src/content-block/ContentBlock.ts",
|
|
676
|
+
"declarations": [
|
|
677
|
+
{
|
|
678
|
+
"kind": "class",
|
|
679
|
+
"description": "A long-form article section: centered title/subtitle, an optional featured image with caption,\nthen Markdown body text. Ports `SankhyaUI`'s React `ContentBlock`. The body comes from\n`content-src` (a Markdown URL, as in the source) or an inline `content` string (added so the\nblock works without a fetch); `content-src` wins when both are set.",
|
|
680
|
+
"name": "ContentBlock",
|
|
681
|
+
"cssProperties": [
|
|
682
|
+
{
|
|
683
|
+
"description": "Overrides the block's padding.",
|
|
684
|
+
"name": "--st-content-block-padding"
|
|
685
|
+
}
|
|
686
|
+
],
|
|
687
|
+
"members": [
|
|
688
|
+
{
|
|
689
|
+
"kind": "field",
|
|
690
|
+
"name": "title",
|
|
691
|
+
"type": {
|
|
692
|
+
"text": "string"
|
|
693
|
+
},
|
|
694
|
+
"default": "''",
|
|
695
|
+
"attribute": "title"
|
|
696
|
+
},
|
|
697
|
+
{
|
|
698
|
+
"kind": "field",
|
|
699
|
+
"name": "subtitle",
|
|
700
|
+
"type": {
|
|
701
|
+
"text": "string"
|
|
702
|
+
},
|
|
703
|
+
"default": "''",
|
|
704
|
+
"attribute": "subtitle"
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
"kind": "field",
|
|
708
|
+
"name": "contentSrc",
|
|
709
|
+
"type": {
|
|
710
|
+
"text": "string"
|
|
711
|
+
},
|
|
712
|
+
"default": "''",
|
|
713
|
+
"description": "URL of a Markdown file.",
|
|
714
|
+
"attribute": "content-src"
|
|
715
|
+
},
|
|
716
|
+
{
|
|
717
|
+
"kind": "field",
|
|
718
|
+
"name": "content",
|
|
719
|
+
"type": {
|
|
720
|
+
"text": "string"
|
|
721
|
+
},
|
|
722
|
+
"default": "''",
|
|
723
|
+
"description": "Inline Markdown, used when `content-src` is not set.",
|
|
724
|
+
"attribute": "content"
|
|
725
|
+
},
|
|
726
|
+
{
|
|
727
|
+
"kind": "field",
|
|
728
|
+
"name": "imageSrc",
|
|
729
|
+
"type": {
|
|
730
|
+
"text": "string"
|
|
731
|
+
},
|
|
732
|
+
"default": "''",
|
|
733
|
+
"attribute": "image-src"
|
|
734
|
+
},
|
|
735
|
+
{
|
|
736
|
+
"kind": "field",
|
|
737
|
+
"name": "imageAlt",
|
|
738
|
+
"type": {
|
|
739
|
+
"text": "string"
|
|
740
|
+
},
|
|
741
|
+
"default": "''",
|
|
742
|
+
"attribute": "image-alt"
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
"kind": "field",
|
|
746
|
+
"name": "imageCaption",
|
|
747
|
+
"type": {
|
|
748
|
+
"text": "string"
|
|
749
|
+
},
|
|
750
|
+
"default": "''",
|
|
751
|
+
"attribute": "image-caption"
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
"kind": "field",
|
|
755
|
+
"name": "inverted",
|
|
756
|
+
"type": {
|
|
757
|
+
"text": "boolean"
|
|
758
|
+
},
|
|
759
|
+
"default": "false",
|
|
760
|
+
"attribute": "inverted",
|
|
761
|
+
"reflects": true
|
|
762
|
+
}
|
|
763
|
+
],
|
|
764
|
+
"attributes": [
|
|
765
|
+
{
|
|
766
|
+
"name": "title",
|
|
767
|
+
"type": {
|
|
768
|
+
"text": "string"
|
|
769
|
+
},
|
|
770
|
+
"default": "''",
|
|
771
|
+
"fieldName": "title"
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
"name": "subtitle",
|
|
775
|
+
"type": {
|
|
776
|
+
"text": "string"
|
|
777
|
+
},
|
|
778
|
+
"default": "''",
|
|
779
|
+
"fieldName": "subtitle"
|
|
780
|
+
},
|
|
781
|
+
{
|
|
782
|
+
"name": "content-src",
|
|
783
|
+
"type": {
|
|
784
|
+
"text": "string"
|
|
785
|
+
},
|
|
786
|
+
"default": "''",
|
|
787
|
+
"description": "URL of a Markdown file.",
|
|
788
|
+
"fieldName": "contentSrc"
|
|
789
|
+
},
|
|
790
|
+
{
|
|
791
|
+
"name": "content",
|
|
792
|
+
"type": {
|
|
793
|
+
"text": "string"
|
|
794
|
+
},
|
|
795
|
+
"default": "''",
|
|
796
|
+
"description": "Inline Markdown, used when `content-src` is not set.",
|
|
797
|
+
"fieldName": "content"
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
"name": "image-src",
|
|
801
|
+
"type": {
|
|
802
|
+
"text": "string"
|
|
803
|
+
},
|
|
804
|
+
"default": "''",
|
|
805
|
+
"fieldName": "imageSrc"
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
"name": "image-alt",
|
|
809
|
+
"type": {
|
|
810
|
+
"text": "string"
|
|
811
|
+
},
|
|
812
|
+
"default": "''",
|
|
813
|
+
"fieldName": "imageAlt"
|
|
814
|
+
},
|
|
815
|
+
{
|
|
816
|
+
"name": "image-caption",
|
|
817
|
+
"type": {
|
|
818
|
+
"text": "string"
|
|
819
|
+
},
|
|
820
|
+
"default": "''",
|
|
821
|
+
"fieldName": "imageCaption"
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
"name": "inverted",
|
|
825
|
+
"type": {
|
|
826
|
+
"text": "boolean"
|
|
827
|
+
},
|
|
828
|
+
"default": "false",
|
|
829
|
+
"fieldName": "inverted"
|
|
830
|
+
}
|
|
831
|
+
],
|
|
832
|
+
"superclass": {
|
|
833
|
+
"name": "LitElement",
|
|
834
|
+
"package": "lit"
|
|
835
|
+
},
|
|
836
|
+
"tagName": "st-content-block",
|
|
837
|
+
"customElement": true
|
|
838
|
+
}
|
|
839
|
+
],
|
|
840
|
+
"exports": [
|
|
841
|
+
{
|
|
842
|
+
"kind": "js",
|
|
843
|
+
"name": "ContentBlock",
|
|
844
|
+
"declaration": {
|
|
845
|
+
"name": "ContentBlock",
|
|
846
|
+
"module": "src/content-block/ContentBlock.ts"
|
|
847
|
+
}
|
|
848
|
+
},
|
|
849
|
+
{
|
|
850
|
+
"kind": "custom-element-definition",
|
|
851
|
+
"name": "st-content-block",
|
|
852
|
+
"declaration": {
|
|
853
|
+
"name": "ContentBlock",
|
|
854
|
+
"module": "src/content-block/ContentBlock.ts"
|
|
855
|
+
}
|
|
856
|
+
}
|
|
857
|
+
]
|
|
858
|
+
},
|
|
673
859
|
{
|
|
674
860
|
"kind": "javascript-module",
|
|
675
861
|
"path": "src/cookie-consent/CookieConsent.ts",
|
|
676
862
|
"declarations": [
|
|
677
863
|
{
|
|
678
864
|
"kind": "class",
|
|
679
|
-
"description": "Fixed bottom consent bar. The source read/wrote consent through a React `UserContext`; here the\
|
|
865
|
+
"description": "Fixed bottom consent bar. The source read/wrote consent through a React `UserContext`; here the\nelement persists the choice itself in localStorage (`storage-key`, default the source's\n`sankhya_ui_cookie_consent`; storage errors are ignored) and renders nothing once a choice\nexists. Fires `cookie-consent-accept` / `cookie-consent-refuse` (detail `{ status }`). The\ndefault slot replaces the message text.",
|
|
680
866
|
"name": "CookieConsent",
|
|
681
867
|
"cssProperties": [
|
|
682
868
|
{
|
|
@@ -861,947 +1047,563 @@
|
|
|
861
1047
|
},
|
|
862
1048
|
{
|
|
863
1049
|
"kind": "javascript-module",
|
|
864
|
-
"path": "src/
|
|
1050
|
+
"path": "src/dropdown/Dropdown.ts",
|
|
865
1051
|
"declarations": [
|
|
866
1052
|
{
|
|
867
1053
|
"kind": "class",
|
|
868
|
-
"description": "A
|
|
869
|
-
"name": "
|
|
1054
|
+
"description": "A labeled trigger + slotted dropdown panel — nav menus (typically holding an `st-menu-grid`),\naction menus, anything \"click a trigger, show content under it\". A 1:1 port of `SankhyaUI`'s\nReact `Dropdown` (`SankhyaCMS/SankhyaUI/src/components/Dropdown`): same markup\n(`.menu` > `.menu-title` + `.menu-dropdown`), sizes, 0.3s slide/fade, and behavior —\n\n- only one dropdown is open at a time (the source's `DropdownProvider`, built in here, so no\n provider element is needed);\n- a mousedown outside, Escape, or a click inside the panel closes it;\n- an `href` trigger toggles the panel when it has content, and is a plain link when it doesn't;\n- `inline` opens the panel in the flow, the source's `.touch-device` layout.\n\nColors and the panel's surface come from the suite theme (the source left those to the\nconsumer's `className`/`itemGroupClassName` utility classes). Two source rules are left out\nbecause they break existing suite uses (`st-source-bar`'s site/library menus): the 100vw panel\nat <=768px (overflows the screen from wherever the trigger sits; the header uses `inline`\ninstead) and `overflow: hidden` on slotted children (clips their focus rings). Suite additions\nkept on top: `align`, `active`, `disabled`, `inline`, and the `dropdown-toggle` event — plus\n`mega` and `open-on-hover` for an okta.com-style mega menu (see `st-mega-menu`).",
|
|
1055
|
+
"name": "Dropdown",
|
|
870
1056
|
"cssProperties": [
|
|
871
1057
|
{
|
|
872
|
-
"description": "
|
|
873
|
-
"name": "--st-
|
|
1058
|
+
"description": "Maximum width of a `mega` panel (default `1400px`).",
|
|
1059
|
+
"name": "--st-mega-menu-max-width"
|
|
1060
|
+
},
|
|
1061
|
+
{
|
|
1062
|
+
"description": "Minimum space between a `mega` panel and the header's sides (default `1rem`).",
|
|
1063
|
+
"name": "--st-mega-menu-inset"
|
|
1064
|
+
},
|
|
1065
|
+
{
|
|
1066
|
+
"description": "Space between the header and a `mega` panel (default `12px`).",
|
|
1067
|
+
"name": "--st-mega-menu-gap"
|
|
1068
|
+
},
|
|
1069
|
+
{
|
|
1070
|
+
"description": "Corner radius of a `mega` panel (default `24px`).",
|
|
1071
|
+
"name": "--st-mega-menu-radius"
|
|
874
1072
|
}
|
|
875
1073
|
],
|
|
876
1074
|
"members": [
|
|
877
1075
|
{
|
|
878
1076
|
"kind": "field",
|
|
879
|
-
"name": "
|
|
1077
|
+
"name": "openDropdown",
|
|
880
1078
|
"type": {
|
|
881
|
-
"text": "
|
|
1079
|
+
"text": "Dropdown | null"
|
|
882
1080
|
},
|
|
883
|
-
"
|
|
884
|
-
"
|
|
885
|
-
"
|
|
1081
|
+
"privacy": "private",
|
|
1082
|
+
"static": true,
|
|
1083
|
+
"default": "null",
|
|
1084
|
+
"description": "The open dropdown, if any — the source's `DropdownContext.activeDropdown`."
|
|
886
1085
|
},
|
|
887
1086
|
{
|
|
888
1087
|
"kind": "field",
|
|
889
|
-
"name": "
|
|
1088
|
+
"name": "label",
|
|
890
1089
|
"type": {
|
|
891
1090
|
"text": "string"
|
|
892
1091
|
},
|
|
893
1092
|
"default": "''",
|
|
894
|
-
"
|
|
1093
|
+
"description": "Trigger label text (source: `title`, renamed because `title` is the native tooltip\nattribute). Leave empty to show only `slot=\"icon\"`.",
|
|
1094
|
+
"attribute": "label"
|
|
895
1095
|
},
|
|
896
1096
|
{
|
|
897
1097
|
"kind": "field",
|
|
898
|
-
"name": "
|
|
1098
|
+
"name": "href",
|
|
899
1099
|
"type": {
|
|
900
1100
|
"text": "string"
|
|
901
1101
|
},
|
|
902
1102
|
"default": "''",
|
|
903
|
-
"description": "
|
|
904
|
-
"attribute": "
|
|
1103
|
+
"description": "Renders the trigger as an `<a href>`. With panel content the click toggles the panel (as in\nthe source); with none it navigates.",
|
|
1104
|
+
"attribute": "href"
|
|
905
1105
|
},
|
|
906
1106
|
{
|
|
907
1107
|
"kind": "field",
|
|
908
|
-
"name": "
|
|
1108
|
+
"name": "iconPosition",
|
|
909
1109
|
"type": {
|
|
910
|
-
"text": "
|
|
1110
|
+
"text": "'left' | 'right'"
|
|
911
1111
|
},
|
|
912
|
-
"default": "
|
|
1112
|
+
"default": "'left'",
|
|
1113
|
+
"attribute": "icon-position"
|
|
913
1114
|
},
|
|
914
1115
|
{
|
|
915
1116
|
"kind": "field",
|
|
916
|
-
"name": "
|
|
1117
|
+
"name": "iconSize",
|
|
917
1118
|
"type": {
|
|
918
1119
|
"text": "string"
|
|
919
1120
|
},
|
|
920
|
-
"default": "''",
|
|
921
|
-
"
|
|
1121
|
+
"default": "'1.2rem'",
|
|
1122
|
+
"description": "Inline `width`/`height` of the `slot=\"icon\"` wrapper (source: `iconSize`, default `1.2rem`).",
|
|
1123
|
+
"attribute": "icon-size"
|
|
922
1124
|
},
|
|
923
1125
|
{
|
|
924
1126
|
"kind": "field",
|
|
925
|
-
"name": "
|
|
1127
|
+
"name": "iconColor",
|
|
926
1128
|
"type": {
|
|
927
1129
|
"text": "string"
|
|
928
1130
|
},
|
|
929
|
-
"default": "''",
|
|
930
|
-
"
|
|
1131
|
+
"default": "'currentColor'",
|
|
1132
|
+
"description": "Inline `color` of the `slot=\"icon\"` wrapper (source: `iconColor`).",
|
|
1133
|
+
"attribute": "icon-color"
|
|
931
1134
|
},
|
|
932
1135
|
{
|
|
933
1136
|
"kind": "field",
|
|
934
|
-
"name": "
|
|
1137
|
+
"name": "align",
|
|
935
1138
|
"type": {
|
|
936
|
-
"text": "
|
|
1139
|
+
"text": "'left' | 'right'"
|
|
937
1140
|
},
|
|
938
|
-
"default": "'
|
|
939
|
-
"
|
|
940
|
-
"
|
|
941
|
-
},
|
|
942
|
-
{
|
|
943
|
-
"kind": "field",
|
|
944
|
-
"name": "actionLabel",
|
|
945
|
-
"type": {
|
|
946
|
-
"text": "string"
|
|
947
|
-
},
|
|
948
|
-
"default": "''",
|
|
949
|
-
"attribute": "action-label"
|
|
1141
|
+
"default": "'left'",
|
|
1142
|
+
"description": "Which edge of the trigger the panel lines up with.",
|
|
1143
|
+
"attribute": "align"
|
|
950
1144
|
},
|
|
951
1145
|
{
|
|
952
1146
|
"kind": "field",
|
|
953
|
-
"name": "
|
|
1147
|
+
"name": "target",
|
|
954
1148
|
"type": {
|
|
955
1149
|
"text": "string"
|
|
956
1150
|
},
|
|
957
|
-
"default": "''",
|
|
958
|
-
"
|
|
959
|
-
|
|
960
|
-
{
|
|
961
|
-
"kind": "method",
|
|
962
|
-
"name": "onAction",
|
|
963
|
-
"privacy": "private"
|
|
964
|
-
}
|
|
965
|
-
],
|
|
966
|
-
"attributes": [
|
|
967
|
-
{
|
|
968
|
-
"name": "inverted",
|
|
969
|
-
"type": {
|
|
970
|
-
"text": "boolean"
|
|
971
|
-
},
|
|
972
|
-
"default": "false",
|
|
973
|
-
"fieldName": "inverted"
|
|
1151
|
+
"default": "'_self'",
|
|
1152
|
+
"description": "`target` of an `href` trigger (source default `_self`).",
|
|
1153
|
+
"attribute": "target"
|
|
974
1154
|
},
|
|
975
1155
|
{
|
|
976
|
-
"
|
|
1156
|
+
"kind": "field",
|
|
1157
|
+
"name": "triggerClassName",
|
|
977
1158
|
"type": {
|
|
978
1159
|
"text": "string"
|
|
979
1160
|
},
|
|
980
1161
|
"default": "''",
|
|
981
|
-
"
|
|
1162
|
+
"description": "Extra class(es) on the trigger (source: `className`; a `class` on `st-dropdown` styles the host).",
|
|
1163
|
+
"attribute": "trigger-class-name"
|
|
982
1164
|
},
|
|
983
1165
|
{
|
|
984
|
-
"
|
|
1166
|
+
"kind": "field",
|
|
1167
|
+
"name": "itemGroupClassName",
|
|
985
1168
|
"type": {
|
|
986
1169
|
"text": "string"
|
|
987
1170
|
},
|
|
988
1171
|
"default": "''",
|
|
989
|
-
"description": "
|
|
990
|
-
"
|
|
1172
|
+
"description": "Extra class(es) on the panel (source: `itemGroupClassName`).",
|
|
1173
|
+
"attribute": "item-group-class-name"
|
|
991
1174
|
},
|
|
992
1175
|
{
|
|
993
|
-
"
|
|
1176
|
+
"kind": "field",
|
|
1177
|
+
"name": "itemClassName",
|
|
994
1178
|
"type": {
|
|
995
1179
|
"text": "string"
|
|
996
1180
|
},
|
|
997
1181
|
"default": "''",
|
|
998
|
-
"
|
|
1182
|
+
"description": "Unused, as in the source (`itemClassName` is never read there); kept for prop parity.",
|
|
1183
|
+
"attribute": "item-class-name"
|
|
999
1184
|
},
|
|
1000
1185
|
{
|
|
1001
|
-
"
|
|
1186
|
+
"kind": "field",
|
|
1187
|
+
"name": "disabled",
|
|
1002
1188
|
"type": {
|
|
1003
|
-
"text": "
|
|
1189
|
+
"text": "boolean"
|
|
1004
1190
|
},
|
|
1005
|
-
"default": "
|
|
1006
|
-
"
|
|
1191
|
+
"default": "false",
|
|
1192
|
+
"attribute": "disabled",
|
|
1193
|
+
"reflects": true
|
|
1007
1194
|
},
|
|
1008
1195
|
{
|
|
1009
|
-
"
|
|
1196
|
+
"kind": "field",
|
|
1197
|
+
"name": "active",
|
|
1010
1198
|
"type": {
|
|
1011
|
-
"text": "
|
|
1199
|
+
"text": "boolean"
|
|
1012
1200
|
},
|
|
1013
|
-
"default": "
|
|
1014
|
-
"
|
|
1201
|
+
"default": "false",
|
|
1202
|
+
"description": "Highlights the trigger as the current section (e.g. the current page is one of its items).",
|
|
1203
|
+
"attribute": "active",
|
|
1204
|
+
"reflects": true
|
|
1015
1205
|
},
|
|
1016
1206
|
{
|
|
1017
|
-
"
|
|
1207
|
+
"kind": "field",
|
|
1208
|
+
"name": "inline",
|
|
1018
1209
|
"type": {
|
|
1019
|
-
"text": "
|
|
1210
|
+
"text": "boolean"
|
|
1020
1211
|
},
|
|
1021
|
-
"default": "
|
|
1022
|
-
"
|
|
1212
|
+
"default": "false",
|
|
1213
|
+
"description": "Opens the panel in the flow under the trigger instead of floating over the page (see the\nstyles). `st-header` sets this on its own menu's dropdowns while its hamburger panel shows.",
|
|
1214
|
+
"attribute": "inline",
|
|
1215
|
+
"reflects": true
|
|
1023
1216
|
},
|
|
1024
|
-
{
|
|
1025
|
-
"name": "href",
|
|
1026
|
-
"type": {
|
|
1027
|
-
"text": "string"
|
|
1028
|
-
},
|
|
1029
|
-
"default": "''",
|
|
1030
|
-
"fieldName": "href"
|
|
1031
|
-
}
|
|
1032
|
-
],
|
|
1033
|
-
"superclass": {
|
|
1034
|
-
"name": "LitElement",
|
|
1035
|
-
"package": "lit"
|
|
1036
|
-
},
|
|
1037
|
-
"tagName": "st-feature-split",
|
|
1038
|
-
"customElement": true
|
|
1039
|
-
}
|
|
1040
|
-
],
|
|
1041
|
-
"exports": [
|
|
1042
|
-
{
|
|
1043
|
-
"kind": "js",
|
|
1044
|
-
"name": "FeatureSplit",
|
|
1045
|
-
"declaration": {
|
|
1046
|
-
"name": "FeatureSplit",
|
|
1047
|
-
"module": "src/feature-split/FeatureSplit.ts"
|
|
1048
|
-
}
|
|
1049
|
-
},
|
|
1050
|
-
{
|
|
1051
|
-
"kind": "custom-element-definition",
|
|
1052
|
-
"name": "st-feature-split",
|
|
1053
|
-
"declaration": {
|
|
1054
|
-
"name": "FeatureSplit",
|
|
1055
|
-
"module": "src/feature-split/FeatureSplit.ts"
|
|
1056
|
-
}
|
|
1057
|
-
}
|
|
1058
|
-
]
|
|
1059
|
-
},
|
|
1060
|
-
{
|
|
1061
|
-
"kind": "javascript-module",
|
|
1062
|
-
"path": "src/content-block/ContentBlock.ts",
|
|
1063
|
-
"declarations": [
|
|
1064
|
-
{
|
|
1065
|
-
"kind": "class",
|
|
1066
|
-
"description": "A long-form article section: centered title/subtitle, an optional featured image with caption,\r\nthen Markdown body text. Ports `SankhyaUI`'s React `ContentBlock`. The body comes from\r\n`content-src` (a Markdown URL, as in the source) or an inline `content` string (added so the\r\nblock works without a fetch); `content-src` wins when both are set.",
|
|
1067
|
-
"name": "ContentBlock",
|
|
1068
|
-
"cssProperties": [
|
|
1069
|
-
{
|
|
1070
|
-
"description": "Overrides the block's padding.",
|
|
1071
|
-
"name": "--st-content-block-padding"
|
|
1072
|
-
}
|
|
1073
|
-
],
|
|
1074
|
-
"members": [
|
|
1075
1217
|
{
|
|
1076
1218
|
"kind": "field",
|
|
1077
|
-
"name": "
|
|
1219
|
+
"name": "open",
|
|
1078
1220
|
"type": {
|
|
1079
|
-
"text": "
|
|
1221
|
+
"text": "boolean"
|
|
1080
1222
|
},
|
|
1081
|
-
"default": "
|
|
1082
|
-
"
|
|
1223
|
+
"default": "false",
|
|
1224
|
+
"description": "Whether the panel is showing. Follows user toggles; may also be set from outside.",
|
|
1225
|
+
"attribute": "open",
|
|
1226
|
+
"reflects": true
|
|
1083
1227
|
},
|
|
1084
1228
|
{
|
|
1085
1229
|
"kind": "field",
|
|
1086
|
-
"name": "
|
|
1230
|
+
"name": "mega",
|
|
1087
1231
|
"type": {
|
|
1088
|
-
"text": "
|
|
1232
|
+
"text": "boolean"
|
|
1089
1233
|
},
|
|
1090
|
-
"default": "
|
|
1091
|
-
"
|
|
1234
|
+
"default": "false",
|
|
1235
|
+
"description": "Mega-menu panel (okta.com style), typically holding an `st-mega-menu`: the panel spans the\nfull width of the nearest positioned ancestor — `st-header` — right under it, instead of\nhanging off the trigger. In `st-header`'s hamburger layout (`inline`) it slides in over the\nscreen with a Back button rather than opening as an accordion. A click inside the panel only\ncloses it when it lands on a link.",
|
|
1236
|
+
"attribute": "mega",
|
|
1237
|
+
"reflects": true
|
|
1092
1238
|
},
|
|
1093
1239
|
{
|
|
1094
1240
|
"kind": "field",
|
|
1095
|
-
"name": "
|
|
1241
|
+
"name": "bar",
|
|
1096
1242
|
"type": {
|
|
1097
|
-
"text": "
|
|
1243
|
+
"text": "boolean"
|
|
1098
1244
|
},
|
|
1099
|
-
"default": "
|
|
1100
|
-
"description": "
|
|
1101
|
-
"attribute": "
|
|
1245
|
+
"default": "false",
|
|
1246
|
+
"description": "Styles a non-`mega` trigger like a mega one — a pill that turns solid accent while open — so\na plain dropdown (e.g. \"+ New\") lines up with mega triggers in the same header bar.",
|
|
1247
|
+
"attribute": "bar",
|
|
1248
|
+
"reflects": true
|
|
1102
1249
|
},
|
|
1103
1250
|
{
|
|
1104
1251
|
"kind": "field",
|
|
1105
|
-
"name": "
|
|
1252
|
+
"name": "openOnHover",
|
|
1106
1253
|
"type": {
|
|
1107
|
-
"text": "
|
|
1254
|
+
"text": "boolean"
|
|
1108
1255
|
},
|
|
1109
|
-
"default": "
|
|
1110
|
-
"description": "
|
|
1111
|
-
"attribute": "
|
|
1256
|
+
"default": "false",
|
|
1257
|
+
"description": "Opens the panel while a mouse hovers the trigger or panel (touch and keyboard still click). Off while `inline`.",
|
|
1258
|
+
"attribute": "open-on-hover"
|
|
1112
1259
|
},
|
|
1113
1260
|
{
|
|
1114
1261
|
"kind": "field",
|
|
1115
|
-
"name": "
|
|
1262
|
+
"name": "backLabel",
|
|
1116
1263
|
"type": {
|
|
1117
1264
|
"text": "string"
|
|
1118
1265
|
},
|
|
1119
|
-
"default": "''",
|
|
1120
|
-
"
|
|
1266
|
+
"default": "'Back'",
|
|
1267
|
+
"description": "Text of the Back button in the `mega` + `inline` drill-down panel.",
|
|
1268
|
+
"attribute": "back-label"
|
|
1121
1269
|
},
|
|
1122
1270
|
{
|
|
1123
1271
|
"kind": "field",
|
|
1124
|
-
"name": "
|
|
1272
|
+
"name": "hoverTimer",
|
|
1125
1273
|
"type": {
|
|
1126
|
-
"text": "
|
|
1274
|
+
"text": "number"
|
|
1127
1275
|
},
|
|
1128
|
-
"
|
|
1129
|
-
"
|
|
1276
|
+
"privacy": "private",
|
|
1277
|
+
"default": "0"
|
|
1130
1278
|
},
|
|
1131
1279
|
{
|
|
1132
1280
|
"kind": "field",
|
|
1133
|
-
"name": "
|
|
1281
|
+
"name": "hoverOpenedAt",
|
|
1134
1282
|
"type": {
|
|
1135
|
-
"text": "
|
|
1283
|
+
"text": "number"
|
|
1136
1284
|
},
|
|
1137
|
-
"
|
|
1138
|
-
"
|
|
1285
|
+
"privacy": "private",
|
|
1286
|
+
"default": "0",
|
|
1287
|
+
"description": "When hover last opened the panel — a click right after that keeps it open instead of toggling it shut."
|
|
1139
1288
|
},
|
|
1140
1289
|
{
|
|
1141
1290
|
"kind": "field",
|
|
1142
|
-
"name": "
|
|
1291
|
+
"name": "hasContent",
|
|
1143
1292
|
"type": {
|
|
1144
1293
|
"text": "boolean"
|
|
1145
1294
|
},
|
|
1295
|
+
"privacy": "private",
|
|
1146
1296
|
"default": "false",
|
|
1147
|
-
"
|
|
1148
|
-
|
|
1149
|
-
}
|
|
1150
|
-
],
|
|
1151
|
-
"attributes": [
|
|
1297
|
+
"description": "Whether the default slot has content — the source's `children` check."
|
|
1298
|
+
},
|
|
1152
1299
|
{
|
|
1153
|
-
"
|
|
1300
|
+
"kind": "field",
|
|
1301
|
+
"name": "hasIcon",
|
|
1154
1302
|
"type": {
|
|
1155
|
-
"text": "
|
|
1303
|
+
"text": "boolean"
|
|
1156
1304
|
},
|
|
1157
|
-
"
|
|
1158
|
-
"
|
|
1305
|
+
"privacy": "private",
|
|
1306
|
+
"default": "false",
|
|
1307
|
+
"description": "Whether `slot=\"icon\"` has content."
|
|
1159
1308
|
},
|
|
1160
1309
|
{
|
|
1161
|
-
"
|
|
1162
|
-
"
|
|
1163
|
-
|
|
1310
|
+
"kind": "method",
|
|
1311
|
+
"name": "setOpen",
|
|
1312
|
+
"privacy": "private",
|
|
1313
|
+
"return": {
|
|
1314
|
+
"type": {
|
|
1315
|
+
"text": "void"
|
|
1316
|
+
}
|
|
1164
1317
|
},
|
|
1165
|
-
"
|
|
1166
|
-
|
|
1318
|
+
"parameters": [
|
|
1319
|
+
{
|
|
1320
|
+
"name": "open",
|
|
1321
|
+
"type": {
|
|
1322
|
+
"text": "boolean"
|
|
1323
|
+
}
|
|
1324
|
+
}
|
|
1325
|
+
]
|
|
1167
1326
|
},
|
|
1168
1327
|
{
|
|
1169
|
-
"
|
|
1170
|
-
"
|
|
1171
|
-
|
|
1328
|
+
"kind": "method",
|
|
1329
|
+
"name": "hovers",
|
|
1330
|
+
"privacy": "private",
|
|
1331
|
+
"return": {
|
|
1332
|
+
"type": {
|
|
1333
|
+
"text": "boolean"
|
|
1334
|
+
}
|
|
1172
1335
|
},
|
|
1173
|
-
"
|
|
1174
|
-
|
|
1175
|
-
|
|
1336
|
+
"parameters": [
|
|
1337
|
+
{
|
|
1338
|
+
"name": "event",
|
|
1339
|
+
"type": {
|
|
1340
|
+
"text": "PointerEvent"
|
|
1341
|
+
}
|
|
1342
|
+
}
|
|
1343
|
+
]
|
|
1176
1344
|
},
|
|
1177
1345
|
{
|
|
1178
|
-
"
|
|
1179
|
-
"
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
"default": "''",
|
|
1183
|
-
"description": "Inline Markdown, used when `content-src` is not set.",
|
|
1184
|
-
"fieldName": "content"
|
|
1346
|
+
"kind": "field",
|
|
1347
|
+
"name": "onPointerEnter",
|
|
1348
|
+
"privacy": "private",
|
|
1349
|
+
"description": "Short delays so a pointer crossing the gap between trigger and panel doesn't close it."
|
|
1185
1350
|
},
|
|
1186
1351
|
{
|
|
1187
|
-
"
|
|
1188
|
-
"
|
|
1189
|
-
|
|
1190
|
-
},
|
|
1191
|
-
"default": "''",
|
|
1192
|
-
"fieldName": "imageSrc"
|
|
1352
|
+
"kind": "field",
|
|
1353
|
+
"name": "onPointerLeave",
|
|
1354
|
+
"privacy": "private"
|
|
1193
1355
|
},
|
|
1194
1356
|
{
|
|
1195
|
-
"
|
|
1196
|
-
"
|
|
1197
|
-
|
|
1198
|
-
},
|
|
1199
|
-
"default": "''",
|
|
1200
|
-
"fieldName": "imageAlt"
|
|
1357
|
+
"kind": "field",
|
|
1358
|
+
"name": "onBackClick",
|
|
1359
|
+
"privacy": "private"
|
|
1201
1360
|
},
|
|
1202
1361
|
{
|
|
1203
|
-
"
|
|
1204
|
-
"
|
|
1205
|
-
|
|
1206
|
-
},
|
|
1207
|
-
"default": "''",
|
|
1208
|
-
"fieldName": "imageCaption"
|
|
1362
|
+
"kind": "field",
|
|
1363
|
+
"name": "closeOnOutsideMouseDown",
|
|
1364
|
+
"privacy": "private"
|
|
1209
1365
|
},
|
|
1210
1366
|
{
|
|
1211
|
-
"
|
|
1212
|
-
"
|
|
1213
|
-
|
|
1367
|
+
"kind": "field",
|
|
1368
|
+
"name": "closeOnEscape",
|
|
1369
|
+
"privacy": "private"
|
|
1370
|
+
},
|
|
1371
|
+
{
|
|
1372
|
+
"kind": "method",
|
|
1373
|
+
"name": "trigger",
|
|
1374
|
+
"privacy": "private",
|
|
1375
|
+
"return": {
|
|
1376
|
+
"type": {
|
|
1377
|
+
"text": "HTMLElement | null"
|
|
1378
|
+
}
|
|
1379
|
+
}
|
|
1380
|
+
},
|
|
1381
|
+
{
|
|
1382
|
+
"kind": "method",
|
|
1383
|
+
"name": "panelItems",
|
|
1384
|
+
"privacy": "private",
|
|
1385
|
+
"return": {
|
|
1386
|
+
"type": {
|
|
1387
|
+
"text": "HTMLElement[]"
|
|
1388
|
+
}
|
|
1214
1389
|
},
|
|
1215
|
-
"
|
|
1216
|
-
|
|
1217
|
-
}
|
|
1218
|
-
],
|
|
1219
|
-
"superclass": {
|
|
1220
|
-
"name": "LitElement",
|
|
1221
|
-
"package": "lit"
|
|
1222
|
-
},
|
|
1223
|
-
"tagName": "st-content-block",
|
|
1224
|
-
"customElement": true
|
|
1225
|
-
}
|
|
1226
|
-
],
|
|
1227
|
-
"exports": [
|
|
1228
|
-
{
|
|
1229
|
-
"kind": "js",
|
|
1230
|
-
"name": "ContentBlock",
|
|
1231
|
-
"declaration": {
|
|
1232
|
-
"name": "ContentBlock",
|
|
1233
|
-
"module": "src/content-block/ContentBlock.ts"
|
|
1234
|
-
}
|
|
1235
|
-
},
|
|
1236
|
-
{
|
|
1237
|
-
"kind": "custom-element-definition",
|
|
1238
|
-
"name": "st-content-block",
|
|
1239
|
-
"declaration": {
|
|
1240
|
-
"name": "ContentBlock",
|
|
1241
|
-
"module": "src/content-block/ContentBlock.ts"
|
|
1242
|
-
}
|
|
1243
|
-
}
|
|
1244
|
-
]
|
|
1245
|
-
},
|
|
1246
|
-
{
|
|
1247
|
-
"kind": "javascript-module",
|
|
1248
|
-
"path": "src/dropdown/Dropdown.ts",
|
|
1249
|
-
"declarations": [
|
|
1250
|
-
{
|
|
1251
|
-
"kind": "class",
|
|
1252
|
-
"description": "A labeled trigger + slotted dropdown panel — nav menus (typically holding an `st-menu-grid`),\r\naction menus, anything \"click a trigger, show content under it\". A 1:1 port of `SankhyaUI`'s\r\nReact `Dropdown` (`SankhyaCMS/SankhyaUI/src/components/Dropdown`): same markup\r\n(`.menu` > `.menu-title` + `.menu-dropdown`), sizes, 0.3s slide/fade, and behavior —\r\n\r\n- only one dropdown is open at a time (the source's `DropdownProvider`, built in here, so no\r\n provider element is needed);\r\n- a mousedown outside, Escape, or a click inside the panel closes it;\r\n- an `href` trigger toggles the panel when it has content, and is a plain link when it doesn't;\r\n- `inline` opens the panel in the flow, the source's `.touch-device` layout.\r\n\r\nColors and the panel's surface come from the suite theme (the source left those to the\r\nconsumer's `className`/`itemGroupClassName` utility classes). Two source rules are left out\r\nbecause they break existing suite uses (`st-source-bar`'s site/library menus): the 100vw panel\r\nat <=768px (overflows the screen from wherever the trigger sits; the header uses `inline`\r\ninstead) and `overflow: hidden` on slotted children (clips their focus rings). Suite additions\r\nkept on top: `align`, `active`, `disabled`, `inline`, and the `dropdown-toggle` event — plus\r\n`mega` and `open-on-hover` for an okta.com-style mega menu (see `st-mega-menu`).",
|
|
1253
|
-
"name": "Dropdown",
|
|
1254
|
-
"cssProperties": [
|
|
1390
|
+
"description": "Keyboard-reachable entries in the panel, in order: menu items (they delegate focus to their\nown link) plus any plain links/buttons/tabbable elements a caller slots in."
|
|
1391
|
+
},
|
|
1255
1392
|
{
|
|
1256
|
-
"
|
|
1257
|
-
"name": "
|
|
1393
|
+
"kind": "method",
|
|
1394
|
+
"name": "focusItem",
|
|
1395
|
+
"privacy": "private",
|
|
1396
|
+
"return": {
|
|
1397
|
+
"type": {
|
|
1398
|
+
"text": "void"
|
|
1399
|
+
}
|
|
1400
|
+
},
|
|
1401
|
+
"parameters": [
|
|
1402
|
+
{
|
|
1403
|
+
"name": "pick",
|
|
1404
|
+
"type": {
|
|
1405
|
+
"text": "(items: HTMLElement[]) => HTMLElement | undefined"
|
|
1406
|
+
}
|
|
1407
|
+
}
|
|
1408
|
+
],
|
|
1409
|
+
"description": "Moves focus into the panel once it has become visible (it is `visibility: hidden` until the\n`show` class lands, and hidden elements can't take focus)."
|
|
1258
1410
|
},
|
|
1259
1411
|
{
|
|
1260
|
-
"
|
|
1261
|
-
"name": "
|
|
1412
|
+
"kind": "field",
|
|
1413
|
+
"name": "onTitleKeyDown",
|
|
1414
|
+
"privacy": "private",
|
|
1415
|
+
"description": "Enter/Space/ArrowDown open the panel and focus its first entry; ArrowUp its last."
|
|
1262
1416
|
},
|
|
1263
1417
|
{
|
|
1264
|
-
"
|
|
1265
|
-
"name": "
|
|
1418
|
+
"kind": "field",
|
|
1419
|
+
"name": "onPanelKeyDown",
|
|
1420
|
+
"privacy": "private",
|
|
1421
|
+
"description": "Arrow keys/Home/End move between the panel's entries; Tab closes the panel and moves on."
|
|
1266
1422
|
},
|
|
1267
1423
|
{
|
|
1268
|
-
"
|
|
1269
|
-
"name": "
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
"members": [
|
|
1424
|
+
"kind": "field",
|
|
1425
|
+
"name": "onTitleClick",
|
|
1426
|
+
"privacy": "private"
|
|
1427
|
+
},
|
|
1273
1428
|
{
|
|
1274
1429
|
"kind": "field",
|
|
1275
|
-
"name": "
|
|
1276
|
-
"type": {
|
|
1277
|
-
"text": "Dropdown | null"
|
|
1278
|
-
},
|
|
1430
|
+
"name": "onPanelClick",
|
|
1279
1431
|
"privacy": "private",
|
|
1280
|
-
"
|
|
1281
|
-
|
|
1282
|
-
|
|
1432
|
+
"description": "A click anywhere inside the panel closes it, as in the source — for `mega`, only a click on a\nlink: a big panel has headings and gaps, and a click there shouldn't also close st-header's\nhamburger layer."
|
|
1433
|
+
},
|
|
1434
|
+
{
|
|
1435
|
+
"kind": "field",
|
|
1436
|
+
"name": "onContentSlotChange",
|
|
1437
|
+
"privacy": "private"
|
|
1283
1438
|
},
|
|
1284
1439
|
{
|
|
1285
1440
|
"kind": "field",
|
|
1441
|
+
"name": "onIconSlotChange",
|
|
1442
|
+
"privacy": "private"
|
|
1443
|
+
}
|
|
1444
|
+
],
|
|
1445
|
+
"events": [
|
|
1446
|
+
{
|
|
1447
|
+
"name": "dropdown-toggle",
|
|
1448
|
+
"type": {
|
|
1449
|
+
"text": "CustomEvent"
|
|
1450
|
+
}
|
|
1451
|
+
}
|
|
1452
|
+
],
|
|
1453
|
+
"attributes": [
|
|
1454
|
+
{
|
|
1286
1455
|
"name": "label",
|
|
1287
1456
|
"type": {
|
|
1288
1457
|
"text": "string"
|
|
1289
1458
|
},
|
|
1290
1459
|
"default": "''",
|
|
1291
|
-
"description": "Trigger label text (source: `title`, renamed because `title` is the native tooltip\
|
|
1292
|
-
"
|
|
1460
|
+
"description": "Trigger label text (source: `title`, renamed because `title` is the native tooltip\nattribute). Leave empty to show only `slot=\"icon\"`.",
|
|
1461
|
+
"fieldName": "label"
|
|
1293
1462
|
},
|
|
1294
1463
|
{
|
|
1295
|
-
"kind": "field",
|
|
1296
1464
|
"name": "href",
|
|
1297
1465
|
"type": {
|
|
1298
1466
|
"text": "string"
|
|
1299
1467
|
},
|
|
1300
1468
|
"default": "''",
|
|
1301
|
-
"description": "Renders the trigger as an `<a href>`. With panel content the click toggles the panel (as in\
|
|
1302
|
-
"
|
|
1469
|
+
"description": "Renders the trigger as an `<a href>`. With panel content the click toggles the panel (as in\nthe source); with none it navigates.",
|
|
1470
|
+
"fieldName": "href"
|
|
1303
1471
|
},
|
|
1304
1472
|
{
|
|
1305
|
-
"
|
|
1306
|
-
"name": "iconPosition",
|
|
1473
|
+
"name": "icon-position",
|
|
1307
1474
|
"type": {
|
|
1308
1475
|
"text": "'left' | 'right'"
|
|
1309
1476
|
},
|
|
1310
1477
|
"default": "'left'",
|
|
1311
|
-
"
|
|
1478
|
+
"fieldName": "iconPosition"
|
|
1312
1479
|
},
|
|
1313
1480
|
{
|
|
1314
|
-
"
|
|
1315
|
-
"name": "iconSize",
|
|
1481
|
+
"name": "icon-size",
|
|
1316
1482
|
"type": {
|
|
1317
1483
|
"text": "string"
|
|
1318
1484
|
},
|
|
1319
1485
|
"default": "'1.2rem'",
|
|
1320
1486
|
"description": "Inline `width`/`height` of the `slot=\"icon\"` wrapper (source: `iconSize`, default `1.2rem`).",
|
|
1321
|
-
"
|
|
1487
|
+
"fieldName": "iconSize"
|
|
1322
1488
|
},
|
|
1323
1489
|
{
|
|
1324
|
-
"
|
|
1325
|
-
"name": "iconColor",
|
|
1490
|
+
"name": "icon-color",
|
|
1326
1491
|
"type": {
|
|
1327
1492
|
"text": "string"
|
|
1328
1493
|
},
|
|
1329
1494
|
"default": "'currentColor'",
|
|
1330
1495
|
"description": "Inline `color` of the `slot=\"icon\"` wrapper (source: `iconColor`).",
|
|
1331
|
-
"
|
|
1496
|
+
"fieldName": "iconColor"
|
|
1332
1497
|
},
|
|
1333
1498
|
{
|
|
1334
|
-
"kind": "field",
|
|
1335
1499
|
"name": "align",
|
|
1336
1500
|
"type": {
|
|
1337
1501
|
"text": "'left' | 'right'"
|
|
1338
1502
|
},
|
|
1339
1503
|
"default": "'left'",
|
|
1340
1504
|
"description": "Which edge of the trigger the panel lines up with.",
|
|
1341
|
-
"
|
|
1505
|
+
"fieldName": "align"
|
|
1342
1506
|
},
|
|
1343
1507
|
{
|
|
1344
|
-
"kind": "field",
|
|
1345
1508
|
"name": "target",
|
|
1346
1509
|
"type": {
|
|
1347
1510
|
"text": "string"
|
|
1348
1511
|
},
|
|
1349
1512
|
"default": "'_self'",
|
|
1350
1513
|
"description": "`target` of an `href` trigger (source default `_self`).",
|
|
1351
|
-
"
|
|
1514
|
+
"fieldName": "target"
|
|
1352
1515
|
},
|
|
1353
1516
|
{
|
|
1354
|
-
"
|
|
1355
|
-
"name": "triggerClassName",
|
|
1517
|
+
"name": "trigger-class-name",
|
|
1356
1518
|
"type": {
|
|
1357
1519
|
"text": "string"
|
|
1358
1520
|
},
|
|
1359
1521
|
"default": "''",
|
|
1360
1522
|
"description": "Extra class(es) on the trigger (source: `className`; a `class` on `st-dropdown` styles the host).",
|
|
1361
|
-
"
|
|
1523
|
+
"fieldName": "triggerClassName"
|
|
1362
1524
|
},
|
|
1363
1525
|
{
|
|
1364
|
-
"
|
|
1365
|
-
"name": "itemGroupClassName",
|
|
1526
|
+
"name": "item-group-class-name",
|
|
1366
1527
|
"type": {
|
|
1367
1528
|
"text": "string"
|
|
1368
1529
|
},
|
|
1369
1530
|
"default": "''",
|
|
1370
1531
|
"description": "Extra class(es) on the panel (source: `itemGroupClassName`).",
|
|
1371
|
-
"
|
|
1532
|
+
"fieldName": "itemGroupClassName"
|
|
1372
1533
|
},
|
|
1373
1534
|
{
|
|
1374
|
-
"
|
|
1375
|
-
"name": "itemClassName",
|
|
1535
|
+
"name": "item-class-name",
|
|
1376
1536
|
"type": {
|
|
1377
1537
|
"text": "string"
|
|
1378
1538
|
},
|
|
1379
1539
|
"default": "''",
|
|
1380
1540
|
"description": "Unused, as in the source (`itemClassName` is never read there); kept for prop parity.",
|
|
1381
|
-
"
|
|
1541
|
+
"fieldName": "itemClassName"
|
|
1382
1542
|
},
|
|
1383
1543
|
{
|
|
1384
|
-
"kind": "field",
|
|
1385
1544
|
"name": "disabled",
|
|
1386
1545
|
"type": {
|
|
1387
1546
|
"text": "boolean"
|
|
1388
1547
|
},
|
|
1389
1548
|
"default": "false",
|
|
1390
|
-
"
|
|
1391
|
-
"reflects": true
|
|
1549
|
+
"fieldName": "disabled"
|
|
1392
1550
|
},
|
|
1393
1551
|
{
|
|
1394
|
-
"kind": "field",
|
|
1395
1552
|
"name": "active",
|
|
1396
1553
|
"type": {
|
|
1397
1554
|
"text": "boolean"
|
|
1398
1555
|
},
|
|
1399
1556
|
"default": "false",
|
|
1400
1557
|
"description": "Highlights the trigger as the current section (e.g. the current page is one of its items).",
|
|
1401
|
-
"
|
|
1402
|
-
"reflects": true
|
|
1558
|
+
"fieldName": "active"
|
|
1403
1559
|
},
|
|
1404
1560
|
{
|
|
1405
|
-
"kind": "field",
|
|
1406
1561
|
"name": "inline",
|
|
1407
1562
|
"type": {
|
|
1408
1563
|
"text": "boolean"
|
|
1409
1564
|
},
|
|
1410
1565
|
"default": "false",
|
|
1411
|
-
"description": "Opens the panel in the flow under the trigger instead of floating over the page (see the\
|
|
1412
|
-
"
|
|
1413
|
-
"reflects": true
|
|
1566
|
+
"description": "Opens the panel in the flow under the trigger instead of floating over the page (see the\nstyles). `st-header` sets this on its own menu's dropdowns while its hamburger panel shows.",
|
|
1567
|
+
"fieldName": "inline"
|
|
1414
1568
|
},
|
|
1415
1569
|
{
|
|
1416
|
-
"kind": "field",
|
|
1417
1570
|
"name": "open",
|
|
1418
1571
|
"type": {
|
|
1419
1572
|
"text": "boolean"
|
|
1420
1573
|
},
|
|
1421
1574
|
"default": "false",
|
|
1422
1575
|
"description": "Whether the panel is showing. Follows user toggles; may also be set from outside.",
|
|
1423
|
-
"
|
|
1424
|
-
"reflects": true
|
|
1576
|
+
"fieldName": "open"
|
|
1425
1577
|
},
|
|
1426
1578
|
{
|
|
1427
|
-
"kind": "field",
|
|
1428
1579
|
"name": "mega",
|
|
1429
1580
|
"type": {
|
|
1430
1581
|
"text": "boolean"
|
|
1431
1582
|
},
|
|
1432
1583
|
"default": "false",
|
|
1433
|
-
"description": "Mega-menu panel (okta.com style), typically holding an `st-mega-menu`: the panel spans the\
|
|
1434
|
-
"
|
|
1435
|
-
"reflects": true
|
|
1584
|
+
"description": "Mega-menu panel (okta.com style), typically holding an `st-mega-menu`: the panel spans the\nfull width of the nearest positioned ancestor — `st-header` — right under it, instead of\nhanging off the trigger. In `st-header`'s hamburger layout (`inline`) it slides in over the\nscreen with a Back button rather than opening as an accordion. A click inside the panel only\ncloses it when it lands on a link.",
|
|
1585
|
+
"fieldName": "mega"
|
|
1436
1586
|
},
|
|
1437
1587
|
{
|
|
1438
|
-
"kind": "field",
|
|
1439
1588
|
"name": "bar",
|
|
1440
1589
|
"type": {
|
|
1441
1590
|
"text": "boolean"
|
|
1442
1591
|
},
|
|
1443
1592
|
"default": "false",
|
|
1444
|
-
"description": "Styles a non-`mega` trigger like a mega one — a pill that turns solid accent while open — so\
|
|
1445
|
-
"
|
|
1446
|
-
"reflects": true
|
|
1593
|
+
"description": "Styles a non-`mega` trigger like a mega one — a pill that turns solid accent while open — so\na plain dropdown (e.g. \"+ New\") lines up with mega triggers in the same header bar.",
|
|
1594
|
+
"fieldName": "bar"
|
|
1447
1595
|
},
|
|
1448
1596
|
{
|
|
1449
|
-
"
|
|
1450
|
-
"name": "openOnHover",
|
|
1597
|
+
"name": "open-on-hover",
|
|
1451
1598
|
"type": {
|
|
1452
1599
|
"text": "boolean"
|
|
1453
1600
|
},
|
|
1454
1601
|
"default": "false",
|
|
1455
1602
|
"description": "Opens the panel while a mouse hovers the trigger or panel (touch and keyboard still click). Off while `inline`.",
|
|
1456
|
-
"
|
|
1603
|
+
"fieldName": "openOnHover"
|
|
1457
1604
|
},
|
|
1458
1605
|
{
|
|
1459
|
-
"
|
|
1460
|
-
"name": "backLabel",
|
|
1461
|
-
"type": {
|
|
1462
|
-
"text": "string"
|
|
1463
|
-
},
|
|
1464
|
-
"default": "'Back'",
|
|
1465
|
-
"description": "Text of the Back button in the `mega` + `inline` drill-down panel.",
|
|
1466
|
-
"attribute": "back-label"
|
|
1467
|
-
},
|
|
1468
|
-
{
|
|
1469
|
-
"kind": "field",
|
|
1470
|
-
"name": "hoverTimer",
|
|
1471
|
-
"type": {
|
|
1472
|
-
"text": "number"
|
|
1473
|
-
},
|
|
1474
|
-
"privacy": "private",
|
|
1475
|
-
"default": "0"
|
|
1476
|
-
},
|
|
1477
|
-
{
|
|
1478
|
-
"kind": "field",
|
|
1479
|
-
"name": "hoverOpenedAt",
|
|
1480
|
-
"type": {
|
|
1481
|
-
"text": "number"
|
|
1482
|
-
},
|
|
1483
|
-
"privacy": "private",
|
|
1484
|
-
"default": "0",
|
|
1485
|
-
"description": "When hover last opened the panel — a click right after that keeps it open instead of toggling it shut."
|
|
1486
|
-
},
|
|
1487
|
-
{
|
|
1488
|
-
"kind": "field",
|
|
1489
|
-
"name": "hasContent",
|
|
1490
|
-
"type": {
|
|
1491
|
-
"text": "boolean"
|
|
1492
|
-
},
|
|
1493
|
-
"privacy": "private",
|
|
1494
|
-
"default": "false",
|
|
1495
|
-
"description": "Whether the default slot has content — the source's `children` check."
|
|
1496
|
-
},
|
|
1497
|
-
{
|
|
1498
|
-
"kind": "field",
|
|
1499
|
-
"name": "hasIcon",
|
|
1500
|
-
"type": {
|
|
1501
|
-
"text": "boolean"
|
|
1502
|
-
},
|
|
1503
|
-
"privacy": "private",
|
|
1504
|
-
"default": "false",
|
|
1505
|
-
"description": "Whether `slot=\"icon\"` has content."
|
|
1506
|
-
},
|
|
1507
|
-
{
|
|
1508
|
-
"kind": "method",
|
|
1509
|
-
"name": "setOpen",
|
|
1510
|
-
"privacy": "private",
|
|
1511
|
-
"return": {
|
|
1512
|
-
"type": {
|
|
1513
|
-
"text": "void"
|
|
1514
|
-
}
|
|
1515
|
-
},
|
|
1516
|
-
"parameters": [
|
|
1517
|
-
{
|
|
1518
|
-
"name": "open",
|
|
1519
|
-
"type": {
|
|
1520
|
-
"text": "boolean"
|
|
1521
|
-
}
|
|
1522
|
-
}
|
|
1523
|
-
]
|
|
1524
|
-
},
|
|
1525
|
-
{
|
|
1526
|
-
"kind": "method",
|
|
1527
|
-
"name": "hovers",
|
|
1528
|
-
"privacy": "private",
|
|
1529
|
-
"return": {
|
|
1530
|
-
"type": {
|
|
1531
|
-
"text": "boolean"
|
|
1532
|
-
}
|
|
1533
|
-
},
|
|
1534
|
-
"parameters": [
|
|
1535
|
-
{
|
|
1536
|
-
"name": "event",
|
|
1537
|
-
"type": {
|
|
1538
|
-
"text": "PointerEvent"
|
|
1539
|
-
}
|
|
1540
|
-
}
|
|
1541
|
-
]
|
|
1542
|
-
},
|
|
1543
|
-
{
|
|
1544
|
-
"kind": "field",
|
|
1545
|
-
"name": "onPointerEnter",
|
|
1546
|
-
"privacy": "private",
|
|
1547
|
-
"description": "Short delays so a pointer crossing the gap between trigger and panel doesn't close it."
|
|
1548
|
-
},
|
|
1549
|
-
{
|
|
1550
|
-
"kind": "field",
|
|
1551
|
-
"name": "onPointerLeave",
|
|
1552
|
-
"privacy": "private"
|
|
1553
|
-
},
|
|
1554
|
-
{
|
|
1555
|
-
"kind": "field",
|
|
1556
|
-
"name": "onBackClick",
|
|
1557
|
-
"privacy": "private"
|
|
1558
|
-
},
|
|
1559
|
-
{
|
|
1560
|
-
"kind": "field",
|
|
1561
|
-
"name": "closeOnOutsideMouseDown",
|
|
1562
|
-
"privacy": "private"
|
|
1563
|
-
},
|
|
1564
|
-
{
|
|
1565
|
-
"kind": "field",
|
|
1566
|
-
"name": "closeOnEscape",
|
|
1567
|
-
"privacy": "private"
|
|
1568
|
-
},
|
|
1569
|
-
{
|
|
1570
|
-
"kind": "method",
|
|
1571
|
-
"name": "trigger",
|
|
1572
|
-
"privacy": "private",
|
|
1573
|
-
"return": {
|
|
1574
|
-
"type": {
|
|
1575
|
-
"text": "HTMLElement | null"
|
|
1576
|
-
}
|
|
1577
|
-
}
|
|
1578
|
-
},
|
|
1579
|
-
{
|
|
1580
|
-
"kind": "method",
|
|
1581
|
-
"name": "panelItems",
|
|
1582
|
-
"privacy": "private",
|
|
1583
|
-
"return": {
|
|
1584
|
-
"type": {
|
|
1585
|
-
"text": "HTMLElement[]"
|
|
1586
|
-
}
|
|
1587
|
-
},
|
|
1588
|
-
"description": "Keyboard-reachable entries in the panel, in order: menu items (they delegate focus to their\r\nown link) plus any plain links/buttons/tabbable elements a caller slots in."
|
|
1589
|
-
},
|
|
1590
|
-
{
|
|
1591
|
-
"kind": "method",
|
|
1592
|
-
"name": "focusItem",
|
|
1593
|
-
"privacy": "private",
|
|
1594
|
-
"return": {
|
|
1595
|
-
"type": {
|
|
1596
|
-
"text": "void"
|
|
1597
|
-
}
|
|
1598
|
-
},
|
|
1599
|
-
"parameters": [
|
|
1600
|
-
{
|
|
1601
|
-
"name": "pick",
|
|
1602
|
-
"type": {
|
|
1603
|
-
"text": "(items: HTMLElement[]) => HTMLElement | undefined"
|
|
1604
|
-
}
|
|
1605
|
-
}
|
|
1606
|
-
],
|
|
1607
|
-
"description": "Moves focus into the panel once it has become visible (it is `visibility: hidden` until the\r\n`show` class lands, and hidden elements can't take focus)."
|
|
1608
|
-
},
|
|
1609
|
-
{
|
|
1610
|
-
"kind": "field",
|
|
1611
|
-
"name": "onTitleKeyDown",
|
|
1612
|
-
"privacy": "private",
|
|
1613
|
-
"description": "Enter/Space/ArrowDown open the panel and focus its first entry; ArrowUp its last."
|
|
1614
|
-
},
|
|
1615
|
-
{
|
|
1616
|
-
"kind": "field",
|
|
1617
|
-
"name": "onPanelKeyDown",
|
|
1618
|
-
"privacy": "private",
|
|
1619
|
-
"description": "Arrow keys/Home/End move between the panel's entries; Tab closes the panel and moves on."
|
|
1620
|
-
},
|
|
1621
|
-
{
|
|
1622
|
-
"kind": "field",
|
|
1623
|
-
"name": "onTitleClick",
|
|
1624
|
-
"privacy": "private"
|
|
1625
|
-
},
|
|
1626
|
-
{
|
|
1627
|
-
"kind": "field",
|
|
1628
|
-
"name": "onPanelClick",
|
|
1629
|
-
"privacy": "private",
|
|
1630
|
-
"description": "A click anywhere inside the panel closes it, as in the source — for `mega`, only a click on a\r\nlink: a big panel has headings and gaps, and a click there shouldn't also close st-header's\r\nhamburger layer."
|
|
1631
|
-
},
|
|
1632
|
-
{
|
|
1633
|
-
"kind": "field",
|
|
1634
|
-
"name": "onContentSlotChange",
|
|
1635
|
-
"privacy": "private"
|
|
1636
|
-
},
|
|
1637
|
-
{
|
|
1638
|
-
"kind": "field",
|
|
1639
|
-
"name": "onIconSlotChange",
|
|
1640
|
-
"privacy": "private"
|
|
1641
|
-
}
|
|
1642
|
-
],
|
|
1643
|
-
"events": [
|
|
1644
|
-
{
|
|
1645
|
-
"name": "dropdown-toggle",
|
|
1646
|
-
"type": {
|
|
1647
|
-
"text": "CustomEvent"
|
|
1648
|
-
}
|
|
1649
|
-
}
|
|
1650
|
-
],
|
|
1651
|
-
"attributes": [
|
|
1652
|
-
{
|
|
1653
|
-
"name": "label",
|
|
1654
|
-
"type": {
|
|
1655
|
-
"text": "string"
|
|
1656
|
-
},
|
|
1657
|
-
"default": "''",
|
|
1658
|
-
"description": "Trigger label text (source: `title`, renamed because `title` is the native tooltip\r\nattribute). Leave empty to show only `slot=\"icon\"`.",
|
|
1659
|
-
"fieldName": "label"
|
|
1660
|
-
},
|
|
1661
|
-
{
|
|
1662
|
-
"name": "href",
|
|
1663
|
-
"type": {
|
|
1664
|
-
"text": "string"
|
|
1665
|
-
},
|
|
1666
|
-
"default": "''",
|
|
1667
|
-
"description": "Renders the trigger as an `<a href>`. With panel content the click toggles the panel (as in\r\nthe source); with none it navigates.",
|
|
1668
|
-
"fieldName": "href"
|
|
1669
|
-
},
|
|
1670
|
-
{
|
|
1671
|
-
"name": "icon-position",
|
|
1672
|
-
"type": {
|
|
1673
|
-
"text": "'left' | 'right'"
|
|
1674
|
-
},
|
|
1675
|
-
"default": "'left'",
|
|
1676
|
-
"fieldName": "iconPosition"
|
|
1677
|
-
},
|
|
1678
|
-
{
|
|
1679
|
-
"name": "icon-size",
|
|
1680
|
-
"type": {
|
|
1681
|
-
"text": "string"
|
|
1682
|
-
},
|
|
1683
|
-
"default": "'1.2rem'",
|
|
1684
|
-
"description": "Inline `width`/`height` of the `slot=\"icon\"` wrapper (source: `iconSize`, default `1.2rem`).",
|
|
1685
|
-
"fieldName": "iconSize"
|
|
1686
|
-
},
|
|
1687
|
-
{
|
|
1688
|
-
"name": "icon-color",
|
|
1689
|
-
"type": {
|
|
1690
|
-
"text": "string"
|
|
1691
|
-
},
|
|
1692
|
-
"default": "'currentColor'",
|
|
1693
|
-
"description": "Inline `color` of the `slot=\"icon\"` wrapper (source: `iconColor`).",
|
|
1694
|
-
"fieldName": "iconColor"
|
|
1695
|
-
},
|
|
1696
|
-
{
|
|
1697
|
-
"name": "align",
|
|
1698
|
-
"type": {
|
|
1699
|
-
"text": "'left' | 'right'"
|
|
1700
|
-
},
|
|
1701
|
-
"default": "'left'",
|
|
1702
|
-
"description": "Which edge of the trigger the panel lines up with.",
|
|
1703
|
-
"fieldName": "align"
|
|
1704
|
-
},
|
|
1705
|
-
{
|
|
1706
|
-
"name": "target",
|
|
1707
|
-
"type": {
|
|
1708
|
-
"text": "string"
|
|
1709
|
-
},
|
|
1710
|
-
"default": "'_self'",
|
|
1711
|
-
"description": "`target` of an `href` trigger (source default `_self`).",
|
|
1712
|
-
"fieldName": "target"
|
|
1713
|
-
},
|
|
1714
|
-
{
|
|
1715
|
-
"name": "trigger-class-name",
|
|
1716
|
-
"type": {
|
|
1717
|
-
"text": "string"
|
|
1718
|
-
},
|
|
1719
|
-
"default": "''",
|
|
1720
|
-
"description": "Extra class(es) on the trigger (source: `className`; a `class` on `st-dropdown` styles the host).",
|
|
1721
|
-
"fieldName": "triggerClassName"
|
|
1722
|
-
},
|
|
1723
|
-
{
|
|
1724
|
-
"name": "item-group-class-name",
|
|
1725
|
-
"type": {
|
|
1726
|
-
"text": "string"
|
|
1727
|
-
},
|
|
1728
|
-
"default": "''",
|
|
1729
|
-
"description": "Extra class(es) on the panel (source: `itemGroupClassName`).",
|
|
1730
|
-
"fieldName": "itemGroupClassName"
|
|
1731
|
-
},
|
|
1732
|
-
{
|
|
1733
|
-
"name": "item-class-name",
|
|
1734
|
-
"type": {
|
|
1735
|
-
"text": "string"
|
|
1736
|
-
},
|
|
1737
|
-
"default": "''",
|
|
1738
|
-
"description": "Unused, as in the source (`itemClassName` is never read there); kept for prop parity.",
|
|
1739
|
-
"fieldName": "itemClassName"
|
|
1740
|
-
},
|
|
1741
|
-
{
|
|
1742
|
-
"name": "disabled",
|
|
1743
|
-
"type": {
|
|
1744
|
-
"text": "boolean"
|
|
1745
|
-
},
|
|
1746
|
-
"default": "false",
|
|
1747
|
-
"fieldName": "disabled"
|
|
1748
|
-
},
|
|
1749
|
-
{
|
|
1750
|
-
"name": "active",
|
|
1751
|
-
"type": {
|
|
1752
|
-
"text": "boolean"
|
|
1753
|
-
},
|
|
1754
|
-
"default": "false",
|
|
1755
|
-
"description": "Highlights the trigger as the current section (e.g. the current page is one of its items).",
|
|
1756
|
-
"fieldName": "active"
|
|
1757
|
-
},
|
|
1758
|
-
{
|
|
1759
|
-
"name": "inline",
|
|
1760
|
-
"type": {
|
|
1761
|
-
"text": "boolean"
|
|
1762
|
-
},
|
|
1763
|
-
"default": "false",
|
|
1764
|
-
"description": "Opens the panel in the flow under the trigger instead of floating over the page (see the\r\nstyles). `st-header` sets this on its own menu's dropdowns while its hamburger panel shows.",
|
|
1765
|
-
"fieldName": "inline"
|
|
1766
|
-
},
|
|
1767
|
-
{
|
|
1768
|
-
"name": "open",
|
|
1769
|
-
"type": {
|
|
1770
|
-
"text": "boolean"
|
|
1771
|
-
},
|
|
1772
|
-
"default": "false",
|
|
1773
|
-
"description": "Whether the panel is showing. Follows user toggles; may also be set from outside.",
|
|
1774
|
-
"fieldName": "open"
|
|
1775
|
-
},
|
|
1776
|
-
{
|
|
1777
|
-
"name": "mega",
|
|
1778
|
-
"type": {
|
|
1779
|
-
"text": "boolean"
|
|
1780
|
-
},
|
|
1781
|
-
"default": "false",
|
|
1782
|
-
"description": "Mega-menu panel (okta.com style), typically holding an `st-mega-menu`: the panel spans the\r\nfull width of the nearest positioned ancestor — `st-header` — right under it, instead of\r\nhanging off the trigger. In `st-header`'s hamburger layout (`inline`) it slides in over the\r\nscreen with a Back button rather than opening as an accordion. A click inside the panel only\r\ncloses it when it lands on a link.",
|
|
1783
|
-
"fieldName": "mega"
|
|
1784
|
-
},
|
|
1785
|
-
{
|
|
1786
|
-
"name": "bar",
|
|
1787
|
-
"type": {
|
|
1788
|
-
"text": "boolean"
|
|
1789
|
-
},
|
|
1790
|
-
"default": "false",
|
|
1791
|
-
"description": "Styles a non-`mega` trigger like a mega one — a pill that turns solid accent while open — so\r\na plain dropdown (e.g. \"+ New\") lines up with mega triggers in the same header bar.",
|
|
1792
|
-
"fieldName": "bar"
|
|
1793
|
-
},
|
|
1794
|
-
{
|
|
1795
|
-
"name": "open-on-hover",
|
|
1796
|
-
"type": {
|
|
1797
|
-
"text": "boolean"
|
|
1798
|
-
},
|
|
1799
|
-
"default": "false",
|
|
1800
|
-
"description": "Opens the panel while a mouse hovers the trigger or panel (touch and keyboard still click). Off while `inline`.",
|
|
1801
|
-
"fieldName": "openOnHover"
|
|
1802
|
-
},
|
|
1803
|
-
{
|
|
1804
|
-
"name": "back-label",
|
|
1606
|
+
"name": "back-label",
|
|
1805
1607
|
"type": {
|
|
1806
1608
|
"text": "string"
|
|
1807
1609
|
},
|
|
@@ -1843,7 +1645,7 @@
|
|
|
1843
1645
|
"declarations": [
|
|
1844
1646
|
{
|
|
1845
1647
|
"kind": "class",
|
|
1846
|
-
"description": "One feature tile for `st-features-section`: optional icon, title, Markdown description and an\
|
|
1648
|
+
"description": "One feature tile for `st-features-section`: optional icon, title, Markdown description and an\noptional \"Learn more\" link, rendered on an `st-card`. `icon` is an Iconify name (e.g.\n`mdi:rocket`). The link is a plain `<a>` (the source used react-router's `Link` for non-http\nhrefs; there is no Lit equivalent). The click is composed, so an SPA router can intercept it\n(e.g. via `event.composedPath()`) and navigate client-side; `http(s)` links open in a new tab.",
|
|
1847
1649
|
"name": "FeatureItem",
|
|
1848
1650
|
"members": [
|
|
1849
1651
|
{
|
|
@@ -1989,7 +1791,7 @@
|
|
|
1989
1791
|
"declarations": [
|
|
1990
1792
|
{
|
|
1991
1793
|
"kind": "class",
|
|
1992
|
-
"description": "A titled grid of feature tiles. Ports `SankhyaUI`'s React `FeaturesSection`: tiles come from the\
|
|
1794
|
+
"description": "A titled grid of feature tiles. Ports `SankhyaUI`'s React `FeaturesSection`: tiles come from the\n`items` property, from slotted `st-feature-item` elements (the source's `children`), or both\n(slotted first). `columns` sets the grid width (default 2; one column below 768px). `inverted`\nis passed on to the `items` tiles; slotted tiles need their own `inverted` attribute.",
|
|
1993
1795
|
"name": "FeaturesSection",
|
|
1994
1796
|
"cssProperties": [
|
|
1995
1797
|
{
|
|
@@ -2127,680 +1929,843 @@
|
|
|
2127
1929
|
},
|
|
2128
1930
|
{
|
|
2129
1931
|
"kind": "javascript-module",
|
|
2130
|
-
"path": "src/
|
|
1932
|
+
"path": "src/footer/Footer.ts",
|
|
2131
1933
|
"declarations": [
|
|
2132
1934
|
{
|
|
2133
1935
|
"kind": "class",
|
|
2134
|
-
"description": "The
|
|
2135
|
-
"name": "
|
|
1936
|
+
"description": "The footer, in two layouts:\n\n- **Bar** (default): a copyright line plus an optional \"powered by\" link — what the suite's\n authenticated apps use.\n- **Site**: when `columns`, `socialLinks`, `description` or `imageSrc` is set, the footer becomes a\n marketing-site footer — brand (logo/company name, description, social icons), link columns and a\n bottom bar with the copyright and \"powered by\".\n\nFires a cancelable `footer-link` event (detail `{ href }`) when an internal link is clicked.",
|
|
1937
|
+
"name": "Footer",
|
|
2136
1938
|
"members": [
|
|
2137
1939
|
{
|
|
2138
1940
|
"kind": "field",
|
|
2139
|
-
"name": "
|
|
1941
|
+
"name": "inverted",
|
|
1942
|
+
"type": {
|
|
1943
|
+
"text": "boolean"
|
|
1944
|
+
},
|
|
1945
|
+
"default": "false",
|
|
1946
|
+
"description": "Inverts the footer's color roles (light-on-dark instead of dark-on-light) — matches the\nsource component's `inverted` (from its shared `BaseProps`), same as `st-header`'s.",
|
|
1947
|
+
"attribute": "inverted",
|
|
1948
|
+
"reflects": true
|
|
1949
|
+
},
|
|
1950
|
+
{
|
|
1951
|
+
"kind": "field",
|
|
1952
|
+
"name": "companyName",
|
|
2140
1953
|
"type": {
|
|
2141
1954
|
"text": "string"
|
|
2142
1955
|
},
|
|
2143
1956
|
"default": "''",
|
|
2144
|
-
"
|
|
1957
|
+
"description": "Used to build the default `copyright` line (`© {year} {companyName}`) when `copyright` isn't set explicitly.",
|
|
1958
|
+
"attribute": "company-name"
|
|
2145
1959
|
},
|
|
2146
1960
|
{
|
|
2147
1961
|
"kind": "field",
|
|
2148
|
-
"name": "
|
|
1962
|
+
"name": "copyright",
|
|
2149
1963
|
"type": {
|
|
2150
1964
|
"text": "string"
|
|
2151
1965
|
},
|
|
2152
1966
|
"default": "''",
|
|
2153
|
-
"description": "
|
|
2154
|
-
"attribute": "
|
|
1967
|
+
"description": "Overrides the default computed copyright line entirely.",
|
|
1968
|
+
"attribute": "copyright"
|
|
2155
1969
|
},
|
|
2156
1970
|
{
|
|
2157
1971
|
"kind": "field",
|
|
2158
|
-
"name": "
|
|
1972
|
+
"name": "poweredBy",
|
|
2159
1973
|
"type": {
|
|
2160
1974
|
"text": "string"
|
|
2161
1975
|
},
|
|
2162
|
-
"default": "'
|
|
2163
|
-
"
|
|
2164
|
-
"attribute": "alt-text"
|
|
1976
|
+
"default": "''",
|
|
1977
|
+
"attribute": "powered-by"
|
|
2165
1978
|
},
|
|
2166
1979
|
{
|
|
2167
1980
|
"kind": "field",
|
|
2168
|
-
"name": "
|
|
1981
|
+
"name": "poweredByLink",
|
|
2169
1982
|
"type": {
|
|
2170
1983
|
"text": "string"
|
|
2171
1984
|
},
|
|
2172
1985
|
"default": "''",
|
|
2173
|
-
"
|
|
2174
|
-
"attribute": "logoHref"
|
|
1986
|
+
"attribute": "powered-by-link"
|
|
2175
1987
|
},
|
|
2176
1988
|
{
|
|
2177
1989
|
"kind": "field",
|
|
2178
|
-
"name": "
|
|
1990
|
+
"name": "version",
|
|
2179
1991
|
"type": {
|
|
2180
1992
|
"text": "string"
|
|
2181
1993
|
},
|
|
2182
|
-
"default": "'
|
|
2183
|
-
"description": "`
|
|
2184
|
-
"attribute": "
|
|
1994
|
+
"default": "''",
|
|
1995
|
+
"description": "App version, rendered as `v{version}` after the copyright line — for apps that show their own\nversion in the footer rather than the header title.",
|
|
1996
|
+
"attribute": "version"
|
|
2185
1997
|
},
|
|
2186
1998
|
{
|
|
2187
1999
|
"kind": "field",
|
|
2188
|
-
"name": "
|
|
2000
|
+
"name": "imageSrc",
|
|
2189
2001
|
"type": {
|
|
2190
2002
|
"text": "string"
|
|
2191
2003
|
},
|
|
2192
2004
|
"default": "''",
|
|
2193
|
-
"description": "
|
|
2194
|
-
"attribute": "
|
|
2005
|
+
"description": "Logo shown in the brand block (site layout).",
|
|
2006
|
+
"attribute": "image-src"
|
|
2195
2007
|
},
|
|
2196
2008
|
{
|
|
2197
2009
|
"kind": "field",
|
|
2198
|
-
"name": "
|
|
2010
|
+
"name": "description",
|
|
2199
2011
|
"type": {
|
|
2200
|
-
"text": "
|
|
2012
|
+
"text": "string"
|
|
2201
2013
|
},
|
|
2202
|
-
"default": "
|
|
2203
|
-
"description": "
|
|
2204
|
-
"attribute": "
|
|
2205
|
-
"reflects": true
|
|
2014
|
+
"default": "''",
|
|
2015
|
+
"description": "Short blurb under the logo (site layout).",
|
|
2016
|
+
"attribute": "description"
|
|
2206
2017
|
},
|
|
2207
2018
|
{
|
|
2208
2019
|
"kind": "field",
|
|
2209
|
-
"name": "
|
|
2020
|
+
"name": "columns",
|
|
2021
|
+
"type": {
|
|
2022
|
+
"text": "FooterColumn[]"
|
|
2023
|
+
},
|
|
2024
|
+
"default": "[]",
|
|
2025
|
+
"description": "Link columns (site layout)."
|
|
2026
|
+
},
|
|
2027
|
+
{
|
|
2028
|
+
"kind": "field",
|
|
2029
|
+
"name": "socialLinks",
|
|
2030
|
+
"type": {
|
|
2031
|
+
"text": "FooterSocialLink[]"
|
|
2032
|
+
},
|
|
2033
|
+
"default": "[]",
|
|
2034
|
+
"description": "Social icon links under the description (site layout)."
|
|
2035
|
+
},
|
|
2036
|
+
{
|
|
2037
|
+
"kind": "field",
|
|
2038
|
+
"name": "isSite",
|
|
2210
2039
|
"type": {
|
|
2211
2040
|
"text": "boolean"
|
|
2212
2041
|
},
|
|
2213
|
-
"
|
|
2214
|
-
"
|
|
2215
|
-
"reflects": true
|
|
2042
|
+
"privacy": "private",
|
|
2043
|
+
"readonly": true
|
|
2216
2044
|
},
|
|
2217
2045
|
{
|
|
2218
2046
|
"kind": "field",
|
|
2219
|
-
"name": "
|
|
2047
|
+
"name": "resolvedCopyright",
|
|
2048
|
+
"type": {
|
|
2049
|
+
"text": "string"
|
|
2050
|
+
},
|
|
2051
|
+
"privacy": "private",
|
|
2052
|
+
"readonly": true
|
|
2053
|
+
},
|
|
2054
|
+
{
|
|
2055
|
+
"kind": "method",
|
|
2056
|
+
"name": "onLinkClick",
|
|
2057
|
+
"privacy": "private",
|
|
2058
|
+
"return": {
|
|
2059
|
+
"type": {
|
|
2060
|
+
"text": "void"
|
|
2061
|
+
}
|
|
2062
|
+
},
|
|
2063
|
+
"parameters": [
|
|
2064
|
+
{
|
|
2065
|
+
"name": "event",
|
|
2066
|
+
"type": {
|
|
2067
|
+
"text": "MouseEvent"
|
|
2068
|
+
}
|
|
2069
|
+
},
|
|
2070
|
+
{
|
|
2071
|
+
"name": "href",
|
|
2072
|
+
"type": {
|
|
2073
|
+
"text": "string"
|
|
2074
|
+
}
|
|
2075
|
+
}
|
|
2076
|
+
]
|
|
2077
|
+
},
|
|
2078
|
+
{
|
|
2079
|
+
"kind": "method",
|
|
2080
|
+
"name": "renderLink",
|
|
2081
|
+
"privacy": "private",
|
|
2082
|
+
"parameters": [
|
|
2083
|
+
{
|
|
2084
|
+
"name": "link",
|
|
2085
|
+
"type": {
|
|
2086
|
+
"text": "FooterLink"
|
|
2087
|
+
}
|
|
2088
|
+
}
|
|
2089
|
+
]
|
|
2090
|
+
},
|
|
2091
|
+
{
|
|
2092
|
+
"kind": "method",
|
|
2093
|
+
"name": "renderPoweredBy",
|
|
2094
|
+
"privacy": "private"
|
|
2095
|
+
},
|
|
2096
|
+
{
|
|
2097
|
+
"kind": "method",
|
|
2098
|
+
"name": "renderSite",
|
|
2099
|
+
"privacy": "private"
|
|
2100
|
+
}
|
|
2101
|
+
],
|
|
2102
|
+
"attributes": [
|
|
2103
|
+
{
|
|
2104
|
+
"name": "inverted",
|
|
2220
2105
|
"type": {
|
|
2221
2106
|
"text": "boolean"
|
|
2222
2107
|
},
|
|
2223
2108
|
"default": "false",
|
|
2224
|
-
"description": "
|
|
2225
|
-
"
|
|
2226
|
-
|
|
2109
|
+
"description": "Inverts the footer's color roles (light-on-dark instead of dark-on-light) — matches the\nsource component's `inverted` (from its shared `BaseProps`), same as `st-header`'s.",
|
|
2110
|
+
"fieldName": "inverted"
|
|
2111
|
+
},
|
|
2112
|
+
{
|
|
2113
|
+
"name": "company-name",
|
|
2114
|
+
"type": {
|
|
2115
|
+
"text": "string"
|
|
2116
|
+
},
|
|
2117
|
+
"default": "''",
|
|
2118
|
+
"description": "Used to build the default `copyright` line (`© {year} {companyName}`) when `copyright` isn't set explicitly.",
|
|
2119
|
+
"fieldName": "companyName"
|
|
2120
|
+
},
|
|
2121
|
+
{
|
|
2122
|
+
"name": "copyright",
|
|
2123
|
+
"type": {
|
|
2124
|
+
"text": "string"
|
|
2125
|
+
},
|
|
2126
|
+
"default": "''",
|
|
2127
|
+
"description": "Overrides the default computed copyright line entirely.",
|
|
2128
|
+
"fieldName": "copyright"
|
|
2129
|
+
},
|
|
2130
|
+
{
|
|
2131
|
+
"name": "powered-by",
|
|
2132
|
+
"type": {
|
|
2133
|
+
"text": "string"
|
|
2134
|
+
},
|
|
2135
|
+
"default": "''",
|
|
2136
|
+
"fieldName": "poweredBy"
|
|
2137
|
+
},
|
|
2138
|
+
{
|
|
2139
|
+
"name": "powered-by-link",
|
|
2140
|
+
"type": {
|
|
2141
|
+
"text": "string"
|
|
2142
|
+
},
|
|
2143
|
+
"default": "''",
|
|
2144
|
+
"fieldName": "poweredByLink"
|
|
2145
|
+
},
|
|
2146
|
+
{
|
|
2147
|
+
"name": "version",
|
|
2148
|
+
"type": {
|
|
2149
|
+
"text": "string"
|
|
2150
|
+
},
|
|
2151
|
+
"default": "''",
|
|
2152
|
+
"description": "App version, rendered as `v{version}` after the copyright line — for apps that show their own\nversion in the footer rather than the header title.",
|
|
2153
|
+
"fieldName": "version"
|
|
2154
|
+
},
|
|
2155
|
+
{
|
|
2156
|
+
"name": "image-src",
|
|
2157
|
+
"type": {
|
|
2158
|
+
"text": "string"
|
|
2159
|
+
},
|
|
2160
|
+
"default": "''",
|
|
2161
|
+
"description": "Logo shown in the brand block (site layout).",
|
|
2162
|
+
"fieldName": "imageSrc"
|
|
2227
2163
|
},
|
|
2164
|
+
{
|
|
2165
|
+
"name": "description",
|
|
2166
|
+
"type": {
|
|
2167
|
+
"text": "string"
|
|
2168
|
+
},
|
|
2169
|
+
"default": "''",
|
|
2170
|
+
"description": "Short blurb under the logo (site layout).",
|
|
2171
|
+
"fieldName": "description"
|
|
2172
|
+
}
|
|
2173
|
+
],
|
|
2174
|
+
"superclass": {
|
|
2175
|
+
"name": "LitElement",
|
|
2176
|
+
"package": "lit"
|
|
2177
|
+
},
|
|
2178
|
+
"tagName": "st-footer",
|
|
2179
|
+
"customElement": true
|
|
2180
|
+
}
|
|
2181
|
+
],
|
|
2182
|
+
"exports": [
|
|
2183
|
+
{
|
|
2184
|
+
"kind": "js",
|
|
2185
|
+
"name": "Footer",
|
|
2186
|
+
"declaration": {
|
|
2187
|
+
"name": "Footer",
|
|
2188
|
+
"module": "src/footer/Footer.ts"
|
|
2189
|
+
}
|
|
2190
|
+
},
|
|
2191
|
+
{
|
|
2192
|
+
"kind": "custom-element-definition",
|
|
2193
|
+
"name": "st-footer",
|
|
2194
|
+
"declaration": {
|
|
2195
|
+
"name": "Footer",
|
|
2196
|
+
"module": "src/footer/Footer.ts"
|
|
2197
|
+
}
|
|
2198
|
+
}
|
|
2199
|
+
]
|
|
2200
|
+
},
|
|
2201
|
+
{
|
|
2202
|
+
"kind": "javascript-module",
|
|
2203
|
+
"path": "src/feature-split/FeatureSplit.ts",
|
|
2204
|
+
"declarations": [
|
|
2205
|
+
{
|
|
2206
|
+
"kind": "class",
|
|
2207
|
+
"description": "A title/markdown-subtitle/feature-list block beside (or under) an image.",
|
|
2208
|
+
"name": "FeatureSplit",
|
|
2209
|
+
"cssProperties": [
|
|
2210
|
+
{
|
|
2211
|
+
"description": "Overrides the block's padding.",
|
|
2212
|
+
"name": "--st-feature-split-padding"
|
|
2213
|
+
}
|
|
2214
|
+
],
|
|
2215
|
+
"members": [
|
|
2228
2216
|
{
|
|
2229
2217
|
"kind": "field",
|
|
2230
|
-
"name": "
|
|
2218
|
+
"name": "inverted",
|
|
2231
2219
|
"type": {
|
|
2232
2220
|
"text": "boolean"
|
|
2233
2221
|
},
|
|
2234
2222
|
"default": "false",
|
|
2235
|
-
"
|
|
2236
|
-
"attribute": "hide-on-scroll",
|
|
2223
|
+
"attribute": "inverted",
|
|
2237
2224
|
"reflects": true
|
|
2238
2225
|
},
|
|
2239
2226
|
{
|
|
2240
2227
|
"kind": "field",
|
|
2241
|
-
"name": "
|
|
2228
|
+
"name": "title",
|
|
2242
2229
|
"type": {
|
|
2243
|
-
"text": "
|
|
2230
|
+
"text": "string"
|
|
2244
2231
|
},
|
|
2245
|
-
"default": "
|
|
2246
|
-
"
|
|
2247
|
-
"attribute": "scroll-threshold"
|
|
2232
|
+
"default": "''",
|
|
2233
|
+
"attribute": "title"
|
|
2248
2234
|
},
|
|
2249
2235
|
{
|
|
2250
2236
|
"kind": "field",
|
|
2251
|
-
"name": "
|
|
2237
|
+
"name": "subtitle",
|
|
2252
2238
|
"type": {
|
|
2253
|
-
"text": "
|
|
2239
|
+
"text": "string"
|
|
2254
2240
|
},
|
|
2255
|
-
"default": "
|
|
2256
|
-
"description": "
|
|
2257
|
-
"attribute": "
|
|
2258
|
-
"reflects": true
|
|
2241
|
+
"default": "''",
|
|
2242
|
+
"description": "Markdown.",
|
|
2243
|
+
"attribute": "subtitle"
|
|
2259
2244
|
},
|
|
2260
2245
|
{
|
|
2261
2246
|
"kind": "field",
|
|
2262
|
-
"name": "
|
|
2247
|
+
"name": "items",
|
|
2263
2248
|
"type": {
|
|
2264
|
-
"text": "
|
|
2249
|
+
"text": "FeatureSplitItem[]"
|
|
2265
2250
|
},
|
|
2266
|
-
"default": "
|
|
2267
|
-
"description": "True while `hide-on-scroll` has slid the header away. Set by the header, never from outside.",
|
|
2268
|
-
"attribute": "scroll-hidden",
|
|
2269
|
-
"reflects": true
|
|
2251
|
+
"default": "[]"
|
|
2270
2252
|
},
|
|
2271
2253
|
{
|
|
2272
2254
|
"kind": "field",
|
|
2273
|
-
"name": "
|
|
2255
|
+
"name": "imageSrc",
|
|
2274
2256
|
"type": {
|
|
2275
|
-
"text": "
|
|
2257
|
+
"text": "string"
|
|
2276
2258
|
},
|
|
2277
|
-
"
|
|
2278
|
-
"
|
|
2259
|
+
"default": "''",
|
|
2260
|
+
"attribute": "image-src"
|
|
2279
2261
|
},
|
|
2280
2262
|
{
|
|
2281
2263
|
"kind": "field",
|
|
2282
|
-
"name": "
|
|
2264
|
+
"name": "imageAlt",
|
|
2283
2265
|
"type": {
|
|
2284
|
-
"text": "
|
|
2266
|
+
"text": "string"
|
|
2285
2267
|
},
|
|
2286
|
-
"
|
|
2287
|
-
"
|
|
2288
|
-
},
|
|
2289
|
-
{
|
|
2290
|
-
"kind": "field",
|
|
2291
|
-
"name": "onScroll",
|
|
2292
|
-
"privacy": "private"
|
|
2268
|
+
"default": "''",
|
|
2269
|
+
"attribute": "image-alt"
|
|
2293
2270
|
},
|
|
2294
2271
|
{
|
|
2295
2272
|
"kind": "field",
|
|
2296
|
-
"name": "
|
|
2273
|
+
"name": "imagePosition",
|
|
2297
2274
|
"type": {
|
|
2298
|
-
"text": "
|
|
2275
|
+
"text": "FeatureSplitImagePosition"
|
|
2299
2276
|
},
|
|
2300
|
-
"default": "
|
|
2301
|
-
"
|
|
2277
|
+
"default": "'right'",
|
|
2278
|
+
"attribute": "image-position",
|
|
2279
|
+
"reflects": true
|
|
2302
2280
|
},
|
|
2303
2281
|
{
|
|
2304
2282
|
"kind": "field",
|
|
2305
|
-
"name": "
|
|
2283
|
+
"name": "actionLabel",
|
|
2306
2284
|
"type": {
|
|
2307
2285
|
"text": "string"
|
|
2308
2286
|
},
|
|
2309
2287
|
"default": "''",
|
|
2310
|
-
"attribute": "
|
|
2288
|
+
"attribute": "action-label"
|
|
2311
2289
|
},
|
|
2312
2290
|
{
|
|
2313
2291
|
"kind": "field",
|
|
2314
|
-
"name": "
|
|
2292
|
+
"name": "href",
|
|
2315
2293
|
"type": {
|
|
2316
2294
|
"text": "string"
|
|
2317
2295
|
},
|
|
2318
|
-
"default": "'
|
|
2319
|
-
"attribute": "
|
|
2296
|
+
"default": "''",
|
|
2297
|
+
"attribute": "href"
|
|
2320
2298
|
},
|
|
2321
2299
|
{
|
|
2322
|
-
"kind": "
|
|
2323
|
-
"name": "
|
|
2324
|
-
"
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
"description": "Internal open/closed state for the mobile nav overlay, reflected to an attribute purely so\r\nthe `:host([mobile-open])` CSS selector above can react to it — not meant to be set from\r\noutside.",
|
|
2329
|
-
"attribute": "mobile-open",
|
|
2330
|
-
"reflects": true
|
|
2331
|
-
},
|
|
2300
|
+
"kind": "method",
|
|
2301
|
+
"name": "onAction",
|
|
2302
|
+
"privacy": "private"
|
|
2303
|
+
}
|
|
2304
|
+
],
|
|
2305
|
+
"attributes": [
|
|
2332
2306
|
{
|
|
2333
|
-
"
|
|
2334
|
-
"name": "compact",
|
|
2307
|
+
"name": "inverted",
|
|
2335
2308
|
"type": {
|
|
2336
2309
|
"text": "boolean"
|
|
2337
2310
|
},
|
|
2338
2311
|
"default": "false",
|
|
2339
|
-
"
|
|
2340
|
-
"attribute": "compact",
|
|
2341
|
-
"reflects": true
|
|
2312
|
+
"fieldName": "inverted"
|
|
2342
2313
|
},
|
|
2343
2314
|
{
|
|
2344
|
-
"
|
|
2345
|
-
"name": "languageMenuOpen",
|
|
2315
|
+
"name": "title",
|
|
2346
2316
|
"type": {
|
|
2347
|
-
"text": "
|
|
2317
|
+
"text": "string"
|
|
2348
2318
|
},
|
|
2349
|
-
"
|
|
2350
|
-
"
|
|
2319
|
+
"default": "''",
|
|
2320
|
+
"fieldName": "title"
|
|
2351
2321
|
},
|
|
2352
2322
|
{
|
|
2353
|
-
"
|
|
2354
|
-
"name": "hasUtility",
|
|
2323
|
+
"name": "subtitle",
|
|
2355
2324
|
"type": {
|
|
2356
|
-
"text": "
|
|
2325
|
+
"text": "string"
|
|
2357
2326
|
},
|
|
2358
|
-
"
|
|
2359
|
-
"
|
|
2360
|
-
"
|
|
2327
|
+
"default": "''",
|
|
2328
|
+
"description": "Markdown.",
|
|
2329
|
+
"fieldName": "subtitle"
|
|
2361
2330
|
},
|
|
2362
2331
|
{
|
|
2363
|
-
"
|
|
2364
|
-
"name": "hasBrandExtra",
|
|
2332
|
+
"name": "image-src",
|
|
2365
2333
|
"type": {
|
|
2366
|
-
"text": "
|
|
2334
|
+
"text": "string"
|
|
2367
2335
|
},
|
|
2368
|
-
"
|
|
2369
|
-
"
|
|
2370
|
-
"description": "Whether `slot=\"brand-extra\"` has content — an empty one takes no room beside the brand."
|
|
2336
|
+
"default": "''",
|
|
2337
|
+
"fieldName": "imageSrc"
|
|
2371
2338
|
},
|
|
2372
2339
|
{
|
|
2373
|
-
"
|
|
2374
|
-
"name": "resizeObserver",
|
|
2340
|
+
"name": "image-alt",
|
|
2375
2341
|
"type": {
|
|
2376
|
-
"text": "
|
|
2342
|
+
"text": "string"
|
|
2377
2343
|
},
|
|
2378
|
-
"
|
|
2344
|
+
"default": "''",
|
|
2345
|
+
"fieldName": "imageAlt"
|
|
2379
2346
|
},
|
|
2380
2347
|
{
|
|
2381
|
-
"
|
|
2382
|
-
"name": "narrowQuery",
|
|
2348
|
+
"name": "image-position",
|
|
2383
2349
|
"type": {
|
|
2384
|
-
"text": "
|
|
2350
|
+
"text": "FeatureSplitImagePosition"
|
|
2385
2351
|
},
|
|
2386
|
-
"
|
|
2387
|
-
"
|
|
2388
|
-
},
|
|
2389
|
-
{
|
|
2390
|
-
"kind": "field",
|
|
2391
|
-
"name": "inlinedDropdowns",
|
|
2392
|
-
"privacy": "private",
|
|
2393
|
-
"default": "new Set<HTMLElement & { inline: boolean; open: boolean }>()",
|
|
2394
|
-
"description": "The dropdowns this header switched to `inline` — only these are switched back, so a caller's\r\nown `inline` setting is left alone."
|
|
2395
|
-
},
|
|
2396
|
-
{
|
|
2397
|
-
"kind": "field",
|
|
2398
|
-
"name": "syncInlineDropdowns",
|
|
2399
|
-
"privacy": "private",
|
|
2400
|
-
"description": "While the hamburger layout is on, the dropdowns in the header open in the flow of the\r\nfull-screen panel instead of floating over it (SankhyaUI's touch-device layout)."
|
|
2401
|
-
},
|
|
2402
|
-
{
|
|
2403
|
-
"kind": "field",
|
|
2404
|
-
"name": "onBrandExtraSlotChange",
|
|
2405
|
-
"privacy": "private"
|
|
2406
|
-
},
|
|
2407
|
-
{
|
|
2408
|
-
"kind": "field",
|
|
2409
|
-
"name": "onUtilitySlotChange",
|
|
2410
|
-
"privacy": "private"
|
|
2411
|
-
},
|
|
2412
|
-
{
|
|
2413
|
-
"kind": "field",
|
|
2414
|
-
"name": "onMenuSlotChange",
|
|
2415
|
-
"privacy": "private"
|
|
2352
|
+
"default": "'right'",
|
|
2353
|
+
"fieldName": "imagePosition"
|
|
2416
2354
|
},
|
|
2417
2355
|
{
|
|
2418
|
-
"
|
|
2419
|
-
"name": "collapsedAtWidth",
|
|
2356
|
+
"name": "action-label",
|
|
2420
2357
|
"type": {
|
|
2421
|
-
"text": "
|
|
2422
|
-
},
|
|
2423
|
-
"privacy": "private",
|
|
2424
|
-
"default": "0",
|
|
2425
|
-
"description": "The bar width at which the menu last overflowed — the bar only expands again once it is\r\nclearly wider than this, so it can't flip back and forth right at the threshold."
|
|
2426
|
-
},
|
|
2427
|
-
{
|
|
2428
|
-
"kind": "field",
|
|
2429
|
-
"name": "evaluateFit",
|
|
2430
|
-
"privacy": "private",
|
|
2431
|
-
"description": "Collapses to the hamburger layout when the slotted menu overflows its row, and expands again\r\nonce there is room. The collapsed layout hides the menu, so the room it needs can't be\r\nmeasured then; the width remembered when it collapsed stands in for it."
|
|
2432
|
-
},
|
|
2433
|
-
{
|
|
2434
|
-
"kind": "method",
|
|
2435
|
-
"name": "menuOverflows",
|
|
2436
|
-
"privacy": "private",
|
|
2437
|
-
"return": {
|
|
2438
|
-
"type": {
|
|
2439
|
-
"text": "boolean"
|
|
2440
|
-
}
|
|
2358
|
+
"text": "string"
|
|
2441
2359
|
},
|
|
2442
|
-
"
|
|
2360
|
+
"default": "''",
|
|
2361
|
+
"fieldName": "actionLabel"
|
|
2443
2362
|
},
|
|
2444
2363
|
{
|
|
2445
|
-
"
|
|
2446
|
-
"name": "lightDomObserver",
|
|
2364
|
+
"name": "href",
|
|
2447
2365
|
"type": {
|
|
2448
|
-
"text": "
|
|
2366
|
+
"text": "string"
|
|
2449
2367
|
},
|
|
2450
|
-
"
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2368
|
+
"default": "''",
|
|
2369
|
+
"fieldName": "href"
|
|
2370
|
+
}
|
|
2371
|
+
],
|
|
2372
|
+
"superclass": {
|
|
2373
|
+
"name": "LitElement",
|
|
2374
|
+
"package": "lit"
|
|
2375
|
+
},
|
|
2376
|
+
"tagName": "st-feature-split",
|
|
2377
|
+
"customElement": true
|
|
2378
|
+
}
|
|
2379
|
+
],
|
|
2380
|
+
"exports": [
|
|
2381
|
+
{
|
|
2382
|
+
"kind": "js",
|
|
2383
|
+
"name": "FeatureSplit",
|
|
2384
|
+
"declaration": {
|
|
2385
|
+
"name": "FeatureSplit",
|
|
2386
|
+
"module": "src/feature-split/FeatureSplit.ts"
|
|
2387
|
+
}
|
|
2388
|
+
},
|
|
2389
|
+
{
|
|
2390
|
+
"kind": "custom-element-definition",
|
|
2391
|
+
"name": "st-feature-split",
|
|
2392
|
+
"declaration": {
|
|
2393
|
+
"name": "FeatureSplit",
|
|
2394
|
+
"module": "src/feature-split/FeatureSplit.ts"
|
|
2395
|
+
}
|
|
2396
|
+
}
|
|
2397
|
+
]
|
|
2398
|
+
},
|
|
2399
|
+
{
|
|
2400
|
+
"kind": "javascript-module",
|
|
2401
|
+
"path": "src/header/Header.ts",
|
|
2402
|
+
"declarations": [
|
|
2403
|
+
{
|
|
2404
|
+
"kind": "class",
|
|
2405
|
+
"description": "The app-shell header bar — brand (image + title, or title alone) on the left, a `slot=\"menu\"`\nfor primary nav (e.g. `st-dropdown`/`st-menu-grid` mega-menus, or plain links) taking the\nmiddle, and a `slot=\"utility\"` for account/app-switcher/theme controls on the right. Ported\nfrom `SankhyaUI`'s React `Header` (a separate, unrelated marketing-site project) to this\npackage's Lit conventions and this workspace's actual needs — that source component takes an\n`imageSrc` logo with no text fallback, but none of this suite's apps has a logo image today, so\n`title` is the primary brand prop here and `brand-image-url` is optional, mirroring\n`st-app-header`'s own brand/title split (this component's slotted-menu/utility shape is a\ndeliberately different, more generic surface than `st-app-header`'s fixed nav-links/user-menu\nprops — pick whichever fits a given app's header).\n\nLayout follows the source's `Header.css`: the menu starts 4rem after the brand, the utility\ncontrols sit after a vertical divider, and below `BREAKPOINT_TABLET` (900px here; 768px in the\nsource) `menu`/`utility` collapse behind a hamburger toggle into a full-screen layer under the\ntoggle (closes on Escape or a click inside it), where the menu's `st-dropdown`s are switched to\n`inline` so they open in the flow — the same two slotted elements just get repositioned by CSS\n(`.mobile-panel`'s `display: contents` at desktop width vs. a real fixed-position box below\n`BREAKPOINT_TABLET`), rather than the slots being duplicated in the template, since a shadow\nroot can only ever assign a given light-DOM child to the *first* slot of a given name.\n\nAn optional `slot=\"brand-extra\"` sits right after the brand (e.g. an edition badge such as\n\"🇮🇳 India Edition\"); unlike `menu`/`utility` it stays in the bar at every width.\n\nAlso carries an optional built-in language switcher (`languages`/`currentLanguageCode`, fires\n`language-change`) — ported from `st-app-header`'s own implementation verbatim rather than\nrebuilt, since the source `Header`'s reference story shows an equivalent flag/language `Select`\nas a first-class header utility. Hidden entirely when `languages` has fewer than two entries.\nThis component has no translation logic itself; the consuming app owns what a language `code`\nmeans and which content it re-renders in response.",
|
|
2406
|
+
"name": "Header",
|
|
2407
|
+
"cssProperties": [
|
|
2457
2408
|
{
|
|
2458
|
-
"
|
|
2459
|
-
"name": "
|
|
2460
|
-
|
|
2409
|
+
"description": "Width and height of a slotted toggle icon (default 20px, the built-in glyph's size).",
|
|
2410
|
+
"name": "--st-header-toggle-icon-size"
|
|
2411
|
+
}
|
|
2412
|
+
],
|
|
2413
|
+
"slots": [
|
|
2414
|
+
{
|
|
2415
|
+
"description": "Primary navigation.",
|
|
2416
|
+
"name": "menu"
|
|
2461
2417
|
},
|
|
2462
2418
|
{
|
|
2463
|
-
"
|
|
2464
|
-
"name": "
|
|
2465
|
-
"privacy": "private"
|
|
2419
|
+
"description": "Account, app-switcher and theme controls, after the divider.",
|
|
2420
|
+
"name": "utility"
|
|
2466
2421
|
},
|
|
2467
2422
|
{
|
|
2468
|
-
"
|
|
2469
|
-
"name": "
|
|
2470
|
-
"privacy": "private",
|
|
2471
|
-
"return": {
|
|
2472
|
-
"type": {
|
|
2473
|
-
"text": "void"
|
|
2474
|
-
}
|
|
2475
|
-
},
|
|
2476
|
-
"parameters": [
|
|
2477
|
-
{
|
|
2478
|
-
"name": "code",
|
|
2479
|
-
"type": {
|
|
2480
|
-
"text": "string"
|
|
2481
|
-
}
|
|
2482
|
-
}
|
|
2483
|
-
]
|
|
2423
|
+
"description": "Shown right after the brand at every width (e.g. an edition badge).",
|
|
2424
|
+
"name": "brand-extra"
|
|
2484
2425
|
},
|
|
2485
2426
|
{
|
|
2486
|
-
"
|
|
2487
|
-
"name": "
|
|
2488
|
-
|
|
2489
|
-
}
|
|
2490
|
-
],
|
|
2491
|
-
"events": [
|
|
2427
|
+
"description": "Replaces the hamburger on the narrow-screen toggle (the built-in glyph when empty).",
|
|
2428
|
+
"name": "menu-icon"
|
|
2429
|
+
},
|
|
2492
2430
|
{
|
|
2493
|
-
"
|
|
2494
|
-
"
|
|
2495
|
-
"text": "CustomEvent"
|
|
2496
|
-
}
|
|
2431
|
+
"description": "Replaces the close (X) on the toggle while the menu is open (the built-in glyph when empty).",
|
|
2432
|
+
"name": "close-icon"
|
|
2497
2433
|
}
|
|
2498
2434
|
],
|
|
2499
|
-
"
|
|
2435
|
+
"members": [
|
|
2500
2436
|
{
|
|
2437
|
+
"kind": "field",
|
|
2501
2438
|
"name": "title",
|
|
2502
2439
|
"type": {
|
|
2503
2440
|
"text": "string"
|
|
2504
2441
|
},
|
|
2505
2442
|
"default": "''",
|
|
2506
|
-
"
|
|
2443
|
+
"attribute": "title"
|
|
2507
2444
|
},
|
|
2508
2445
|
{
|
|
2509
|
-
"
|
|
2446
|
+
"kind": "field",
|
|
2447
|
+
"name": "brandImageUrl",
|
|
2510
2448
|
"type": {
|
|
2511
2449
|
"text": "string"
|
|
2512
2450
|
},
|
|
2513
2451
|
"default": "''",
|
|
2514
2452
|
"description": "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).",
|
|
2515
|
-
"
|
|
2453
|
+
"attribute": "brand-image-url"
|
|
2516
2454
|
},
|
|
2517
2455
|
{
|
|
2518
|
-
"
|
|
2456
|
+
"kind": "field",
|
|
2457
|
+
"name": "altText",
|
|
2519
2458
|
"type": {
|
|
2520
2459
|
"text": "string"
|
|
2521
2460
|
},
|
|
2522
2461
|
"default": "'Logo'",
|
|
2523
2462
|
"description": "`alt` text for the brand image — matches the source component's `altText` (default `'Logo'`).",
|
|
2524
|
-
"
|
|
2463
|
+
"attribute": "alt-text"
|
|
2525
2464
|
},
|
|
2526
2465
|
{
|
|
2466
|
+
"kind": "field",
|
|
2527
2467
|
"name": "logoHref",
|
|
2528
2468
|
"type": {
|
|
2529
2469
|
"text": "string"
|
|
2530
2470
|
},
|
|
2531
2471
|
"default": "''",
|
|
2532
2472
|
"description": "Wraps the brand in an `<a>` when set (e.g. `/`); a plain non-link `<div>` otherwise.",
|
|
2533
|
-
"
|
|
2473
|
+
"attribute": "logoHref"
|
|
2534
2474
|
},
|
|
2535
2475
|
{
|
|
2536
|
-
"
|
|
2476
|
+
"kind": "field",
|
|
2477
|
+
"name": "logoTarget",
|
|
2537
2478
|
"type": {
|
|
2538
2479
|
"text": "string"
|
|
2539
2480
|
},
|
|
2540
2481
|
"default": "'_self'",
|
|
2541
2482
|
"description": "`target` for the brand `<a>` — matches the source component's `logoTarget` (default `_self`). No effect when `logoHref` isn't set.",
|
|
2542
|
-
"
|
|
2483
|
+
"attribute": "logo-target"
|
|
2543
2484
|
},
|
|
2544
2485
|
{
|
|
2545
|
-
"
|
|
2486
|
+
"kind": "field",
|
|
2487
|
+
"name": "logoClassName",
|
|
2546
2488
|
"type": {
|
|
2547
2489
|
"text": "string"
|
|
2548
2490
|
},
|
|
2549
2491
|
"default": "''",
|
|
2550
2492
|
"description": "Extra class(es) appended to the brand link/div — matches the source component's `logoClassName`.",
|
|
2551
|
-
"
|
|
2493
|
+
"attribute": "logo-class-name"
|
|
2552
2494
|
},
|
|
2553
2495
|
{
|
|
2496
|
+
"kind": "field",
|
|
2554
2497
|
"name": "inverted",
|
|
2555
2498
|
"type": {
|
|
2556
2499
|
"text": "boolean"
|
|
2557
2500
|
},
|
|
2558
2501
|
"default": "false",
|
|
2559
|
-
"description": "Inverts the header's color roles (light-on-dark instead of dark-on-light) — matches the\
|
|
2560
|
-
"
|
|
2502
|
+
"description": "Inverts the header's color roles (light-on-dark instead of dark-on-light) — matches the\nsource component's `inverted` (from its shared `BaseProps`).",
|
|
2503
|
+
"attribute": "inverted",
|
|
2504
|
+
"reflects": true
|
|
2561
2505
|
},
|
|
2562
2506
|
{
|
|
2507
|
+
"kind": "field",
|
|
2563
2508
|
"name": "sticky",
|
|
2564
2509
|
"type": {
|
|
2565
2510
|
"text": "boolean"
|
|
2566
2511
|
},
|
|
2567
2512
|
"default": "false",
|
|
2568
|
-
"
|
|
2513
|
+
"attribute": "sticky",
|
|
2514
|
+
"reflects": true
|
|
2569
2515
|
},
|
|
2570
2516
|
{
|
|
2517
|
+
"kind": "field",
|
|
2571
2518
|
"name": "transparent",
|
|
2572
2519
|
"type": {
|
|
2573
2520
|
"text": "boolean"
|
|
2574
2521
|
},
|
|
2575
2522
|
"default": "false",
|
|
2576
|
-
"description": "Fixes the header over the top of the page and makes it see-through, with light text\
|
|
2577
|
-
"
|
|
2523
|
+
"description": "Fixes the header over the top of the page and makes it see-through, with light text\n(`--st-header-transparent-color`), until the page scrolls past `scroll-threshold` — for a\nheader laid over a dark hero. It then takes its normal background and a shadow. The page\ncontent starts under it, so the first section should leave room for the 64px bar.",
|
|
2524
|
+
"attribute": "transparent",
|
|
2525
|
+
"reflects": true
|
|
2578
2526
|
},
|
|
2579
2527
|
{
|
|
2580
|
-
"
|
|
2528
|
+
"kind": "field",
|
|
2529
|
+
"name": "hideOnScroll",
|
|
2581
2530
|
"type": {
|
|
2582
2531
|
"text": "boolean"
|
|
2583
2532
|
},
|
|
2584
2533
|
"default": "false",
|
|
2585
2534
|
"description": "Slides the header out of view while the page scrolls down and back in when it scrolls up.",
|
|
2586
|
-
"
|
|
2535
|
+
"attribute": "hide-on-scroll",
|
|
2536
|
+
"reflects": true
|
|
2587
2537
|
},
|
|
2588
2538
|
{
|
|
2589
|
-
"
|
|
2539
|
+
"kind": "field",
|
|
2540
|
+
"name": "scrollThreshold",
|
|
2590
2541
|
"type": {
|
|
2591
2542
|
"text": "number"
|
|
2592
2543
|
},
|
|
2593
2544
|
"default": "8",
|
|
2594
2545
|
"description": "Scroll distance in px after which the header counts as `scrolled`.",
|
|
2595
|
-
"
|
|
2546
|
+
"attribute": "scroll-threshold"
|
|
2596
2547
|
},
|
|
2597
2548
|
{
|
|
2549
|
+
"kind": "field",
|
|
2598
2550
|
"name": "scrolled",
|
|
2599
2551
|
"type": {
|
|
2600
2552
|
"text": "boolean"
|
|
2601
2553
|
},
|
|
2602
2554
|
"default": "false",
|
|
2603
2555
|
"description": "True once the page has scrolled past `scroll-threshold`; reflected so pages can style `st-header[scrolled]`. Set by the header, never from outside.",
|
|
2604
|
-
"
|
|
2556
|
+
"attribute": "scrolled",
|
|
2557
|
+
"reflects": true
|
|
2605
2558
|
},
|
|
2606
2559
|
{
|
|
2607
|
-
"
|
|
2560
|
+
"kind": "field",
|
|
2561
|
+
"name": "scrollHidden",
|
|
2608
2562
|
"type": {
|
|
2609
2563
|
"text": "boolean"
|
|
2610
2564
|
},
|
|
2611
2565
|
"default": "false",
|
|
2612
2566
|
"description": "True while `hide-on-scroll` has slid the header away. Set by the header, never from outside.",
|
|
2613
|
-
"
|
|
2567
|
+
"attribute": "scroll-hidden",
|
|
2568
|
+
"reflects": true
|
|
2614
2569
|
},
|
|
2615
2570
|
{
|
|
2616
|
-
"
|
|
2571
|
+
"kind": "field",
|
|
2572
|
+
"name": "lastScrollY",
|
|
2573
|
+
"type": {
|
|
2574
|
+
"text": "number"
|
|
2575
|
+
},
|
|
2576
|
+
"privacy": "private",
|
|
2577
|
+
"default": "0"
|
|
2578
|
+
},
|
|
2579
|
+
{
|
|
2580
|
+
"kind": "field",
|
|
2581
|
+
"name": "scrollFrame",
|
|
2582
|
+
"type": {
|
|
2583
|
+
"text": "number"
|
|
2584
|
+
},
|
|
2585
|
+
"privacy": "private",
|
|
2586
|
+
"default": "0"
|
|
2587
|
+
},
|
|
2588
|
+
{
|
|
2589
|
+
"kind": "field",
|
|
2590
|
+
"name": "onScroll",
|
|
2591
|
+
"privacy": "private"
|
|
2592
|
+
},
|
|
2593
|
+
{
|
|
2594
|
+
"kind": "field",
|
|
2595
|
+
"name": "languages",
|
|
2596
|
+
"type": {
|
|
2597
|
+
"text": "{ code: string; label: string }[]"
|
|
2598
|
+
},
|
|
2599
|
+
"default": "[]",
|
|
2600
|
+
"description": "Language switcher options, e.g. `[{ code: 'en', label: 'English' }, ...]` — hidden entirely\nwhen empty or when only one language is offered (same convention as `st-app-header`'s\n`languages`, which this reuses verbatim). This component has no translation logic itself —\nselecting an option fires `language-change` (detail: `{ code }`), and the consuming app owns\nwhat `code` actually means and which content it re-renders."
|
|
2601
|
+
},
|
|
2602
|
+
{
|
|
2603
|
+
"kind": "field",
|
|
2604
|
+
"name": "currentLanguageCode",
|
|
2617
2605
|
"type": {
|
|
2618
2606
|
"text": "string"
|
|
2619
2607
|
},
|
|
2620
2608
|
"default": "''",
|
|
2621
|
-
"
|
|
2609
|
+
"attribute": "current-language-code"
|
|
2622
2610
|
},
|
|
2623
2611
|
{
|
|
2624
|
-
"
|
|
2612
|
+
"kind": "field",
|
|
2613
|
+
"name": "languageMenuLabel",
|
|
2625
2614
|
"type": {
|
|
2626
2615
|
"text": "string"
|
|
2627
2616
|
},
|
|
2628
2617
|
"default": "'Language'",
|
|
2629
|
-
"
|
|
2618
|
+
"attribute": "language-menu-label"
|
|
2630
2619
|
},
|
|
2631
2620
|
{
|
|
2632
|
-
"
|
|
2621
|
+
"kind": "field",
|
|
2622
|
+
"name": "mobileOpen",
|
|
2633
2623
|
"type": {
|
|
2634
2624
|
"text": "boolean"
|
|
2635
2625
|
},
|
|
2636
2626
|
"default": "false",
|
|
2637
|
-
"description": "Internal open/closed state for the mobile nav overlay, reflected to an attribute purely so\
|
|
2638
|
-
"
|
|
2627
|
+
"description": "Internal open/closed state for the mobile nav overlay, reflected to an attribute purely so\nthe `:host([mobile-open])` CSS selector above can react to it — not meant to be set from\noutside.",
|
|
2628
|
+
"attribute": "mobile-open",
|
|
2629
|
+
"reflects": true
|
|
2639
2630
|
},
|
|
2640
2631
|
{
|
|
2632
|
+
"kind": "field",
|
|
2641
2633
|
"name": "compact",
|
|
2642
2634
|
"type": {
|
|
2643
2635
|
"text": "boolean"
|
|
2644
2636
|
},
|
|
2645
2637
|
"default": "false",
|
|
2646
|
-
"description": "True while the menu doesn't fit the bar at the current width: the header then shows the same\
|
|
2647
|
-
"
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
"superclass": {
|
|
2651
|
-
"name": "LitElement",
|
|
2652
|
-
"package": "lit"
|
|
2653
|
-
},
|
|
2654
|
-
"tagName": "st-header",
|
|
2655
|
-
"customElement": true
|
|
2656
|
-
}
|
|
2657
|
-
],
|
|
2658
|
-
"exports": [
|
|
2659
|
-
{
|
|
2660
|
-
"kind": "js",
|
|
2661
|
-
"name": "Header",
|
|
2662
|
-
"declaration": {
|
|
2663
|
-
"name": "Header",
|
|
2664
|
-
"module": "src/header/Header.ts"
|
|
2665
|
-
}
|
|
2666
|
-
},
|
|
2667
|
-
{
|
|
2668
|
-
"kind": "custom-element-definition",
|
|
2669
|
-
"name": "st-header",
|
|
2670
|
-
"declaration": {
|
|
2671
|
-
"name": "Header",
|
|
2672
|
-
"module": "src/header/Header.ts"
|
|
2673
|
-
}
|
|
2674
|
-
}
|
|
2675
|
-
]
|
|
2676
|
-
},
|
|
2677
|
-
{
|
|
2678
|
-
"kind": "javascript-module",
|
|
2679
|
-
"path": "src/footer/Footer.ts",
|
|
2680
|
-
"declarations": [
|
|
2681
|
-
{
|
|
2682
|
-
"kind": "class",
|
|
2683
|
-
"description": "The footer, in two layouts:\r\n\r\n- **Bar** (default): a copyright line plus an optional \"powered by\" link — what the suite's\r\n authenticated apps use.\r\n- **Site**: when `columns`, `socialLinks`, `description` or `imageSrc` is set, the footer becomes a\r\n marketing-site footer — brand (logo/company name, description, social icons), link columns and a\r\n bottom bar with the copyright and \"powered by\".\r\n\r\nFires a cancelable `footer-link` event (detail `{ href }`) when an internal link is clicked.",
|
|
2684
|
-
"name": "Footer",
|
|
2685
|
-
"members": [
|
|
2638
|
+
"description": "True while the menu doesn't fit the bar at the current width: the header then shows the same\nhamburger layout it uses on a narrow screen. Set by `evaluateFit`, never from outside.",
|
|
2639
|
+
"attribute": "compact",
|
|
2640
|
+
"reflects": true
|
|
2641
|
+
},
|
|
2686
2642
|
{
|
|
2687
2643
|
"kind": "field",
|
|
2688
|
-
"name": "
|
|
2644
|
+
"name": "languageMenuOpen",
|
|
2689
2645
|
"type": {
|
|
2690
2646
|
"text": "boolean"
|
|
2691
2647
|
},
|
|
2692
|
-
"
|
|
2693
|
-
"
|
|
2694
|
-
"attribute": "inverted",
|
|
2695
|
-
"reflects": true
|
|
2648
|
+
"privacy": "private",
|
|
2649
|
+
"default": "false"
|
|
2696
2650
|
},
|
|
2697
2651
|
{
|
|
2698
2652
|
"kind": "field",
|
|
2699
|
-
"name": "
|
|
2653
|
+
"name": "hasUtility",
|
|
2700
2654
|
"type": {
|
|
2701
|
-
"text": "
|
|
2655
|
+
"text": "boolean"
|
|
2702
2656
|
},
|
|
2703
|
-
"
|
|
2704
|
-
"
|
|
2705
|
-
"
|
|
2657
|
+
"privacy": "private",
|
|
2658
|
+
"default": "false",
|
|
2659
|
+
"description": "Whether `slot=\"utility\"` has content — an empty utility row (and its divider) is hidden."
|
|
2706
2660
|
},
|
|
2707
2661
|
{
|
|
2708
2662
|
"kind": "field",
|
|
2709
|
-
"name": "
|
|
2663
|
+
"name": "hasBrandExtra",
|
|
2710
2664
|
"type": {
|
|
2711
|
-
"text": "
|
|
2665
|
+
"text": "boolean"
|
|
2712
2666
|
},
|
|
2713
|
-
"
|
|
2714
|
-
"
|
|
2715
|
-
"
|
|
2667
|
+
"privacy": "private",
|
|
2668
|
+
"default": "false",
|
|
2669
|
+
"description": "Whether `slot=\"brand-extra\"` has content — an empty one takes no room beside the brand."
|
|
2716
2670
|
},
|
|
2717
2671
|
{
|
|
2718
2672
|
"kind": "field",
|
|
2719
|
-
"name": "
|
|
2673
|
+
"name": "resizeObserver",
|
|
2720
2674
|
"type": {
|
|
2721
|
-
"text": "
|
|
2675
|
+
"text": "ResizeObserver | undefined"
|
|
2722
2676
|
},
|
|
2723
|
-
"
|
|
2724
|
-
"attribute": "powered-by"
|
|
2677
|
+
"privacy": "private"
|
|
2725
2678
|
},
|
|
2726
2679
|
{
|
|
2727
2680
|
"kind": "field",
|
|
2728
|
-
"name": "
|
|
2681
|
+
"name": "narrowQuery",
|
|
2729
2682
|
"type": {
|
|
2730
|
-
"text": "
|
|
2683
|
+
"text": "MediaQueryList | undefined"
|
|
2731
2684
|
},
|
|
2732
|
-
"
|
|
2733
|
-
"
|
|
2685
|
+
"privacy": "private",
|
|
2686
|
+
"description": "Matches below BREAKPOINT_TABLET, where the hamburger layout is always on."
|
|
2734
2687
|
},
|
|
2735
2688
|
{
|
|
2736
2689
|
"kind": "field",
|
|
2737
|
-
"name": "
|
|
2738
|
-
"
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
"default": "''",
|
|
2742
|
-
"description": "App version, rendered as `v{version}` after the copyright line — for apps that show their own\r\nversion in the footer rather than the header title.",
|
|
2743
|
-
"attribute": "version"
|
|
2690
|
+
"name": "inlinedDropdowns",
|
|
2691
|
+
"privacy": "private",
|
|
2692
|
+
"default": "new Set<HTMLElement & { inline: boolean; open: boolean }>()",
|
|
2693
|
+
"description": "The dropdowns this header switched to `inline` — only these are switched back, so a caller's\nown `inline` setting is left alone."
|
|
2744
2694
|
},
|
|
2745
2695
|
{
|
|
2746
2696
|
"kind": "field",
|
|
2747
|
-
"name": "
|
|
2748
|
-
"
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
"
|
|
2753
|
-
"
|
|
2697
|
+
"name": "syncInlineDropdowns",
|
|
2698
|
+
"privacy": "private",
|
|
2699
|
+
"description": "While the hamburger layout is on, the dropdowns in the header open in the flow of the\nfull-screen panel instead of floating over it (SankhyaUI's touch-device layout)."
|
|
2700
|
+
},
|
|
2701
|
+
{
|
|
2702
|
+
"kind": "field",
|
|
2703
|
+
"name": "onBrandExtraSlotChange",
|
|
2704
|
+
"privacy": "private"
|
|
2705
|
+
},
|
|
2706
|
+
{
|
|
2707
|
+
"kind": "field",
|
|
2708
|
+
"name": "onUtilitySlotChange",
|
|
2709
|
+
"privacy": "private"
|
|
2710
|
+
},
|
|
2711
|
+
{
|
|
2712
|
+
"kind": "field",
|
|
2713
|
+
"name": "onMenuSlotChange",
|
|
2714
|
+
"privacy": "private"
|
|
2754
2715
|
},
|
|
2755
2716
|
{
|
|
2756
2717
|
"kind": "field",
|
|
2757
|
-
"name": "
|
|
2718
|
+
"name": "collapsedAtWidth",
|
|
2758
2719
|
"type": {
|
|
2759
|
-
"text": "
|
|
2720
|
+
"text": "number"
|
|
2760
2721
|
},
|
|
2761
|
-
"
|
|
2762
|
-
"
|
|
2763
|
-
"
|
|
2722
|
+
"privacy": "private",
|
|
2723
|
+
"default": "0",
|
|
2724
|
+
"description": "The bar width at which the menu last overflowed — the bar only expands again once it is\nclearly wider than this, so it can't flip back and forth right at the threshold."
|
|
2764
2725
|
},
|
|
2765
2726
|
{
|
|
2766
2727
|
"kind": "field",
|
|
2767
|
-
"name": "
|
|
2768
|
-
"
|
|
2769
|
-
|
|
2728
|
+
"name": "evaluateFit",
|
|
2729
|
+
"privacy": "private",
|
|
2730
|
+
"description": "Collapses to the hamburger layout when the slotted menu overflows its row, and expands again\nonce there is room. The collapsed layout hides the menu, so the room it needs can't be\nmeasured then; the width remembered when it collapsed stands in for it."
|
|
2731
|
+
},
|
|
2732
|
+
{
|
|
2733
|
+
"kind": "method",
|
|
2734
|
+
"name": "menuOverflows",
|
|
2735
|
+
"privacy": "private",
|
|
2736
|
+
"return": {
|
|
2737
|
+
"type": {
|
|
2738
|
+
"text": "boolean"
|
|
2739
|
+
}
|
|
2770
2740
|
},
|
|
2771
|
-
"
|
|
2772
|
-
"description": "Link columns (site layout)."
|
|
2741
|
+
"description": "Whether the visible menu items reach past the right edge of the menu row. Measured from the\nitems' own boxes (the slotted elements and their direct children), not the row's scrollWidth:\na closed dropdown's absolutely positioned panel also counts towards scrollWidth, which would\nreport overflow at any width."
|
|
2773
2742
|
},
|
|
2774
2743
|
{
|
|
2775
2744
|
"kind": "field",
|
|
2776
|
-
"name": "
|
|
2745
|
+
"name": "lightDomObserver",
|
|
2777
2746
|
"type": {
|
|
2778
|
-
"text": "
|
|
2747
|
+
"text": "MutationObserver | undefined"
|
|
2779
2748
|
},
|
|
2780
|
-
"
|
|
2781
|
-
"description": "Social icon links under the description (site layout)."
|
|
2749
|
+
"privacy": "private"
|
|
2782
2750
|
},
|
|
2783
2751
|
{
|
|
2784
2752
|
"kind": "field",
|
|
2785
|
-
"name": "
|
|
2786
|
-
"
|
|
2787
|
-
"text": "boolean"
|
|
2788
|
-
},
|
|
2789
|
-
"privacy": "private",
|
|
2790
|
-
"readonly": true
|
|
2753
|
+
"name": "closeOnEscape",
|
|
2754
|
+
"privacy": "private"
|
|
2791
2755
|
},
|
|
2792
2756
|
{
|
|
2793
2757
|
"kind": "field",
|
|
2794
|
-
"name": "
|
|
2795
|
-
"
|
|
2796
|
-
"text": "string"
|
|
2797
|
-
},
|
|
2798
|
-
"privacy": "private",
|
|
2799
|
-
"readonly": true
|
|
2758
|
+
"name": "closeLanguageMenuOnOutsideClick",
|
|
2759
|
+
"privacy": "private"
|
|
2800
2760
|
},
|
|
2801
2761
|
{
|
|
2802
2762
|
"kind": "method",
|
|
2803
|
-
"name": "
|
|
2763
|
+
"name": "renderLanguageMenu",
|
|
2764
|
+
"privacy": "private"
|
|
2765
|
+
},
|
|
2766
|
+
{
|
|
2767
|
+
"kind": "method",
|
|
2768
|
+
"name": "onLanguageSelect",
|
|
2804
2769
|
"privacy": "private",
|
|
2805
2770
|
"return": {
|
|
2806
2771
|
"type": {
|
|
@@ -2809,13 +2774,7 @@
|
|
|
2809
2774
|
},
|
|
2810
2775
|
"parameters": [
|
|
2811
2776
|
{
|
|
2812
|
-
"name": "
|
|
2813
|
-
"type": {
|
|
2814
|
-
"text": "MouseEvent"
|
|
2815
|
-
}
|
|
2816
|
-
},
|
|
2817
|
-
{
|
|
2818
|
-
"name": "href",
|
|
2777
|
+
"name": "code",
|
|
2819
2778
|
"type": {
|
|
2820
2779
|
"text": "string"
|
|
2821
2780
|
}
|
|
@@ -2824,123 +2783,192 @@
|
|
|
2824
2783
|
},
|
|
2825
2784
|
{
|
|
2826
2785
|
"kind": "method",
|
|
2827
|
-
"name": "
|
|
2828
|
-
"privacy": "private",
|
|
2829
|
-
"parameters": [
|
|
2830
|
-
{
|
|
2831
|
-
"name": "link",
|
|
2832
|
-
"type": {
|
|
2833
|
-
"text": "FooterLink"
|
|
2834
|
-
}
|
|
2835
|
-
}
|
|
2836
|
-
]
|
|
2837
|
-
},
|
|
2838
|
-
{
|
|
2839
|
-
"kind": "method",
|
|
2840
|
-
"name": "renderPoweredBy",
|
|
2786
|
+
"name": "renderBrand",
|
|
2841
2787
|
"privacy": "private"
|
|
2842
|
-
}
|
|
2788
|
+
}
|
|
2789
|
+
],
|
|
2790
|
+
"events": [
|
|
2843
2791
|
{
|
|
2844
|
-
"
|
|
2845
|
-
"
|
|
2846
|
-
|
|
2792
|
+
"name": "language-change",
|
|
2793
|
+
"type": {
|
|
2794
|
+
"text": "CustomEvent"
|
|
2795
|
+
}
|
|
2847
2796
|
}
|
|
2848
2797
|
],
|
|
2849
2798
|
"attributes": [
|
|
2850
2799
|
{
|
|
2851
|
-
"name": "
|
|
2800
|
+
"name": "title",
|
|
2852
2801
|
"type": {
|
|
2853
|
-
"text": "
|
|
2802
|
+
"text": "string"
|
|
2854
2803
|
},
|
|
2855
|
-
"default": "
|
|
2856
|
-
"
|
|
2857
|
-
"fieldName": "inverted"
|
|
2804
|
+
"default": "''",
|
|
2805
|
+
"fieldName": "title"
|
|
2858
2806
|
},
|
|
2859
2807
|
{
|
|
2860
|
-
"name": "
|
|
2808
|
+
"name": "brand-image-url",
|
|
2861
2809
|
"type": {
|
|
2862
2810
|
"text": "string"
|
|
2863
2811
|
},
|
|
2864
2812
|
"default": "''",
|
|
2865
|
-
"description": "
|
|
2866
|
-
"fieldName": "
|
|
2813
|
+
"description": "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).",
|
|
2814
|
+
"fieldName": "brandImageUrl"
|
|
2867
2815
|
},
|
|
2868
2816
|
{
|
|
2869
|
-
"name": "
|
|
2817
|
+
"name": "alt-text",
|
|
2870
2818
|
"type": {
|
|
2871
2819
|
"text": "string"
|
|
2872
2820
|
},
|
|
2873
|
-
"default": "''",
|
|
2874
|
-
"description": "
|
|
2875
|
-
"fieldName": "
|
|
2821
|
+
"default": "'Logo'",
|
|
2822
|
+
"description": "`alt` text for the brand image — matches the source component's `altText` (default `'Logo'`).",
|
|
2823
|
+
"fieldName": "altText"
|
|
2876
2824
|
},
|
|
2877
2825
|
{
|
|
2878
|
-
"name": "
|
|
2826
|
+
"name": "logoHref",
|
|
2879
2827
|
"type": {
|
|
2880
2828
|
"text": "string"
|
|
2881
2829
|
},
|
|
2882
2830
|
"default": "''",
|
|
2883
|
-
"
|
|
2831
|
+
"description": "Wraps the brand in an `<a>` when set (e.g. `/`); a plain non-link `<div>` otherwise.",
|
|
2832
|
+
"fieldName": "logoHref"
|
|
2884
2833
|
},
|
|
2885
2834
|
{
|
|
2886
|
-
"name": "
|
|
2835
|
+
"name": "logo-target",
|
|
2887
2836
|
"type": {
|
|
2888
2837
|
"text": "string"
|
|
2889
2838
|
},
|
|
2890
|
-
"default": "''",
|
|
2891
|
-
"
|
|
2839
|
+
"default": "'_self'",
|
|
2840
|
+
"description": "`target` for the brand `<a>` — matches the source component's `logoTarget` (default `_self`). No effect when `logoHref` isn't set.",
|
|
2841
|
+
"fieldName": "logoTarget"
|
|
2892
2842
|
},
|
|
2893
2843
|
{
|
|
2894
|
-
"name": "
|
|
2844
|
+
"name": "logo-class-name",
|
|
2895
2845
|
"type": {
|
|
2896
2846
|
"text": "string"
|
|
2897
2847
|
},
|
|
2898
2848
|
"default": "''",
|
|
2899
|
-
"description": "
|
|
2900
|
-
"fieldName": "
|
|
2849
|
+
"description": "Extra class(es) appended to the brand link/div — matches the source component's `logoClassName`.",
|
|
2850
|
+
"fieldName": "logoClassName"
|
|
2901
2851
|
},
|
|
2902
2852
|
{
|
|
2903
|
-
"name": "
|
|
2853
|
+
"name": "inverted",
|
|
2854
|
+
"type": {
|
|
2855
|
+
"text": "boolean"
|
|
2856
|
+
},
|
|
2857
|
+
"default": "false",
|
|
2858
|
+
"description": "Inverts the header's color roles (light-on-dark instead of dark-on-light) — matches the\nsource component's `inverted` (from its shared `BaseProps`).",
|
|
2859
|
+
"fieldName": "inverted"
|
|
2860
|
+
},
|
|
2861
|
+
{
|
|
2862
|
+
"name": "sticky",
|
|
2863
|
+
"type": {
|
|
2864
|
+
"text": "boolean"
|
|
2865
|
+
},
|
|
2866
|
+
"default": "false",
|
|
2867
|
+
"fieldName": "sticky"
|
|
2868
|
+
},
|
|
2869
|
+
{
|
|
2870
|
+
"name": "transparent",
|
|
2871
|
+
"type": {
|
|
2872
|
+
"text": "boolean"
|
|
2873
|
+
},
|
|
2874
|
+
"default": "false",
|
|
2875
|
+
"description": "Fixes the header over the top of the page and makes it see-through, with light text\n(`--st-header-transparent-color`), until the page scrolls past `scroll-threshold` — for a\nheader laid over a dark hero. It then takes its normal background and a shadow. The page\ncontent starts under it, so the first section should leave room for the 64px bar.",
|
|
2876
|
+
"fieldName": "transparent"
|
|
2877
|
+
},
|
|
2878
|
+
{
|
|
2879
|
+
"name": "hide-on-scroll",
|
|
2880
|
+
"type": {
|
|
2881
|
+
"text": "boolean"
|
|
2882
|
+
},
|
|
2883
|
+
"default": "false",
|
|
2884
|
+
"description": "Slides the header out of view while the page scrolls down and back in when it scrolls up.",
|
|
2885
|
+
"fieldName": "hideOnScroll"
|
|
2886
|
+
},
|
|
2887
|
+
{
|
|
2888
|
+
"name": "scroll-threshold",
|
|
2889
|
+
"type": {
|
|
2890
|
+
"text": "number"
|
|
2891
|
+
},
|
|
2892
|
+
"default": "8",
|
|
2893
|
+
"description": "Scroll distance in px after which the header counts as `scrolled`.",
|
|
2894
|
+
"fieldName": "scrollThreshold"
|
|
2895
|
+
},
|
|
2896
|
+
{
|
|
2897
|
+
"name": "scrolled",
|
|
2898
|
+
"type": {
|
|
2899
|
+
"text": "boolean"
|
|
2900
|
+
},
|
|
2901
|
+
"default": "false",
|
|
2902
|
+
"description": "True once the page has scrolled past `scroll-threshold`; reflected so pages can style `st-header[scrolled]`. Set by the header, never from outside.",
|
|
2903
|
+
"fieldName": "scrolled"
|
|
2904
|
+
},
|
|
2905
|
+
{
|
|
2906
|
+
"name": "scroll-hidden",
|
|
2907
|
+
"type": {
|
|
2908
|
+
"text": "boolean"
|
|
2909
|
+
},
|
|
2910
|
+
"default": "false",
|
|
2911
|
+
"description": "True while `hide-on-scroll` has slid the header away. Set by the header, never from outside.",
|
|
2912
|
+
"fieldName": "scrollHidden"
|
|
2913
|
+
},
|
|
2914
|
+
{
|
|
2915
|
+
"name": "current-language-code",
|
|
2904
2916
|
"type": {
|
|
2905
2917
|
"text": "string"
|
|
2906
2918
|
},
|
|
2907
2919
|
"default": "''",
|
|
2908
|
-
"
|
|
2909
|
-
"fieldName": "imageSrc"
|
|
2920
|
+
"fieldName": "currentLanguageCode"
|
|
2910
2921
|
},
|
|
2911
2922
|
{
|
|
2912
|
-
"name": "
|
|
2923
|
+
"name": "language-menu-label",
|
|
2913
2924
|
"type": {
|
|
2914
2925
|
"text": "string"
|
|
2915
2926
|
},
|
|
2916
|
-
"default": "''",
|
|
2917
|
-
"
|
|
2918
|
-
|
|
2927
|
+
"default": "'Language'",
|
|
2928
|
+
"fieldName": "languageMenuLabel"
|
|
2929
|
+
},
|
|
2930
|
+
{
|
|
2931
|
+
"name": "mobile-open",
|
|
2932
|
+
"type": {
|
|
2933
|
+
"text": "boolean"
|
|
2934
|
+
},
|
|
2935
|
+
"default": "false",
|
|
2936
|
+
"description": "Internal open/closed state for the mobile nav overlay, reflected to an attribute purely so\nthe `:host([mobile-open])` CSS selector above can react to it — not meant to be set from\noutside.",
|
|
2937
|
+
"fieldName": "mobileOpen"
|
|
2938
|
+
},
|
|
2939
|
+
{
|
|
2940
|
+
"name": "compact",
|
|
2941
|
+
"type": {
|
|
2942
|
+
"text": "boolean"
|
|
2943
|
+
},
|
|
2944
|
+
"default": "false",
|
|
2945
|
+
"description": "True while the menu doesn't fit the bar at the current width: the header then shows the same\nhamburger layout it uses on a narrow screen. Set by `evaluateFit`, never from outside.",
|
|
2946
|
+
"fieldName": "compact"
|
|
2919
2947
|
}
|
|
2920
2948
|
],
|
|
2921
2949
|
"superclass": {
|
|
2922
2950
|
"name": "LitElement",
|
|
2923
2951
|
"package": "lit"
|
|
2924
2952
|
},
|
|
2925
|
-
"tagName": "st-
|
|
2953
|
+
"tagName": "st-header",
|
|
2926
2954
|
"customElement": true
|
|
2927
2955
|
}
|
|
2928
2956
|
],
|
|
2929
2957
|
"exports": [
|
|
2930
2958
|
{
|
|
2931
2959
|
"kind": "js",
|
|
2932
|
-
"name": "
|
|
2960
|
+
"name": "Header",
|
|
2933
2961
|
"declaration": {
|
|
2934
|
-
"name": "
|
|
2935
|
-
"module": "src/
|
|
2962
|
+
"name": "Header",
|
|
2963
|
+
"module": "src/header/Header.ts"
|
|
2936
2964
|
}
|
|
2937
2965
|
},
|
|
2938
2966
|
{
|
|
2939
2967
|
"kind": "custom-element-definition",
|
|
2940
|
-
"name": "st-
|
|
2968
|
+
"name": "st-header",
|
|
2941
2969
|
"declaration": {
|
|
2942
|
-
"name": "
|
|
2943
|
-
"module": "src/
|
|
2970
|
+
"name": "Header",
|
|
2971
|
+
"module": "src/header/Header.ts"
|
|
2944
2972
|
}
|
|
2945
2973
|
}
|
|
2946
2974
|
]
|
|
@@ -2951,7 +2979,7 @@
|
|
|
2951
2979
|
"declarations": [
|
|
2952
2980
|
{
|
|
2953
2981
|
"kind": "class",
|
|
2954
|
-
"description": "Full-width hero banner: background image with a darkening overlay, optional eyebrow, title,\
|
|
2982
|
+
"description": "Full-width hero banner: background image with a darkening overlay, optional eyebrow, title,\noptional subtitle and up to two call-to-action links. Port of `SankhyaUI`'s React `Hero`; the\nframer-motion entrance is redone as CSS keyframes (skipped under `prefers-reduced-motion`).\n\n`size`, `content-position` and `overlay=\"gradient\"` give the large editorial layout (copy on the\nlower left over a gradient that darkens towards it) used by enterprise marketing heroes; the\ndefaults keep the original centered banner. Put several heroes in an `st-carousel` with\n`indicator-style=\"tabs\"` for a tabbed hero carousel.",
|
|
2955
2983
|
"name": "Hero",
|
|
2956
2984
|
"cssProperties": [
|
|
2957
2985
|
{
|
|
@@ -3127,7 +3155,7 @@
|
|
|
3127
3155
|
"static": true,
|
|
3128
3156
|
"default": "{ top: 'center top', left: 'left center', right: 'right center', bottom: 'center bottom', center: 'center center' }",
|
|
3129
3157
|
"type": {
|
|
3130
|
-
"text": "{\
|
|
3158
|
+
"text": "{\n top: 'center top',\n left: 'left center',\n right: 'right center',\n bottom: 'center bottom',\n center: 'center center'\n }"
|
|
3131
3159
|
}
|
|
3132
3160
|
},
|
|
3133
3161
|
{
|
|
@@ -3337,7 +3365,7 @@
|
|
|
3337
3365
|
"declarations": [
|
|
3338
3366
|
{
|
|
3339
3367
|
"kind": "class",
|
|
3340
|
-
"description": "A small, icon-only action button — ported from `SankhyaUI`'s React `IconButton` (a separate,\
|
|
3368
|
+
"description": "A small, icon-only action button — ported from `SankhyaUI`'s React `IconButton` (a separate,\nunrelated marketing-site project; that source takes an iconify string `icon` prop, this package\nhas no iconify dependency, so the icon is default-slotted content instead, same convention as\n`st-dropdown`/`st-menu-grid-item`'s `slot=\"icon\"`).\n\nFires a plain native `click` — no custom event, since a caller just wants an ordinary button.",
|
|
3341
3369
|
"name": "IconButton",
|
|
3342
3370
|
"members": [
|
|
3343
3371
|
{
|
|
@@ -3347,7 +3375,7 @@
|
|
|
3347
3375
|
"text": "string"
|
|
3348
3376
|
},
|
|
3349
3377
|
"default": "''",
|
|
3350
|
-
"description": "Accessible name and tooltip — matches the source component's `ariaLabel` (renamed: modern\
|
|
3378
|
+
"description": "Accessible name and tooltip — matches the source component's `ariaLabel` (renamed: modern\nbrowsers already expose a native `ariaLabel` reflected property on every `Element`, so reusing\nthat exact name as a Lit reactive property would shadow it). Required for a control with no\nvisible text.",
|
|
3351
3379
|
"attribute": "label"
|
|
3352
3380
|
},
|
|
3353
3381
|
{
|
|
@@ -3368,7 +3396,7 @@
|
|
|
3368
3396
|
"text": "string"
|
|
3369
3397
|
},
|
|
3370
3398
|
"default": "''",
|
|
3371
|
-
"description": "Accessible name and tooltip — matches the source component's `ariaLabel` (renamed: modern\
|
|
3399
|
+
"description": "Accessible name and tooltip — matches the source component's `ariaLabel` (renamed: modern\nbrowsers already expose a native `ariaLabel` reflected property on every `Element`, so reusing\nthat exact name as a Lit reactive property would shadow it). Required for a control with no\nvisible text.",
|
|
3372
3400
|
"fieldName": "label"
|
|
3373
3401
|
},
|
|
3374
3402
|
{
|
|
@@ -3544,7 +3572,7 @@
|
|
|
3544
3572
|
"declarations": [
|
|
3545
3573
|
{
|
|
3546
3574
|
"kind": "class",
|
|
3547
|
-
"description": "Renders Markdown (GFM, single newlines become `<br>`) from either an inline `content` string or\
|
|
3575
|
+
"description": "Renders Markdown (GFM, single newlines become `<br>`) from either an inline `content` string or\na `src` URL it fetches. Ports `SankhyaUI`'s `useMarkdown` hook + `react-markdown` (remark-gfm,\nremark-breaks); output is sanitized with DOMPurify. `src` wins over `content` when both are set.\nWhile a fetch is pending it shows \"Loading content...\"; on failure \"Error loading content.\" and\na `markdown-error` event (detail: `{ error }`).\n\nText color is inherited from the parent so inverted containers just work.",
|
|
3548
3576
|
"name": "Markdown",
|
|
3549
3577
|
"members": [
|
|
3550
3578
|
{
|
|
@@ -4390,7 +4418,7 @@
|
|
|
4390
4418
|
"declarations": [
|
|
4391
4419
|
{
|
|
4392
4420
|
"kind": "class",
|
|
4393
|
-
"description": "A responsive grid of `st-menu-grid-item`s — the \"rich\" nav-menu layout (icon + title +\
|
|
4421
|
+
"description": "A responsive grid of `st-menu-grid-item`s — the \"rich\" nav-menu layout (icon + title +\ndescription per entry, arranged in columns), typically slotted into `st-dropdown`'s default\nslot. A 1:1 port of `SankhyaUI`'s React `MenuGrid` (`SankhyaCMS/SankhyaUI/src/components/Menu`):\nsame markup (`.menu-grid-container` > `.menu-grid.columns-N`), gap and breakpoints (768px: 2–4\ncolumns → 2; 480px: everything → 1; a 1-column grid stays 1).",
|
|
4394
4422
|
"name": "MenuGrid",
|
|
4395
4423
|
"members": [
|
|
4396
4424
|
{
|
|
@@ -4410,7 +4438,7 @@
|
|
|
4410
4438
|
"text": "string"
|
|
4411
4439
|
},
|
|
4412
4440
|
"default": "''",
|
|
4413
|
-
"description": "Extra class(es) appended to the inner grid element — the source component's `gridClassName`.\
|
|
4441
|
+
"description": "Extra class(es) appended to the inner grid element — the source component's `gridClassName`.\nIts outer `className` is the host element itself here: set a `class` attribute on `st-menu-grid`.",
|
|
4414
4442
|
"attribute": "grid-class-name"
|
|
4415
4443
|
}
|
|
4416
4444
|
],
|
|
@@ -4430,7 +4458,7 @@
|
|
|
4430
4458
|
"text": "string"
|
|
4431
4459
|
},
|
|
4432
4460
|
"default": "''",
|
|
4433
|
-
"description": "Extra class(es) appended to the inner grid element — the source component's `gridClassName`.\
|
|
4461
|
+
"description": "Extra class(es) appended to the inner grid element — the source component's `gridClassName`.\nIts outer `className` is the host element itself here: set a `class` attribute on `st-menu-grid`.",
|
|
4434
4462
|
"fieldName": "gridClassName"
|
|
4435
4463
|
}
|
|
4436
4464
|
],
|
|
@@ -4467,7 +4495,7 @@
|
|
|
4467
4495
|
"declarations": [
|
|
4468
4496
|
{
|
|
4469
4497
|
"kind": "class",
|
|
4470
|
-
"description": "One entry in an `st-menu-grid` — icon (via `slot=\"icon\"`) + title on one line, an optional\
|
|
4498
|
+
"description": "One entry in an `st-menu-grid` — icon (via `slot=\"icon\"`) + title on one line, an optional\ndescription below, and an optional corner badge (\"New\", \"Popular\", ...). A 1:1 port of\n`SankhyaUI`'s React `MenuGridItem` (`SankhyaCMS/SankhyaUI/src/components/Menu`): same markup and\nCSS, with its `motion` effects redone in CSS — fades up the first time it scrolls into view,\nscales to 1.02 on hover / 0.98 while pressed, the icon tilts on hover, the badge pops in.\nColors come from the suite theme rather than per-item utility classes.\n\nAn `http(s)` `href` opens in a new tab, like the source. Any other `href` fires a *cancelable*\n`menu-grid-item-select` event (detail: `{ href }`) first: a host doing client-side routing calls\n`event.preventDefault()` on it, which also cancels the anchor's own navigation (the source used\nreact-router's `Link` here; the suite apps have no router).",
|
|
4471
4499
|
"name": "MenuGridItem",
|
|
4472
4500
|
"members": [
|
|
4473
4501
|
{
|
|
@@ -4670,8 +4698,20 @@
|
|
|
4670
4698
|
"declarations": [
|
|
4671
4699
|
{
|
|
4672
4700
|
"kind": "class",
|
|
4673
|
-
"description": "A single flat nav row — icon (`slot=\"icon\"`) + title + badge on one line, an optional\
|
|
4701
|
+
"description": "A single flat nav row — icon (`slot=\"icon\"`) + title + badge on one line, an optional\ndescription below — as opposed to `st-menu-grid-item`'s card for a multi-column grid. A 1:1\nport of `SankhyaUI`'s React `MenuItem` (`SankhyaCMS/SankhyaUI/src/components/Menu`): same\nmarkup and CSS, with its `motion` effects redone in CSS — nudges right and scales to 1.01 on\nhover / 0.99 while pressed, the icon tilts on hover, the badge pops in, the description fades\nin. Colors come from the suite theme rather than per-item utility classes.\n\nRenders a real `<a href>` but fires a *cancelable* `menu-item-select` event (detail: `{ href }`)\nbefore navigating — a host doing client-side routing calls `event.preventDefault()` on it (the\nsource used react-router's `Link` here; the suite apps have no router).",
|
|
4674
4702
|
"name": "MenuItem",
|
|
4703
|
+
"cssProperties": [
|
|
4704
|
+
{
|
|
4705
|
+
"description": "Width and height of the slotted icon; `icon-size` sets it.",
|
|
4706
|
+
"name": "--st-menu-item-icon-size"
|
|
4707
|
+
}
|
|
4708
|
+
],
|
|
4709
|
+
"slots": [
|
|
4710
|
+
{
|
|
4711
|
+
"description": "The row's icon, sized to `icon-size` (16px, or 14px when `compact`).",
|
|
4712
|
+
"name": "icon"
|
|
4713
|
+
}
|
|
4714
|
+
],
|
|
4675
4715
|
"members": [
|
|
4676
4716
|
{
|
|
4677
4717
|
"kind": "field",
|
|
@@ -4768,10 +4808,20 @@
|
|
|
4768
4808
|
"text": "'default' | 'link' | 'bar'"
|
|
4769
4809
|
},
|
|
4770
4810
|
"default": "'default'",
|
|
4771
|
-
"description": "`default` (a row with a hover box), `link` (a plain text link, as in `st-mega-menu-column`;\
|
|
4811
|
+
"description": "`default` (a row with a hover box), `link` (a plain text link, as in `st-mega-menu-column`;\nmarked with an arrow when it opens a new tab) or `bar` (a top-level item in a header bar,\nshaped like a mega `st-dropdown`'s trigger pill so it lines up with the dropdowns beside it).",
|
|
4772
4812
|
"attribute": "variant",
|
|
4773
4813
|
"reflects": true
|
|
4774
4814
|
},
|
|
4815
|
+
{
|
|
4816
|
+
"kind": "field",
|
|
4817
|
+
"name": "iconSize",
|
|
4818
|
+
"type": {
|
|
4819
|
+
"text": "string"
|
|
4820
|
+
},
|
|
4821
|
+
"default": "''",
|
|
4822
|
+
"description": "Size of the slotted icon, any CSS length (e.g. `36px`); empty keeps 16px (14px when `compact`).",
|
|
4823
|
+
"attribute": "icon-size"
|
|
4824
|
+
},
|
|
4775
4825
|
{
|
|
4776
4826
|
"kind": "field",
|
|
4777
4827
|
"name": "hasIcon",
|
|
@@ -4868,8 +4918,17 @@
|
|
|
4868
4918
|
"text": "'default' | 'link' | 'bar'"
|
|
4869
4919
|
},
|
|
4870
4920
|
"default": "'default'",
|
|
4871
|
-
"description": "`default` (a row with a hover box), `link` (a plain text link, as in `st-mega-menu-column`;\
|
|
4921
|
+
"description": "`default` (a row with a hover box), `link` (a plain text link, as in `st-mega-menu-column`;\nmarked with an arrow when it opens a new tab) or `bar` (a top-level item in a header bar,\nshaped like a mega `st-dropdown`'s trigger pill so it lines up with the dropdowns beside it).",
|
|
4872
4922
|
"fieldName": "variant"
|
|
4923
|
+
},
|
|
4924
|
+
{
|
|
4925
|
+
"name": "icon-size",
|
|
4926
|
+
"type": {
|
|
4927
|
+
"text": "string"
|
|
4928
|
+
},
|
|
4929
|
+
"default": "''",
|
|
4930
|
+
"description": "Size of the slotted icon, any CSS length (e.g. `36px`); empty keeps 16px (14px when `compact`).",
|
|
4931
|
+
"fieldName": "iconSize"
|
|
4873
4932
|
}
|
|
4874
4933
|
],
|
|
4875
4934
|
"superclass": {
|
|
@@ -4905,7 +4964,7 @@
|
|
|
4905
4964
|
"declarations": [
|
|
4906
4965
|
{
|
|
4907
4966
|
"kind": "class",
|
|
4908
|
-
"description": "Rounded call-to-action banner (title, subtitle, one outlined button) on a dark panel or a\
|
|
4967
|
+
"description": "Rounded call-to-action banner (title, subtitle, one outlined button) on a dark panel or a\nbackground image. Port of `SankhyaUI`'s React `PromoBanner`; the button fires an `action` event\n(detail `{ href }`, empty unless set) in place of `onAction`.",
|
|
4909
4968
|
"name": "PromoBanner",
|
|
4910
4969
|
"cssProperties": [
|
|
4911
4970
|
{
|
|
@@ -5278,7 +5337,7 @@
|
|
|
5278
5337
|
"declarations": [
|
|
5279
5338
|
{
|
|
5280
5339
|
"kind": "class",
|
|
5281
|
-
"description": "A fully custom-styled replacement for native `<select>`, used everywhere\
|
|
5340
|
+
"description": "A fully custom-styled replacement for native `<select>`, used everywhere\nthe wizard needs a single-choice dropdown (template source, list, document\nlibrary, admin roles, ...).\n\nBuilt on the CSS Customizable Select API (`appearance: base-select`) —\nstill a real `<select>`/`<option>` element tree, so focus, keyboard\n(arrows/Home/End/typeahead), and ARIA all come from the browser for free,\nbut the trigger (`<button>`/`<selectedcontent>`) and popup\n(`::picker(select)`) are fully styleable instead of OS-rendered. Chromium\nonly for now (Firefox/Safari fall back to an unstyled native `<select>` —\nthe extra `<button>`/`<selectedcontent>` markup is simply not rendered by\nbrowsers that don't support the parsing/CSS additions, so the control\nstill works there, just without the custom look).\n\n`options` intentionally has no \"unselected\" placeholder entry — set\n`value=\"\"` (or any value with no matching option) and it falls back to\nshowing `placeholder` in the trigger instead, letting callers swap the\nplaceholder text dynamically (e.g. \"Select a list\" vs \"Select a list\nfirst\") without needing a synthetic option in the list. Internally this is\na real hidden/disabled `<option value=\"\">`, since a native `<select>`\nalways has *some* option selected.\n\nFires `select-change` (detail: `{ value }`) only when the value actually\nchanges, matching native `<select>`'s `change` event semantics.\n\n`link-href` optionally renders an external-link button in front of\n`field-label` — the same glyph/placement as the \"open library\" links\nplaced next to the Templates/Save-location breadcrumbs — for callers that\nwant a one-click way to open whatever the current selection points at\n(e.g. the SharePoint site or library) in a new tab.",
|
|
5282
5341
|
"name": "Select",
|
|
5283
5342
|
"members": [
|
|
5284
5343
|
{
|
|
@@ -5324,7 +5383,7 @@
|
|
|
5324
5383
|
"text": "string"
|
|
5325
5384
|
},
|
|
5326
5385
|
"default": "''",
|
|
5327
|
-
"description": "Optional URL for an external-link button rendered in front of\
|
|
5386
|
+
"description": "Optional URL for an external-link button rendered in front of\n`field-label` (same glyph/placement as the \"open library\" links next to\nthe Templates/Save-location breadcrumbs) — e.g. a link to the\nSharePoint site or library the current selection points at. Ignored\nwhen `field-label` is empty, since there'd be nothing to place it in\nfront of.",
|
|
5328
5387
|
"attribute": "link-href"
|
|
5329
5388
|
},
|
|
5330
5389
|
{
|
|
@@ -5432,7 +5491,7 @@
|
|
|
5432
5491
|
"text": "string"
|
|
5433
5492
|
},
|
|
5434
5493
|
"default": "''",
|
|
5435
|
-
"description": "Optional URL for an external-link button rendered in front of\
|
|
5494
|
+
"description": "Optional URL for an external-link button rendered in front of\n`field-label` (same glyph/placement as the \"open library\" links next to\nthe Templates/Save-location breadcrumbs) — e.g. a link to the\nSharePoint site or library the current selection points at. Ignored\nwhen `field-label` is empty, since there'd be nothing to place it in\nfront of.",
|
|
5436
5495
|
"fieldName": "linkHref"
|
|
5437
5496
|
},
|
|
5438
5497
|
{
|
|
@@ -5504,7 +5563,7 @@
|
|
|
5504
5563
|
"declarations": [
|
|
5505
5564
|
{
|
|
5506
5565
|
"kind": "class",
|
|
5507
|
-
"description": "Responsive grid of headline numbers with a label and optional description. Port of React `Stats`.\
|
|
5566
|
+
"description": "Responsive grid of headline numbers with a label and optional description. Port of React `Stats`.\n`inverted` puts it on the dark band (`--st-cms-band-dark-bg`), which stays dark in the dark theme.",
|
|
5508
5567
|
"name": "Stats",
|
|
5509
5568
|
"cssProperties": [
|
|
5510
5569
|
{
|