highsoft-ui 1.0.155 → 1.0.157

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.
Files changed (139) hide show
  1. package/CLAUDE.md +78 -0
  2. package/dist/BrowserFrame-BUneieY7.js +133 -0
  3. package/dist/{Button-DSGsV45k.js → Button-CjxX21gW.js} +1 -1
  4. package/dist/{ButtonGroup-DNTpDU-E.js → ButtonGroup-B4LYol17.js} +1 -1
  5. package/dist/{Checkbox-imALf2_N.js → Checkbox-BkxibNey.js} +1 -1
  6. package/dist/ClientLogo-Dj7K48YL.js +104 -0
  7. package/dist/{CodeBlock-7BTXXf30.js → CodeBlock-Ds79AzEX.js} +5 -5
  8. package/dist/{CookiePolicyModal-DulwuSp4.js → CookiePolicyModal-9p_OGcpB.js} +2 -2
  9. package/dist/{CopyCode-PbZbRLn-.js → CopyCode-90z6BfV0.js} +3 -3
  10. package/dist/{Dropdown-c_EhnzqC.js → Dropdown-D3AnhPYO.js} +1 -1
  11. package/dist/{Footer-C6a3PeJq.js → Footer-DDj7XStD.js} +8 -8
  12. package/dist/{FooterBottom-DADUJdzz.js → FooterBottom-BV9xJbRt.js} +1 -1
  13. package/dist/{FooterHelp-DN7Mdy40.js → FooterHelp-CnoweyYC.js} +1 -1
  14. package/dist/{FooterLinks-rrtsCIdv.js → FooterLinks-BCr9brR3.js} +2 -2
  15. package/dist/{Header-BokKjfF7.js → Header-Dsji2l2m.js} +19 -19
  16. package/dist/{InputGrouped-BJEodhml.js → InputGrouped-BUJKBG0D.js} +2 -2
  17. package/dist/{Label-BhFeSC8Z.js → Label-DgPVoDMR.js} +1 -1
  18. package/dist/LogoCarousel-DEvwvCfr.js +131 -0
  19. package/dist/{NewsletterSignup-mPKBEpYq.js → NewsletterSignup-Bk0SU1NB.js} +4 -4
  20. package/dist/{Notification-JovL5anc.js → Notification-D0ow_x0-.js} +3 -3
  21. package/dist/{PrefPanel-DxSIkYDF.js → PrefPanel-B4MyeLGu.js} +11 -11
  22. package/dist/{RoadmapDetails-ZnyXG2j7.js → RoadmapDetails-CATh63TE.js} +6 -6
  23. package/dist/{Search-Cc9ZJgGx.js → Search-T4R860vH.js} +11 -11
  24. package/dist/{SearchDropdown-B5CFwNib.js → SearchDropdown-BetSrTgQ.js} +1 -1
  25. package/dist/{VideoCover-BkbLsmQ_.js → VideoCover-B59ykzJi.js} +1 -1
  26. package/dist/{VideoPlayer-CY63501h.js → VideoPlayer-ChyiZ0sK.js} +6 -6
  27. package/dist/{VideoPlayerModal-DIHMoFgS.js → VideoPlayerModal-D6ze_Evt.js} +2 -2
  28. package/dist/{YoutubeModal-DqBis8Cm.js → YoutubeModal-CXwczXZa.js} +2 -2
  29. package/dist/components/BrowserFrame/index.js +2 -0
  30. package/dist/components/Button/index.js +1 -1
  31. package/dist/components/ButtonGroup/index.js +1 -1
  32. package/dist/components/Checkbox/index.js +1 -1
  33. package/dist/components/ClientLogo/dimensions.js +133 -0
  34. package/dist/components/ClientLogo/icons/mono/Alteryx.js +18 -0
  35. package/dist/components/ClientLogo/icons/mono/BankOfAmerica.js +18 -0
  36. package/dist/components/ClientLogo/icons/mono/BnpParibas.js +21 -0
  37. package/dist/components/ClientLogo/icons/mono/BoldBi.js +34 -0
  38. package/dist/components/ClientLogo/icons/mono/Citi.js +21 -0
  39. package/dist/components/ClientLogo/icons/mono/Crowdstrike.js +44 -0
  40. package/dist/components/ClientLogo/icons/mono/Cvs.js +16 -0
  41. package/dist/components/ClientLogo/icons/mono/Drivetrain.js +30 -0
  42. package/dist/components/ClientLogo/icons/mono/Epa.js +16 -0
  43. package/dist/components/ClientLogo/icons/mono/Fnz.js +16 -0
  44. package/dist/components/ClientLogo/icons/mono/Gainsight.js +16 -0
  45. package/dist/components/ClientLogo/icons/mono/GiGavenVidere.js +26 -0
  46. package/dist/components/ClientLogo/icons/mono/Github.js +21 -0
  47. package/dist/components/ClientLogo/icons/mono/Google.js +16 -0
  48. package/dist/components/ClientLogo/icons/mono/Horus.js +19 -0
  49. package/dist/components/ClientLogo/icons/mono/Icbc.js +23 -0
  50. package/dist/components/ClientLogo/icons/mono/JohnsonJohnson.js +16 -0
  51. package/dist/components/ClientLogo/icons/mono/Medtronic.js +16 -0
  52. package/dist/components/ClientLogo/icons/mono/Morningstar.js +19 -0
  53. package/dist/components/ClientLogo/icons/mono/Mufg.js +16 -0
  54. package/dist/components/ClientLogo/icons/mono/Netflix.js +16 -0
  55. package/dist/components/ClientLogo/icons/mono/Paypal.js +30 -0
  56. package/dist/components/ClientLogo/icons/mono/Pfizer.js +19 -0
  57. package/dist/components/ClientLogo/icons/mono/Salesforce.js +21 -0
  58. package/dist/components/ClientLogo/icons/mono/Samsung.js +16 -0
  59. package/dist/components/ClientLogo/icons/mono/Sap.js +16 -0
  60. package/dist/components/ClientLogo/icons/mono/Testmo.js +54 -0
  61. package/dist/components/ClientLogo/icons/mono/ThomsonReuters.js +16 -0
  62. package/dist/components/ClientLogo/icons/mono/Verizon.js +16 -0
  63. package/dist/components/ClientLogo/icons/mono/Visa.js +16 -0
  64. package/dist/components/ClientLogo/icons/mono/Who.js +26 -0
  65. package/dist/components/ClientLogo/icons/mono/X.js +16 -0
  66. package/dist/components/ClientLogo/icons/mono/index.js +70 -0
  67. package/dist/components/ClientLogo/index.js +2 -0
  68. package/dist/components/CodeBlock/index.js +1 -1
  69. package/dist/components/CopyCode/index.js +1 -1
  70. package/dist/components/Dropdown/index.js +1 -1
  71. package/dist/components/Footer/CookiePolicyModal.js +1 -1
  72. package/dist/components/Footer/FooterBottom.js +1 -1
  73. package/dist/components/Footer/FooterHelp.js +1 -1
  74. package/dist/components/Footer/FooterLinks.js +1 -1
  75. package/dist/components/Footer/YoutubeModal.js +1 -1
  76. package/dist/components/Footer/index.js +1 -1
  77. package/dist/components/Header/index.js +1 -1
  78. package/dist/components/InputGrouped/index.js +1 -1
  79. package/dist/components/Label/index.js +1 -1
  80. package/dist/components/LogoCarousel/index.js +2 -0
  81. package/dist/components/Modal/ModalContactFooter.js +2 -2
  82. package/dist/components/Modal/index.js +2 -2
  83. package/dist/components/NewsletterSignup/index.js +1 -1
  84. package/dist/components/Notification/index.js +1 -1
  85. package/dist/components/PrefPanel/index.js +1 -1
  86. package/dist/components/RoadmapDetails/index.js +1 -1
  87. package/dist/components/Search/index.js +1 -1
  88. package/dist/components/SearchDropdown/index.js +1 -1
  89. package/dist/components/Sidebar/NavDisclosure.js +1 -1
  90. package/dist/components/Sidebar/NavGroup.js +1 -1
  91. package/dist/components/Sidebar/Sidebar.js +2 -2
  92. package/dist/components/Sidebar/SidebarLayout.js +1 -1
  93. package/dist/components/VideoCover/index.js +1 -1
  94. package/dist/components/VideoPlayer/VideoPlayerModal.js +1 -1
  95. package/dist/components/VideoPlayer/index.js +1 -1
  96. package/dist/{create-element-C3ORyDVw.js → create-element-Bftz4UxU.js} +1 -1
  97. package/dist/{esm-C4Ybr9s4.js → esm-LCYnNVvi.js} +104 -42
  98. package/dist/highsoft-ui.css +1 -1
  99. package/dist/lib/components/BrowserFrame/index.d.ts +83 -0
  100. package/dist/lib/components/ClientLogo/dimensions.d.ts +131 -0
  101. package/dist/lib/components/ClientLogo/icons/mono/Alteryx.d.ts +2 -0
  102. package/dist/lib/components/ClientLogo/icons/mono/BankOfAmerica.d.ts +2 -0
  103. package/dist/lib/components/ClientLogo/icons/mono/BnpParibas.d.ts +2 -0
  104. package/dist/lib/components/ClientLogo/icons/mono/BoldBi.d.ts +2 -0
  105. package/dist/lib/components/ClientLogo/icons/mono/Citi.d.ts +2 -0
  106. package/dist/lib/components/ClientLogo/icons/mono/Crowdstrike.d.ts +2 -0
  107. package/dist/lib/components/ClientLogo/icons/mono/Cvs.d.ts +2 -0
  108. package/dist/lib/components/ClientLogo/icons/mono/Drivetrain.d.ts +2 -0
  109. package/dist/lib/components/ClientLogo/icons/mono/Epa.d.ts +2 -0
  110. package/dist/lib/components/ClientLogo/icons/mono/Fnz.d.ts +2 -0
  111. package/dist/lib/components/ClientLogo/icons/mono/Gainsight.d.ts +2 -0
  112. package/dist/lib/components/ClientLogo/icons/mono/GiGavenVidere.d.ts +2 -0
  113. package/dist/lib/components/ClientLogo/icons/mono/Github.d.ts +2 -0
  114. package/dist/lib/components/ClientLogo/icons/mono/Google.d.ts +2 -0
  115. package/dist/lib/components/ClientLogo/icons/mono/Horus.d.ts +2 -0
  116. package/dist/lib/components/ClientLogo/icons/mono/Icbc.d.ts +2 -0
  117. package/dist/lib/components/ClientLogo/icons/mono/JohnsonJohnson.d.ts +2 -0
  118. package/dist/lib/components/ClientLogo/icons/mono/Medtronic.d.ts +2 -0
  119. package/dist/lib/components/ClientLogo/icons/mono/Morningstar.d.ts +2 -0
  120. package/dist/lib/components/ClientLogo/icons/mono/Mufg.d.ts +2 -0
  121. package/dist/lib/components/ClientLogo/icons/mono/Netflix.d.ts +2 -0
  122. package/dist/lib/components/ClientLogo/icons/mono/Paypal.d.ts +2 -0
  123. package/dist/lib/components/ClientLogo/icons/mono/Pfizer.d.ts +2 -0
  124. package/dist/lib/components/ClientLogo/icons/mono/Salesforce.d.ts +2 -0
  125. package/dist/lib/components/ClientLogo/icons/mono/Samsung.d.ts +2 -0
  126. package/dist/lib/components/ClientLogo/icons/mono/Sap.d.ts +2 -0
  127. package/dist/lib/components/ClientLogo/icons/mono/Testmo.d.ts +2 -0
  128. package/dist/lib/components/ClientLogo/icons/mono/ThomsonReuters.d.ts +2 -0
  129. package/dist/lib/components/ClientLogo/icons/mono/Verizon.d.ts +2 -0
  130. package/dist/lib/components/ClientLogo/icons/mono/Visa.d.ts +2 -0
  131. package/dist/lib/components/ClientLogo/icons/mono/Who.d.ts +2 -0
  132. package/dist/lib/components/ClientLogo/icons/mono/X.d.ts +2 -0
  133. package/dist/lib/components/ClientLogo/icons/mono/index.d.ts +32 -0
  134. package/dist/lib/components/ClientLogo/index.d.ts +54 -0
  135. package/dist/lib/components/LogoCarousel/index.d.ts +60 -0
  136. package/dist/lib/main.d.ts +6 -0
  137. package/dist/main.js +45 -42
  138. package/dist/{prism-light-BLaY8zo6.js → prism-light-CqF2CLQS.js} +1 -1
  139. package/package.json +2 -1
