@nimbus-ds/patterns 1.39.0-rc.1 → 1.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -425,22 +425,9 @@ export type DataTableCellProps = DataTableCellProperties & Omit<HTMLAttributes<H
425
425
  declare const DataTableCell: React.FC<DataTableCellProps>;
426
426
  export interface DataTableDropdownProperties {
427
427
  /**
428
- * Placeholder text displayed in the default dropdown trigger button.
429
- * Required unless `trigger` is provided. Ignored when `trigger` is set.
428
+ * Placeholder text displayed in the dropdown trigger button.
430
429
  */
431
- placeholder?: string;
432
- /**
433
- * Custom node to render as the dropdown trigger. When provided, replaces
434
- * the default trigger built from `placeholder`. Required unless
435
- * `placeholder` is provided.
436
- *
437
- * Must be a keyboard-accessible interactive element (e.g. `<button>`,
438
- * `<Link as="button">`, or `<a>`). Non-interactive nodes like `<span>`
439
- * or `<div>` will not receive keyboard focus and cannot open the
440
- * dropdown via keyboard.
441
- * @TJS-type React.ReactNode
442
- */
443
- trigger?: ReactNode;
430
+ placeholder: string;
444
431
  /**
445
432
  * Content to be rendered inside the dropdown popover.
446
433
  * Typically DataTable.DropdownAction and DataTable.DropdownDivider components.
@@ -1361,35 +1348,121 @@ export type InitialScreenProps = InitialScreenProperties & Omit<BoxProps, "width
1361
1348
  */
1362
1349
  export declare const InitialScreen: React.FC<InitialScreenProps> & InitialScreenComponents;
1363
1350
  export interface PlanDisplayCardProperties {
1351
+ /**
1352
+ * Renders the card with the legacy featured treatment (primary 3px border and level-3 shadow).
1353
+ * New consumers should use `ribbonLabel` or `gradient` to express the intended emphasis.
1354
+ * Ignored when either of those props is provided.
1355
+ * @deprecated Use `ribbonLabel` or `gradient` instead. This prop will be removed in a future major release.
1356
+ */
1364
1357
  highlighted?: boolean;
1358
+ /**
1359
+ * Renders the card with the Plans 2.0 gradient background (primary-surface → neutral-background).
1360
+ * Ignored when `ribbonLabel` is provided.
1361
+ */
1362
+ gradient?: boolean;
1363
+ /**
1364
+ * Label shown in a ribbon on top of the card (e.g. "Más escogido"). When provided, the card
1365
+ * is rendered with the featured style (primary ribbon + 2px primary border, no shadow),
1366
+ * taking precedence over `gradient`.
1367
+ * @TJS-type React.ReactNode
1368
+ */
1369
+ ribbonLabel?: ReactNode;
1365
1370
  }
1366
1371
  export type PlanDisplayCardProps = PropsWithChildren<PlanDisplayCardProperties> & Omit<BoxProps, "borderColor" | "borderRadius" | "borderStyle" | "borderWidth" | "boxShadow">;
1367
1372
  declare const PlanDisplayCard: React.FC<PlanDisplayCardProps>;
1368
- export type PlanDisplayCardHeaderProperties = {
1373
+ /**
1374
+ * Properties of the plan display card header.
1375
+ */
1376
+ export interface PlanDisplayCardHeaderProperties {
1377
+ /**
1378
+ * Supporting text rendered above the title (e.g. the plan family name).
1379
+ */
1369
1380
  subtitle: string;
1381
+ /**
1382
+ * Main content of the header, typically the plan name and its price block.
1383
+ * @TJS-type React.ReactNode
1384
+ */
1370
1385
  title: ReactNode;
1371
- };
1386
+ /**
1387
+ * Optional slot rendered to the right of the subtitle (e.g. a `<Tag>` like "Plan actual").
1388
+ * When provided, the subtitle row is laid out with space between the subtitle and the tag.
1389
+ * @TJS-type React.ReactNode
1390
+ */
1391
+ tag?: ReactNode;
1392
+ }
1372
1393
  export type PlanDisplayCardHeaderProps = PropsWithChildren<PlanDisplayCardHeaderProperties>;
1373
1394
  declare const PlanDisplayCardHeader: React.FC<PlanDisplayCardHeaderProps>;
1374
1395
  export type PlanDisplayCardContentProperties = PropsWithChildren;
1375
1396
  declare const PlanDisplayCardContent: React.FC<PlanDisplayCardContentProperties>;
1376
- export type PlanDisplayCardFooterProperties = PropsWithChildren;
1377
- declare const PlanDisplayCardFooter: React.FC<PlanDisplayCardFooterProperties>;
1397
+ /**
1398
+ * Properties of the plan display card footer.
1399
+ */
1400
+ export interface PlanDisplayCardFooterProperties {
1401
+ /**
1402
+ * Optional leading icon for an add-on style footer row (e.g. a point-of-sale icon next to a link).
1403
+ * When provided, the footer renders the icon and children side by side.
1404
+ * @TJS-type React.ReactNode
1405
+ */
1406
+ icon?: ReactNode;
1407
+ }
1408
+ export type PlanDisplayCardFooterProps = PropsWithChildren<PlanDisplayCardFooterProperties>;
1409
+ declare const PlanDisplayCardFooter: React.FC<PlanDisplayCardFooterProps>;
1378
1410
  export type PlanDisplayCardSpacingProps = Omit<BoxProps, "children" | "borderTopWidth" | "borderColor" | "borderStyle" | "my">;
1379
1411
  declare const PlanDisplayCardSpacing: React.FC<PlanDisplayCardSpacingProps>;
1380
- export type PlanDisplayBulletProperties = {
1412
+ /**
1413
+ * Properties of the bullet used to display a single plan feature row.
1414
+ */
1415
+ export interface PlanDisplayBulletProperties {
1416
+ /**
1417
+ * Icon rendered to the left of the bullet text.
1418
+ * @TJS-type React.ReactNode
1419
+ */
1381
1420
  icon: ReactNode;
1421
+ /**
1422
+ * Renders the bullet with the disabled treatment, to show a feature the plan does not include.
1423
+ */
1382
1424
  disabled?: boolean;
1383
- };
1425
+ /**
1426
+ * Optional slot rendered inline after the bullet text (e.g. a `<Tag>` like "Nuevo").
1427
+ * @TJS-type React.ReactNode
1428
+ */
1429
+ badge?: ReactNode;
1430
+ }
1384
1431
  export type PlanDisplayBulletProps = PropsWithChildren<PlanDisplayBulletProperties>;
1385
1432
  declare const PlanDisplayBullet: React.FC<PlanDisplayBulletProps>;
1433
+ export type PlanDisplayCardPriceProperties = {
1434
+ /**
1435
+ * The current price of the plan (e.g. "$999"). Rendered as the main, prominent value.
1436
+ * @TJS-type React.ReactNode
1437
+ */
1438
+ price: ReactNode;
1439
+ /**
1440
+ * Optional previous price, rendered with a line-through next to the current price.
1441
+ * @TJS-type React.ReactNode
1442
+ */
1443
+ previousPrice?: ReactNode;
1444
+ /**
1445
+ * Optional billing period suffix (e.g. "/mes") rendered next to the price.
1446
+ * @TJS-type React.ReactNode
1447
+ */
1448
+ period?: ReactNode;
1449
+ /**
1450
+ * Optional annual note rendered below the price (e.g. "R$696/año. Economiza R$132.").
1451
+ * Accepts a ReactNode so it can mix colors (e.g. an emphasized savings span).
1452
+ * @TJS-type React.ReactNode
1453
+ */
1454
+ annualNote?: ReactNode;
1455
+ };
1456
+ export type PlanDisplayCardPriceProps = PlanDisplayCardPriceProperties;
1457
+ declare const PlanDisplayCardPrice: React.FC<PlanDisplayCardPriceProps>;
1386
1458
  /**
1387
1459
  * Interface representing the internal components used in the PlanDisplay.
1388
1460
  */
1389
1461
  export interface PlanDisplayComponents {
1390
1462
  /**
1391
1463
  * The card component used to display the plan. This component is used to wrap the header, content, and footer components, and it is able
1392
- * to receive a 'highlighted' prop to feature a plan.
1464
+ * to receive a 'ribbonLabel' and/or a 'gradient' prop to feature a plan. The legacy
1465
+ * 'highlighted' prop remains available temporarily for backwards compatibility.
1393
1466
  */
1394
1467
  Card: typeof PlanDisplayCard;
1395
1468
  /**
@@ -1397,6 +1470,10 @@ export interface PlanDisplayComponents {
1397
1470
  * an optional children where additional information can be displayed.
1398
1471
  */
1399
1472
  Header: typeof PlanDisplayCardHeader;
1473
+ /**
1474
+ * The price component of the plan display card. It renders the current price and optionally a previous price (with line-through), a billing period suffix and an annual note.
1475
+ */
1476
+ Price: typeof PlanDisplayCardPrice;
1400
1477
  /**
1401
1478
  * The content component of the plan display card. This component is used to display the main content of the plan, such as the plan bullet points.
1402
1479
  */