@vivoa/plugin-sdk 0.7.2 → 0.8.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.
@@ -1695,6 +1695,12 @@ interface CardBlock {
1695
1695
  type: ContentBlockType.Card;
1696
1696
  title?: string;
1697
1697
  description?: string;
1698
+ /**
1699
+ * Picture shown before the title, for a card that heads a record (a
1700
+ * product). `null` = the record has no picture: the host shows a
1701
+ * placeholder. Absent = no picture slot.
1702
+ */
1703
+ image?: string | null;
1698
1704
  blocks: ContentBlock[];
1699
1705
  }
1700
1706
  /**
@@ -1712,6 +1718,8 @@ interface StatBlock {
1712
1718
  estimate?: boolean;
1713
1719
  /** Makes the stat a link to more detail on the same page (e.g. what the KPI means). */
1714
1720
  params?: PageParams;
1721
+ /** Small trend line inside the stat, oldest first; `null` = a gap, never a zero. */
1722
+ trend?: Array<number | null>;
1715
1723
  }
1716
1724
  /**
1717
1725
  * A cell with more than its text: a second line, a thumbnail, a tone. Still
@@ -1775,23 +1783,84 @@ interface TableBlock {
1775
1783
  sort?: TableSort;
1776
1784
  pagination?: TablePagination;
1777
1785
  }
1786
+ /** How a chart value is written in axes and tooltips. */
1787
+ type ChartFormat = 'number' | 'currency' | 'percent';
1778
1788
  interface ChartSeries {
1779
1789
  name: string;
1780
1790
  /** One value per label; `null` = no observation (a gap, not a zero). */
1781
1791
  data: Array<number | null>;
1792
+ /** Shown in the tooltip only, never drawn (keeps the chart on ONE axis). */
1793
+ tooltipOnly?: boolean;
1794
+ /** Overrides the chart's `format` for this series. */
1795
+ format?: ChartFormat;
1796
+ }
1797
+ /** A horizontal line at a value (an average, a median, the previous period). */
1798
+ interface ChartReference {
1799
+ value: number;
1800
+ label: string;
1801
+ }
1802
+ /** A note pinned to one label (a sold-out day, an averaged day). */
1803
+ interface ChartMarker {
1804
+ /** One of `labels`. */
1805
+ label: string;
1806
+ text: string;
1807
+ tone?: MessageVariant;
1808
+ }
1809
+ /** A point of a `scatter`: one entity placed by two measures. */
1810
+ interface ChartPoint {
1811
+ x: number;
1812
+ y: number;
1813
+ label: string;
1814
+ /** Second line in the tooltip. */
1815
+ caption?: string;
1816
+ /** Clicking the point navigates (in-page, push). */
1817
+ params?: PageParams;
1818
+ /** Drawn in the de-emphasis gray (e.g. a thin sample). */
1819
+ muted?: boolean;
1820
+ }
1821
+ interface ChartAxis {
1822
+ label: string;
1823
+ format?: ChartFormat;
1824
+ /** `log` spreads a long tail (a few huge values among many small): ticks at powers of ten. Default `linear`. */
1825
+ scale?: 'linear' | 'log';
1826
+ }
1827
+ /** Splits a scatter in four at (x, y); names go top-left, top-right, bottom-left, bottom-right. */
1828
+ interface ChartQuadrants {
1829
+ x: number;
1830
+ y: number;
1831
+ names?: [string, string, string, string];
1782
1832
  }
1783
1833
  /**
1784
- * Simple chart: `labels` is the category axis, every series aligns to it.
1785
- * `hbar` = horizontal bars, one row per label (best for long category names).
1834
+ * Chart: `labels` is the category axis, every series aligns to it.
1835
+ * `hbar` = horizontal bars, one row per label (best for long names). `scatter`
1836
+ * ignores labels/series and plots `points`. Everything past the first four
1837
+ * fields is optional: an older host draws the basics and ignores the rest.
1786
1838
  */
1787
1839
  interface ChartBlock {
1788
1840
  type: ContentBlockType.Chart;
1789
- kind: 'bar' | 'line' | 'hbar';
1841
+ kind: 'bar' | 'line' | 'hbar' | 'area' | 'scatter';
1790
1842
  title?: string;
1843
+ /** One line that says what to see in the chart; the plugin computes it. */
1844
+ summary?: string;
1791
1845
  labels: string[];
1792
1846
  series: ChartSeries[];
1793
1847
  unit?: string;
1848
+ format?: ChartFormat;
1849
+ /** Currency code for `format: 'currency'`. */
1850
+ currency?: string;
1794
1851
  emptyText?: string;
1852
+ /** Aligned with `labels`: a label with params is clickable (in-page, push). */
1853
+ labelParams?: Array<PageParams | null>;
1854
+ /** Index of the label to emphasise; the others turn gray. */
1855
+ highlight?: number;
1856
+ references?: ChartReference[];
1857
+ markers?: ChartMarker[];
1858
+ /** Stack the series (bar, hbar). */
1859
+ stacked?: boolean;
1860
+ points?: ChartPoint[];
1861
+ xAxis?: ChartAxis;
1862
+ yAxis?: ChartAxis;
1863
+ quadrants?: ChartQuadrants;
1795
1864
  }
