@deriv-web-design/ui 0.1.14 → 0.1.15

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/dist/index.mjs CHANGED
@@ -5278,6 +5278,34 @@ var Leaders = AvatarGrid;
5278
5278
 
5279
5279
  // templates/ImageBanner/ImageBanner.tsx
5280
5280
  import { jsx as jsx43, jsxs as jsxs39 } from "react/jsx-runtime";
5281
+ var DEFAULT_CHIPS = [
5282
+ "Dynamic ads",
5283
+ "AI insights",
5284
+ "Performance tracking",
5285
+ "Events"
5286
+ ];
5287
+ var IMAGE_BANNER_CHIPS_DEFAULT_IMAGE = "https://cdn.prod.website-files.com/68da5c86c91c54f39c86c28a/69a13cf79748b347527dc74d_tier-cover.webp";
5288
+ var ChipCheckIcon = () => /* @__PURE__ */ jsx43(
5289
+ "svg",
5290
+ {
5291
+ className: "image-banner__chip-icon",
5292
+ width: "11",
5293
+ height: "12",
5294
+ viewBox: "0 0 11 18",
5295
+ fill: "none",
5296
+ xmlns: "http://www.w3.org/2000/svg",
5297
+ "aria-hidden": "true",
5298
+ focusable: "false",
5299
+ children: /* @__PURE__ */ jsx43(
5300
+ "path",
5301
+ {
5302
+ d: "M10.5156 5.98438C10.8203 6.26562 10.8203 6.75781 10.5156 7.03906L4.51562 13.0391C4.23438 13.3438 3.74219 13.3438 3.46094 13.0391L0.460938 10.0391C0.15625 9.75781 0.15625 9.26562 0.460938 8.98438C0.742188 8.67969 1.23438 8.67969 1.51562 8.98438L4 11.4453L9.46094 5.98438C9.74219 5.67969 10.2344 5.67969 10.5156 5.98438Z",
5303
+ fill: "currentColor",
5304
+ fillOpacity: "0.88"
5305
+ }
5306
+ )
5307
+ }
5308
+ );
5281
5309
  var ImageBanner = ({
5282
5310
  variant = "split-left",
5283
5311
  title = "Join our global community",
@@ -5285,16 +5313,25 @@ var ImageBanner = ({
5285
5313
  ctaLabel = "Trader's Hub",
5286
5314
  ctaHref,
5287
5315
  onCtaClick,
5316
+ chips = DEFAULT_CHIPS,
5288
5317
  imageUrl,
5289
5318
  imageAlt = "",
5290
5319
  className,
5291
5320
  ...props
5292
5321
  }) => {
5293
5322
  const isFullBg = variant === "full-bg-left" || variant === "full-bg-right";
5323
+ const isChips = variant === "chips-left" || variant === "chips-right";
5324
+ const showCta = !isChips && Boolean(ctaLabel);
5325
+ const visibleChips = isChips ? chips.filter((label) => label.trim().length > 0) : [];
5326
+ const resolvedImageUrl = imageUrl ?? (isChips ? IMAGE_BANNER_CHIPS_DEFAULT_IMAGE : void 0);
5294
5327
  return /* @__PURE__ */ jsx43(
5295
5328
  "section",
5296
5329
  {
5297
- className: ["image-banner", className].filter(Boolean).join(" "),
5330
+ className: [
5331
+ "image-banner",
5332
+ isChips ? "image-banner--chips" : "",
5333
+ className
5334
+ ].filter(Boolean).join(" "),
5298
5335
  ...props,
5299
5336
  children: /* @__PURE__ */ jsxs39(
5300
5337
  "div",
@@ -5304,11 +5341,11 @@ var ImageBanner = ({
5304
5341
  `image-banner__inner--${variant}`
5305
5342
  ].join(" "),
5306
5343
  children: [
5307
- isFullBg && imageUrl && /* @__PURE__ */ jsxs39("div", { className: "image-banner__bg-image-wrapper", children: [
5344
+ isFullBg && resolvedImageUrl && /* @__PURE__ */ jsxs39("div", { className: "image-banner__bg-image-wrapper", children: [
5308
5345
  /* @__PURE__ */ jsx43(
5309
5346
  "img",
5310
5347
  {
5311
- src: imageUrl,
5348
+ src: resolvedImageUrl,
5312
5349
  alt: imageAlt,
5313
5350
  className: "image-banner__bg-image",
5314
5351
  loading: "lazy"
@@ -5319,7 +5356,11 @@ var ImageBanner = ({
5319
5356
  /* @__PURE__ */ jsxs39("div", { className: "image-banner__content", children: [
5320
5357
  /* @__PURE__ */ jsx43("h2", { className: "image-banner__title", children: title }),
5321
5358
  description && /* @__PURE__ */ jsx43("p", { className: "image-banner__description", children: description }),
5322
- ctaLabel && /* @__PURE__ */ jsx43("div", { className: "image-banner__actions", children: /* @__PURE__ */ jsx43(
5359
+ visibleChips.length > 0 && /* @__PURE__ */ jsx43("ul", { className: "image-banner__chips", "aria-label": "Features", children: visibleChips.map((label) => /* @__PURE__ */ jsxs39("li", { className: "image-banner__chip", children: [
5360
+ /* @__PURE__ */ jsx43(ChipCheckIcon, {}),
5361
+ /* @__PURE__ */ jsx43("span", { className: "image-banner__chip-label", children: label })
5362
+ ] }, label)) }),
5363
+ showCta && /* @__PURE__ */ jsx43("div", { className: "image-banner__actions", children: /* @__PURE__ */ jsx43(
5323
5364
  Link,
5324
5365
  {
5325
5366
  colorScheme: "coral",
@@ -5331,15 +5372,24 @@ var ImageBanner = ({
5331
5372
  }
5332
5373
  ) })
5333
5374
  ] }),
5334
- !isFullBg && imageUrl && /* @__PURE__ */ jsx43("div", { className: "image-banner__image-wrapper", children: /* @__PURE__ */ jsx43(
5335
- "img",
5336
- {
5337
- src: imageUrl,
5338
- alt: imageAlt,
5339
- className: "image-banner__image",
5340
- loading: "lazy"
5341
- }
5342
- ) })
5375
+ !isFullBg && resolvedImageUrl && /* @__PURE__ */ jsxs39("div", { className: "image-banner__image-wrapper", children: [
5376
+ /* @__PURE__ */ jsx43(
5377
+ "img",
5378
+ {
5379
+ src: resolvedImageUrl,
5380
+ alt: imageAlt,
5381
+ className: "image-banner__image",
5382
+ loading: "lazy"
5383
+ }
5384
+ ),
5385
+ isChips && /* @__PURE__ */ jsx43(
5386
+ "div",
5387
+ {
5388
+ className: "image-banner__image-fade",
5389
+ "aria-hidden": "true"
5390
+ }
5391
+ )
5392
+ ] })
5343
5393
  ]
5344
5394
  }
5345
5395
  )
@@ -8019,6 +8069,188 @@ var FeatureOffices = ({
8019
8069
  /* @__PURE__ */ jsx58("div", { className: "fo-grid", children: filteredOffices.map((office, index) => /* @__PURE__ */ jsx58(OfficeCard, { linkText, office }, `${office.city}-${index}`)) })
8020
8070
  ] }) });
8021
8071
  };
8072
+
8073
+ // templates/Tiers/Tiers.tsx
8074
+ import { jsx as jsx59, jsxs as jsxs55 } from "react/jsx-runtime";
8075
+ var DEFAULT_ACCENTS = ["bronze", "silver", "gold", "platinum"];
8076
+ var resolveAccent = (tier, index) => tier.accent ?? DEFAULT_ACCENTS[index] ?? "bronze";
8077
+ var Tiers = ({
8078
+ title,
8079
+ description,
8080
+ tiers,
8081
+ showLink = false,
8082
+ linkText = "Learn more about partner tiers",
8083
+ linkHref,
8084
+ onLinkClick
8085
+ }) => {
8086
+ return /* @__PURE__ */ jsx59("section", { className: "tiers", children: /* @__PURE__ */ jsxs55("div", { className: "tiers__container", children: [
8087
+ /* @__PURE__ */ jsxs55("header", { className: "tiers__header", children: [
8088
+ /* @__PURE__ */ jsx59("h2", { className: "tiers__title", children: title }),
8089
+ description && /* @__PURE__ */ jsx59("p", { className: "tiers__description", children: description })
8090
+ ] }),
8091
+ /* @__PURE__ */ jsx59("ol", { className: "tiers__list", children: tiers.map((tier, index) => {
8092
+ const accent = resolveAccent(tier, index);
8093
+ return /* @__PURE__ */ jsx59(
8094
+ "li",
8095
+ {
8096
+ className: `tiers__item tiers__item--${accent}`,
8097
+ children: /* @__PURE__ */ jsxs55("div", { className: "tiers__shell", children: [
8098
+ /* @__PURE__ */ jsxs55("div", { className: "tiers__icon-row", children: [
8099
+ /* @__PURE__ */ jsx59(
8100
+ "span",
8101
+ {
8102
+ className: "tiers__line tiers__line--left",
8103
+ "aria-hidden": "true"
8104
+ }
8105
+ ),
8106
+ /* @__PURE__ */ jsx59("div", { className: "tiers__icon-wrap", children: /* @__PURE__ */ jsx59(
8107
+ "img",
8108
+ {
8109
+ src: tier.icon,
8110
+ alt: tier.iconAlt ?? tier.name,
8111
+ className: "tiers__icon",
8112
+ width: 64,
8113
+ height: 64,
8114
+ loading: "lazy"
8115
+ }
8116
+ ) }),
8117
+ /* @__PURE__ */ jsx59(
8118
+ "span",
8119
+ {
8120
+ className: "tiers__line tiers__line--right",
8121
+ "aria-hidden": "true"
8122
+ }
8123
+ )
8124
+ ] }),
8125
+ /* @__PURE__ */ jsxs55("div", { className: "tiers__heading", children: [
8126
+ /* @__PURE__ */ jsx59("h3", { className: "tiers__name", children: tier.name }),
8127
+ /* @__PURE__ */ jsx59("p", { className: "tiers__status", children: tier.status })
8128
+ ] }),
8129
+ /* @__PURE__ */ jsxs55("div", { className: "tiers__card", children: [
8130
+ /* @__PURE__ */ jsx59("p", { className: "tiers__card-title", children: tier.title }),
8131
+ /* @__PURE__ */ jsx59("p", { className: "tiers__card-description", children: tier.description })
8132
+ ] }),
8133
+ tier.requirement && /* @__PURE__ */ jsx59("p", { className: "tiers__requirement", children: tier.requirement })
8134
+ ] })
8135
+ },
8136
+ tier.name
8137
+ );
8138
+ }) }),
8139
+ showLink && /* @__PURE__ */ jsx59("div", { className: "tiers__footer", children: /* @__PURE__ */ jsx59(
8140
+ Link,
8141
+ {
8142
+ colorScheme: "coral",
8143
+ label: linkText,
8144
+ href: linkHref,
8145
+ onClick: onLinkClick
8146
+ }
8147
+ ) })
8148
+ ] }) });
8149
+ };
8150
+
8151
+ // templates/PartnersPayout/PartnersPayout.tsx
8152
+ import { jsx as jsx60, jsxs as jsxs56 } from "react/jsx-runtime";
8153
+ var PartnersPayout = ({
8154
+ title,
8155
+ period,
8156
+ payouts,
8157
+ imageUrl,
8158
+ imageAlt = "",
8159
+ className,
8160
+ ...props
8161
+ }) => /* @__PURE__ */ jsx60(
8162
+ "section",
8163
+ {
8164
+ className: ["partners-payout", className].filter(Boolean).join(" "),
8165
+ ...props,
8166
+ children: /* @__PURE__ */ jsxs56("div", { className: "partners-payout__container", children: [
8167
+ /* @__PURE__ */ jsxs56("div", { className: "partners-payout__content", children: [
8168
+ /* @__PURE__ */ jsxs56("header", { className: "partners-payout__header", children: [
8169
+ /* @__PURE__ */ jsx60("h2", { className: "partners-payout__title", children: title }),
8170
+ /* @__PURE__ */ jsx60("p", { className: "partners-payout__period", children: period })
8171
+ ] }),
8172
+ /* @__PURE__ */ jsx60("ul", { className: "partners-payout__grid", children: payouts.map((payout, index) => /* @__PURE__ */ jsxs56(
8173
+ "li",
8174
+ {
8175
+ className: "partners-payout__item",
8176
+ children: [
8177
+ /* @__PURE__ */ jsx60("span", { className: "partners-payout__region", children: payout.region }),
8178
+ /* @__PURE__ */ jsx60("span", { className: "partners-payout__amount", children: payout.amount })
8179
+ ]
8180
+ },
8181
+ `${payout.region}-${index}`
8182
+ )) })
8183
+ ] }),
8184
+ /* @__PURE__ */ jsx60(
8185
+ "img",
8186
+ {
8187
+ className: "partners-payout__image",
8188
+ src: imageUrl,
8189
+ alt: imageAlt,
8190
+ loading: "lazy"
8191
+ }
8192
+ )
8193
+ ] })
8194
+ }
8195
+ );
8196
+
8197
+ // templates/MasterPartner/MasterPartner.tsx
8198
+ import { jsx as jsx61, jsxs as jsxs57 } from "react/jsx-runtime";
8199
+ var MasterPartner = ({
8200
+ title,
8201
+ description,
8202
+ note,
8203
+ closingText,
8204
+ ctaLabel,
8205
+ ctaHref,
8206
+ onCtaClick,
8207
+ image,
8208
+ imageAlt = "",
8209
+ steps
8210
+ }) => {
8211
+ const ctaButton = /* @__PURE__ */ jsx61(Button, { colorScheme: "coral", variant: "primary", label: ctaLabel, onClick: onCtaClick });
8212
+ return /* @__PURE__ */ jsx61("section", { className: "master-partner", children: /* @__PURE__ */ jsxs57("div", { className: "master-partner__container", children: [
8213
+ /* @__PURE__ */ jsxs57("div", { className: "master-partner__top", children: [
8214
+ /* @__PURE__ */ jsxs57("div", { className: "master-partner__content", children: [
8215
+ /* @__PURE__ */ jsx61("h2", { className: "master-partner__title", children: title }),
8216
+ /* @__PURE__ */ jsxs57("div", { className: "master-partner__copy", children: [
8217
+ /* @__PURE__ */ jsx61("p", { className: "master-partner__paragraph", children: description }),
8218
+ note && /* @__PURE__ */ jsxs57("p", { className: "master-partner__paragraph", children: [
8219
+ /* @__PURE__ */ jsx61("strong", { children: note.label }),
8220
+ " ",
8221
+ note.text
8222
+ ] }),
8223
+ closingText && /* @__PURE__ */ jsx61("p", { className: "master-partner__paragraph", children: closingText })
8224
+ ] }),
8225
+ ctaLabel && /* @__PURE__ */ jsx61("div", { className: "master-partner__cta", children: ctaHref ? /* @__PURE__ */ jsx61("a", { href: ctaHref, children: ctaButton }) : ctaButton })
8226
+ ] }),
8227
+ /* @__PURE__ */ jsx61("div", { className: "master-partner__image-wrapper", children: /* @__PURE__ */ jsx61(
8228
+ "img",
8229
+ {
8230
+ className: "master-partner__image",
8231
+ src: image,
8232
+ alt: imageAlt,
8233
+ loading: "lazy"
8234
+ }
8235
+ ) })
8236
+ ] }),
8237
+ /* @__PURE__ */ jsx61("ol", { className: "master-partner__steps", children: steps.map((step, index) => /* @__PURE__ */ jsxs57("li", { className: "master-partner__step", children: [
8238
+ /* @__PURE__ */ jsx61(
8239
+ "img",
8240
+ {
8241
+ className: "master-partner__step-icon",
8242
+ src: step.icon,
8243
+ alt: step.iconAlt ?? "",
8244
+ "aria-hidden": "true",
8245
+ width: 32,
8246
+ height: 32,
8247
+ loading: "lazy"
8248
+ }
8249
+ ),
8250
+ /* @__PURE__ */ jsx61("p", { className: "master-partner__step-description", children: step.description })
8251
+ ] }, index)) })
8252
+ ] }) });
8253
+ };
8022
8254
  export {
8023
8255
  AVATAR_DATA,
8024
8256
  Accordion,
@@ -8067,14 +8299,17 @@ export {
8067
8299
  HelpCentreCategories,
8068
8300
  HelpCentreSubCategories,
8069
8301
  Hero,
8302
+ IMAGE_BANNER_CHIPS_DEFAULT_IMAGE,
8070
8303
  ImageBanner,
8071
8304
  Leaders,
8072
8305
  Link,
8073
8306
  LogoMarquee,
8307
+ MasterPartner,
8074
8308
  Navbar,
8075
8309
  PARALLAX_BANNER_TEXT_CONTENT,
8076
8310
  Pagination,
8077
8311
  ParallaxBanner,
8312
+ PartnersPayout,
8078
8313
  PeopleGrid,
8079
8314
  STEPS_DATA,
8080
8315
  SearchField,
@@ -8090,6 +8325,7 @@ export {
8090
8325
  Testimonial,
8091
8326
  TextField,
8092
8327
  TextScroll,
8328
+ Tiers,
8093
8329
  TradingCalculator,
8094
8330
  TradingCalculatorHowTo,
8095
8331
  dayNightTransitionV2Preset