@ship-it-ui/shipit 0.0.14 → 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 +111 -5
- package/dist/index.d.ts +111 -5
- package/dist/index.js +190 -29
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
package/dist/index.d.cts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
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';
|
|
5
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
5
|
import { ConnectorName } from '@ship-it-ui/icons';
|
|
7
6
|
|
|
8
7
|
/**
|
|
@@ -403,7 +402,7 @@ interface EntityListRowProps extends Omit<HTMLAttributes<HTMLElement>, 'title' |
|
|
|
403
402
|
* supplied, otherwise `EntityListRowDiv`. Does not forward refs — when you
|
|
404
403
|
* need a typed ref, reach for the specialized component directly.
|
|
405
404
|
*/
|
|
406
|
-
declare function EntityListRow({ type, name, relation, meta, hideGlyph, actions, onClick, className, ...props }: EntityListRowProps):
|
|
405
|
+
declare function EntityListRow({ type, name, relation, meta, hideGlyph, actions, onClick, className, ...props }: EntityListRowProps): react.JSX.Element;
|
|
407
406
|
declare namespace EntityListRow {
|
|
408
407
|
var displayName: string;
|
|
409
408
|
}
|
|
@@ -568,6 +567,12 @@ declare const PathOverlay: react.ForwardRefExoticComponent<PathOverlayProps & re
|
|
|
568
567
|
*/
|
|
569
568
|
interface CTAStripProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
570
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;
|
|
571
576
|
description?: ReactNode;
|
|
572
577
|
actions?: ReactNode;
|
|
573
578
|
}
|
|
@@ -586,12 +591,23 @@ interface FeatureGridProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
586
591
|
features: ReadonlyArray<Feature>;
|
|
587
592
|
/** Columns at the largest breakpoint. Default 3. */
|
|
588
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;
|
|
589
599
|
}
|
|
590
600
|
declare const FeatureGrid: react.ForwardRefExoticComponent<FeatureGridProps & react.RefAttributes<HTMLDivElement>>;
|
|
591
601
|
|
|
592
602
|
/**
|
|
593
603
|
* Footer — site footer with brand on the left and grouped link columns on
|
|
594
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).
|
|
595
611
|
*/
|
|
596
612
|
interface FooterLink {
|
|
597
613
|
label: ReactNode;
|
|
@@ -609,12 +625,18 @@ interface FooterProps extends HTMLAttributes<HTMLElement> {
|
|
|
609
625
|
copyright?: ReactNode;
|
|
610
626
|
/** Right-side closing line (e.g., `made with care · san francisco`). */
|
|
611
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;
|
|
612
633
|
}
|
|
613
634
|
declare const Footer: react.ForwardRefExoticComponent<FooterProps & react.RefAttributes<HTMLElement>>;
|
|
614
635
|
|
|
615
636
|
/**
|
|
616
637
|
* Hero — landing-page top section. Optional eyebrow / pill above the headline,
|
|
617
|
-
* 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.
|
|
618
640
|
*
|
|
619
641
|
* Designed for marketing surfaces only — do not bring this into the app.
|
|
620
642
|
*/
|
|
@@ -623,6 +645,12 @@ interface HeroProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
|
623
645
|
eyebrow?: ReactNode;
|
|
624
646
|
/** Headline. Pass JSX to highlight a phrase (e.g., `<span className="text-accent">…</span>`). */
|
|
625
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;
|
|
626
654
|
/** Subheading. */
|
|
627
655
|
description?: ReactNode;
|
|
628
656
|
/** Action buttons row. */
|
|
@@ -645,6 +673,12 @@ declare const Hero: react.ForwardRefExoticComponent<HeroProps & react.RefAttribu
|
|
|
645
673
|
* background for the "recommended" tier. Use `priceUnit` for per-period
|
|
646
674
|
* suffixes (e.g. `/ user / mo`) so the unit lays out next to the price
|
|
647
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.
|
|
648
682
|
*/
|
|
649
683
|
interface PricingCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
650
684
|
/** Tier name — e.g., `Pro`, `Team`. */
|
|
@@ -661,12 +695,46 @@ interface PricingCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
661
695
|
action?: ReactNode;
|
|
662
696
|
/** Highlight as the recommended tier. */
|
|
663
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;
|
|
664
726
|
}
|
|
665
727
|
declare const PricingCard: react.ForwardRefExoticComponent<PricingCardProps & react.RefAttributes<HTMLDivElement>>;
|
|
666
728
|
|
|
667
729
|
/**
|
|
668
730
|
* Testimonial — pull-quote with author + role. Centered for marketing
|
|
669
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.
|
|
670
738
|
*/
|
|
671
739
|
interface TestimonialProps extends Omit<HTMLAttributes<HTMLElement>, 'cite' | 'role'> {
|
|
672
740
|
/** The quoted body. */
|
|
@@ -677,6 +745,23 @@ interface TestimonialProps extends Omit<HTMLAttributes<HTMLElement>, 'cite' | 'r
|
|
|
677
745
|
role?: ReactNode;
|
|
678
746
|
/** Avatar initials or full node. */
|
|
679
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;
|
|
680
765
|
}
|
|
681
766
|
declare const Testimonial: react.ForwardRefExoticComponent<TestimonialProps & react.RefAttributes<HTMLElement>>;
|
|
682
767
|
|
|
@@ -688,6 +773,11 @@ declare const Testimonial: react.ForwardRefExoticComponent<TestimonialProps & re
|
|
|
688
773
|
*
|
|
689
774
|
* When `onClick` is provided the whole card becomes a button; otherwise it
|
|
690
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.
|
|
691
781
|
*/
|
|
692
782
|
type ConnectorStatus = 'connected' | 'syncing' | 'error' | 'disconnected';
|
|
693
783
|
interface ConnectorCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'onClick'> {
|
|
@@ -713,6 +803,16 @@ interface ConnectorCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title
|
|
|
713
803
|
* `button-name`). Optional otherwise.
|
|
714
804
|
*/
|
|
715
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;
|
|
716
816
|
}
|
|
717
817
|
declare const ConnectorCard: react.ForwardRefExoticComponent<ConnectorCardProps & react.RefAttributes<HTMLDivElement>>;
|
|
718
818
|
|
|
@@ -732,7 +832,7 @@ type EntityTableProps<T extends MinimalEntity> = Omit<DataTableProps<T>, 'rowKey
|
|
|
732
832
|
};
|
|
733
833
|
declare function EntityTable<T extends MinimalEntity>(props: EntityTableProps<T> & {
|
|
734
834
|
ref?: Ref<HTMLTableElement>;
|
|
735
|
-
}):
|
|
835
|
+
}): react.JSX.Element;
|
|
736
836
|
/**
|
|
737
837
|
* Pre-built column for the entity name. Renders the type glyph (in the type's
|
|
738
838
|
* tone) followed by the name in mono. Sorts on `name`.
|
|
@@ -767,6 +867,12 @@ interface NotifRowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
|
767
867
|
body?: ReactNode;
|
|
768
868
|
/** Right-aligned relative time string (e.g. `9:32`, `Mon`). */
|
|
769
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;
|
|
770
876
|
/** Coloring of the unread dot. */
|
|
771
877
|
tone?: NotifTone;
|
|
772
878
|
/** When true, render the unread dot. */
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
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';
|
|
5
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
5
|
import { ConnectorName } from '@ship-it-ui/icons';
|
|
7
6
|
|
|
8
7
|
/**
|
|
@@ -403,7 +402,7 @@ interface EntityListRowProps extends Omit<HTMLAttributes<HTMLElement>, 'title' |
|
|
|
403
402
|
* supplied, otherwise `EntityListRowDiv`. Does not forward refs — when you
|
|
404
403
|
* need a typed ref, reach for the specialized component directly.
|
|
405
404
|
*/
|
|
406
|
-
declare function EntityListRow({ type, name, relation, meta, hideGlyph, actions, onClick, className, ...props }: EntityListRowProps):
|
|
405
|
+
declare function EntityListRow({ type, name, relation, meta, hideGlyph, actions, onClick, className, ...props }: EntityListRowProps): react.JSX.Element;
|
|
407
406
|
declare namespace EntityListRow {
|
|
408
407
|
var displayName: string;
|
|
409
408
|
}
|
|
@@ -568,6 +567,12 @@ declare const PathOverlay: react.ForwardRefExoticComponent<PathOverlayProps & re
|
|
|
568
567
|
*/
|
|
569
568
|
interface CTAStripProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
570
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;
|
|
571
576
|
description?: ReactNode;
|
|
572
577
|
actions?: ReactNode;
|
|
573
578
|
}
|
|
@@ -586,12 +591,23 @@ interface FeatureGridProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
586
591
|
features: ReadonlyArray<Feature>;
|
|
587
592
|
/** Columns at the largest breakpoint. Default 3. */
|
|
588
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;
|
|
589
599
|
}
|
|
590
600
|
declare const FeatureGrid: react.ForwardRefExoticComponent<FeatureGridProps & react.RefAttributes<HTMLDivElement>>;
|
|
591
601
|
|
|
592
602
|
/**
|
|
593
603
|
* Footer — site footer with brand on the left and grouped link columns on
|
|
594
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).
|
|
595
611
|
*/
|
|
596
612
|
interface FooterLink {
|
|
597
613
|
label: ReactNode;
|
|
@@ -609,12 +625,18 @@ interface FooterProps extends HTMLAttributes<HTMLElement> {
|
|
|
609
625
|
copyright?: ReactNode;
|
|
610
626
|
/** Right-side closing line (e.g., `made with care · san francisco`). */
|
|
611
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;
|
|
612
633
|
}
|
|
613
634
|
declare const Footer: react.ForwardRefExoticComponent<FooterProps & react.RefAttributes<HTMLElement>>;
|
|
614
635
|
|
|
615
636
|
/**
|
|
616
637
|
* Hero — landing-page top section. Optional eyebrow / pill above the headline,
|
|
617
|
-
* 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.
|
|
618
640
|
*
|
|
619
641
|
* Designed for marketing surfaces only — do not bring this into the app.
|
|
620
642
|
*/
|
|
@@ -623,6 +645,12 @@ interface HeroProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
|
623
645
|
eyebrow?: ReactNode;
|
|
624
646
|
/** Headline. Pass JSX to highlight a phrase (e.g., `<span className="text-accent">…</span>`). */
|
|
625
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;
|
|
626
654
|
/** Subheading. */
|
|
627
655
|
description?: ReactNode;
|
|
628
656
|
/** Action buttons row. */
|
|
@@ -645,6 +673,12 @@ declare const Hero: react.ForwardRefExoticComponent<HeroProps & react.RefAttribu
|
|
|
645
673
|
* background for the "recommended" tier. Use `priceUnit` for per-period
|
|
646
674
|
* suffixes (e.g. `/ user / mo`) so the unit lays out next to the price
|
|
647
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.
|
|
648
682
|
*/
|
|
649
683
|
interface PricingCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
650
684
|
/** Tier name — e.g., `Pro`, `Team`. */
|
|
@@ -661,12 +695,46 @@ interface PricingCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
661
695
|
action?: ReactNode;
|
|
662
696
|
/** Highlight as the recommended tier. */
|
|
663
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;
|
|
664
726
|
}
|
|
665
727
|
declare const PricingCard: react.ForwardRefExoticComponent<PricingCardProps & react.RefAttributes<HTMLDivElement>>;
|
|
666
728
|
|
|
667
729
|
/**
|
|
668
730
|
* Testimonial — pull-quote with author + role. Centered for marketing
|
|
669
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.
|
|
670
738
|
*/
|
|
671
739
|
interface TestimonialProps extends Omit<HTMLAttributes<HTMLElement>, 'cite' | 'role'> {
|
|
672
740
|
/** The quoted body. */
|
|
@@ -677,6 +745,23 @@ interface TestimonialProps extends Omit<HTMLAttributes<HTMLElement>, 'cite' | 'r
|
|
|
677
745
|
role?: ReactNode;
|
|
678
746
|
/** Avatar initials or full node. */
|
|
679
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;
|
|
680
765
|
}
|
|
681
766
|
declare const Testimonial: react.ForwardRefExoticComponent<TestimonialProps & react.RefAttributes<HTMLElement>>;
|
|
682
767
|
|
|
@@ -688,6 +773,11 @@ declare const Testimonial: react.ForwardRefExoticComponent<TestimonialProps & re
|
|
|
688
773
|
*
|
|
689
774
|
* When `onClick` is provided the whole card becomes a button; otherwise it
|
|
690
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.
|
|
691
781
|
*/
|
|
692
782
|
type ConnectorStatus = 'connected' | 'syncing' | 'error' | 'disconnected';
|
|
693
783
|
interface ConnectorCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'onClick'> {
|
|
@@ -713,6 +803,16 @@ interface ConnectorCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title
|
|
|
713
803
|
* `button-name`). Optional otherwise.
|
|
714
804
|
*/
|
|
715
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;
|
|
716
816
|
}
|
|
717
817
|
declare const ConnectorCard: react.ForwardRefExoticComponent<ConnectorCardProps & react.RefAttributes<HTMLDivElement>>;
|
|
718
818
|
|
|
@@ -732,7 +832,7 @@ type EntityTableProps<T extends MinimalEntity> = Omit<DataTableProps<T>, 'rowKey
|
|
|
732
832
|
};
|
|
733
833
|
declare function EntityTable<T extends MinimalEntity>(props: EntityTableProps<T> & {
|
|
734
834
|
ref?: Ref<HTMLTableElement>;
|
|
735
|
-
}):
|
|
835
|
+
}): react.JSX.Element;
|
|
736
836
|
/**
|
|
737
837
|
* Pre-built column for the entity name. Renders the type glyph (in the type's
|
|
738
838
|
* tone) followed by the name in mono. Sorts on `name`.
|
|
@@ -767,6 +867,12 @@ interface NotifRowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
|
767
867
|
body?: ReactNode;
|
|
768
868
|
/** Right-aligned relative time string (e.g. `9:32`, `Mon`). */
|
|
769
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;
|
|
770
876
|
/** Coloring of the unread dot. */
|
|
771
877
|
tone?: NotifTone;
|
|
772
878
|
/** When true, render the unread dot. */
|