1796
1865
  interface FilterOption {
1797
1866
  value: string;
@@ -1842,10 +1911,18 @@ interface ToolbarBlock {
1842
1911
  type: ContentBlockType.Toolbar;
1843
1912
  blocks: ContentBlock[];
1844
1913
  }
1914
+ /**
1915
+ * How a grid shares the width. `even` (default): `columns` equal columns.
1916
+ * `main-aside`: the first block is a wide main column and the rest stack in a
1917
+ * narrow side column (a record page: charts left, facts right); `columns` is
1918
+ * ignored.
1919
+ */
1920
+ type GridLayout = 'even' | 'main-aside';
1845
1921
  /** Child blocks in `columns` responsive columns (one column on narrow screens). */
1846
1922
  interface GridBlock {
1847
1923
  type: ContentBlockType.Grid;
1848
1924
  columns: 2 | 3 | 4;
1925
+ layout?: GridLayout;
1849
1926
  blocks: ContentBlock[];
1850
1927
  }
1851
1928
  type ContentBlock = TextBlock | BannerBlock | BadgeBlock | KeyValueBlock | CopyFieldBlock | LinkBlock | DividerBlock | ActionBlock | CardBlock | StatBlock | TableBlock | ChartBlock | FilterBlock | GridBlock | SearchBlock | DetailsBlock | ToolbarBlock;
@@ -2011,6 +2088,13 @@ interface SourcedProduct {
2011
2088
  * it (see `SupplierListing.catalogProductId`). `null` = not linked yet.
2012
2089
  */
2013
2090
  catalogProductId: string | null;
2091
+ /**
2092
+ * `true` when the product is priced under what its supplier charges TODAY
2093
+ * (cost + supplier fee), and the owner has not accepted selling that way.
2094
+ * The host owns the margin rules, so a plugin shows this instead of redoing
2095
+ * the math. Absent = this host does not say.
2096
+ */
2097
+ belowFloor?: boolean;
2014
2098
  }
2015
2099
  /**
2016
2100
  * Read-only view of the store catalog, scoped by the host to the tenant of the
@@ -2046,4 +2130,4 @@ interface HostApi {
2046
2130
  registerCapability<T = unknown>(cap: Capability<T>): void;
2047
2131
  }
2048
2132
 
2049
- export { type DomainEventName as $, AUTHOR_HANDLE_RE as A, type BannerBlock$1 as B, ConfigScope as C, type CarrierSettlement as D, type CatalogReader as E, FieldType as F, type ChartBlock as G, type ChartSeries as H, type CodConfig as I, type CodFeeConfig as J, CodFeeType as K, type CodPurchaseTrigger as L, type ConditionalBlock as M, type ConditionalEquals as N, type ConditionalWhen as O, type PluginConfigField as P, type ConfigurablePlugin as Q, ContentActionVariant as R, type SelectOption as S, type ContentBlock as T, ContentBlockType as U, type CopyFieldBlock$1 as V, type CreateShipmentParams as W, type DetailsBlock as X, type DispatchContext as Y, type DividerBlock$1 as Z, type DomainEventHandler as _, type AccordionBlock as a, type PluginActionResult as a$, type EmbedInit as a0, type FieldBlock as a1, type FieldOption as a2, FieldVariant as a3, type FilterBlock as a4, type FilterOption as a5, GatewayEnvironment as a6, type GatewayFeeConfig as a7, type GatewayStaticConfig as a8, type GridBlock as a9, type KeyValueRow$1 as aA, LayoutMode as aB, type LinkBlock as aC, type Logger as aD, type MarkdownBlock as aE, MessageVariant as aF, type PageParams as aG, type PaymentCard as aH, type PaymentConnect as aI, type PaymentConnectExchange as aJ, type PaymentConnectParams as aK, type PaymentCustomer as aL, type PaymentGatewayCode as aM, type PaymentMerchantPricing as aN, type PaymentPayload as aO, type PaymentPluginConfig as aP, type PaymentRenderMode as aQ, type PaymentResult as aR, type PaymentSessionFees as aS, type PaymentSessionPayload as aT, type PaymentSessionResult as aU, type PaymentSettlementFees as aV, type PaymentVerifyPayload as aW, type PaymentWebhookSettlement as aX, type PlaceSupplierOrderInput as aY, type Plugin as aZ, type PluginActionContext as a_, type GroupBlock as aa, type HostApi as ab, type HttpClient as ac, type HttpRequest as ad, type HttpResponse as ae, type IAnalyticsPlugin as af, type IInvoicingPlugin as ag, type IPaymentPlugin as ah, type IPlugin as ai, type IShippingPlugin as aj, type ISuppliersPlugin as ak, type IUiPlugin as al, type InlineRowBlock as am, InvoiceDocumentType as an, type InvoiceLine as ao, type InvoiceMoney as ap, type InvoiceParty as aq, type InvoiceRequest as ar, type InvoiceResult as as, InvoiceStatus as at, type InvoiceTax as au, type InvoicingDefaultConfig as av, InvoicingFeature as aw, type InvoicingPluginConfig as ax, type InvoicingStaticConfig as ay, type KeyValueBlock$1 as az, type AccordionSection as b, type UiContributionsValidation as b$, type PluginAuthor as b0, type PluginConfigFieldDependency as b1, type PluginFactory as b2, type PluginManifest as b3, type RepeaterBlock as b4, RepeaterSource as b5, type SearchBlock as b6, type SecretStore as b7, type SequenceStore as b8, type SetupAction as b9, type SupplierOrderAddressLevel as bA, type SupplierOrderCustomer as bB, type SupplierOrderLine as bC, type SupplierOrderResult as bD, type SupplierOrderStatus as bE, type SupplierShipTo as bF, type SupplierShippingQuote as bG, type SupplierShippingQuoteInput as bH, type SupplierStock as bI, type SuppliersDefaultConfig as bJ, SuppliersFeature as bK, type SuppliersPluginConfig as bL, type SuppliersStaticConfig as bM, type TabItem as bN, type TableBlock as bO, type TableCell as bP, type TableColumn as bQ, type TableColumnSort as bR, type TablePagination as bS, type TableRichCell as bT, type TableSort as bU, type TabsBlock as bV, type ToggleBlock as bW, type ToolbarBlock as bX, type TrackingEvent as bY, TransactionStatus as bZ, type UiContribution as b_, type SetupLayout as ba, type SetupLayoutValidation as bb, type SetupStep as bc, type ShipmentAddress as bd, type ShipmentParcel as be, type ShipmentResult as bf, type ShippingDefaultConfig as bg, ShippingFeature as bh, type ShippingPluginConfig as bi, type ShippingQuote as bj, type ShippingQuoteParams as bk, type ShippingStaticConfig as bl, type SourcedProduct as bm, type StatBlock as bn, StepStatusFrom as bo, type StepStatusFromAction as bp, type StepStatusFromFields as bq, type StepStatusSource as br, type StorageBroker as bs, type SupplierCatalogQuery as bt, type SupplierFulfillmentEvent as bu, type SupplierListing as bv, type SupplierListingAttribute as bw, type SupplierListingPage as bx, type SupplierListingVariant as by, type SupplierMoney as bz, type ActionBlock$1 as c, UiSlot as c0, type UiSlotContext as c1, type VoidInvoiceInput as c2, type WebhookSignatureResult as c3, analyticsCapability as c4, capability as c5, crossValidateSetupLayout as c6, definePlugin as c7, invoicingCapability as c8, isConfigurablePlugin as c9, isPluginFactory as ca, minorUnitDigits as cb, paymentCapability as cc, shippingCapability as cd, suppliersCapability as ce, toMajorUnits as cf, toMinorUnits as cg, uiCapability as ch, validatePluginAuthor as ci, validateSetupLayout as cj, validateUiContributions as ck, ActionVariant as d, type AnalyticsActionSource as e, type AnalyticsConsent as f, type AnalyticsEvent as g, type AnalyticsEventName as h, AnalyticsFeature as i, type AnalyticsItem as j, type AnalyticsMoney as k, type AnalyticsPluginConfig as l, type AnalyticsPurchasePolicy as m, type AnalyticsStaticConfig as n, type AnalyticsUserData as o, type AnalyticsUtm as p, type AuthorValidation as q, type Block as r, type BlockBase as s, BlockType as t, type CalloutBlock as u, type Capability as v, CapabilityKind as w, type CardBlock$1 as x, type CardBrand as y, type CarrierServiceMode as z };
2133
+ export { type CopyFieldBlock$1 as $, AUTHOR_HANDLE_RE as A, type BannerBlock$1 as B, ConfigScope as C, type CarrierSettlement as D, type CatalogReader as E, FieldType as F, type ChartAxis as G, type ChartBlock as H, type ChartFormat as I, type ChartMarker as J, type ChartPoint as K, type ChartQuadrants as L, type ChartReference as M, type ChartSeries as N, type CodConfig as O, type PluginConfigField as P, type CodFeeConfig as Q, CodFeeType as R, type SelectOption as S, type CodPurchaseTrigger as T, type ConditionalBlock as U, type ConditionalEquals as V, type ConditionalWhen as W, type ConfigurablePlugin as X, ContentActionVariant as Y, type ContentBlock as Z, ContentBlockType as _, type AccordionBlock as a, type PaymentSessionResult as a$, type CreateShipmentParams as a0, type DetailsBlock as a1, type DispatchContext as a2, type DividerBlock$1 as a3, type DomainEventHandler as a4, type DomainEventName as a5, type EmbedInit as a6, type FieldBlock as a7, type FieldOption as a8, FieldVariant as a9, InvoiceStatus as aA, type InvoiceTax as aB, type InvoicingDefaultConfig as aC, InvoicingFeature as aD, type InvoicingPluginConfig as aE, type InvoicingStaticConfig as aF, type KeyValueBlock$1 as aG, type KeyValueRow$1 as aH, LayoutMode as aI, type LinkBlock as aJ, type Logger as aK, type MarkdownBlock as aL, MessageVariant as aM, type PageParams as aN, type PaymentCard as aO, type PaymentConnect as aP, type PaymentConnectExchange as aQ, type PaymentConnectParams as aR, type PaymentCustomer as aS, type PaymentGatewayCode as aT, type PaymentMerchantPricing as aU, type PaymentPayload as aV, type PaymentPluginConfig as aW, type PaymentRenderMode as aX, type PaymentResult as aY, type PaymentSessionFees as aZ, type PaymentSessionPayload as a_, type FilterBlock as aa, type FilterOption as ab, GatewayEnvironment as ac, type GatewayFeeConfig as ad, type GatewayStaticConfig as ae, type GridBlock as af, type GridLayout as ag, type GroupBlock as ah, type HostApi as ai, type HttpClient as aj, type HttpRequest as ak, type HttpResponse as al, type IAnalyticsPlugin as am, type IInvoicingPlugin as an, type IPaymentPlugin as ao, type IPlugin as ap, type IShippingPlugin as aq, type ISuppliersPlugin as ar, type IUiPlugin as as, type InlineRowBlock as at, InvoiceDocumentType as au, type InvoiceLine as av, type InvoiceMoney as aw, type InvoiceParty as ax, type InvoiceRequest as ay, type InvoiceResult as az, type AccordionSection as b, type TableSort as b$, type PaymentSettlementFees as b0, type PaymentVerifyPayload as b1, type PaymentWebhookSettlement as b2, type PlaceSupplierOrderInput as b3, type Plugin as b4, type PluginActionContext as b5, type PluginActionResult as b6, type PluginAuthor as b7, type PluginConfigFieldDependency as b8, type PluginFactory as b9, type SupplierCatalogQuery as bA, type SupplierFulfillmentEvent as bB, type SupplierListing as bC, type SupplierListingAttribute as bD, type SupplierListingPage as bE, type SupplierListingVariant as bF, type SupplierMoney as bG, type SupplierOrderAddressLevel as bH, type SupplierOrderCustomer as bI, type SupplierOrderLine as bJ, type SupplierOrderResult as bK, type SupplierOrderStatus as bL, type SupplierShipTo as bM, type SupplierShippingQuote as bN, type SupplierShippingQuoteInput as bO, type SupplierStock as bP, type SuppliersDefaultConfig as bQ, SuppliersFeature as bR, type SuppliersPluginConfig as bS, type SuppliersStaticConfig as bT, type TabItem as bU, type TableBlock as bV, type TableCell as bW, type TableColumn as bX, type TableColumnSort as bY, type TablePagination as bZ, type TableRichCell as b_, type PluginManifest as ba, type RepeaterBlock as bb, RepeaterSource as bc, type SearchBlock as bd, type SecretStore as be, type SequenceStore as bf, type SetupAction as bg, type SetupLayout as bh, type SetupLayoutValidation as bi, type SetupStep as bj, type ShipmentAddress as bk, type ShipmentParcel as bl, type ShipmentResult as bm, type ShippingDefaultConfig as bn, ShippingFeature as bo, type ShippingPluginConfig as bp, type ShippingQuote as bq, type ShippingQuoteParams as br, type ShippingStaticConfig as bs, type SourcedProduct as bt, type StatBlock as bu, StepStatusFrom as bv, type StepStatusFromAction as bw, type StepStatusFromFields as bx, type StepStatusSource as by, type StorageBroker as bz, type ActionBlock$1 as c, type TabsBlock as c0, type ToggleBlock as c1, type ToolbarBlock as c2, type TrackingEvent as c3, TransactionStatus as c4, type UiContribution as c5, type UiContributionsValidation as c6, UiSlot as c7, type UiSlotContext as c8, type VoidInvoiceInput as c9, type WebhookSignatureResult as ca, analyticsCapability as cb, capability as cc, crossValidateSetupLayout as cd, definePlugin as ce, invoicingCapability as cf, isConfigurablePlugin as cg, isPluginFactory as ch, minorUnitDigits as ci, paymentCapability as cj, shippingCapability as ck, suppliersCapability as cl, toMajorUnits as cm, toMinorUnits as cn, uiCapability as co, validatePluginAuthor as cp, validateSetupLayout as cq, validateUiContributions as cr, ActionVariant as d, type AnalyticsActionSource as e, type AnalyticsConsent as f, type AnalyticsEvent as g, type AnalyticsEventName as h, AnalyticsFeature as i, type AnalyticsItem as j, type AnalyticsMoney as k, type AnalyticsPluginConfig as l, type AnalyticsPurchasePolicy as m, type AnalyticsStaticConfig as n, type AnalyticsUserData as o, type AnalyticsUtm as p, type AuthorValidation as q, type Block as r, type BlockBase as s, BlockType as t, type CalloutBlock as u, type Capability as v, CapabilityKind as w, type CardBlock$1 as x, type CardBrand as y, type CarrierServiceMode as z };
@@ -1695,6 +1695,12 @@ interface CardBlock {
1695
1695
  type: ContentBlockType.Card;
1696
1696
  title?: string;
1697
1697
  description?: string;
1698
+ /**
1699
+ * Picture shown before the title, for a card that heads a record (a
1700
+ * product). `null` = the record has no picture: the host shows a
1701
+ * placeholder. Absent = no picture slot.
1702
+ */
1703
+ image?: string | null;
1698
1704
  blocks: ContentBlock[];
1699
1705
  }
