` tags, how should link work?
+ * _(optional)_ Link format structure, with `:product` placeholder
*/
- 'serviceLink'?: string;
+ 'linkFormat'?: string;
}
interface ManifoldNumberInput {
@@ -275,12 +279,15 @@ export namespace Components {
interface ManifoldPlanDetails {
'hideProvisionButton': boolean;
'isExistingResource'?: boolean;
+ 'linkFormat'?: string;
'plan'?: Catalog.ExpandedPlan;
'product'?: Catalog.Product;
}
interface ManifoldPlanDetailsAttributes extends StencilHTMLAttributes {
'hideProvisionButton'?: boolean;
'isExistingResource'?: boolean;
+ 'linkFormat'?: string;
+ 'onManifold-planCTA-click'?: (event: CustomEvent) => void;
'onManifold-planUpdated'?: (event: CustomEvent) => void;
'plan'?: Catalog.ExpandedPlan;
'product'?: Catalog.Product;
@@ -303,10 +310,14 @@ export namespace Components {
*/
'connection': Connection;
/**
- * _(optional)_ Hide bottom-right button?
+ * _(optional)_ Hide button?
*/
'hideProvisionButton'?: boolean;
/**
+ * _(optional)_ Link format structure, with `:product`, `:plan`, and `:features` placeholders
+ */
+ 'linkFormat'?: string;
+ /**
* URL-friendly slug (e.g. `"jawsdb-mysql"`)
*/
'productLabel': string;
@@ -321,10 +332,14 @@ export namespace Components {
*/
'connection'?: Connection;
/**
- * _(optional)_ Hide bottom-right button?
+ * _(optional)_ Hide button?
*/
'hideProvisionButton'?: boolean;
/**
+ * _(optional)_ Link format structure, with `:product`, `:plan`, and `:features` placeholders
+ */
+ 'linkFormat'?: string;
+ /**
* URL-friendly slug (e.g. `"jawsdb-mysql"`)
*/
'productLabel'?: string;
@@ -342,10 +357,13 @@ export namespace Components {
}
interface ManifoldProductPage {
+ 'linkFormat'?: string;
'product'?: Catalog.ExpandedProduct;
'provider'?: Catalog.Provider;
}
interface ManifoldProductPageAttributes extends StencilHTMLAttributes {
+ 'linkFormat'?: string;
+ 'onManifold-productCTA-click'?: (event: CustomEvent) => void;
'product'?: Catalog.ExpandedProduct;
'provider'?: Catalog.Provider;
}
@@ -356,6 +374,10 @@ export namespace Components {
*/
'connection': Connection;
/**
+ * _(optional)_ Link format structure, with `:product` placeholder
+ */
+ 'linkFormat'?: string;
+ /**
* URL-friendly slug (e.g. `"jawsdb-mysql"`)
*/
'productLabel': string;
@@ -366,6 +388,10 @@ export namespace Components {
*/
'connection'?: Connection;
/**
+ * _(optional)_ Link format structure, with `:product` placeholder
+ */
+ 'linkFormat'?: string;
+ /**
* URL-friendly slug (e.g. `"jawsdb-mysql"`)
*/
'productLabel'?: string;
@@ -391,10 +417,10 @@ export namespace Components {
'isCustom'?: boolean;
'isFeatured'?: boolean;
'label'?: string;
+ 'linkFormat'?: string;
'logo'?: string;
'name'?: string;
'productId'?: string;
- 'serviceLink'?: string;
}
interface ManifoldServiceCardAttributes extends StencilHTMLAttributes {
'connection'?: Connection;
@@ -402,11 +428,11 @@ export namespace Components {
'isCustom'?: boolean;
'isFeatured'?: boolean;
'label'?: string;
+ 'linkFormat'?: string;
'logo'?: string;
'name'?: string;
'onManifold-serviceCard-click'?: (event: CustomEvent) => void;
'productId'?: string;
- 'serviceLink'?: string;
}
interface ManifoldServiceCategory {
@@ -429,12 +455,12 @@ export namespace Components {
interface ManifoldServicesTunnel {
'featured'?: string;
- 'serviceLink'?: string;
+ 'linkFormat'?: string;
'services': Catalog.Product[];
}
interface ManifoldServicesTunnelAttributes extends StencilHTMLAttributes {
'featured'?: string;
- 'serviceLink'?: string;
+ 'linkFormat'?: string;
'services'?: Catalog.Product[];
}
diff --git a/src/components/manifold-active-plan/manifold-active-plan.tsx b/src/components/manifold-active-plan/manifold-active-plan.tsx
index 84f7f8d53..d9a6de652 100644
--- a/src/components/manifold-active-plan/manifold-active-plan.tsx
+++ b/src/components/manifold-active-plan/manifold-active-plan.tsx
@@ -7,6 +7,7 @@ import { Component, State, Prop } from '@stencil/core';
})
export class ManifoldActivePlan {
@Prop() isExistingResource?: boolean;
+ @Prop() linkFormat?: string;
@Prop() product?: Catalog.ExpandedProduct;
@Prop() plans: Catalog.ExpandedPlan[] = [];
@Prop() hideProvisionButton?: boolean;
@@ -31,10 +32,11 @@ export class ManifoldActivePlan {
/>,
plan.id === this.selectedPlanId)}
- hideProvisionButton={this.hideProvisionButton}
+ product={this.product}
/>
,
];
diff --git a/src/components/manifold-active-plan/readme.md b/src/components/manifold-active-plan/readme.md
index dae45aec7..ed2936094 100644
--- a/src/components/manifold-active-plan/readme.md
+++ b/src/components/manifold-active-plan/readme.md
@@ -11,6 +11,7 @@ Hello
| --------------------- | ----------------------- | ----------- | ------------------------------ | ----------- |
| `hideProvisionButton` | `hide-provision-button` | | `boolean \| undefined` | `undefined` |
| `isExistingResource` | `is-existing-resource` | | `boolean \| undefined` | `undefined` |
+| `linkFormat` | `link-format` | | `string \| undefined` | `undefined` |
| `plans` | -- | | `ExpandedPlan[]` | `[]` |
| `product` | -- | | `ExpandedProduct \| undefined` | `undefined` |
diff --git a/src/components/manifold-link-button/link-button.css b/src/components/manifold-link-button/link-button.css
index 468227ea8..a14bb567a 100644
--- a/src/components/manifold-link-button/link-button.css
+++ b/src/components/manifold-link-button/link-button.css
@@ -1,14 +1,11 @@
a {
- --padding-left-alt: 1em;
-
display: inline-flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
- min-height: 2.5rem;
- padding-top: 0.75em;
+ width: 100%;
+ height: 2.375rem;
padding-right: 1.5em;
- padding-bottom: 0.75em;
padding-left: 1.5em;
color: var(--mf-c-white);
font-size: 15px;
@@ -21,7 +18,7 @@ a {
border-radius: var(--mf-radius-m);
box-shadow: var(--mf-shadow-default);
cursor: pointer;
- transition: background-color 200ms, border-color 150ms, color 200ms;
+ transition: filter 200ms linear;
&:focus,
&:hover {
diff --git a/src/components/manifold-link-button/manifold-link-button.tsx b/src/components/manifold-link-button/manifold-link-button.tsx
index db6f8f35d..df7e13aea 100644
--- a/src/components/manifold-link-button/manifold-link-button.tsx
+++ b/src/components/manifold-link-button/manifold-link-button.tsx
@@ -6,13 +6,14 @@ import { Component, Prop } from '@stencil/core';
shadow: true,
})
export class LinkButton {
- @Prop() href: string;
+ @Prop() href?: string;
+ @Prop() onClick?: (e: Event) => void;
@Prop() rel?: string;
@Prop() target?: string;
render() {
return (
-