@ship-it-ui/shipit 0.0.15 → 0.0.16
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.cjs +191 -37
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +109 -2
- package/dist/index.d.ts +109 -2
- package/dist/index.js +190 -29
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BadgeProps, DataTableProps, DataTableColumn } from '@ship-it-ui/ui';
|
|
1
|
+
import { BadgeProps, HeadingLevel, DataTableProps, DataTableColumn } from '@ship-it-ui/ui';
|
|
2
2
|
export { cn } from '@ship-it-ui/ui';
|
|
3
3
|
import * as react from 'react';
|
|
4
4
|
import { HTMLAttributes, ReactNode, ButtonHTMLAttributes, MouseEventHandler, SVGAttributes, Ref } from 'react';
|
|
@@ -567,6 +567,12 @@ declare const PathOverlay: react.ForwardRefExoticComponent<PathOverlayProps & re
|
|
|
567
567
|
*/
|
|
568
568
|
interface CTAStripProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
569
569
|
title: ReactNode;
|
|
570
|
+
/**
|
|
571
|
+
* Heading level for the title. Default `'h2'`. Marketing pages typically
|
|
572
|
+
* place a CTAStrip between sections, so an `h2` matches the section
|
|
573
|
+
* hierarchy under the page `h1`.
|
|
574
|
+
*/
|
|
575
|
+
titleAs?: HeadingLevel;
|
|
570
576
|
description?: ReactNode;
|
|
571
577
|
actions?: ReactNode;
|
|
572
578
|
}
|
|
@@ -585,12 +591,23 @@ interface FeatureGridProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
585
591
|
features: ReadonlyArray<Feature>;
|
|
586
592
|
/** Columns at the largest breakpoint. Default 3. */
|
|
587
593
|
columns?: 2 | 3 | 4;
|
|
594
|
+
/**
|
|
595
|
+
* Heading level for each feature's title. Default `'h3'` — features sit
|
|
596
|
+
* under a section `h2` on most marketing pages.
|
|
597
|
+
*/
|
|
598
|
+
featureTitleAs?: HeadingLevel;
|
|
588
599
|
}
|
|
589
600
|
declare const FeatureGrid: react.ForwardRefExoticComponent<FeatureGridProps & react.RefAttributes<HTMLDivElement>>;
|
|
590
601
|
|
|
591
602
|
/**
|
|
592
603
|
* Footer — site footer with brand on the left and grouped link columns on
|
|
593
604
|
* the right, plus a copyright line below a divider.
|
|
605
|
+
*
|
|
606
|
+
* Each link column is rendered as a proper `<ul>` of `<li>` link rows so
|
|
607
|
+
* search engines pick up the footer-nav hierarchy correctly. Pass
|
|
608
|
+
* `address` for a contact block that renders inside `<address>` (the
|
|
609
|
+
* semantic element for organization contact info — improves local SEO and
|
|
610
|
+
* structured-data extraction).
|
|
594
611
|
*/
|
|
595
612
|
interface FooterLink {
|
|
596
613
|
label: ReactNode;
|
|
@@ -608,12 +625,18 @@ interface FooterProps extends HTMLAttributes<HTMLElement> {
|
|
|
608
625
|
copyright?: ReactNode;
|
|
609
626
|
/** Right-side closing line (e.g., `made with care · san francisco`). */
|
|
610
627
|
closing?: ReactNode;
|
|
628
|
+
/**
|
|
629
|
+
* Optional contact / address block. Rendered inside `<address>` next to the
|
|
630
|
+
* brand for org contact info (phone, email, mailing address).
|
|
631
|
+
*/
|
|
632
|
+
address?: ReactNode;
|
|
611
633
|
}
|
|
612
634
|
declare const Footer: react.ForwardRefExoticComponent<FooterProps & react.RefAttributes<HTMLElement>>;
|
|
613
635
|
|
|
614
636
|
/**
|
|
615
637
|
* Hero — landing-page top section. Optional eyebrow / pill above the headline,
|
|
616
|
-
* a large heading (children of `<h1>`), a body description, and an
|
|
638
|
+
* a large heading (children of `<h1>` by default), a body description, and an
|
|
639
|
+
* action row.
|
|
617
640
|
*
|
|
618
641
|
* Designed for marketing surfaces only — do not bring this into the app.
|
|
619
642
|
*/
|
|
@@ -622,6 +645,12 @@ interface HeroProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
|
622
645
|
eyebrow?: ReactNode;
|
|
623
646
|
/** Headline. Pass JSX to highlight a phrase (e.g., `<span className="text-accent">…</span>`). */
|
|
624
647
|
title: ReactNode;
|
|
648
|
+
/**
|
|
649
|
+
* Heading level for the title. Default `'h1'` — only override on pages that
|
|
650
|
+
* already have an `<h1>` elsewhere (e.g., a section hero inside a longer
|
|
651
|
+
* landing page).
|
|
652
|
+
*/
|
|
653
|
+
titleAs?: HeadingLevel;
|
|
625
654
|
/** Subheading. */
|
|
626
655
|
description?: ReactNode;
|
|
627
656
|
/** Action buttons row. */
|
|
@@ -644,6 +673,12 @@ declare const Hero: react.ForwardRefExoticComponent<HeroProps & react.RefAttribu
|
|
|
644
673
|
* background for the "recommended" tier. Use `priceUnit` for per-period
|
|
645
674
|
* suffixes (e.g. `/ user / mo`) so the unit lays out next to the price
|
|
646
675
|
* baseline-aligned and wraps cleanly when there isn't room.
|
|
676
|
+
*
|
|
677
|
+
* Emits a schema.org `Offer` JSON-LD entity when `priceCurrency` is
|
|
678
|
+
* provided AND a numeric `priceAmount` (or a parseable `price` string like
|
|
679
|
+
* `"$29"`) is supplied. Cards where the price isn't machine-readable
|
|
680
|
+
* (e.g. `"Talk to us"`) skip JSON-LD emission unless the consumer passes
|
|
681
|
+
* `priceAmount` explicitly. Pass `noStructuredData` to opt out entirely.
|
|
647
682
|
*/
|
|
648
683
|
interface PricingCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
649
684
|
/** Tier name — e.g., `Pro`, `Team`. */
|
|
@@ -660,12 +695,46 @@ interface PricingCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
660
695
|
action?: ReactNode;
|
|
661
696
|
/** Highlight as the recommended tier. */
|
|
662
697
|
featured?: boolean;
|
|
698
|
+
/**
|
|
699
|
+
* Heading level for the tier name. Default `'h3'` — pricing tables live
|
|
700
|
+
* under a section `h2` on most pricing pages.
|
|
701
|
+
*/
|
|
702
|
+
tierAs?: HeadingLevel;
|
|
703
|
+
/**
|
|
704
|
+
* ISO 4217 currency code (e.g. `'USD'`, `'EUR'`). REQUIRED to emit the
|
|
705
|
+
* `Offer` JSON-LD — without it the script is suppressed.
|
|
706
|
+
*/
|
|
707
|
+
priceCurrency?: string;
|
|
708
|
+
/**
|
|
709
|
+
* Explicit machine-readable price (number). When omitted, parsed from the
|
|
710
|
+
* visible `price` string by stripping non-numeric characters. Pass this
|
|
711
|
+
* directly when `price` is JSX or contains unusual formatting.
|
|
712
|
+
*/
|
|
713
|
+
priceAmount?: number;
|
|
714
|
+
/**
|
|
715
|
+
* schema.org `availability` URL, typically `'https://schema.org/InStock'`.
|
|
716
|
+
*/
|
|
717
|
+
availability?: string;
|
|
718
|
+
/** Optional URL of the tier's product/checkout page. */
|
|
719
|
+
url?: string;
|
|
720
|
+
/** String version of `tier` for the JSON-LD `name`. Required if `tier` is JSX. */
|
|
721
|
+
tierName?: string;
|
|
722
|
+
/** String version of `description` for the JSON-LD `description`. */
|
|
723
|
+
descriptionText?: string;
|
|
724
|
+
/** Opt out of emitting the `Offer` JSON-LD script. */
|
|
725
|
+
noStructuredData?: boolean;
|
|
663
726
|
}
|
|
664
727
|
declare const PricingCard: react.ForwardRefExoticComponent<PricingCardProps & react.RefAttributes<HTMLDivElement>>;
|
|
665
728
|
|
|
666
729
|
/**
|
|
667
730
|
* Testimonial — pull-quote with author + role. Centered for marketing
|
|
668
731
|
* surfaces.
|
|
732
|
+
*
|
|
733
|
+
* Emits a schema.org `Review` JSON-LD entity by default. Pass `rating`
|
|
734
|
+
* (1–5) for `reviewRating` and `itemReviewedName` (plus optional `url`)
|
|
735
|
+
* for `itemReviewed` to make the JSON-LD eligible for Google's Review
|
|
736
|
+
* rich results. Without those it still emits a minimal `Review`. Pass
|
|
737
|
+
* `noStructuredData` to suppress the JSON-LD script entirely.
|
|
669
738
|
*/
|
|
670
739
|
interface TestimonialProps extends Omit<HTMLAttributes<HTMLElement>, 'cite' | 'role'> {
|
|
671
740
|
/** The quoted body. */
|
|
@@ -676,6 +745,23 @@ interface TestimonialProps extends Omit<HTMLAttributes<HTMLElement>, 'cite' | 'r
|
|
|
676
745
|
role?: ReactNode;
|
|
677
746
|
/** Avatar initials or full node. */
|
|
678
747
|
avatar?: ReactNode;
|
|
748
|
+
/**
|
|
749
|
+
* String version of `quote` for the JSON-LD `reviewBody` field. Required
|
|
750
|
+
* when `quote` is JSX — without it the JSON-LD script is suppressed.
|
|
751
|
+
*/
|
|
752
|
+
quoteText?: string;
|
|
753
|
+
/** String version of `author` for the JSON-LD `author.name`. */
|
|
754
|
+
authorName?: string;
|
|
755
|
+
/** String version of `role` for the JSON-LD `author.jobTitle`. */
|
|
756
|
+
authorJobTitle?: string;
|
|
757
|
+
/** Star rating (1–5). When provided, emitted as `reviewRating`. */
|
|
758
|
+
rating?: number;
|
|
759
|
+
/** Name of the thing being endorsed (product / service / company). */
|
|
760
|
+
itemReviewedName?: string;
|
|
761
|
+
/** Optional URL of the thing being endorsed. */
|
|
762
|
+
url?: string;
|
|
763
|
+
/** Opt out of emitting the schema.org `Review` JSON-LD script. */
|
|
764
|
+
noStructuredData?: boolean;
|
|
679
765
|
}
|
|
680
766
|
declare const Testimonial: react.ForwardRefExoticComponent<TestimonialProps & react.RefAttributes<HTMLElement>>;
|
|
681
767
|
|
|
@@ -687,6 +773,11 @@ declare const Testimonial: react.ForwardRefExoticComponent<TestimonialProps & re
|
|
|
687
773
|
*
|
|
688
774
|
* When `onClick` is provided the whole card becomes a button; otherwise it
|
|
689
775
|
* renders as a plain `<div>`.
|
|
776
|
+
*
|
|
777
|
+
* Emits a schema.org `SoftwareApplication` JSON-LD entity by default with
|
|
778
|
+
* `name`, `dateModified` (from `lastSyncedAt`), and consumer-supplied
|
|
779
|
+
* `applicationCategory` / `url` / `softwareVersion`. Skipped when `name` is
|
|
780
|
+
* JSX without a string fallback. Pass `noStructuredData` to suppress.
|
|
690
781
|
*/
|
|
691
782
|
type ConnectorStatus = 'connected' | 'syncing' | 'error' | 'disconnected';
|
|
692
783
|
interface ConnectorCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'onClick'> {
|
|
@@ -712,6 +803,16 @@ interface ConnectorCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title
|
|
|
712
803
|
* `button-name`). Optional otherwise.
|
|
713
804
|
*/
|
|
714
805
|
accessibleName?: string;
|
|
806
|
+
/** String version of `name` for the JSON-LD `name` field. */
|
|
807
|
+
nameText?: string;
|
|
808
|
+
/** schema.org `applicationCategory` (e.g. `'CRM'`, `'DataConnector'`). */
|
|
809
|
+
applicationCategory?: string;
|
|
810
|
+
/** Connector detail URL — emitted as the entity `url`. */
|
|
811
|
+
url?: string;
|
|
812
|
+
/** Optional `softwareVersion` string. */
|
|
813
|
+
softwareVersion?: string;
|
|
814
|
+
/** Opt out of emitting the `SoftwareApplication` JSON-LD script. */
|
|
815
|
+
noStructuredData?: boolean;
|
|
715
816
|
}
|
|
716
817
|
declare const ConnectorCard: react.ForwardRefExoticComponent<ConnectorCardProps & react.RefAttributes<HTMLDivElement>>;
|
|
717
818
|
|
|
@@ -766,6 +867,12 @@ interface NotifRowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
|
766
867
|
body?: ReactNode;
|
|
767
868
|
/** Right-aligned relative time string (e.g. `9:32`, `Mon`). */
|
|
768
869
|
time?: ReactNode;
|
|
870
|
+
/**
|
|
871
|
+
* Machine-readable ISO 8601 string or `Date` for the notification's
|
|
872
|
+
* timestamp. When set, the visible `time` is wrapped in
|
|
873
|
+
* `<time dateTime="…">` so the row is crawlable / AI-readable.
|
|
874
|
+
*/
|
|
875
|
+
dateTime?: string | Date;
|
|
769
876
|
/** Coloring of the unread dot. */
|
|
770
877
|
tone?: NotifTone;
|
|
771
878
|
/** When true, render the unread dot. */
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BadgeProps, DataTableProps, DataTableColumn } from '@ship-it-ui/ui';
|
|
1
|
+
import { BadgeProps, HeadingLevel, DataTableProps, DataTableColumn } from '@ship-it-ui/ui';
|
|
2
2
|
export { cn } from '@ship-it-ui/ui';
|
|
3
3
|
import * as react from 'react';
|
|
4
4
|
import { HTMLAttributes, ReactNode, ButtonHTMLAttributes, MouseEventHandler, SVGAttributes, Ref } from 'react';
|
|
@@ -567,6 +567,12 @@ declare const PathOverlay: react.ForwardRefExoticComponent<PathOverlayProps & re
|
|
|
567
567
|
*/
|
|
568
568
|
interface CTAStripProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
569
569
|
title: ReactNode;
|
|
570
|
+
/**
|
|
571
|
+
* Heading level for the title. Default `'h2'`. Marketing pages typically
|
|
572
|
+
* place a CTAStrip between sections, so an `h2` matches the section
|
|
573
|
+
* hierarchy under the page `h1`.
|
|
574
|
+
*/
|
|
575
|
+
titleAs?: HeadingLevel;
|
|
570
576
|
description?: ReactNode;
|
|
571
577
|
actions?: ReactNode;
|
|
572
578
|
}
|
|
@@ -585,12 +591,23 @@ interface FeatureGridProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
585
591
|
features: ReadonlyArray<Feature>;
|
|
586
592
|
/** Columns at the largest breakpoint. Default 3. */
|
|
587
593
|
columns?: 2 | 3 | 4;
|
|
594
|
+
/**
|
|
595
|
+
* Heading level for each feature's title. Default `'h3'` — features sit
|
|
596
|
+
* under a section `h2` on most marketing pages.
|
|
597
|
+
*/
|
|
598
|
+
featureTitleAs?: HeadingLevel;
|
|
588
599
|
}
|
|
589
600
|
declare const FeatureGrid: react.ForwardRefExoticComponent<FeatureGridProps & react.RefAttributes<HTMLDivElement>>;
|
|
590
601
|
|
|
591
602
|
/**
|
|
592
603
|
* Footer — site footer with brand on the left and grouped link columns on
|
|
593
604
|
* the right, plus a copyright line below a divider.
|
|
605
|
+
*
|
|
606
|
+
* Each link column is rendered as a proper `<ul>` of `<li>` link rows so
|
|
607
|
+
* search engines pick up the footer-nav hierarchy correctly. Pass
|
|
608
|
+
* `address` for a contact block that renders inside `<address>` (the
|
|
609
|
+
* semantic element for organization contact info — improves local SEO and
|
|
610
|
+
* structured-data extraction).
|
|
594
611
|
*/
|
|
595
612
|
interface FooterLink {
|
|
596
613
|
label: ReactNode;
|
|
@@ -608,12 +625,18 @@ interface FooterProps extends HTMLAttributes<HTMLElement> {
|
|
|
608
625
|
copyright?: ReactNode;
|
|
609
626
|
/** Right-side closing line (e.g., `made with care · san francisco`). */
|
|
610
627
|
closing?: ReactNode;
|
|
628
|
+
/**
|
|
629
|
+
* Optional contact / address block. Rendered inside `<address>` next to the
|
|
630
|
+
* brand for org contact info (phone, email, mailing address).
|
|
631
|
+
*/
|
|
632
|
+
address?: ReactNode;
|
|
611
633
|
}
|
|
612
634
|
declare const Footer: react.ForwardRefExoticComponent<FooterProps & react.RefAttributes<HTMLElement>>;
|
|
613
635
|
|
|
614
636
|
/**
|
|
615
637
|
* Hero — landing-page top section. Optional eyebrow / pill above the headline,
|
|
616
|
-
* a large heading (children of `<h1>`), a body description, and an
|
|
638
|
+
* a large heading (children of `<h1>` by default), a body description, and an
|
|
639
|
+
* action row.
|
|
617
640
|
*
|
|
618
641
|
* Designed for marketing surfaces only — do not bring this into the app.
|
|
619
642
|
*/
|
|
@@ -622,6 +645,12 @@ interface HeroProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
|
622
645
|
eyebrow?: ReactNode;
|
|
623
646
|
/** Headline. Pass JSX to highlight a phrase (e.g., `<span className="text-accent">…</span>`). */
|
|
624
647
|
title: ReactNode;
|
|
648
|
+
/**
|
|
649
|
+
* Heading level for the title. Default `'h1'` — only override on pages that
|
|
650
|
+
* already have an `<h1>` elsewhere (e.g., a section hero inside a longer
|
|
651
|
+
* landing page).
|
|
652
|
+
*/
|
|
653
|
+
titleAs?: HeadingLevel;
|
|
625
654
|
/** Subheading. */
|
|
626
655
|
description?: ReactNode;
|
|
627
656
|
/** Action buttons row. */
|
|
@@ -644,6 +673,12 @@ declare const Hero: react.ForwardRefExoticComponent<HeroProps & react.RefAttribu
|
|
|
644
673
|
* background for the "recommended" tier. Use `priceUnit` for per-period
|
|
645
674
|
* suffixes (e.g. `/ user / mo`) so the unit lays out next to the price
|
|
646
675
|
* baseline-aligned and wraps cleanly when there isn't room.
|
|
676
|
+
*
|
|
677
|
+
* Emits a schema.org `Offer` JSON-LD entity when `priceCurrency` is
|
|
678
|
+
* provided AND a numeric `priceAmount` (or a parseable `price` string like
|
|
679
|
+
* `"$29"`) is supplied. Cards where the price isn't machine-readable
|
|
680
|
+
* (e.g. `"Talk to us"`) skip JSON-LD emission unless the consumer passes
|
|
681
|
+
* `priceAmount` explicitly. Pass `noStructuredData` to opt out entirely.
|
|
647
682
|
*/
|
|
648
683
|
interface PricingCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
649
684
|
/** Tier name — e.g., `Pro`, `Team`. */
|
|
@@ -660,12 +695,46 @@ interface PricingCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
660
695
|
action?: ReactNode;
|
|
661
696
|
/** Highlight as the recommended tier. */
|
|
662
697
|
featured?: boolean;
|
|
698
|
+
/**
|
|
699
|
+
* Heading level for the tier name. Default `'h3'` — pricing tables live
|
|
700
|
+
* under a section `h2` on most pricing pages.
|
|
701
|
+
*/
|
|
702
|
+
tierAs?: HeadingLevel;
|
|
703
|
+
/**
|
|
704
|
+
* ISO 4217 currency code (e.g. `'USD'`, `'EUR'`). REQUIRED to emit the
|
|
705
|
+
* `Offer` JSON-LD — without it the script is suppressed.
|
|
706
|
+
*/
|
|
707
|
+
priceCurrency?: string;
|
|
708
|
+
/**
|
|
709
|
+
* Explicit machine-readable price (number). When omitted, parsed from the
|
|
710
|
+
* visible `price` string by stripping non-numeric characters. Pass this
|
|
711
|
+
* directly when `price` is JSX or contains unusual formatting.
|
|
712
|
+
*/
|
|
713
|
+
priceAmount?: number;
|
|
714
|
+
/**
|
|
715
|
+
* schema.org `availability` URL, typically `'https://schema.org/InStock'`.
|
|
716
|
+
*/
|
|
717
|
+
availability?: string;
|
|
718
|
+
/** Optional URL of the tier's product/checkout page. */
|
|
719
|
+
url?: string;
|
|
720
|
+
/** String version of `tier` for the JSON-LD `name`. Required if `tier` is JSX. */
|
|
721
|
+
tierName?: string;
|
|
722
|
+
/** String version of `description` for the JSON-LD `description`. */
|
|
723
|
+
descriptionText?: string;
|
|
724
|
+
/** Opt out of emitting the `Offer` JSON-LD script. */
|
|
725
|
+
noStructuredData?: boolean;
|
|
663
726
|
}
|
|
664
727
|
declare const PricingCard: react.ForwardRefExoticComponent<PricingCardProps & react.RefAttributes<HTMLDivElement>>;
|
|
665
728
|
|
|
666
729
|
/**
|
|
667
730
|
* Testimonial — pull-quote with author + role. Centered for marketing
|
|
668
731
|
* surfaces.
|
|
732
|
+
*
|
|
733
|
+
* Emits a schema.org `Review` JSON-LD entity by default. Pass `rating`
|
|
734
|
+
* (1–5) for `reviewRating` and `itemReviewedName` (plus optional `url`)
|
|
735
|
+
* for `itemReviewed` to make the JSON-LD eligible for Google's Review
|
|
736
|
+
* rich results. Without those it still emits a minimal `Review`. Pass
|
|
737
|
+
* `noStructuredData` to suppress the JSON-LD script entirely.
|
|
669
738
|
*/
|
|
670
739
|
interface TestimonialProps extends Omit<HTMLAttributes<HTMLElement>, 'cite' | 'role'> {
|
|
671
740
|
/** The quoted body. */
|
|
@@ -676,6 +745,23 @@ interface TestimonialProps extends Omit<HTMLAttributes<HTMLElement>, 'cite' | 'r
|
|
|
676
745
|
role?: ReactNode;
|
|
677
746
|
/** Avatar initials or full node. */
|
|
678
747
|
avatar?: ReactNode;
|
|
748
|
+
/**
|
|
749
|
+
* String version of `quote` for the JSON-LD `reviewBody` field. Required
|
|
750
|
+
* when `quote` is JSX — without it the JSON-LD script is suppressed.
|
|
751
|
+
*/
|
|
752
|
+
quoteText?: string;
|
|
753
|
+
/** String version of `author` for the JSON-LD `author.name`. */
|
|
754
|
+
authorName?: string;
|
|
755
|
+
/** String version of `role` for the JSON-LD `author.jobTitle`. */
|
|
756
|
+
authorJobTitle?: string;
|
|
757
|
+
/** Star rating (1–5). When provided, emitted as `reviewRating`. */
|
|
758
|
+
rating?: number;
|
|
759
|
+
/** Name of the thing being endorsed (product / service / company). */
|
|
760
|
+
itemReviewedName?: string;
|
|
761
|
+
/** Optional URL of the thing being endorsed. */
|
|
762
|
+
url?: string;
|
|
763
|
+
/** Opt out of emitting the schema.org `Review` JSON-LD script. */
|
|
764
|
+
noStructuredData?: boolean;
|
|
679
765
|
}
|
|
680
766
|
declare const Testimonial: react.ForwardRefExoticComponent<TestimonialProps & react.RefAttributes<HTMLElement>>;
|
|
681
767
|
|
|
@@ -687,6 +773,11 @@ declare const Testimonial: react.ForwardRefExoticComponent<TestimonialProps & re
|
|
|
687
773
|
*
|
|
688
774
|
* When `onClick` is provided the whole card becomes a button; otherwise it
|
|
689
775
|
* renders as a plain `<div>`.
|
|
776
|
+
*
|
|
777
|
+
* Emits a schema.org `SoftwareApplication` JSON-LD entity by default with
|
|
778
|
+
* `name`, `dateModified` (from `lastSyncedAt`), and consumer-supplied
|
|
779
|
+
* `applicationCategory` / `url` / `softwareVersion`. Skipped when `name` is
|
|
780
|
+
* JSX without a string fallback. Pass `noStructuredData` to suppress.
|
|
690
781
|
*/
|
|
691
782
|
type ConnectorStatus = 'connected' | 'syncing' | 'error' | 'disconnected';
|
|
692
783
|
interface ConnectorCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'onClick'> {
|
|
@@ -712,6 +803,16 @@ interface ConnectorCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title
|
|
|
712
803
|
* `button-name`). Optional otherwise.
|
|
713
804
|
*/
|
|
714
805
|
accessibleName?: string;
|
|
806
|
+
/** String version of `name` for the JSON-LD `name` field. */
|
|
807
|
+
nameText?: string;
|
|
808
|
+
/** schema.org `applicationCategory` (e.g. `'CRM'`, `'DataConnector'`). */
|
|
809
|
+
applicationCategory?: string;
|
|
810
|
+
/** Connector detail URL — emitted as the entity `url`. */
|
|
811
|
+
url?: string;
|
|
812
|
+
/** Optional `softwareVersion` string. */
|
|
813
|
+
softwareVersion?: string;
|
|
814
|
+
/** Opt out of emitting the `SoftwareApplication` JSON-LD script. */
|
|
815
|
+
noStructuredData?: boolean;
|
|
715
816
|
}
|
|
716
817
|
declare const ConnectorCard: react.ForwardRefExoticComponent<ConnectorCardProps & react.RefAttributes<HTMLDivElement>>;
|
|
717
818
|
|
|
@@ -766,6 +867,12 @@ interface NotifRowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
|
766
867
|
body?: ReactNode;
|
|
767
868
|
/** Right-aligned relative time string (e.g. `9:32`, `Mon`). */
|
|
768
869
|
time?: ReactNode;
|
|
870
|
+
/**
|
|
871
|
+
* Machine-readable ISO 8601 string or `Date` for the notification's
|
|
872
|
+
* timestamp. When set, the visible `time` is wrapped in
|
|
873
|
+
* `<time dateTime="…">` so the row is crawlable / AI-readable.
|
|
874
|
+
*/
|
|
875
|
+
dateTime?: string | Date;
|
|
769
876
|
/** Coloring of the unread dot. */
|
|
770
877
|
tone?: NotifTone;
|
|
771
878
|
/** When true, render the unread dot. */
|