1700
1706
  /**
@@ -1712,6 +1718,8 @@ interface StatBlock {
1712
1718
  estimate?: boolean;
1713
1719
  /** Makes the stat a link to more detail on the same page (e.g. what the KPI means). */
1714
1720
  params?: PageParams;
1721
+ /** Small trend line inside the stat, oldest first; `null` = a gap, never a zero. */
1722
+ trend?: Array<number | null>;
1715
1723
  }
1716
1724
  /**
1717
1725
  * A cell with more than its text: a second line, a thumbnail, a tone. Still
@@ -1775,23 +1783,84 @@ interface TableBlock {
1775
1783
  sort?: TableSort;
1776
1784
  pagination?: TablePagination;
1777
1785
  }
1786
+ /** How a chart value is written in axes and tooltips. */
1787
+ type ChartFormat = 'number' | 'currency' | 'percent';
1778
1788
  interface ChartSeries {
1779
1789
  name: string;
1780
1790
  /** One value per label; `null` = no observation (a gap, not a zero). */
1781
1791
  data: Array<number | null>;
1792
+ /** Shown in the tooltip only, never drawn (keeps the chart on ONE axis). */
1793
+ tooltipOnly?: boolean;
1794
+ /** Overrides the chart's `format` for this series. */
1795
+ format?: ChartFormat;
1796
+ }
1797
+ /** A horizontal line at a value (an average, a median, the previous period). */
1798
+ interface ChartReference {
1799
+ value: number;
1800
+ label: string;
1801
+ }
1802
+ /** A note pinned to one label (a sold-out day, an averaged day). */
1803
+ interface ChartMarker {
1804
+ /** One of `labels`. */
1805
+ label: string;
1806
+ text: string;
1807
+ tone?: MessageVariant;
1808
+ }
1809
+ /** A point of a `scatter`: one entity placed by two measures. */
1810
+ interface ChartPoint {
1811
+ x: number;
1812
+ y: number;
1813
+ label: string;
1814
+ /** Second line in the tooltip. */
1815
+ caption?: string;
1816
+ /** Clicking the point navigates (in-page, push). */
1817
+ params?: PageParams;
1818
+ /** Drawn in the de-emphasis gray (e.g. a thin sample). */
1819
+ muted?: boolean;
1820
+ }
1821
+ interface ChartAxis {
1822
+ label: string;
1823
+ format?: ChartFormat;
1824
+ /** `log` spreads a long tail (a few huge values among many small): ticks at powers of ten. Default `linear`. */
1825
+ scale?: 'linear' | 'log';
1826
+ }
1827
+ /** Splits a scatter in four at (x, y); names go top-left, top-right, bottom-left, bottom-right. */
1828
+ interface ChartQuadrants {
1829
+ x: number;
1830
+ y: number;
1831
+ names?: [string, string, string, string];
1782
1832
  }
1783
1833
  /**
1784
- * Simple chart: `labels` is the category axis, every series aligns to it.
1785
- * `hbar` = horizontal bars, one row per label (best for long category names).
1834
+ * Chart: `labels` is the category axis, every series aligns to it.
1835
+ * `hbar` = horizontal bars, one row per label (best for long names). `scatter`
1836
+ * ignores labels/series and plots `points`. Everything past the first four
1837
+ * fields is optional: an older host draws the basics and ignores the rest.
1786
1838
  */
1787
1839
  interface ChartBlock {
1788
1840
  type: ContentBlockType.Chart;
1789
- kind: 'bar' | 'line' | 'hbar';
1841
+ kind: 'bar' | 'line' | 'hbar' | 'area' | 'scatter';
1790
1842
  title?: string;
1843
+ /** One line that says what to see in the chart; the plugin computes it. */
1844
+ summary?: string;
1791
1845
  labels: string[];
1792
1846
  series: ChartSeries[];
1793
1847
  unit?: string;
1848
+ format?: ChartFormat;
1849
+ /** Currency code for `format: 'currency'`. */
1850
+ currency?: string;
1794
1851
  emptyText?: string;
1852
+ /** Aligned with `labels`: a label with params is clickable (in-page, push). */
1853
+ labelParams?: Array<PageParams | null>;
1854
+ /** Index of the label to emphasise; the others turn gray. */
1855
+ highlight?: number;
1856
+ references?: ChartReference[];
1857
+ markers?: ChartMarker[];
1858
+ /** Stack the series (bar, hbar). */
1859
+ stacked?: boolean;
1860
+ points?: ChartPoint[];
1861
+ xAxis?: ChartAxis;
1862
+ yAxis?: ChartAxis;
1863
+ quadrants?: ChartQuadrants;
1795
1864
  }
