@foxy.io/elements 1.39.0-beta.1 → 1.39.0-beta.2

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.
@@ -1 +1 @@
1
- import"./shared-3661a086.js";import"./foxy-nucleon-element.js";import"./shared-4d32d19e.js";import{_ as e}from"./shared-cb58dfcd.js";import{a as s}from"./shared-11351c00.js";import{g as t}from"./shared-bab2ea2c.js";import{I as r}from"./shared-f1a70f51.js";import{i as a}from"./shared-53e42a77.js";import{c as o}from"./shared-4e709717.js";import{h as i}from"./shared-ba5c42c7.js";import"./foxy-spinner.js";import"./shared-37348820.js";import"./shared-21e68b72.js";import"./shared-c18f681b.js";import"./shared-2aa23b5f.js";import"./shared-343d1fd7.js";import"./shared-f83207fb.js";import"./shared-5592ec6e.js";import"./shared-cd96ff03.js";import"./shared-5e4a03d1.js";import"./shared-7594e563.js";import"./shared-0aedd809.js";import"./shared-5ef40e86.js";let d,n,c=e=>e;class l extends(s(r,"webhook-card")){constructor(){super(...arguments),this.resourceUri=null}static get properties(){return e(e({},super.properties),{},{resourceUri:{attribute:"resource-uri"}})}get isBodyReady(){var e;return!!(null===(e=this.__statusesLoader)||void 0===e?void 0:e.data)&&super.isBodyReady}renderBody(){var e,s,r,l,u,h,p,m,f,v;const j=t(null!==(e=this.resourceUri)&&void 0!==e?e:"");let x=null===(s=this.data)||void 0===s?void 0:s._links["fx:statuses"].href;if(null!==j)try{const e=new URL(null!=x?x:"");e.searchParams.set("resource_id",String(j)),e.searchParams.set("order","date_created desc"),e.searchParams.set("limit","1"),x=e.toString()}catch(e){}const y=null===(r=this.data)||void 0===r?void 0:r.is_active,b=null===(u=null===(l=this.__statusesLoader)||void 0===l?void 0:l.data)||void 0===u?void 0:u._embedded["fx:webhook_statuses"],_=y?b?null!==(h=null==b?void 0:b[0].status)&&void 0!==h?h:"none":"loading":"inactive",g="failed"===_,$="successful"===_;return i(d||(d=c` <div class="grid grid-cols-1 leading-s -my-xs"> <p class="flex items-center gap-s justify-between"> <span class="text-m truncate text-body font-medium"> ${0}&ZeroWidthSpace; </span> <foxy-i18n class="${0}" infer="" key="status_${0}"> </foxy-i18n> </p> <p class="text-s truncate text-secondary">${0}&ZeroWidthSpace;</p> ${0} </div> <foxy-nucleon class="hidden" infer="" href="${0}" id="statusesLoader" @update="${0}"> </foxy-nucleon> `),null===(p=this.data)||void 0===p?void 0:p.name,o({"text-tertiary":!$&&!g,"text-success":$,"text-error":g,"text-s":!0}),_,null===(m=this.data)||void 0===m?void 0:m.url,null===this.resourceUri?i(n||(n=c` <p class="text-s truncate text-tertiary"> ${0} &bull; ${0}&ZeroWidthSpace; </p> `),null===(f=this.data)||void 0===f?void 0:f.format,null===(v=this.data)||void 0===v?void 0:v.event_resource):"",a(x),(()=>this.requestUpdate()))}get __statusesLoader(){return this.renderRoot.querySelector("#statusesLoader")}}customElements.define("foxy-webhook-card",l);export{l as WebhookCard};
1
+ import"./shared-3661a086.js";import"./foxy-nucleon-element.js";import"./shared-4d32d19e.js";import{_ as e}from"./shared-cb58dfcd.js";import{a as s}from"./shared-11351c00.js";import{g as t}from"./shared-bab2ea2c.js";import{I as r}from"./shared-f1a70f51.js";import{i as a}from"./shared-53e42a77.js";import{c as o}from"./shared-4e709717.js";import{h as i}from"./shared-ba5c42c7.js";import"./foxy-spinner.js";import"./shared-37348820.js";import"./shared-21e68b72.js";import"./shared-c18f681b.js";import"./shared-2aa23b5f.js";import"./shared-343d1fd7.js";import"./shared-f83207fb.js";import"./shared-5592ec6e.js";import"./shared-cd96ff03.js";import"./shared-5e4a03d1.js";import"./shared-7594e563.js";import"./shared-0aedd809.js";import"./shared-5ef40e86.js";let d,n,l=e=>e;class c extends(s(r,"webhook-card")){constructor(){super(...arguments),this.resourceUri=null}static get properties(){return e(e({},super.properties),{},{resourceUri:{attribute:"resource-uri"}})}get isBodyReady(){var e;return!!(null===(e=this.__statusesLoader)||void 0===e?void 0:e.data)&&super.isBodyReady}renderBody(){var e,s,r,c,u,h,p,m,f,v,j;const x=t(null!==(e=this.resourceUri)&&void 0!==e?e:"");let y=null===(s=this.data)||void 0===s?void 0:s._links["fx:statuses"].href;if(null!==x)try{const e=new URL(null!=y?y:"");e.searchParams.set("resource_id",String(x)),e.searchParams.set("order","date_created desc"),e.searchParams.set("limit","1"),y=e.toString()}catch(e){}const b=null===(r=this.data)||void 0===r?void 0:r.is_active,_=null===(u=null===(c=this.__statusesLoader)||void 0===c?void 0:c.data)||void 0===u?void 0:u._embedded["fx:webhook_statuses"],g=b?_?null!==(p=null===(h=null==_?void 0:_[0])||void 0===h?void 0:h.status)&&void 0!==p?p:"none":"loading":"inactive",$="failed"===g,L="successful"===g;return i(d||(d=l` <div class="grid grid-cols-1 leading-s -my-xs"> <p class="flex items-center gap-s justify-between"> <span class="text-m truncate text-body font-medium"> ${0}&ZeroWidthSpace; </span> <foxy-i18n class="${0}" infer="" key="status_${0}"> </foxy-i18n> </p> <p class="text-s truncate text-secondary">${0}&ZeroWidthSpace;</p> ${0} </div> <foxy-nucleon class="hidden" infer="" href="${0}" id="statusesLoader" @update="${0}"> </foxy-nucleon> `),null===(m=this.data)||void 0===m?void 0:m.name,o({"text-tertiary":!L&&!$,"text-success":L,"text-error":$,"text-s":!0}),g,null===(f=this.data)||void 0===f?void 0:f.url,null===this.resourceUri?i(n||(n=l` <p class="text-s truncate text-tertiary"> ${0} &bull; ${0}&ZeroWidthSpace; </p> `),null===(v=this.data)||void 0===v?void 0:v.format,null===(j=this.data)||void 0===j?void 0:j.event_resource):"",a(y),(()=>this.requestUpdate()))}get __statusesLoader(){return this.renderRoot.querySelector("#statusesLoader")}}customElements.define("foxy-webhook-card",c);export{c as WebhookCard};
@@ -30,7 +30,7 @@ export class WebhookCard extends TranslatableMixin(InternalCard, 'webhook-card')
30
30
  return !!((_a = this.__statusesLoader) === null || _a === void 0 ? void 0 : _a.data) && super.isBodyReady;