@@ -0,0 +1,83 @@
1
+ import { HTMLAttributes, IframeHTMLAttributes, ReactNode } from 'react';
2
+ /** An external-link action button in the top bar (e.g. JSFiddle, CodePen). */
3
+ export interface BrowserFrameAction {
4
+ label: string;
5
+ href: string;
6
+ }
7
+ export interface BrowserFrameProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
8
+ /**
9
+ * Bar style. `'full'` shows the URL pill with an action button, `'mini'` a
10
+ * centered explainer line, `'plain'` just the window dots. Default `'full'`.
11
+ */
12
+ variant?: 'full' | 'mini' | 'plain';
13
+ /** URL to embed as a real `<iframe>`. Alternatively pass `children`. */
14
+ src?: string;
15
+ /** Address shown in the URL pill (`full`). Defaults to `src`. */
16
+ displayUrl?: string;
17
+ /**
18
+ * Link target for the URL text and the View button. Defaults to
19
+ * `displayUrl` / `src`.
20
+ */
21
+ href?: string;
22
+ /**
23
+ * The button in the URL pill (`full` only): `'view'` opens `href` in a new
24
+ * tab, `'fullscreen'` expands the frame via the Fullscreen API (falling back
25
+ * to opening `href` where unsupported), `'none'` hides it. Default `'view'`.
26
+ */
27
+ action?: 'view' | 'fullscreen' | 'none';
28
+ /** Label for the action button. Defaults to `View` / `Fullscreen`. */
29
+ actionLabel?: string;
30
+ /** Centered description line in the bar (`mini`). */
31
+ explainer?: ReactNode;
32
+ /** Renders the explainer as a link to this URL. */
33
+ explainerHref?: string;
34
+ /** External-link buttons on the right of the bar (designed for `mini`). */
35
+ actions?: BrowserFrameAction[];
36
+ /**
37
+ * Window-dot treatment. Defaults per variant: colored traffic lights on
38
+ * `full`, muted gray on `mini`/`plain` — override to force either.
39
+ */
40
+ dots?: 'color' | 'muted';
41
+ /**
42
+ * Aspect ratio of the embed area, e.g. `'16 / 9'`. Default `'3 / 2'`.
43
+ * `'auto'` lets children flow at their natural height instead. Ignored when
44
+ * `height` is set.
45
+ */
46
+ aspectRatio?: string;
47
+ /**
48
+ * Frame width — a number (px) or any CSS length. Defaults to filling the
49
+ * parent (`'100%'`).
50
+ */
51
+ width?: number | string;
52
+ /**
53
+ * Fixed frame height — a number (px) or any CSS length. The embed area
54
+ * takes what the bar leaves over; overrides `aspectRatio`.
55
+ */
56
+ height?: number | string;
57
+ /** Corner radius in px. Default `8`. */
58
+ radius?: number;
59
+ /**
60
+ * Accessible name for the embedded `<iframe>` — describe what it shows.
61
+ * Required with `src`.
62
+ */
63
+ title?: string;
64
+ /** Forwarded to the `<iframe>`. Default `'lazy'`. */
65
+ loading?: 'lazy' | 'eager';
66
+ /** Forwarded to the `<iframe>`. */
67
+ sandbox?: IframeHTMLAttributes<HTMLIFrameElement>['sandbox'];
68
+ /** Forwarded to the `<iframe>`. */
69
+ allow?: string;
70
+ /** Forwarded to the `<iframe>`. Default `true`. */
71
+ allowFullScreen?: boolean;
72
+ /** Forwarded to the `<iframe>`. */
73
+ referrerPolicy?: IframeHTMLAttributes<HTMLIFrameElement>['referrerPolicy'];
74
+ /** Embedded content rendered instead of an `src` iframe. */
75
+ children?: ReactNode;
76
+ }
77
+ /**
78
+ * Browser-window chrome around embedded content — a real `<iframe>` via `src`,
79
+ * or any children (a live demo, a screenshot). Three bar variants: `full`
80
+ * (URL pill + View/Fullscreen button), `mini` (explainer + external links),
81
+ * `plain` (dots only).
82
+ */
83
+ export declare const BrowserFrame: import('react').ForwardRefExoticComponent<BrowserFrameProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,131 @@
1
+ export declare const clientLogoBaseHeight = 109;
2
+ export declare const clientLogoDimensions: {
3
+ readonly alteryx: {
4
+ readonly width: 358;
5
+ readonly height: 109;
6
+ };
7
+ readonly 'bank-of-america': {
8
+ readonly width: 1085;
9
+ readonly height: 109;
10
+ };
11
+ readonly 'bnp-paribas': {
12
+ readonly width: 524;
13
+ readonly height: 109;
14
+ };
15
+ readonly 'bold-bi': {
16
+ readonly width: 400;
17
+ readonly height: 134;
18
+ };
19
+ readonly citi: {
20
+ readonly width: 169;
21
+ readonly height: 109;
22
+ };
23
+ readonly crowdstrike: {
24
+ readonly width: 614;
25
+ readonly height: 109;
26
+ };
27
+ readonly cvs: {
28
+ readonly width: 838;
29
+ readonly height: 109;
30
+ };
31
+ readonly drivetrain: {
32
+ readonly width: 526;
33
+ readonly height: 109;
34
+ };
35
+ readonly epa: {
36
+ readonly width: 458;
37
+ readonly height: 109;
38
+ };
39
+ readonly fnz: {
40
+ readonly width: 317;
41
+ readonly height: 109;
42
+ };
43
+ readonly gainsight: {
44
+ readonly width: 400;
45
+ readonly height: 109;
46
+ };
47
+ readonly 'gi-gaven-videre': {
48
+ readonly width: 302;
49
+ readonly height: 118;
50
+ };
51
+ readonly github: {
52
+ readonly width: 439;
53
+ readonly height: 109;
54
+ };
55
+ readonly google: {
56
+ readonly width: 331;
57
+ readonly height: 109;
58
+ };
59
+ readonly horus: {
60
+ readonly width: 459;
61
+ readonly height: 134;
62
+ };
63
+ readonly icbc: {
64
+ readonly width: 330;
65
+ readonly height: 109;
66
+ };
67
+ readonly 'johnson-johnson': {
68
+ readonly width: 1166;
69
+ readonly height: 109;
70
+ };
71
+ readonly medtronic: {
72
+ readonly width: 661;
73
+ readonly height: 109;
74
+ };
75
+ readonly morningstar: {
76
+ readonly width: 478;
77
+ readonly height: 109;
78
+ };
79
+ readonly mufg: {
80
+ readonly width: 463;
81
+ readonly height: 109;
82
+ };
83
+ readonly netflix: {
84
+ readonly width: 400;
85
+ readonly height: 109;
86
+ };
87
+ readonly paypal: {
88
+ readonly width: 445;
89
+ readonly height: 109;
90
+ };
91
+ readonly pfizer: {
92
+ readonly width: 267;
93
+ readonly height: 109;
94
+ };
95
+ readonly salesforce: {
96
+ readonly width: 155;
97
+ readonly height: 109;
98
+ };
99
+ readonly samsung: {
100
+ readonly width: 400;
101
+ readonly height: 109;
102
+ };
103
+ readonly sap: {
104
+ readonly width: 220;
105
+ readonly height: 109;
106
+ };
107
+ readonly testmo: {
108
+ readonly width: 400;
109
+ readonly height: 118;
110
+ };
111
+ readonly 'thomson-reuters': {
112
+ readonly width: 736;
113
+ readonly height: 109;
114
+ };
115
+ readonly verizon: {
116
+ readonly width: 488;
117
+ readonly height: 109;
118
+ };
119
+ readonly visa: {
120
+ readonly width: 336;
121
+ readonly height: 109;
122
+ };
123
+ readonly who: {
124
+ readonly width: 355;
125
+ readonly height: 109;
126
+ };
127
+ readonly x: {
128
+ readonly width: 109;
129
+ readonly height: 109;
130
+ };
131
+ };
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Alteryx(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function BankOfAmerica(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function BnpParibas(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function BoldBi(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Citi(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Crowdstrike(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Cvs(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Drivetrain(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Epa(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Fnz(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Gainsight(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function GiGavenVidere(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Github(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Google(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Horus(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Icbc(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function JohnsonJohnson(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Medtronic(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Morningstar(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Mufg(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Netflix(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Paypal(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Pfizer(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Salesforce(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Samsung(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Sap(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Testmo(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function ThomsonReuters(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Verizon(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Visa(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function Who(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export default function X(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,32 @@
1
+ export { default as Alteryx } from './Alteryx';
2
+ export { default as BankOfAmerica } from './BankOfAmerica';
3
+ export { default as BnpParibas } from './BnpParibas';
4
+ export { default as BoldBi } from './BoldBi';
5
+ export { default as Citi } from './Citi';
6
+ export { default as Crowdstrike } from './Crowdstrike';
7
+ export { default as Cvs } from './Cvs';
8
+ export { default as Drivetrain } from './Drivetrain';
9
+ export { default as Epa } from './Epa';
10
+ export { default as Fnz } from './Fnz';
11
+ export { default as Gainsight } from './Gainsight';
12
+ export { default as GiGavenVidere } from './GiGavenVidere';
13
+ export { default as Github } from './Github';
14
+ export { default as Google } from './Google';
15
+ export { default as Horus } from './Horus';
16
+ export { default as Icbc } from './Icbc';
17
+ export { default as JohnsonJohnson } from './JohnsonJohnson';
18
+ export { default as Medtronic } from './Medtronic';
19
+ export { default as Morningstar } from './Morningstar';
20
+ export { default as Mufg } from './Mufg';
21
+ export { default as Netflix } from './Netflix';
22
+ export { default as Paypal } from './Paypal';
23
+ export { default as Pfizer } from './Pfizer';
24
+ export { default as Salesforce } from './Salesforce';
25
+ export { default as Samsung } from './Samsung';
26
+ export { default as Sap } from './Sap';
27
+ export { default as Testmo } from './Testmo';
28
+ export { default as ThomsonReuters } from './ThomsonReuters';
29
+ export { default as Verizon } from './Verizon';
30
+ export { default as Visa } from './Visa';
31
+ export { default as Who } from './Who';
32
+ export { default as X } from './X';
@@ -0,0 +1,54 @@
1
+ import { SVGProps } from 'react';
2
+ /**
3
+ * Available client logos.
4
+ *
5
+ * The Figma exports share a baseline height (with deliberate per-logo
6
+ * exceptions), so rendering a set of them with one `size` produces a wall
7
+ * where every logo keeps its Figma-tuned relative size.
8
+ *
9
+ * @see ClientLogo.stories.tsx for visual examples
10
+ */
11
+ export type ClientLogoName = 'netflix' | 'samsung' | 'sap' | 'thomson-reuters' | 'verizon' | 'x' | 'visa' | 'github' | 'google' | 'bank-of-america' | 'fnz' | 'bnp-paribas' | 'mufg' | 'icbc' | 'citi' | 'johnson-johnson' | 'medtronic' | 'cvs' | 'pfizer' | 'who' | 'paypal' | 'salesforce' | 'crowdstrike' | 'alteryx' | 'gainsight' | 'bold-bi' | 'horus' | 'morningstar' | 'epa' | 'testmo' | 'gi-gaven-videre' | 'drivetrain';
12
+ export interface ClientLogoProps extends Omit<SVGProps<SVGSVGElement>, 'width' | 'height'> {
13
+ /** Company name */
14
+ logo: ClientLogoName;
15
+ /**
16
+ * Visual size in px — the rendered height of a baseline logo. Every logo
17
+ * is scaled by the same factor, so a wall keeps the relative sizes tuned
18
+ * in Figma (a logo exported taller than the baseline renders bigger on
19
+ * purpose). Default `32`.
20
+ */
21
+ size?: number;
22
+ /**
23
+ * Explicit width — number (px) or any CSS length. Height follows the
24
+ * logo's aspect ratio. Overrides `size`.
25
+ */
26
+ width?: number | string;
27
+ /**
28
+ * Explicit height — number (px) or any CSS length. When set without
29
+ * `width`, width follows the aspect ratio instead. Overrides `size`.
30
+ */
31
+ height?: number | string;
32
+ /** Additional class name */
33
+ className?: string;
34
+ }
35
+ /**
36
+ * Human-readable company names, keyed by logo name — for accessible labels
37
+ * (e.g. the screen-reader list in LogoCarousel) and captions.
38
+ */
39
+ export declare const clientLogoLabels: Record<ClientLogoName, string>;
40
+ /**
41
+ * ClientLogo displays customer/client brand logos in the semantic text
42
+ * tokens — `--HS-text-primary-default` for the mark, with
43
+ * `--HS-text-tertiary-default` as the secondary tone in duotone marks
44
+ * (PayPal) — so logos match the text hierarchy and remap in dark mode
45
+ * automatically. Color variants land once the Figma color exports are
46
+ * finished; the mono set is complete.
47
+ *
48
+ * @example
49
+ * ```tsx
50
+ * <ClientLogo logo="netflix" />
51
+ * <ClientLogo logo="visa" size={40} />
52
+ * ```
53
+ */
54
+ export declare function ClientLogo({ logo, size, width, height, className, style, ...props }: ClientLogoProps): import("react").JSX.Element | null;
@@ -0,0 +1,60 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import { ClientLogoName } from '../ClientLogo';
3
+ export interface LogoCarouselProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
4
+ /** Logos to show, in order. Default: the full set. */
5
+ logos?: ClientLogoName[];
6
+ /** Visual logo size — forwarded to each `ClientLogo`. Default `28`. */
7
+ size?: number;
8
+ /** Gap between logos in px. Default `64`. */
9
+ gap?: number;
10
+ /**
11
+ * Scroll speed in px/s. The animation duration is derived from the
12
+ * measured content width, so the perceived speed stays the same
13
+ * regardless of how many logos are shown. Default `40`.
14
+ */
15
+ speed?: number;
16
+ /** Scroll direction. Default `'left'`. */
17
+ direction?: 'left' | 'right';
18
+ /**
19
+ * Ramp the animation down to a third of the speed while the pointer
20
+ * hovers the strip, and ramp back up on leave — full pausing belongs to
21
+ * the pause button. Default `false`.
22
+ */
23
+ slowOnHover?: boolean;
24
+ /** Width of the fade-out mask at each edge in px. Default `64`. */
25
+ fade?: number;
26
+ /** Accessible name for the region. Default `'Client logos'`. */
27
+ label?: string;
28
+ /** Visible label on the pause toggle while playing. Default `'Pause'`. */
29
+ pauseLabel?: string;
30
+ /** Visible label on the pause toggle while paused. Default `'Resume'`. */
31
+ resumeLabel?: string;
32
+ /**
33
+ * Reduced-motion mode: the strip renders static and horizontally
34
+ * scrollable instead of animating, and the pause control disappears.
35
+ * Defaults to the user's `prefers-reduced-motion` setting; pass a
36
+ * boolean to force either mode.
37
+ */
38
+ reducedMotion?: boolean;
39
+ }
40
+ /**
41
+ * LogoCarousel — an auto-scrolling "trusted by" strip of client logos with
42
+ * seamless looping, edge fades, and a pause toggle (WCAG 2.2.2).
43
+ *
44
+ * - The moving strip is purely decorative (`aria-hidden`); screen readers
45
+ * get a static list of company names instead, so nothing announces
46
+ * mid-motion and every company is always reachable.
47
+ * - Speed is specified in px/s and the duration derived from the measured
48
+ * content width — consistent pace at any logo count or viewport size.
49
+ * - The content is repeated only as many times as the viewport requires.
50
+ * - Scrolling pauses automatically while the strip is off-screen.
51
+ * - Under `prefers-reduced-motion` the strip renders static and
52
+ * horizontally scrollable — every logo stays reachable, nothing moves.
53
+ *
54
+ * @example
55
+ * ```tsx
56
+ * <LogoCarousel />
57
+ * <LogoCarousel logos={['netflix', 'visa', 'google']} speed={60} pauseOnHover />
58
+ * ```
59
+ */
60
+ export declare function LogoCarousel({ logos, size, gap, speed, direction, slowOnHover, fade, label, pauseLabel, resumeLabel, reducedMotion, className, style, ...props }: LogoCarouselProps): import("react").JSX.Element;
@@ -15,10 +15,16 @@ export type { InputGroupedProps, SelectGroupedProps, FormGroupProps, FormRowProp
15
15
  export type { BoxProps } from './components/Box';
16
16
  export type { HeaderProps, HeaderPosition, SubHeaderItem } from './components/Header';
17
17
  export { Box } from './components/Box';
18
+ export { BrowserFrame } from './components/BrowserFrame';
19
+ export type { BrowserFrameProps, BrowserFrameAction } from './components/BrowserFrame';
18
20
  export { CopyCode } from './components/CopyCode';
19
21
  export type { CopyCodeProps } from './components/CopyCode';
20
22
  export { CodeBlock } from './components/CodeBlock';
21
23
  export type { CodeBlockProps } from './components/CodeBlock';
24
+ export { ClientLogo, clientLogoLabels } from './components/ClientLogo';
25
+ export type { ClientLogoProps, ClientLogoName } from './components/ClientLogo';
26
+ export { LogoCarousel } from './components/LogoCarousel';
27
+ export type { LogoCarouselProps } from './components/LogoCarousel';
22
28
  export { Icon } from './components/Icon';
23
29
  export { Link } from './components/Link';
24
30
  export { ProductIcon } from './components/ProductIcon';
package/dist/main.js CHANGED
@@ -1,45 +1,48 @@
1
1
  import { c as e, d as t, r as n, s as r, u as i } from "./utils-K9S_6_Eq.js";
2
2
  import { t as a } from "./Box-BZgeSeCV.js";
3
- import { t as o } from "./Button-DSGsV45k.js";
4
- import { t as s } from "./CopyCode-PbZbRLn-.js";
5
- import { t as c } from "./FrameworkIcon-D7N3PjYr.js";
6
- import { t as l } from "./CodeBlock-7BTXXf30.js";
7
- import { t as u } from "./Icon-VeXJMj8Q.js";
8
- import { t as d } from "./Link-CYR92_U0.js";
9
- import { t as f } from "./ProductIcon-CKtF7AWy.js";
10
- import { t as p } from "./ButtonGroup-DNTpDU-E.js";
11
- import { t as m } from "./InputSolo-DUdKtZjX.js";
12
- import { t as h } from "./SearchDropdown-B5CFwNib.js";
13
- import { i as g, n as _, r as v, t as y } from "./InputGrouped-BJEodhml.js";
14
- import { t as b } from "./Container-BDssaLig.js";
15
- import { t as x } from "./DiscordInvite-CLYxexdH.js";
16
- import { t as S } from "./Heading-DNDHqYWO.js";
17
- import { t as C } from "./Typography-AvvBRu-u.js";
18
- import { t as w } from "./Logo-Bz0G2G-k.js";
19
- import { t as T } from "./NewsletterSignup-mPKBEpYq.js";
20
- import { n as E, r as D, t as O } from "./Dropdown-c_EhnzqC.js";
21
- import { t as k } from "./PrefPanel-DxSIkYDF.js";
22
- import { n as A, t as j } from "./Label-BhFeSC8Z.js";
23
- import { t as M } from "./VideoCover-BkbLsmQ_.js";
24
- import { t as N } from "./VideoPlayer-CY63501h.js";
25
- import { t as P } from "./VideoPlayerModal-DIHMoFgS.js";
26
- import { t as F } from "./Footer-C6a3PeJq.js";
27
- import { n as I } from "./GPTInput-C0YG1990.js";
28
- import { t as L } from "./Notification-JovL5anc.js";
29
- import { n as R, t as z } from "./Header-BokKjfF7.js";
30
- import { t as B } from "./Tabs-BuDaPqdN.js";
31
- import { n as V, t as H } from "./RadioBox-o1Ssyj0s.js";
32
- import { n as U, t as W } from "./Checkbox-imALf2_N.js";
33
- import { Modal as G } from "./components/Modal/index.js";
34
- import { t as K } from "./RoadmapDetails-ZnyXG2j7.js";
35
- import { ModalContactFooter as q } from "./components/Modal/ModalContactFooter.js";
36
- import { useOptionalSidebarLayout as J, useSidebarLayout as Y } from "./components/Sidebar/context.js";
37
- import { SidebarLayout as X, SidebarMain as Z } from "./components/Sidebar/SidebarLayout.js";
38
- import { SidebarResizer as Q } from "./components/Sidebar/SidebarResizer.js";
39
- import { Sidebar as $, SidebarBody as ee, SidebarHeader as te, SidebarSection as ne } from "./components/Sidebar/Sidebar.js";
40
- import { NavItem as re } from "./components/Sidebar/NavItem.js";
41
- import { NavGroup as ie } from "./components/Sidebar/NavGroup.js";
42
- import { NavDisclosure as ae } from "./components/Sidebar/NavDisclosure.js";
3
+ import { t as o } from "./Button-CjxX21gW.js";
4
+ import { t as s } from "./BrowserFrame-BUneieY7.js";
5
+ import { t as c } from "./CopyCode-90z6BfV0.js";
6
+ import { t as l } from "./FrameworkIcon-D7N3PjYr.js";
7
+ import { t as u } from "./CodeBlock-Ds79AzEX.js";
8
+ import { n as d, t as f } from "./ClientLogo-Dj7K48YL.js";
9
+ import { t as p } from "./LogoCarousel-DEvwvCfr.js";
10
+ import { t as m } from "./Icon-VeXJMj8Q.js";
11
+ import { t as h } from "./Link-CYR92_U0.js";
12
+ import { t as g } from "./ProductIcon-CKtF7AWy.js";
13
+ import { t as _ } from "./ButtonGroup-B4LYol17.js";
14
+ import { t as v } from "./InputSolo-DUdKtZjX.js";
15
+ import { t as y } from "./SearchDropdown-BetSrTgQ.js";
16
+ import { i as b, n as x, r as S, t as C } from "./InputGrouped-BUJKBG0D.js";
17
+ import { t as w } from "./Container-BDssaLig.js";
18
+ import { t as T } from "./DiscordInvite-CLYxexdH.js";
19
+ import { t as E } from "./Heading-DNDHqYWO.js";
20
+ import { t as D } from "./Typography-AvvBRu-u.js";
21
+ import { t as O } from "./Logo-Bz0G2G-k.js";
22
+ import { t as k } from "./NewsletterSignup-Bk0SU1NB.js";
23
+ import { n as A, r as j, t as M } from "./Dropdown-D3AnhPYO.js";
24
+ import { t as N } from "./PrefPanel-B4MyeLGu.js";
25
+ import { n as P, t as F } from "./Label-DgPVoDMR.js";
26
+ import { t as I } from "./VideoCover-B59ykzJi.js";
27
+ import { t as L } from "./VideoPlayer-ChyiZ0sK.js";
28
+ import { t as R } from "./VideoPlayerModal-D6ze_Evt.js";
29
+ import { t as z } from "./Footer-DDj7XStD.js";
30
+ import { n as B } from "./GPTInput-C0YG1990.js";
31
+ import { t as V } from "./Notification-D0ow_x0-.js";
32
+ import { n as H, t as U } from "./Header-Dsji2l2m.js";
33
+ import { t as W } from "./Tabs-BuDaPqdN.js";
34
+ import { n as G, t as K } from "./RadioBox-o1Ssyj0s.js";
35
+ import { n as q, t as J } from "./Checkbox-BkxibNey.js";
36
+ import { Modal as Y } from "./components/Modal/index.js";
37
+ import { t as X } from "./RoadmapDetails-CATh63TE.js";
38
+ import { ModalContactFooter as Z } from "./components/Modal/ModalContactFooter.js";
39
+ import { useOptionalSidebarLayout as Q, useSidebarLayout as $ } from "./components/Sidebar/context.js";
40
+ import { SidebarLayout as ee, SidebarMain as te } from "./components/Sidebar/SidebarLayout.js";
41
+ import { SidebarResizer as ne } from "./components/Sidebar/SidebarResizer.js";
42
+ import { Sidebar as re, SidebarBody as ie, SidebarHeader as ae, SidebarSection as oe } from "./components/Sidebar/Sidebar.js";
43
+ import { NavItem as se } from "./components/Sidebar/NavItem.js";
44
+ import { NavGroup as ce } from "./components/Sidebar/NavGroup.js";
45
+ import { NavDisclosure as le } from "./components/Sidebar/NavDisclosure.js";
43
46
  import "./components/Sidebar/index.js";
44
- import { ThemeLoader as oe, themeLoaderScript as se } from "./components/ThemeLoader/index.js";
45
- export { a as Box, o as Button, p as ButtonGroup, W as Checkbox, U as CheckboxGroup, l as CodeBlock, b as Container, s as CopyCode, x as DiscordInvite, O as Dropdown, E as DropdownItem, D as DropdownSeparator, F as Footer, y as FormGroup, _ as FormRow, c as FrameworkIcon, I as GPTInput, z as Header, S as Heading, u as Icon, v as InputGrouped, m as InputSolo, j as Label, d as Link, w as Logo, G as Modal, q as ModalContactFooter, ae as NavDisclosure, ie as NavGroup, re as NavItem, A as NewTag, T as NewsletterSignup, L as Notification, k as PrefPanel, f as ProductIcon, H as RadioBox, V as RadioBoxGroup, K as RoadmapDetails, h as SearchDropdown, g as SelectGrouped, $ as Sidebar, ee as SidebarBody, te as SidebarHeader, X as SidebarLayout, Z as SidebarMain, Q as SidebarResizer, ne as SidebarSection, R as SubHeader, B as Tabs, oe as ThemeLoader, i as ThemeProvider, C as Typography, M as VideoCover, N as VideoPlayer, P as VideoPlayerModal, se as themeLoaderScript, n as useClipboard, t as useNextTheme, J as useOptionalSidebarLayout, Y as useSidebarLayout, r as useSuccessFlash, e as useTheme };
47
+ import { ThemeLoader as ue, themeLoaderScript as de } from "./components/ThemeLoader/index.js";
48
+ export { a as Box, s as BrowserFrame, o as Button, _ as ButtonGroup, J as Checkbox, q as CheckboxGroup, f as ClientLogo, u as CodeBlock, w as Container, c as CopyCode, T as DiscordInvite, M as Dropdown, A as DropdownItem, j as DropdownSeparator, z as Footer, C as FormGroup, x as FormRow, l as FrameworkIcon, B as GPTInput, U as Header, E as Heading, m as Icon, S as InputGrouped, v as InputSolo, F as Label, h as Link, O as Logo, p as LogoCarousel, Y as Modal, Z as ModalContactFooter, le as NavDisclosure, ce as NavGroup, se as NavItem, P as NewTag, k as NewsletterSignup, V as Notification, N as PrefPanel, g as ProductIcon, K as RadioBox, G as RadioBoxGroup, X as RoadmapDetails, y as SearchDropdown, b as SelectGrouped, re as Sidebar, ie as SidebarBody, ae as SidebarHeader, ee as SidebarLayout, te as SidebarMain, ne as SidebarResizer, oe as SidebarSection, H as SubHeader, W as Tabs, ue as ThemeLoader, i as ThemeProvider, D as Typography, I as VideoCover, L as VideoPlayer, R as VideoPlayerModal, d as clientLogoLabels, de as themeLoaderScript, n as useClipboard, t as useNextTheme, Q as useOptionalSidebarLayout, $ as useSidebarLayout, r as useSuccessFlash, e as useTheme };
@@ -1,5 +1,5 @@
1
1
  import { r as e } from "./chunk-jwUa06l-.js";
2
- import { r as t, t as n } from "./create-element-C3ORyDVw.js";
2
+ import { r as t, t as n } from "./create-element-Bftz4UxU.js";
3
3
  import r from "react";
4
4
  //#region node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
5
5
  function i(e, t) {