1796
1865
  interface FilterOption {
1797
1866
  value: string;
@@ -1842,10 +1911,18 @@ interface ToolbarBlock {
1842
1911
  type: ContentBlockType.Toolbar;
1843
1912
  blocks: ContentBlock[];
1844
1913
  }
1914
+ /**
1915
+ * How a grid shares the width. `even` (default): `columns` equal columns.
1916
+ * `main-aside`: the first block is a wide main column and the rest stack in a
1917
+ * narrow side column (a record page: charts left, facts right); `columns` is
1918
+ * ignored.
1919
+ */
1920
+ type GridLayout = 'even' | 'main-aside';
1845
1921
  /** Child blocks in `columns` responsive columns (one column on narrow screens). */
1846
1922
  interface GridBlock {
1847
1923
  type: ContentBlockType.Grid;
1848
1924
  columns: 2 | 3 | 4;
1925
+ layout?: GridLayout;
1849
1926
  blocks: ContentBlock[];
1850
1927
  }
1851
1928
  type ContentBlock = TextBlock | BannerBlock | BadgeBlock | KeyValueBlock | CopyFieldBlock | LinkBlock | DividerBlock | ActionBlock | CardBlock | StatBlock | TableBlock | ChartBlock | FilterBlock | GridBlock | SearchBlock | DetailsBlock | ToolbarBlock;
@@ -2011,6 +2088,13 @@ interface SourcedProduct {
2011
2088
  * it (see `SupplierListing.catalogProductId`). `null` = not linked yet.
2012
2089
  */
2013
2090
  catalogProductId: string | null;
2091
+ /**
2092
+ * `true` when the product is priced under what its supplier charges TODAY
2093
+ * (cost + supplier fee), and the owner has not accepted selling that way.
2094
+ * The host owns the margin rules, so a plugin shows this instead of redoing
2095
+ * the math. Absent = this host does not say.
2096
+ */
2097
+ belowFloor?: boolean;
2014
2098
  }
2015
2099
  /**
2016
2100
  * Read-only view of the store catalog, scoped by the host to the tenant of the
@@ -2046,4 +2130,4 @@ interface HostApi {
2046
2130
  registerCapability<T = unknown>(cap: Capability<T>): void;
2047
2131
  }
2048
2132
 
2049
- export { type DomainEventName as $, AUTHOR_HANDLE_RE as A, type BannerBlock$1 as B, ConfigScope as C, type CarrierSettlement as D, type CatalogReader as E, FieldType as F, type ChartBlock as G, type ChartSeries as H, type CodConfig as I, type CodFeeConfig as J, CodFeeType as K, type CodPurchaseTrigger as L, type ConditionalBlock as M, type ConditionalEquals as N, type ConditionalWhen as O, type PluginConfigField as P, type ConfigurablePlugin as Q, ContentActionVariant as R, type SelectOption as S, type ContentBlock as T, ContentBlockType as U, type CopyFieldBlock$1 as V, type CreateShipmentParams as W, type DetailsBlock as X, type DispatchContext as Y, type DividerBlock$1 as Z, type DomainEventHandler as _, type AccordionBlock as a, type PluginActionResult as a$, type EmbedInit as a0, type FieldBlock as a1, type FieldOption as a2, FieldVariant as a3, type FilterBlock as a4, type FilterOption as a5, GatewayEnvironment as a6, type GatewayFeeConfig as a7, type GatewayStaticConfig as a8, type GridBlock as a9, type KeyValueRow$1 as aA, LayoutMode as aB, type LinkBlock as aC, type Logger as aD, type MarkdownBlock as aE, MessageVariant as aF, type PageParams as aG, type PaymentCard as aH, type PaymentConnect as aI, type PaymentConnectExchange as aJ, type PaymentConnectParams as aK, type PaymentCustomer as aL, type PaymentGatewayCode as aM, type PaymentMerchantPricing as aN, type PaymentPayload as aO, type PaymentPluginConfig as aP, type PaymentRenderMode as aQ, type PaymentResult as aR, type PaymentSessionFees as aS, type PaymentSessionPayload as aT, type PaymentSessionResult as aU, type PaymentSettlementFees as aV, type PaymentVerifyPayload as aW, type PaymentWebhookSettlement as aX, type PlaceSupplierOrderInput as aY, type Plugin as aZ, type PluginActionContext as a_, type GroupBlock as aa, type HostApi as ab, type HttpClient as ac, type HttpRequest as ad, type HttpResponse as ae, type IAnalyticsPlugin as af, type IInvoicingPlugin as ag, type IPaymentPlugin as ah, type IPlugin as ai, type IShippingPlugin as aj, type ISuppliersPlugin as ak, type IUiPlugin as al, type InlineRowBlock as am, InvoiceDocumentType as an, type InvoiceLine as ao, type InvoiceMoney as ap, type InvoiceParty as aq, type InvoiceRequest as ar, type InvoiceResult as as, InvoiceStatus as at, type InvoiceTax as au, type InvoicingDefaultConfig as av, InvoicingFeature as aw, type InvoicingPluginConfig as ax, type InvoicingStaticConfig as ay, type KeyValueBlock$1 as az, type AccordionSection as b, type UiContributionsValidation as b$, type PluginAuthor as b0, type PluginConfigFieldDependency as b1, type PluginFactory as b2, type PluginManifest as b3, type RepeaterBlock as b4, RepeaterSource as b5, type SearchBlock as b6, type SecretStore as b7, type SequenceStore as b8, type SetupAction as b9, type SupplierOrderAddressLevel as bA, type SupplierOrderCustomer as bB, type SupplierOrderLine as bC, type SupplierOrderResult as bD, type SupplierOrderStatus as bE, type SupplierShipTo as bF, type SupplierShippingQuote as bG, type SupplierShippingQuoteInput as bH, type SupplierStock as bI, type SuppliersDefaultConfig as bJ, SuppliersFeature as bK, type SuppliersPluginConfig as bL, type SuppliersStaticConfig as bM, type TabItem as bN, type TableBlock as bO, type TableCell as bP, type TableColumn as bQ, type TableColumnSort as bR, type TablePagination as bS, type TableRichCell as bT, type TableSort as bU, type TabsBlock as bV, type ToggleBlock as bW, type ToolbarBlock as bX, type TrackingEvent as bY, TransactionStatus as bZ, type UiContribution as b_, type SetupLayout as ba, type SetupLayoutValidation as bb, type SetupStep as bc, type ShipmentAddress as bd, type ShipmentParcel as be, type ShipmentResult as bf, type ShippingDefaultConfig as bg, ShippingFeature as bh, type ShippingPluginConfig as bi, type ShippingQuote as bj, type ShippingQuoteParams as bk, type ShippingStaticConfig as bl, type SourcedProduct as bm, type StatBlock as bn, StepStatusFrom as bo, type StepStatusFromAction as bp, type StepStatusFromFields as bq, type StepStatusSource as br, type StorageBroker as bs, type SupplierCatalogQuery as bt, type SupplierFulfillmentEvent as bu, type SupplierListing as bv, type SupplierListingAttribute as bw, type SupplierListingPage as bx, type SupplierListingVariant as by, type SupplierMoney as bz, type ActionBlock$1 as c, UiSlot as c0, type UiSlotContext as c1, type VoidInvoiceInput as c2, type WebhookSignatureResult as c3, analyticsCapability as c4, capability as c5, crossValidateSetupLayout as c6, definePlugin as c7, invoicingCapability as c8, isConfigurablePlugin as c9, isPluginFactory as ca, minorUnitDigits as cb, paymentCapability as cc, shippingCapability as cd, suppliersCapability as ce, toMajorUnits as cf, toMinorUnits as cg, uiCapability as ch, validatePluginAuthor as ci, validateSetupLayout as cj, validateUiContributions as ck, ActionVariant as d, type AnalyticsActionSource as e, type AnalyticsConsent as f, type AnalyticsEvent as g, type AnalyticsEventName as h, AnalyticsFeature as i, type AnalyticsItem as j, type AnalyticsMoney as k, type AnalyticsPluginConfig as l, type AnalyticsPurchasePolicy as m, type AnalyticsStaticConfig as n, type AnalyticsUserData as o, type AnalyticsUtm as p, type AuthorValidation as q, type Block as r, type BlockBase as s, BlockType as t, type CalloutBlock as u, type Capability as v, CapabilityKind as w, type CardBlock$1 as x, type CardBrand as y, type CarrierServiceMode as z };
2133
+ export { type CopyFieldBlock$1 as $, AUTHOR_HANDLE_RE as A, type BannerBlock$1 as B, ConfigScope as C, type CarrierSettlement as D, type CatalogReader as E, FieldType as F, type ChartAxis as G, type ChartBlock as H, type ChartFormat as I, type ChartMarker as J, type ChartPoint as K, type ChartQuadrants as L, type ChartReference as M, type ChartSeries as N, type CodConfig as O, type PluginConfigField as P, type CodFeeConfig as Q, CodFeeType as R, type SelectOption as S, type CodPurchaseTrigger as T, type ConditionalBlock as U, type ConditionalEquals as V, type ConditionalWhen as W, type ConfigurablePlugin as X, ContentActionVariant as Y, type ContentBlock as Z, ContentBlockType as _, type AccordionBlock as a, type PaymentSessionResult as a$, type CreateShipmentParams as a0, type DetailsBlock as a1, type DispatchContext as a2, type DividerBlock$1 as a3, type DomainEventHandler as a4, type DomainEventName as a5, type EmbedInit as a6, type FieldBlock as a7, type FieldOption as a8, FieldVariant as a9, InvoiceStatus as aA, type InvoiceTax as aB, type InvoicingDefaultConfig as aC, InvoicingFeature as aD, type InvoicingPluginConfig as aE, type InvoicingStaticConfig as aF, type KeyValueBlock$1 as aG, type KeyValueRow$1 as aH, LayoutMode as aI, type LinkBlock as aJ, type Logger as aK, type MarkdownBlock as aL, MessageVariant as aM, type PageParams as aN, type PaymentCard as aO, type PaymentConnect as aP, type PaymentConnectExchange as aQ, type PaymentConnectParams as aR, type PaymentCustomer as aS, type PaymentGatewayCode as aT, type PaymentMerchantPricing as aU, type PaymentPayload as aV, type PaymentPluginConfig as aW, type PaymentRenderMode as aX, type PaymentResult as aY, type PaymentSessionFees as aZ, type PaymentSessionPayload as a_, type FilterBlock as aa, type FilterOption as ab, GatewayEnvironment as ac, type GatewayFeeConfig as ad, type GatewayStaticConfig as ae, type GridBlock as af, type GridLayout as ag, type GroupBlock as ah, type HostApi as ai, type HttpClient as aj, type HttpRequest as ak, type HttpResponse as al, type IAnalyticsPlugin as am, type IInvoicingPlugin as an, type IPaymentPlugin as ao, type IPlugin as ap, type IShippingPlugin as aq, type ISuppliersPlugin as ar, type IUiPlugin as as, type InlineRowBlock as at, InvoiceDocumentType as au, type InvoiceLine as av, type InvoiceMoney as aw, type InvoiceParty as ax, type InvoiceRequest as ay, type InvoiceResult as az, type AccordionSection as b, type TableSort as b$, type PaymentSettlementFees as b0, type PaymentVerifyPayload as b1, type PaymentWebhookSettlement as b2, type PlaceSupplierOrderInput as b3, type Plugin as b4, type PluginActionContext as b5, type PluginActionResult as b6, type PluginAuthor as b7, type PluginConfigFieldDependency as b8, type PluginFactory as b9, type SupplierCatalogQuery as bA, type SupplierFulfillmentEvent as bB, type SupplierListing as bC, type SupplierListingAttribute as bD, type SupplierListingPage as bE, type SupplierListingVariant as bF, type SupplierMoney as bG, type SupplierOrderAddressLevel as bH, type SupplierOrderCustomer as bI, type SupplierOrderLine as bJ, type SupplierOrderResult as bK, type SupplierOrderStatus as bL, type SupplierShipTo as bM, type SupplierShippingQuote as bN, type SupplierShippingQuoteInput as bO, type SupplierStock as bP, type SuppliersDefaultConfig as bQ, SuppliersFeature as bR, type SuppliersPluginConfig as bS, type SuppliersStaticConfig as bT, type TabItem as bU, type TableBlock as bV, type TableCell as bW, type TableColumn as bX, type TableColumnSort as bY, type TablePagination as bZ, type TableRichCell as b_, type PluginManifest as ba, type RepeaterBlock as bb, RepeaterSource as bc, type SearchBlock as bd, type SecretStore as be, type SequenceStore as bf, type SetupAction as bg, type SetupLayout as bh, type SetupLayoutValidation as bi, type SetupStep as bj, type ShipmentAddress as bk, type ShipmentParcel as bl, type ShipmentResult as bm, type ShippingDefaultConfig as bn, ShippingFeature as bo, type ShippingPluginConfig as bp, type ShippingQuote as bq, type ShippingQuoteParams as br, type ShippingStaticConfig as bs, type SourcedProduct as bt, type StatBlock as bu, StepStatusFrom as bv, type StepStatusFromAction as bw, type StepStatusFromFields as bx, type StepStatusSource as by, type StorageBroker as bz, type ActionBlock$1 as c, type TabsBlock as c0, type ToggleBlock as c1, type ToolbarBlock as c2, type TrackingEvent as c3, TransactionStatus as c4, type UiContribution as c5, type UiContributionsValidation as c6, UiSlot as c7, type UiSlotContext as c8, type VoidInvoiceInput as c9, type WebhookSignatureResult as ca, analyticsCapability as cb, capability as cc, crossValidateSetupLayout as cd, definePlugin as ce, invoicingCapability as cf, isConfigurablePlugin as cg, isPluginFactory as ch, minorUnitDigits as ci, paymentCapability as cj, shippingCapability as ck, suppliersCapability as cl, toMajorUnits as cm, toMinorUnits as cn, uiCapability as co, validatePluginAuthor as cp, validateSetupLayout as cq, validateUiContributions as cr, ActionVariant as d, type AnalyticsActionSource as e, type AnalyticsConsent as f, type AnalyticsEvent as g, type AnalyticsEventName as h, AnalyticsFeature as i, type AnalyticsItem as j, type AnalyticsMoney as k, type AnalyticsPluginConfig as l, type AnalyticsPurchasePolicy as m, type AnalyticsStaticConfig as n, type AnalyticsUserData as o, type AnalyticsUtm as p, type AuthorValidation as q, type Block as r, type BlockBase as s, BlockType as t, type CalloutBlock as u, type Capability as v, CapabilityKind as w, type CardBlock$1 as x, type CardBrand as y, type CarrierServiceMode as z };
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { F as FieldType, C as ConfigScope, S as SelectOption, P as PluginConfigField } from './host-api-C5EsRbsA.mjs';
2
- export { A as AUTHOR_HANDLE_RE, a as AccordionBlock, b as AccordionSection, c as ActionBlock, d as ActionVariant, e as AnalyticsActionSource, f as AnalyticsConsent, g as AnalyticsEvent, h as AnalyticsEventName, i as AnalyticsFeature, j as AnalyticsItem, k as AnalyticsMoney, l as AnalyticsPluginConfig, m as AnalyticsPurchasePolicy, n as AnalyticsStaticConfig, o as AnalyticsUserData, p as AnalyticsUtm, q as AuthorValidation, B as BannerBlock, r as Block, s as BlockBase, t as BlockType, u as CalloutBlock, v as Capability, w as CapabilityKind, x as CardBlock, y as CardBrand, z as CarrierServiceMode, D as CarrierSettlement, E as CatalogReader, G as ChartBlock, H as ChartSeries, I as CodConfig, J as CodFeeConfig, K as CodFeeType, L as CodPurchaseTrigger, M as ConditionalBlock, N as ConditionalEquals, O as ConditionalWhen, Q as ConfigurablePlugin, R as ContentActionVariant, T as ContentBlock, U as ContentBlockType, V as CopyFieldBlock, W as CreateShipmentParams, X as DetailsBlock, Y as DispatchContext, Z as DividerBlock, _ as DomainEventHandler, $ as DomainEventName, a0 as EmbedInit, a1 as FieldBlock, a2 as FieldOption, a3 as FieldVariant, a4 as FilterBlock, a5 as FilterOption, a6 as GatewayEnvironment, a7 as GatewayFeeConfig, a8 as GatewayStaticConfig, a9 as GridBlock, aa as GroupBlock, ab as HostApi, ac as HttpClient, ad as HttpRequest, ae as HttpResponse, af as IAnalyticsPlugin, ag as IInvoicingPlugin, ah as IPaymentPlugin, ai as IPlugin, aj as IShippingPlugin, ak as ISuppliersPlugin, al as IUiPlugin, am as InlineRowBlock, an as InvoiceDocumentType, ao as InvoiceLine, ap as InvoiceMoney, aq as InvoiceParty, ar as InvoiceRequest, as as InvoiceResult, at as InvoiceStatus, au as InvoiceTax, av as InvoicingDefaultConfig, aw as InvoicingFeature, ax as InvoicingPluginConfig, ay as InvoicingStaticConfig, az as KeyValueBlock, aA as KeyValueRow, aB as LayoutMode, aC as LinkBlock, aD as Logger, aE as MarkdownBlock, aF as MessageVariant, aG as PageParams, aH as PaymentCard, aI as PaymentConnect, aJ as PaymentConnectExchange, aK as PaymentConnectParams, aL as PaymentCustomer, aM as PaymentGatewayCode, aN as PaymentMerchantPricing, aO as PaymentPayload, aP as PaymentPluginConfig, aQ as PaymentRenderMode, aR as PaymentResult, aS as PaymentSessionFees, aT as PaymentSessionPayload, aU as PaymentSessionResult, aV as PaymentSettlementFees, aW as PaymentVerifyPayload, aX as PaymentWebhookSettlement, aY as PlaceSupplierOrderInput, aZ as Plugin, a_ as PluginActionContext, a$ as PluginActionResult, b0 as PluginAuthor, b1 as PluginConfigFieldDependency, b2 as PluginFactory, b3 as PluginManifest, b4 as RepeaterBlock, b5 as RepeaterSource, b6 as SearchBlock, b7 as SecretStore, b8 as SequenceStore, b9 as SetupAction, ba as SetupLayout, bb as SetupLayoutValidation, bc as SetupStep, bd as ShipmentAddress, be as ShipmentParcel, bf as ShipmentResult, bg as ShippingDefaultConfig, bh as ShippingFeature, bi as ShippingPluginConfig, bj as ShippingQuote, bk as ShippingQuoteParams, bl as ShippingStaticConfig, bm as SourcedProduct, bn as StatBlock, bo as StepStatusFrom, bp as StepStatusFromAction, bq as StepStatusFromFields, br as StepStatusSource, bs as StorageBroker, bt as SupplierCatalogQuery, bu as SupplierFulfillmentEvent, bv as SupplierListing, bw as SupplierListingAttribute, bx as SupplierListingPage, by as SupplierListingVariant, bz as SupplierMoney, bA as SupplierOrderAddressLevel, bB as SupplierOrderCustomer, bC as SupplierOrderLine, bD as SupplierOrderResult, bE as SupplierOrderStatus, bF as SupplierShipTo, bG as SupplierShippingQuote, bH as SupplierShippingQuoteInput, bI as SupplierStock, bJ as SuppliersDefaultConfig, bK as SuppliersFeature, bL as SuppliersPluginConfig, bM as SuppliersStaticConfig, bN as TabItem, bO as TableBlock, bP as TableCell, bQ as TableColumn, bR as TableColumnSort, bS as TablePagination, bT as TableRichCell, bU as TableSort, bV as TabsBlock, bW as ToggleBlock, bX as ToolbarBlock, bY as TrackingEvent, bZ as TransactionStatus, b_ as UiContribution, b$ as UiContributionsValidation, c0 as UiSlot, c1 as UiSlotContext, c2 as VoidInvoiceInput, c3 as WebhookSignatureResult, c4 as analyticsCapability, c5 as capability, c6 as crossValidateSetupLayout, c7 as definePlugin, c8 as invoicingCapability, c9 as isConfigurablePlugin, ca as isPluginFactory, cb as minorUnitDigits, cc as paymentCapability, cd as shippingCapability, ce as suppliersCapability, cf as toMajorUnits, cg as toMinorUnits, ch as uiCapability, ci as validatePluginAuthor, cj as validateSetupLayout, ck as validateUiContributions } from './host-api-C5EsRbsA.mjs';
1
+ import { F as FieldType, C as ConfigScope, S as SelectOption, P as PluginConfigField } from './host-api-D9g2w27d.mjs';
2
+ export { A as AUTHOR_HANDLE_RE, a as AccordionBlock, b as AccordionSection, c as ActionBlock, d as ActionVariant, e as AnalyticsActionSource, f as AnalyticsConsent, g as AnalyticsEvent, h as AnalyticsEventName, i as AnalyticsFeature, j as AnalyticsItem, k as AnalyticsMoney, l as AnalyticsPluginConfig, m as AnalyticsPurchasePolicy, n as AnalyticsStaticConfig, o as AnalyticsUserData, p as AnalyticsUtm, q as AuthorValidation, B as BannerBlock, r as Block, s as BlockBase, t as BlockType, u as CalloutBlock, v as Capability, w as CapabilityKind, x as CardBlock, y as CardBrand, z as CarrierServiceMode, D as CarrierSettlement, E as CatalogReader, G as ChartAxis, H as ChartBlock, I as ChartFormat, J as ChartMarker, K as ChartPoint, L as ChartQuadrants, M as ChartReference, N as ChartSeries, O as CodConfig, Q as CodFeeConfig, R as CodFeeType, T as CodPurchaseTrigger, U as ConditionalBlock, V as ConditionalEquals, W as ConditionalWhen, X as ConfigurablePlugin, Y as ContentActionVariant, Z as ContentBlock, _ as ContentBlockType, $ as CopyFieldBlock, a0 as CreateShipmentParams, a1 as DetailsBlock, a2 as DispatchContext, a3 as DividerBlock, a4 as DomainEventHandler, a5 as DomainEventName, a6 as EmbedInit, a7 as FieldBlock, a8 as FieldOption, a9 as FieldVariant, aa as FilterBlock, ab as FilterOption, ac as GatewayEnvironment, ad as GatewayFeeConfig, ae as GatewayStaticConfig, af as GridBlock, ag as GridLayout, ah as GroupBlock, ai as HostApi, aj as HttpClient, ak as HttpRequest, al as HttpResponse, am as IAnalyticsPlugin, an as IInvoicingPlugin, ao as IPaymentPlugin, ap as IPlugin, aq as IShippingPlugin, ar as ISuppliersPlugin, as as IUiPlugin, at as InlineRowBlock, au as InvoiceDocumentType, av as InvoiceLine, aw as InvoiceMoney, ax as InvoiceParty, ay as InvoiceRequest, az as InvoiceResult, aA as InvoiceStatus, aB as InvoiceTax, aC as InvoicingDefaultConfig, aD as InvoicingFeature, aE as InvoicingPluginConfig, aF as InvoicingStaticConfig, aG as KeyValueBlock, aH as KeyValueRow, aI as LayoutMode, aJ as LinkBlock, aK as Logger, aL as MarkdownBlock, aM as MessageVariant, aN as PageParams, aO as PaymentCard, aP as PaymentConnect, aQ as PaymentConnectExchange, aR as PaymentConnectParams, aS as PaymentCustomer, aT as PaymentGatewayCode, aU as PaymentMerchantPricing, aV as PaymentPayload, aW as PaymentPluginConfig, aX as PaymentRenderMode, aY as PaymentResult, aZ as PaymentSessionFees, a_ as PaymentSessionPayload, a$ as PaymentSessionResult, b0 as PaymentSettlementFees, b1 as PaymentVerifyPayload, b2 as PaymentWebhookSettlement, b3 as PlaceSupplierOrderInput, b4 as Plugin, b5 as PluginActionContext, b6 as PluginActionResult, b7 as PluginAuthor, b8 as PluginConfigFieldDependency, b9 as PluginFactory, ba as PluginManifest, bb as RepeaterBlock, bc as RepeaterSource, bd as SearchBlock, be as SecretStore, bf as SequenceStore, bg as SetupAction, bh as SetupLayout, bi as SetupLayoutValidation, bj as SetupStep, bk as ShipmentAddress, bl as ShipmentParcel, bm as ShipmentResult, bn as ShippingDefaultConfig, bo as ShippingFeature, bp as ShippingPluginConfig, bq as ShippingQuote, br as ShippingQuoteParams, bs as ShippingStaticConfig, bt as SourcedProduct, bu as StatBlock, bv as StepStatusFrom, bw as StepStatusFromAction, bx as StepStatusFromFields, by as StepStatusSource, bz as StorageBroker, bA as SupplierCatalogQuery, bB as SupplierFulfillmentEvent, bC as SupplierListing, bD as SupplierListingAttribute, bE as SupplierListingPage, bF as SupplierListingVariant, bG as SupplierMoney, bH as SupplierOrderAddressLevel, bI as SupplierOrderCustomer, bJ as SupplierOrderLine, bK as SupplierOrderResult, bL as SupplierOrderStatus, bM as SupplierShipTo, bN as SupplierShippingQuote, bO as SupplierShippingQuoteInput, bP as SupplierStock, bQ as SuppliersDefaultConfig, bR as SuppliersFeature, bS as SuppliersPluginConfig, bT as SuppliersStaticConfig, bU as TabItem, bV as TableBlock, bW as TableCell, bX as TableColumn, bY as TableColumnSort, bZ as TablePagination, b_ as TableRichCell, b$ as TableSort, c0 as TabsBlock, c1 as ToggleBlock, c2 as ToolbarBlock, c3 as TrackingEvent, c4 as TransactionStatus, c5 as UiContribution, c6 as UiContributionsValidation, c7 as UiSlot, c8 as UiSlotContext, c9 as VoidInvoiceInput, ca as WebhookSignatureResult, cb as analyticsCapability, cc as capability, cd as crossValidateSetupLayout, ce as definePlugin, cf as invoicingCapability, cg as isConfigurablePlugin, ch as isPluginFactory, ci as minorUnitDigits, cj as paymentCapability, ck as shippingCapability, cl as suppliersCapability, cm as toMajorUnits, cn as toMinorUnits, co as uiCapability, cp as validatePluginAuthor, cq as validateSetupLayout, cr as validateUiContributions } from './host-api-D9g2w27d.mjs';
3
3
 
4
4
  declare const PAYMENT_PLUGIN_TOKEN: "PAYMENT_PLUGINS";
5
5
  declare const SHIPPING_PLUGIN_TOKEN: "SHIPPING_PLUGINS";
@@ -74,7 +74,7 @@ declare function checkPermissions(required: string[], grantedRaw: string[]): Per
74
74
  * - MINOR: additive (new optional fields, new tokens) — backwards compatible.
75
75
  * - PATCH: docs/fixes with zero shape changes.
76
76
  */
77
- declare const SDK_VERSION = "0.7.2";
77
+ declare const SDK_VERSION = "0.8.0";
78
78
  /**
79
79
  * True when a plugin built against `pluginSdkVersion` can run on a host that
80
80
  * ships `hostSdkVersion`. Rule: same major, host minor >= plugin minor.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { F as FieldType, C as ConfigScope, S as SelectOption, P as PluginConfigField } from './host-api-C5EsRbsA.js';
2
- export { A as AUTHOR_HANDLE_RE, a as AccordionBlock, b as AccordionSection, c as ActionBlock, d as ActionVariant, e as AnalyticsActionSource, f as AnalyticsConsent, g as AnalyticsEvent, h as AnalyticsEventName, i as AnalyticsFeature, j as AnalyticsItem, k as AnalyticsMoney, l as AnalyticsPluginConfig, m as AnalyticsPurchasePolicy, n as AnalyticsStaticConfig, o as AnalyticsUserData, p as AnalyticsUtm, q as AuthorValidation, B as BannerBlock, r as Block, s as BlockBase, t as BlockType, u as CalloutBlock, v as Capability, w as CapabilityKind, x as CardBlock, y as CardBrand, z as CarrierServiceMode, D as CarrierSettlement, E as CatalogReader, G as ChartBlock, H as ChartSeries, I as CodConfig, J as CodFeeConfig, K as CodFeeType, L as CodPurchaseTrigger, M as ConditionalBlock, N as ConditionalEquals, O as ConditionalWhen, Q as ConfigurablePlugin, R as ContentActionVariant, T as ContentBlock, U as ContentBlockType, V as CopyFieldBlock, W as CreateShipmentParams, X as DetailsBlock, Y as DispatchContext, Z as DividerBlock, _ as DomainEventHandler, $ as DomainEventName, a0 as EmbedInit, a1 as FieldBlock, a2 as FieldOption, a3 as FieldVariant, a4 as FilterBlock, a5 as FilterOption, a6 as GatewayEnvironment, a7 as GatewayFeeConfig, a8 as GatewayStaticConfig, a9 as GridBlock, aa as GroupBlock, ab as HostApi, ac as HttpClient, ad as HttpRequest, ae as HttpResponse, af as IAnalyticsPlugin, ag as IInvoicingPlugin, ah as IPaymentPlugin, ai as IPlugin, aj as IShippingPlugin, ak as ISuppliersPlugin, al as IUiPlugin, am as InlineRowBlock, an as InvoiceDocumentType, ao as InvoiceLine, ap as InvoiceMoney, aq as InvoiceParty, ar as InvoiceRequest, as as InvoiceResult, at as InvoiceStatus, au as InvoiceTax, av as InvoicingDefaultConfig, aw as InvoicingFeature, ax as InvoicingPluginConfig, ay as InvoicingStaticConfig, az as KeyValueBlock, aA as KeyValueRow, aB as LayoutMode, aC as LinkBlock, aD as Logger, aE as MarkdownBlock, aF as MessageVariant, aG as PageParams, aH as PaymentCard, aI as PaymentConnect, aJ as PaymentConnectExchange, aK as PaymentConnectParams, aL as PaymentCustomer, aM as PaymentGatewayCode, aN as PaymentMerchantPricing, aO as PaymentPayload, aP as PaymentPluginConfig, aQ as PaymentRenderMode, aR as PaymentResult, aS as PaymentSessionFees, aT as PaymentSessionPayload, aU as PaymentSessionResult, aV as PaymentSettlementFees, aW as PaymentVerifyPayload, aX as PaymentWebhookSettlement, aY as PlaceSupplierOrderInput, aZ as Plugin, a_ as PluginActionContext, a$ as PluginActionResult, b0 as PluginAuthor, b1 as PluginConfigFieldDependency, b2 as PluginFactory, b3 as PluginManifest, b4 as RepeaterBlock, b5 as RepeaterSource, b6 as SearchBlock, b7 as SecretStore, b8 as SequenceStore, b9 as SetupAction, ba as SetupLayout, bb as SetupLayoutValidation, bc as SetupStep, bd as ShipmentAddress, be as ShipmentParcel, bf as ShipmentResult, bg as ShippingDefaultConfig, bh as ShippingFeature, bi as ShippingPluginConfig, bj as ShippingQuote, bk as ShippingQuoteParams, bl as ShippingStaticConfig, bm as SourcedProduct, bn as StatBlock, bo as StepStatusFrom, bp as StepStatusFromAction, bq as StepStatusFromFields, br as StepStatusSource, bs as StorageBroker, bt as SupplierCatalogQuery, bu as SupplierFulfillmentEvent, bv as SupplierListing, bw as SupplierListingAttribute, bx as SupplierListingPage, by as SupplierListingVariant, bz as SupplierMoney, bA as SupplierOrderAddressLevel, bB as SupplierOrderCustomer, bC as SupplierOrderLine, bD as SupplierOrderResult, bE as SupplierOrderStatus, bF as SupplierShipTo, bG as SupplierShippingQuote, bH as SupplierShippingQuoteInput, bI as SupplierStock, bJ as SuppliersDefaultConfig, bK as SuppliersFeature, bL as SuppliersPluginConfig, bM as SuppliersStaticConfig, bN as TabItem, bO as TableBlock, bP as TableCell, bQ as TableColumn, bR as TableColumnSort, bS as TablePagination, bT as TableRichCell, bU as TableSort, bV as TabsBlock, bW as ToggleBlock, bX as ToolbarBlock, bY as TrackingEvent, bZ as TransactionStatus, b_ as UiContribution, b$ as UiContributionsValidation, c0 as UiSlot, c1 as UiSlotContext, c2 as VoidInvoiceInput, c3 as WebhookSignatureResult, c4 as analyticsCapability, c5 as capability, c6 as crossValidateSetupLayout, c7 as definePlugin, c8 as invoicingCapability, c9 as isConfigurablePlugin, ca as isPluginFactory, cb as minorUnitDigits, cc as paymentCapability, cd as shippingCapability, ce as suppliersCapability, cf as toMajorUnits, cg as toMinorUnits, ch as uiCapability, ci as validatePluginAuthor, cj as validateSetupLayout, ck as validateUiContributions } from './host-api-C5EsRbsA.js';
1
+ import { F as FieldType, C as ConfigScope, S as SelectOption, P as PluginConfigField } from './host-api-D9g2w27d.js';
2
+ export { A as AUTHOR_HANDLE_RE, a as AccordionBlock, b as AccordionSection, c as ActionBlock, d as ActionVariant, e as AnalyticsActionSource, f as AnalyticsConsent, g as AnalyticsEvent, h as AnalyticsEventName, i as AnalyticsFeature, j as AnalyticsItem, k as AnalyticsMoney, l as AnalyticsPluginConfig, m as AnalyticsPurchasePolicy, n as AnalyticsStaticConfig, o as AnalyticsUserData, p as AnalyticsUtm, q as AuthorValidation, B as BannerBlock, r as Block, s as BlockBase, t as BlockType, u as CalloutBlock, v as Capability, w as CapabilityKind, x as CardBlock, y as CardBrand, z as CarrierServiceMode, D as CarrierSettlement, E as CatalogReader, G as ChartAxis, H as ChartBlock, I as ChartFormat, J as ChartMarker, K as ChartPoint, L as ChartQuadrants, M as ChartReference, N as ChartSeries, O as CodConfig, Q as CodFeeConfig, R as CodFeeType, T as CodPurchaseTrigger, U as ConditionalBlock, V as ConditionalEquals, W as ConditionalWhen, X as ConfigurablePlugin, Y as ContentActionVariant, Z as ContentBlock, _ as ContentBlockType, $ as CopyFieldBlock, a0 as CreateShipmentParams, a1 as DetailsBlock, a2 as DispatchContext, a3 as DividerBlock, a4 as DomainEventHandler, a5 as DomainEventName, a6 as EmbedInit, a7 as FieldBlock, a8 as FieldOption, a9 as FieldVariant, aa as FilterBlock, ab as FilterOption, ac as GatewayEnvironment, ad as GatewayFeeConfig, ae as GatewayStaticConfig, af as GridBlock, ag as GridLayout, ah as GroupBlock, ai as HostApi, aj as HttpClient, ak as HttpRequest, al as HttpResponse, am as IAnalyticsPlugin, an as IInvoicingPlugin, ao as IPaymentPlugin, ap as IPlugin, aq as IShippingPlugin, ar as ISuppliersPlugin, as as IUiPlugin, at as InlineRowBlock, au as InvoiceDocumentType, av as InvoiceLine, aw as InvoiceMoney, ax as InvoiceParty, ay as InvoiceRequest, az as InvoiceResult, aA as InvoiceStatus, aB as InvoiceTax, aC as InvoicingDefaultConfig, aD as InvoicingFeature, aE as InvoicingPluginConfig, aF as InvoicingStaticConfig, aG as KeyValueBlock, aH as KeyValueRow, aI as LayoutMode, aJ as LinkBlock, aK as Logger, aL as MarkdownBlock, aM as MessageVariant, aN as PageParams, aO as PaymentCard, aP as PaymentConnect, aQ as PaymentConnectExchange, aR as PaymentConnectParams, aS as PaymentCustomer, aT as PaymentGatewayCode, aU as PaymentMerchantPricing, aV as PaymentPayload, aW as PaymentPluginConfig, aX as PaymentRenderMode, aY as PaymentResult, aZ as PaymentSessionFees, a_ as PaymentSessionPayload, a$ as PaymentSessionResult, b0 as PaymentSettlementFees, b1 as PaymentVerifyPayload, b2 as PaymentWebhookSettlement, b3 as PlaceSupplierOrderInput, b4 as Plugin, b5 as PluginActionContext, b6 as PluginActionResult, b7 as PluginAuthor, b8 as PluginConfigFieldDependency, b9 as PluginFactory, ba as PluginManifest, bb as RepeaterBlock, bc as RepeaterSource, bd as SearchBlock, be as SecretStore, bf as SequenceStore, bg as SetupAction, bh as SetupLayout, bi as SetupLayoutValidation, bj as SetupStep, bk as ShipmentAddress, bl as ShipmentParcel, bm as ShipmentResult, bn as ShippingDefaultConfig, bo as ShippingFeature, bp as ShippingPluginConfig, bq as ShippingQuote, br as ShippingQuoteParams, bs as ShippingStaticConfig, bt as SourcedProduct, bu as StatBlock, bv as StepStatusFrom, bw as StepStatusFromAction, bx as StepStatusFromFields, by as StepStatusSource, bz as StorageBroker, bA as SupplierCatalogQuery, bB as SupplierFulfillmentEvent, bC as SupplierListing, bD as SupplierListingAttribute, bE as SupplierListingPage, bF as SupplierListingVariant, bG as SupplierMoney, bH as SupplierOrderAddressLevel, bI as SupplierOrderCustomer, bJ as SupplierOrderLine, bK as SupplierOrderResult, bL as SupplierOrderStatus, bM as SupplierShipTo, bN as SupplierShippingQuote, bO as SupplierShippingQuoteInput, bP as SupplierStock, bQ as SuppliersDefaultConfig, bR as SuppliersFeature, bS as SuppliersPluginConfig, bT as SuppliersStaticConfig, bU as TabItem, bV as TableBlock, bW as TableCell, bX as TableColumn, bY as TableColumnSort, bZ as TablePagination, b_ as TableRichCell, b$ as TableSort, c0 as TabsBlock, c1 as ToggleBlock, c2 as ToolbarBlock, c3 as TrackingEvent, c4 as TransactionStatus, c5 as UiContribution, c6 as UiContributionsValidation, c7 as UiSlot, c8 as UiSlotContext, c9 as VoidInvoiceInput, ca as WebhookSignatureResult, cb as analyticsCapability, cc as capability, cd as crossValidateSetupLayout, ce as definePlugin, cf as invoicingCapability, cg as isConfigurablePlugin, ch as isPluginFactory, ci as minorUnitDigits, cj as paymentCapability, ck as shippingCapability, cl as suppliersCapability, cm as toMajorUnits, cn as toMinorUnits, co as uiCapability, cp as validatePluginAuthor, cq as validateSetupLayout, cr as validateUiContributions } from './host-api-D9g2w27d.js';
3
3
 
4
4
  declare const PAYMENT_PLUGIN_TOKEN: "PAYMENT_PLUGINS";
5
5
  declare const SHIPPING_PLUGIN_TOKEN: "SHIPPING_PLUGINS";
@@ -74,7 +74,7 @@ declare function checkPermissions(required: string[], grantedRaw: string[]): Per
74
74
  * - MINOR: additive (new optional fields, new tokens) — backwards compatible.
75
75
  * - PATCH: docs/fixes with zero shape changes.
76
76
  */
77
- declare const SDK_VERSION = "0.7.2";
77
+ declare const SDK_VERSION = "0.8.0";
78
78
  /**
79
79
  * True when a plugin built against `pluginSdkVersion` can run on a host that
80
80
  * ships `hostSdkVersion`. Rule: same major, host minor >= plugin minor.
package/dist/index.js CHANGED
@@ -660,7 +660,8 @@ var sStatBlock = (0, import_superstruct3.object)({
660
660
  hint: (0, import_superstruct3.optional)((0, import_superstruct3.string)()),
661
661
  variant: (0, import_superstruct3.optional)(sMessageVariant2),
662
662
  estimate: (0, import_superstruct3.optional)((0, import_superstruct3.boolean)()),
663
- params: (0, import_superstruct3.optional)(sPageParams)
663
+ params: (0, import_superstruct3.optional)(sPageParams),
664
+ trend: (0, import_superstruct3.optional)((0, import_superstruct3.array)((0, import_superstruct3.union)([(0, import_superstruct3.number)(), (0, import_superstruct3.literal)(null)])))
664
665
  });
665
666
  var sTableBlock = (0, import_superstruct3.object)({
666
667
  type: (0, import_superstruct3.literal)("table" /* Table */),