31
31
  }
32
32
  renderBody() {
33
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
33
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
34
34
  const resourceId = getResourceId((_a = this.resourceUri) !== null && _a !== void 0 ? _a : '');
35
35
  let statusesLink = (_b = this.data) === null || _b === void 0 ? void 0 : _b._links['fx:statuses'].href;
36
36
  if (resourceId !== null) {
@@ -41,20 +41,20 @@ export class WebhookCard extends TranslatableMixin(InternalCard, 'webhook-card')
41
41
  url.searchParams.set('limit', '1');
42
42
  statusesLink = url.toString();
43
43
  }
44
- catch (_l) {
44
+ catch (_m) {
45
45
  // ignore
46
46
  }
47
47
  }
48
48
  const isActive = (_c = this.data) === null || _c === void 0 ? void 0 : _c.is_active;
49
49
  const statuses = (_e = (_d = this.__statusesLoader) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e._embedded['fx:webhook_statuses'];
50
- const status = isActive ? (statuses ? (_f = statuses === null || statuses === void 0 ? void 0 : statuses[0].status) !== null && _f !== void 0 ? _f : 'none' : 'loading') : 'inactive';
50
+ const status = isActive ? (statuses ? (_g = (_f = statuses === null || statuses === void 0 ? void 0 : statuses[0]) === null || _f === void 0 ? void 0 : _f.status) !== null && _g !== void 0 ? _g : 'none' : 'loading') : 'inactive';
51
51
  const isFailed = status === 'failed';
52
52
  const isSuccessful = status === 'successful';
53
53
  return html `
54
54
  <div class="grid grid-cols-1 leading-s -my-xs">
55
55
  <p class="flex items-center gap-s justify-between">
56
56
  <span class="text-m truncate text-body font-medium">
57
- ${(_g = this.data) === null || _g === void 0 ? void 0 : _g.name}&ZeroWidthSpace;
57
+ ${(_h = this.data) === null || _h === void 0 ? void 0 : _h.name}&ZeroWidthSpace;
58
58
  </span>
59
59
  <foxy-i18n
60
60
  class=${classMap({
@@ -69,12 +69,12 @@ export class WebhookCard extends TranslatableMixin(InternalCard, 'webhook-card')
69
69
  </foxy-i18n>
70
70
  </p>
71
71
 
72
- <p class="text-s truncate text-secondary">${(_h = this.data) === null || _h === void 0 ? void 0 : _h.url}&ZeroWidthSpace;</p>
72
+ <p class="text-s truncate text-secondary">${(_j = this.data) === null || _j === void 0 ? void 0 : _j.url}&ZeroWidthSpace;</p>
73
73
 
74
74
  ${this.resourceUri === null
75
75
  ? html `
76
76
  <p class="text-s truncate text-tertiary">
77
- ${(_j = this.data) === null || _j === void 0 ? void 0 : _j.format} &bull; ${(_k = this.data) === null || _k === void 0 ? void 0 : _k.event_resource}&ZeroWidthSpace;
77
+ ${(_k = this.data) === null || _k === void 0 ? void 0 : _k.format} &bull; ${(_l = this.data) === null || _l === void 0 ? void 0 : _l.event_resource}&ZeroWidthSpace;
78
78
  </p>
79
79
  `
80
80
  : ''}
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookCard.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookCard/WebhookCard.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { getResourceId } from '@foxy.io/sdk/core';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\n/**\n * Basic card displaying webhook (`fx:webhook`) info.\n *\n * @element foxy-webhook-card\n * @since 1.17.0\n */\nexport class WebhookCard extends TranslatableMixin(InternalCard, 'webhook-card')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n resourceUri: { attribute: 'resource-uri' },\n };\n }\n\n /**\n * Optional URI of a transaction, customer or subscription. When provided,\n * the form will display logs and statuses for that particular resource only.\n */\n resourceUri: string | null = null;\n\n get isBodyReady(): boolean {\n return !!this.__statusesLoader?.data && super.isBodyReady;\n }\n\n renderBody(): TemplateResult {\n const resourceId = getResourceId(this.resourceUri ?? '');\n let statusesLink: string | undefined = this.data?._links['fx:statuses'].href;\n\n if (resourceId !== null) {\n try {\n const url = new URL(statusesLink ?? '');\n\n url.searchParams.set('resource_id', String(resourceId));\n url.searchParams.set('order', 'date_created desc');\n url.searchParams.set('limit', '1');\n\n statusesLink = url.toString();\n } catch {\n // ignore\n }\n }\n\n const isActive = this.data?.is_active;\n const statuses = this.__statusesLoader?.data?._embedded['fx:webhook_statuses'];\n const status = isActive ? (statuses ? statuses?.[0].status ?? 'none' : 'loading') : 'inactive';\n const isFailed = status === 'failed';\n const isSuccessful = status === 'successful';\n\n return html`\n <div class=\"grid grid-cols-1 leading-s -my-xs\">\n <p class=\"flex items-center gap-s justify-between\">\n <span class=\"text-m truncate text-body font-medium\">\n ${this.data?.name}&ZeroWidthSpace;\n </span>\n <foxy-i18n\n class=${classMap({\n 'text-tertiary': !isSuccessful && !isFailed,\n 'text-success': isSuccessful,\n 'text-error': isFailed,\n 'text-s': true,\n })}\n infer=\"\"\n key=\"status_${status}\"\n >\n </foxy-i18n>\n </p>\n\n <p class=\"text-s truncate text-secondary\">${this.data?.url}&ZeroWidthSpace;</p>\n\n ${this.resourceUri === null\n ? html`\n <p class=\"text-s truncate text-tertiary\">\n ${this.data?.format} &bull; ${this.data?.event_resource}&ZeroWidthSpace;\n </p>\n `\n : ''}\n </div>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(statusesLink)}\n id=\"statusesLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __statusesLoader() {\n type Loader = NucleonElement<Resource<Rels.WebhookStatuses>>;\n return this.renderRoot.querySelector<Loader>('#statusesLoader');\n }\n}\n"]}
1
+ {"version":3,"file":"WebhookCard.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookCard/WebhookCard.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { getResourceId } from '@foxy.io/sdk/core';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\n/**\n * Basic card displaying webhook (`fx:webhook`) info.\n *\n * @element foxy-webhook-card\n * @since 1.17.0\n */\nexport class WebhookCard extends TranslatableMixin(InternalCard, 'webhook-card')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n resourceUri: { attribute: 'resource-uri' },\n };\n }\n\n /**\n * Optional URI of a transaction, customer or subscription. When provided,\n * the form will display logs and statuses for that particular resource only.\n */\n resourceUri: string | null = null;\n\n get isBodyReady(): boolean {\n return !!this.__statusesLoader?.data && super.isBodyReady;\n }\n\n renderBody(): TemplateResult {\n const resourceId = getResourceId(this.resourceUri ?? '');\n let statusesLink: string | undefined = this.data?._links['fx:statuses'].href;\n\n if (resourceId !== null) {\n try {\n const url = new URL(statusesLink ?? '');\n\n url.searchParams.set('resource_id', String(resourceId));\n url.searchParams.set('order', 'date_created desc');\n url.searchParams.set('limit', '1');\n\n statusesLink = url.toString();\n } catch {\n // ignore\n }\n }\n\n const isActive = this.data?.is_active;\n const statuses = this.__statusesLoader?.data?._embedded['fx:webhook_statuses'];\n const status = isActive ? (statuses ? statuses?.[0]?.status ?? 'none' : 'loading') : 'inactive';\n const isFailed = status === 'failed';\n const isSuccessful = status === 'successful';\n\n return html`\n <div class=\"grid grid-cols-1 leading-s -my-xs\">\n <p class=\"flex items-center gap-s justify-between\">\n <span class=\"text-m truncate text-body font-medium\">\n ${this.data?.name}&ZeroWidthSpace;\n </span>\n <foxy-i18n\n class=${classMap({\n 'text-tertiary': !isSuccessful && !isFailed,\n 'text-success': isSuccessful,\n 'text-error': isFailed,\n 'text-s': true,\n })}\n infer=\"\"\n key=\"status_${status}\"\n >\n </foxy-i18n>\n </p>\n\n <p class=\"text-s truncate text-secondary\">${this.data?.url}&ZeroWidthSpace;</p>\n\n ${this.resourceUri === null\n ? html`\n <p class=\"text-s truncate text-tertiary\">\n ${this.data?.format} &bull; ${this.data?.event_resource}&ZeroWidthSpace;\n </p>\n `\n : ''}\n </div>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(statusesLink)}\n id=\"statusesLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __statusesLoader() {\n type Loader = NucleonElement<Resource<Rels.WebhookStatuses>>;\n return this.renderRoot.querySelector<Loader>('#statusesLoader');\n }\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@foxy.io/elements",
3
3
  "type": "module",
4
- "version": "1.39.0-beta.1",
4
+ "version": "1.39.0-beta.2",
5
5
  "description": "E-commerce web components by Foxy.",
6
6
  "repository": {
7
7
  "type": "git",