@@ -698,19 +699,58 @@ var sTableBlock = (0, import_superstruct3.object)({
698
699
  })
699
700
  )
700
701
  });
702
+ var sChartFormat = (0, import_superstruct3.enums)(["number", "currency", "percent"]);
703
+ var sChartAxis = (0, import_superstruct3.object)({
704
+ label: (0, import_superstruct3.string)(),
705
+ format: (0, import_superstruct3.optional)(sChartFormat),
706
+ scale: (0, import_superstruct3.optional)((0, import_superstruct3.enums)(["linear", "log"]))
707
+ });
701
708
  var sChartBlock = (0, import_superstruct3.object)({
702
709
  type: (0, import_superstruct3.literal)("chart" /* Chart */),
703
- kind: (0, import_superstruct3.enums)(["bar", "line", "hbar"]),
710
+ kind: (0, import_superstruct3.enums)(["bar", "line", "hbar", "area", "scatter"]),
704
711
  title: (0, import_superstruct3.optional)((0, import_superstruct3.string)()),
712
+ summary: (0, import_superstruct3.optional)((0, import_superstruct3.string)()),
705
713
  labels: (0, import_superstruct3.array)((0, import_superstruct3.string)()),
706
714
  series: (0, import_superstruct3.array)(
707
715
  (0, import_superstruct3.object)({
708
716
  name: (0, import_superstruct3.string)(),
709
- data: (0, import_superstruct3.array)((0, import_superstruct3.union)([(0, import_superstruct3.number)(), (0, import_superstruct3.literal)(null)]))
717
+ data: (0, import_superstruct3.array)((0, import_superstruct3.union)([(0, import_superstruct3.number)(), (0, import_superstruct3.literal)(null)])),
718
+ tooltipOnly: (0, import_superstruct3.optional)((0, import_superstruct3.boolean)()),
719
+ format: (0, import_superstruct3.optional)(sChartFormat)
710
720
  })
711
721
  ),
712
722
  unit: (0, import_superstruct3.optional)((0, import_superstruct3.string)()),
713
- emptyText: (0, import_superstruct3.optional)((0, import_superstruct3.string)())
723
+ format: (0, import_superstruct3.optional)(sChartFormat),
724
+ currency: (0, import_superstruct3.optional)((0, import_superstruct3.string)()),
725
+ emptyText: (0, import_superstruct3.optional)((0, import_superstruct3.string)()),
726
+ labelParams: (0, import_superstruct3.optional)((0, import_superstruct3.array)((0, import_superstruct3.union)([sPageParams, (0, import_superstruct3.literal)(null)]))),
727
+ highlight: (0, import_superstruct3.optional)((0, import_superstruct3.number)()),
728
+ references: (0, import_superstruct3.optional)((0, import_superstruct3.array)((0, import_superstruct3.object)({ value: (0, import_superstruct3.number)(), label: (0, import_superstruct3.string)() }))),
729
+ markers: (0, import_superstruct3.optional)(
730
+ (0, import_superstruct3.array)((0, import_superstruct3.object)({ label: (0, import_superstruct3.string)(), text: (0, import_superstruct3.string)(), tone: (0, import_superstruct3.optional)(sMessageVariant2) }))
731
+ ),
732
+ stacked: (0, import_superstruct3.optional)((0, import_superstruct3.boolean)()),
733
+ points: (0, import_superstruct3.optional)(
734
+ (0, import_superstruct3.array)(
735
+ (0, import_superstruct3.object)({
736
+ x: (0, import_superstruct3.number)(),
737
+ y: (0, import_superstruct3.number)(),
738
+ label: (0, import_superstruct3.string)(),
739
+ caption: (0, import_superstruct3.optional)((0, import_superstruct3.string)()),
740
+ params: (0, import_superstruct3.optional)(sPageParams),
741
+ muted: (0, import_superstruct3.optional)((0, import_superstruct3.boolean)())
742
+ })
743
+ )
744
+ ),
745
+ xAxis: (0, import_superstruct3.optional)(sChartAxis),
746
+ yAxis: (0, import_superstruct3.optional)(sChartAxis),
747
+ quadrants: (0, import_superstruct3.optional)(
748
+ (0, import_superstruct3.object)({
749
+ x: (0, import_superstruct3.number)(),
750
+ y: (0, import_superstruct3.number)(),
751
+ names: (0, import_superstruct3.optional)((0, import_superstruct3.tuple)([(0, import_superstruct3.string)(), (0, import_superstruct3.string)(), (0, import_superstruct3.string)(), (0, import_superstruct3.string)()]))
752
+ })
753
+ )
714
754
  });
715
755
  var sFilterBlock = (0, import_superstruct3.object)({
716
756
  type: (0, import_superstruct3.literal)("filter" /* Filter */),
@@ -736,6 +776,7 @@ var sToolbarBlock = (0, import_superstruct3.object)({
736
776
  var sGridBlock = (0, import_superstruct3.object)({
737
777
  type: (0, import_superstruct3.literal)("grid" /* Grid */),
738
778
  columns: (0, import_superstruct3.union)([(0, import_superstruct3.literal)(2), (0, import_superstruct3.literal)(3), (0, import_superstruct3.literal)(4)]),
779
+ layout: (0, import_superstruct3.optional)((0, import_superstruct3.enums)(["even", "main-aside"])),
739
780
  blocks: (0, import_superstruct3.array)((0, import_superstruct3.lazy)(() => sContentBlock))
740
781
  });
741
782
  var sDetailsBlock = (0, import_superstruct3.object)({
@@ -748,6 +789,7 @@ var sCardBlock2 = (0, import_superstruct3.object)({
748
789
  type: (0, import_superstruct3.literal)("card" /* Card */),
749
790
  title: (0, import_superstruct3.optional)((0, import_superstruct3.string)()),
750
791
  description: (0, import_superstruct3.optional)((0, import_superstruct3.string)()),
792
+ image: (0, import_superstruct3.optional)((0, import_superstruct3.union)([(0, import_superstruct3.string)(), (0, import_superstruct3.literal)(null)])),
751
793
  blocks: (0, import_superstruct3.array)((0, import_superstruct3.lazy)(() => sContentBlock))
752
794
  });
753
795
  var sContentBlock = (0, import_superstruct3.union)([
@@ -868,7 +910,7 @@ function checkPermissions(required, grantedRaw) {
868
910
  }
869
911
 
870
912
  // src/version.ts
871
- var SDK_VERSION = "0.7.2";
913
+ var SDK_VERSION = "0.8.0";
872
914
  function isSdkCompatible(pluginSdkVersion, hostSdkVersion) {
873
915
  const parse = (v) => {
874
916
  const m = /^(\d+)\.(\d+)\.(\d+)/.exec(v);
package/dist/index.mjs CHANGED
@@ -520,6 +520,7 @@ import {
520
520
  record,
521
521
  size,
522
522
  string as string3,
523
+ tuple,
523
524
  union as union2,
524
525
  validate as validate3
525
526
  } from "superstruct";
@@ -624,7 +625,8 @@ var sStatBlock = object2({
624
625
  hint: optional3(string3()),
625
626
  variant: optional3(sMessageVariant2),
626
627
  estimate: optional3(boolean3()),
627
- params: optional3(sPageParams)
628
+ params: optional3(sPageParams),
629
+ trend: optional3(array2(union2([number3(), literal2(null)])))
628
630
  });
629
631
  var sTableBlock = object2({
630
632
  type: literal2("table" /* Table */),
@@ -662,19 +664,58 @@ var sTableBlock = object2({
662
664
  })
663
665
  )
664
666
  });
667
+ var sChartFormat = enums3(["number", "currency", "percent"]);
668
+ var sChartAxis = object2({
669
+ label: string3(),
670
+ format: optional3(sChartFormat),
671
+ scale: optional3(enums3(["linear", "log"]))
672
+ });
665
673
  var sChartBlock = object2({
666
674
  type: literal2("chart" /* Chart */),
667
- kind: enums3(["bar", "line", "hbar"]),
675
+ kind: enums3(["bar", "line", "hbar", "area", "scatter"]),
668
676
  title: optional3(string3()),
677
+ summary: optional3(string3()),
669
678
  labels: array2(string3()),
670
679
  series: array2(
671
680
  object2({
672
681
  name: string3(),
673
- data: array2(union2([number3(), literal2(null)]))
682
+ data: array2(union2([number3(), literal2(null)])),
683
+ tooltipOnly: optional3(boolean3()),
684
+ format: optional3(sChartFormat)
674
685
  })
675
686
  ),
676
687
  unit: optional3(string3()),
677
- emptyText: optional3(string3())
688
+ format: optional3(sChartFormat),
689
+ currency: optional3(string3()),
690
+ emptyText: optional3(string3()),
691
+ labelParams: optional3(array2(union2([sPageParams, literal2(null)]))),
692
+ highlight: optional3(number3()),
693
+ references: optional3(array2(object2({ value: number3(), label: string3() }))),
694
+ markers: optional3(
695
+ array2(object2({ label: string3(), text: string3(), tone: optional3(sMessageVariant2) }))
696
+ ),
697
+ stacked: optional3(boolean3()),
698
+ points: optional3(
699
+ array2(
700
+ object2({
701
+ x: number3(),
702
+ y: number3(),
703
+ label: string3(),
704
+ caption: optional3(string3()),
705
+ params: optional3(sPageParams),
706
+ muted: optional3(boolean3())
707
+ })
708
+ )
709
+ ),
710
+ xAxis: optional3(sChartAxis),
711
+ yAxis: optional3(sChartAxis),
712
+ quadrants: optional3(
713
+ object2({
714
+ x: number3(),
715
+ y: number3(),
716
+ names: optional3(tuple([string3(), string3(), string3(), string3()]))
717
+ })
718
+ )
678
719
  });
679
720
  var sFilterBlock = object2({
680
721
  type: literal2("filter" /* Filter */),
@@ -700,6 +741,7 @@ var sToolbarBlock = object2({
700
741
  var sGridBlock = object2({
701
742
  type: literal2("grid" /* Grid */),
702
743
  columns: union2([literal2(2), literal2(3), literal2(4)]),
744
+ layout: optional3(enums3(["even", "main-aside"])),
703
745
  blocks: array2(lazy2(() => sContentBlock))
704
746
  });
705
747
  var sDetailsBlock = object2({
@@ -712,6 +754,7 @@ var sCardBlock2 = object2({
712
754
  type: literal2("card" /* Card */),
713
755
  title: optional3(string3()),
714
756
  description: optional3(string3()),
757
+ image: optional3(union2([string3(), literal2(null)])),
715
758
  blocks: array2(lazy2(() => sContentBlock))
716
759
  });
717
760
  var sContentBlock = union2([
@@ -800,7 +843,7 @@ function isPluginFactory(value) {
800
843
  }
801
844
 
802
845
  // src/version.ts
803
- var SDK_VERSION = "0.7.2";
846
+ var SDK_VERSION = "0.8.0";
804
847
  function isSdkCompatible(pluginSdkVersion, hostSdkVersion) {
805
848
  const parse = (v) => {
806
849
  const m = /^(\d+)\.(\d+)\.(\d+)/.exec(v);
@@ -1,4 +1,4 @@
1
- import { ab as HostApi, ad as HttpRequest, $ as DomainEventName, v as Capability, _ as DomainEventHandler, ae as HttpResponse, bm as SourcedProduct, Y as DispatchContext } from '../host-api-C5EsRbsA.mjs';
1
+ import { ai as HostApi, ak as HttpRequest, a5 as DomainEventName, v as Capability, a4 as DomainEventHandler, al as HttpResponse, bt as SourcedProduct, a2 as DispatchContext } from '../host-api-D9g2w27d.mjs';
2
2
 
3
3
  /** Every recorded interaction, keyed by `"port.method"`. */
4
4
  interface MockHostCalls {
@@ -1,4 +1,4 @@
1
- import { ab as HostApi, ad as HttpRequest, $ as DomainEventName, v as Capability, _ as DomainEventHandler, ae as HttpResponse, bm as SourcedProduct, Y as DispatchContext } from '../host-api-C5EsRbsA.js';
1
+ import { ai as HostApi, ak as HttpRequest, a5 as DomainEventName, v as Capability, a4 as DomainEventHandler, al as HttpResponse, bt as SourcedProduct, a2 as DispatchContext } from '../host-api-D9g2w27d.js';
2
2
 
3
3
  /** Every recorded interaction, keyed by `"port.method"`. */
4
4
  interface MockHostCalls {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vivoa/plugin-sdk",
3
- "version": "0.7.2",
3
+ "version": "0.8.0",
4
4
  "description": "Public contracts for Vivoa plugins (types, DI tokens, config + setup-layout validators)",
5
5
  "license": "MIT",
6
6
  "author": "Vivoa",