@foxy.io/elements 1.16.0-beta.8 → 1.16.0-beta.9

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.
Files changed (50) hide show
  1. package/dist/cdn/foxy-api-browser.js +1 -1
  2. package/dist/cdn/foxy-custom-field-form.js +1 -1
  3. package/dist/cdn/foxy-customer-portal.js +1 -1
  4. package/dist/cdn/foxy-item-form.js +1 -1
  5. package/dist/cdn/foxy-item-option-form.js +1 -1
  6. package/dist/cdn/foxy-report-form.js +6 -6
  7. package/dist/cdn/foxy-shipment-card.js +2 -2
  8. package/dist/cdn/foxy-sign-in-form.js +1 -1
  9. package/dist/cdn/foxy-transaction.js +2 -2
  10. package/dist/cdn/foxy-webhook-card.js +1 -1
  11. package/dist/cdn/foxy-webhook-form.js +7 -156
  12. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  13. package/dist/cdn/{shared-9e0387e6.js → shared-157cced2.js} +1 -1
  14. package/dist/cdn/shared-38bc104d.js +1 -0
  15. package/dist/cdn/shared-c71f8ccc.js +1 -0
  16. package/dist/cdn/shared-cd65e716.js +1 -0
  17. package/dist/cdn/translations/transaction/en.json +28 -4
  18. package/dist/elements/internal/InternalCreateControl/index.d.ts +2 -1
  19. package/dist/elements/internal/InternalCreateControl/index.js +2 -1
  20. package/dist/elements/internal/InternalCreateControl/index.js.map +1 -1
  21. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.d.ts +8 -1
  22. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js +10 -5
  23. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js.map +1 -1
  24. package/dist/elements/internal/InternalDeleteControl/index.d.ts +3 -2
  25. package/dist/elements/internal/InternalDeleteControl/index.js +3 -2
  26. package/dist/elements/internal/InternalDeleteControl/index.js.map +1 -1
  27. package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js +13 -2
  28. package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js.map +1 -1
  29. package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/index.d.ts +1 -0
  30. package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/index.js +1 -0
  31. package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/index.js.map +1 -1
  32. package/dist/elements/public/WebhookCard/WebhookCard.d.ts +6 -0
  33. package/dist/elements/public/WebhookCard/WebhookCard.js +8 -2
  34. package/dist/elements/public/WebhookCard/WebhookCard.js.map +1 -1
  35. package/dist/elements/public/WebhookForm/WebhookForm.d.ts +33 -0
  36. package/dist/elements/public/WebhookForm/WebhookForm.js +33 -0
  37. package/dist/elements/public/WebhookForm/WebhookForm.js.map +1 -1
  38. package/dist/elements/public/WebhookForm/index.d.ts +1 -3
  39. package/dist/elements/public/WebhookForm/index.js +1 -3
  40. package/dist/elements/public/WebhookForm/index.js.map +1 -1
  41. package/dist/elements/public/WebhookLogCard/WebhookLogCard.d.ts +6 -0
  42. package/dist/elements/public/WebhookLogCard/WebhookLogCard.js +11 -6
  43. package/dist/elements/public/WebhookLogCard/WebhookLogCard.js.map +1 -1
  44. package/dist/elements/public/WebhookStatusCard/WebhookStatusCard.d.ts +6 -0
  45. package/dist/elements/public/WebhookStatusCard/WebhookStatusCard.js +6 -0
  46. package/dist/elements/public/WebhookStatusCard/WebhookStatusCard.js.map +1 -1
  47. package/package.json +1 -1
  48. package/dist/cdn/shared-39b61999.js +0 -1
  49. package/dist/cdn/shared-6a0012d6.js +0 -1
  50. package/dist/cdn/shared-eb0e1f48.js +0 -1
@@ -22,13 +22,24 @@ export class InternalTransactionPostActionControl extends InternalControl {
22
22
  const state = this.state;
23
23
  const theme = state === 'fail' ? 'error' : state === 'idle' ? this.theme : '';
24
24
  return html `
25
+ <foxy-internal-confirm-dialog
26
+ header="header"
27
+ infer="confirm"
28
+ id="confirm"
29
+ @hide=${(evt) => !evt.detail.cancelled && this.submit()}
30
+ >
31
+ </foxy-internal-confirm-dialog>
32
+
25
33
  <vaadin-button
26
34
  class="w-full"
27
35
  theme="${theme} tertiary"
28
36
  ?disabled=${state === 'busy' || this.disabled}
29
- @click=${this.submit}
37
+ @click=${(evt) => {
38
+ const confirm = this.renderRoot.querySelector('#confirm');
39
+ confirm.show(evt.currentTarget);
40
+ }}
30
41
  >
31
- <foxy-i18n key=${state} infer></foxy-i18n>
42
+ <foxy-i18n key=${state} infer=""></foxy-i18n>
32
43
  </vaadin-button>
33
44
  `;
34
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InternalTransactionPostActionControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,IAAI,EAAkB,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,gEAA6D;AACvF,OAAO,EAAE,cAAc,EAAE,kDAA+C;AAExE,MAAM,OAAO,oCAAqC,SAAQ,eAAe;IAAzE;;QAWE,UAAK,GAAG,EAAE,CAAC;QAEX,UAAK,GAAG,MAAM,CAAC;QAEf,SAAI,GAAG,EAAE,CAAC;QAEV,SAAI,GAAG,EAAE,CAAC;IA8BZ,CAAC;IA9CC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACtB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACvB,CAAC;IACJ,CAAC;IAUD,aAAa;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9E,OAAO,IAAI,CAAA;;;iBAGE,KAAK;oBACF,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ;iBACpC,IAAI,CAAC,MAAM;;yBAEH,KAAK;;KAEzB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO;QAElC,IAAI;YACF,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3C,IAAI,QAAQ,CAAC,EAAE;gBAAE,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;SAC9D;QAAC,WAAM;YACN,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;SACrB;IACH,CAAC;CACF","sourcesContent":["import { PropertyDeclarations, html, TemplateResult } from 'lit-element';\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { NucleonElement } from '../../../NucleonElement/NucleonElement';\n\nexport class InternalTransactionPostActionControl extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n theme: { type: String },\n state: { type: String },\n href: { type: String },\n icon: { type: String },\n };\n }\n\n theme = '';\n\n state = 'idle';\n\n href = '';\n\n icon = '';\n\n renderControl(): TemplateResult {\n const state = this.state;\n const theme = state === 'fail' ? 'error' : state === 'idle' ? this.theme : '';\n\n return html`\n <vaadin-button\n class=\"w-full\"\n theme=\"${theme} tertiary\"\n ?disabled=${state === 'busy' || this.disabled}\n @click=${this.submit}\n >\n <foxy-i18n key=${state} infer></foxy-i18n>\n </vaadin-button>\n `;\n }\n\n async submit(): Promise<void> {\n if (this.state === 'busy') return;\n\n try {\n this.state = 'busy';\n const response = await new NucleonElement.API(this).fetch(this.href, { method: 'POST' });\n this.state = response.ok ? 'idle' : 'fail';\n if (response.ok) this.dispatchEvent(new CustomEvent('done'));\n } catch {\n this.state = 'fail';\n }\n }\n}\n"]}
1
+ {"version":3,"file":"InternalTransactionPostActionControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,IAAI,EAAkB,MAAM,aAAa,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,gEAA6D;AAEvF,OAAO,EAAE,cAAc,EAAE,kDAA+C;AAGxE,MAAM,OAAO,oCAAqC,SAAQ,eAAe;IAAzE;;QAWE,UAAK,GAAG,EAAE,CAAC;QAEX,UAAK,GAAG,MAAM,CAAC;QAEf,SAAI,GAAG,EAAE,CAAC;QAEV,SAAI,GAAG,EAAE,CAAC;IAyCZ,CAAC;IAzDC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACtB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACvB,CAAC;IACJ,CAAC;IAUD,aAAa;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9E,OAAO,IAAI,CAAA;;;;;gBAKC,CAAC,GAAoB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE;;;;;;iBAM/D,KAAK;oBACF,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ;iBACpC,CAAC,GAAgB,EAAE,EAAE;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAA0B,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,aAA8B,CAAC,CAAC;QACnD,CAAC;;yBAEgB,KAAK;;KAEzB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO;QAElC,IAAI;YACF,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3C,IAAI,QAAQ,CAAC,EAAE;gBAAE,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;SAC9D;QAAC,WAAM;YACN,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;SACrB;IACH,CAAC;CACF","sourcesContent":["import { PropertyDeclarations, html, TemplateResult } from 'lit-element';\nimport { InternalConfirmDialog } from '../../../../internal/InternalConfirmDialog/InternalConfirmDialog';\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { DialogHideEvent } from '../../../../private/Dialog/DialogHideEvent';\nimport { NucleonElement } from '../../../NucleonElement/NucleonElement';\nimport { ButtonElement } from '@vaadin/vaadin-button';\n\nexport class InternalTransactionPostActionControl extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n theme: { type: String },\n state: { type: String },\n href: { type: String },\n icon: { type: String },\n };\n }\n\n theme = '';\n\n state = 'idle';\n\n href = '';\n\n icon = '';\n\n renderControl(): TemplateResult {\n const state = this.state;\n const theme = state === 'fail' ? 'error' : state === 'idle' ? this.theme : '';\n\n return html`\n <foxy-internal-confirm-dialog\n header=\"header\"\n infer=\"confirm\"\n id=\"confirm\"\n @hide=${(evt: DialogHideEvent) => !evt.detail.cancelled && this.submit()}\n >\n </foxy-internal-confirm-dialog>\n\n <vaadin-button\n class=\"w-full\"\n theme=\"${theme} tertiary\"\n ?disabled=${state === 'busy' || this.disabled}\n @click=${(evt: CustomEvent) => {\n const confirm = this.renderRoot.querySelector('#confirm') as InternalConfirmDialog;\n confirm.show(evt.currentTarget as ButtonElement);\n }}\n >\n <foxy-i18n key=${state} infer=\"\"></foxy-i18n>\n </vaadin-button>\n `;\n }\n\n async submit(): Promise<void> {\n if (this.state === 'busy') return;\n\n try {\n this.state = 'busy';\n const response = await new NucleonElement.API(this).fetch(this.href, { method: 'POST' });\n this.state = response.ok ? 'idle' : 'fail';\n if (response.ok) this.dispatchEvent(new CustomEvent('done'));\n } catch {\n this.state = 'fail';\n }\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import '@vaadin/vaadin-button';
2
+ import '../../../../internal/InternalConfirmDialog/index';
2
3
  import '../../../../internal/InternalControl/index';
3
4
  import '../../../I18n/index';
4
5
  import { InternalTransactionPostActionControl as Control } from './InternalTransactionPostActionControl';
@@ -1,4 +1,5 @@
1
1
  import '@vaadin/vaadin-button';
2
+ import "../../../../internal/InternalConfirmDialog/index.js";
2
3
  import "../../../../internal/InternalControl/index.js";
3
4
  import "../../../I18n/index.js";
4
5
  import { InternalTransactionPostActionControl as Control } from "./InternalTransactionPostActionControl.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/Transaction/internal/InternalTransactionPostActionControl/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,uDAAoD;AACpD,gCAA6B;AAE7B,OAAO,EAAE,oCAAoC,IAAI,OAAO,EAAE,kDAA+C;AAEzG,cAAc,CAAC,MAAM,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAC;AAEhF,OAAO,EAAE,OAAO,IAAI,oCAAoC,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-button';\n\nimport '../../../../internal/InternalControl/index';\nimport '../../../I18n/index';\n\nimport { InternalTransactionPostActionControl as Control } from './InternalTransactionPostActionControl';\n\ncustomElements.define('foxy-internal-transaction-post-action-control', Control);\n\nexport { Control as InternalTransactionPostActionControl };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/Transaction/internal/InternalTransactionPostActionControl/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,6DAA0D;AAC1D,uDAAoD;AACpD,gCAA6B;AAE7B,OAAO,EAAE,oCAAoC,IAAI,OAAO,EAAE,kDAA+C;AAEzG,cAAc,CAAC,MAAM,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAC;AAEhF,OAAO,EAAE,OAAO,IAAI,oCAAoC,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-button';\n\nimport '../../../../internal/InternalConfirmDialog/index';\nimport '../../../../internal/InternalControl/index';\nimport '../../../I18n/index';\n\nimport { InternalTransactionPostActionControl as Control } from './InternalTransactionPostActionControl';\n\ncustomElements.define('foxy-internal-transaction-post-action-control', Control);\n\nexport { Control as InternalTransactionPostActionControl };\n"]}
@@ -4,6 +4,12 @@ import { InternalCard } from '../../internal/InternalCard/InternalCard';
4
4
  declare const WebhookCard_base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
5
5
  defaultNS: string;
6
6
  };
7
+ /**
8
+ * Basic card displaying webhook (`fx:webhook`) info.
9
+ *
10
+ * @element foxy-webhook-card
11
+ * @since 1.17.0
12
+ */
7
13
  export declare class WebhookCard extends WebhookCard_base<Data> {
8
14
  renderBody(): TemplateResult;
9
15
  }
@@ -1,6 +1,12 @@
1
1
  import { InternalCard } from "../../internal/InternalCard/InternalCard.js";
2
2
  import { html } from 'lit-html';
3
3
  import { TranslatableMixin } from "../../../mixins/translatable.js";
4
+ /**
5
+ * Basic card displaying webhook (`fx:webhook`) info.
6
+ *
7
+ * @element foxy-webhook-card
8
+ * @since 1.17.0
9
+ */
4
10
  export class WebhookCard extends TranslatableMixin(InternalCard, 'webhook-card') {
5
11
  renderBody() {
6
12
  var _a, _b, _c, _d;
@@ -8,8 +14,8 @@ export class WebhookCard extends TranslatableMixin(InternalCard, 'webhook-card')
8
14
  <div class="grid grid-cols-1 gap-s leading-none">
9
15
  <p class="flex justify-between items-center font-semibold">
10
16
  <span class="truncate">${(_a = this.data) === null || _a === void 0 ? void 0 : _a.name}&ZeroWidthSpace;</span>
11
- <span class="inline-block text-xs bg-contrast-5 rounded p-xs flex-shrink-0">
12
- ${(_b = this.data) === null || _b === void 0 ? void 0 : _b.format.toUpperCase()}&ZeroWidthSpace;
17
+ <span class="uppercase inline-block text-xs bg-contrast-5 rounded p-xs flex-shrink-0">
18
+ ${(_b = this.data) === null || _b === void 0 ? void 0 : _b.format}&ZeroWidthSpace;
13
19
  </span>
14
20
  </p>
15
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookCard.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookCard/WebhookCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AAEjE,MAAM,OAAO,WAAY,SAAQ,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAO;IACpF,UAAU;;QACR,OAAO,IAAI,CAAA;;;mCAGoB,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI;;cAEpC,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,WAAW,EAAE;;;;;;gCAMb,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG;;;;;;gCAMd,MAAA,IAAI,CAAC,IAAI,0CAAE,cAAc;;;KAGpD,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { html } from 'lit-html';\nimport { TranslatableMixin } from '../../../mixins/translatable';\n\nexport class WebhookCard extends TranslatableMixin(InternalCard, 'webhook-card')<Data> {\n renderBody(): TemplateResult {\n return html`\n <div class=\"grid grid-cols-1 gap-s leading-none\">\n <p class=\"flex justify-between items-center font-semibold\">\n <span class=\"truncate\">${this.data?.name}&ZeroWidthSpace;</span>\n <span class=\"inline-block text-xs bg-contrast-5 rounded p-xs flex-shrink-0\">\n ${this.data?.format.toUpperCase()}&ZeroWidthSpace;\n </span>\n </p>\n\n <div class=\"flex items-center gap-s text-secondary\">\n <iron-icon class=\"icon-inline flex-shrink-0\" icon=\"icons:language\"></iron-icon>\n <p class=\"truncate\">${this.data?.url}&ZeroWidthSpace;</p>\n </div>\n\n <div class=\"flex items-center gap-s text-secondary\">\n <iron-icon class=\"icon-inline flex-shrink-0\" icon=\"icons:settings-input-antenna\">\n </iron-icon>\n <p class=\"truncate\">${this.data?.event_resource}&ZeroWidthSpace;</p>\n </div>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"WebhookCard.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookCard/WebhookCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AAEjE;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAO;IACpF,UAAU;;QACR,OAAO,IAAI,CAAA;;;mCAGoB,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI;;cAEpC,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM;;;;;;gCAMC,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG;;;;;;gCAMd,MAAA,IAAI,CAAC,IAAI,0CAAE,cAAc;;;KAGpD,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { html } from 'lit-html';\nimport { TranslatableMixin } from '../../../mixins/translatable';\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 renderBody(): TemplateResult {\n return html`\n <div class=\"grid grid-cols-1 gap-s leading-none\">\n <p class=\"flex justify-between items-center font-semibold\">\n <span class=\"truncate\">${this.data?.name}&ZeroWidthSpace;</span>\n <span class=\"uppercase inline-block text-xs bg-contrast-5 rounded p-xs flex-shrink-0\">\n ${this.data?.format}&ZeroWidthSpace;\n </span>\n </p>\n\n <div class=\"flex items-center gap-s text-secondary\">\n <iron-icon class=\"icon-inline flex-shrink-0\" icon=\"icons:language\"></iron-icon>\n <p class=\"truncate\">${this.data?.url}&ZeroWidthSpace;</p>\n </div>\n\n <div class=\"flex items-center gap-s text-secondary\">\n <iron-icon class=\"icon-inline flex-shrink-0\" icon=\"icons:settings-input-antenna\">\n </iron-icon>\n <p class=\"truncate\">${this.data?.event_resource}&ZeroWidthSpace;</p>\n </div>\n </div>\n `;\n }\n}\n"]}
@@ -5,6 +5,39 @@ import { InternalForm } from '../../internal/InternalForm/InternalForm';
5
5
  declare const WebhookForm_base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
6
6
  defaultNS: string;
7
7
  };
8
+ /**
9
+ * Form element for creating or editing webhooks (`fx:webhook`).
10
+ *
11
+ * @slot name:before
12
+ * @slot name:after
13
+ *
14
+ * @slot event-resource:before
15
+ * @slot event-resource:after
16
+ *
17
+ * @slot query:before
18
+ * @slot query:after
19
+ *
20
+ * @slot url:before
21
+ * @slot url:after
22
+ *
23
+ * @slot format:before
24
+ * @slot format:after
25
+ *
26
+ * @slot encryption-key:before
27
+ * @slot encryption-key:after
28
+ *
29
+ * @slot version:before
30
+ * @slot version:after
31
+ *
32
+ * @slot statuses:before
33
+ * @slot statuses:after
34
+ *
35
+ * @slot logs:before
36
+ * @slot logs:after
37
+ *
38
+ * @element foxy-webhook-form
39
+ * @since 1.17.0
40
+ */
8
41
  export declare class WebhookForm extends WebhookForm_base<Data> {
9
42
  static get v8n(): NucleonV8N<Data>;
10
43
  private __formats;
@@ -1,6 +1,39 @@
1
1
  import { TranslatableMixin } from "../../../mixins/translatable.js";
2
2
  import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
3
3
  import { html } from 'lit-html';
4
+ /**
5
+ * Form element for creating or editing webhooks (`fx:webhook`).
6
+ *
7
+ * @slot name:before
8
+ * @slot name:after
9
+ *
10
+ * @slot event-resource:before
11
+ * @slot event-resource:after
12
+ *
13
+ * @slot query:before
14
+ * @slot query:after
15
+ *
16
+ * @slot url:before
17
+ * @slot url:after
18
+ *
19
+ * @slot format:before
20
+ * @slot format:after
21
+ *
22
+ * @slot encryption-key:before
23
+ * @slot encryption-key:after
24
+ *
25
+ * @slot version:before
26
+ * @slot version:after
27
+ *
28
+ * @slot statuses:before
29
+ * @slot statuses:after
30
+ *
31
+ * @slot logs:before
32
+ * @slot logs:after
33
+ *
34
+ * @element foxy-webhook-form
35
+ * @since 1.17.0
36
+ */
4
37
  export class WebhookForm extends TranslatableMixin(InternalForm, 'webhook-form') {
5
38
  constructor() {
6
39
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookForm.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookForm/WebhookForm.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,WAAY,SAAQ,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAO;IAAtF;;QAaU,cAAS,GAAG;YAClB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;YACtC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;SACrC,CAAC;QAEM,qBAAgB,GAAG;YACzB,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,6BAA6B,EAAE;YAC/D,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,4BAA4B,EAAE;YAC7D,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,yBAAyB,EAAE;SACxD,CAAC;IAwCJ,CAAC;IA9DC,MAAM,KAAK,GAAG;QACZ,OAAO;YACL,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB;YAC3C,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,mBAAmB;YAChE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAsB;YACjD,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAqB;YAC/C,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,kBAAkB;YAC5D,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,oBAAoB;YAChE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,6BAA6B;SACnF,CAAC;IACJ,CAAC;IAcD,UAAU;QACR,OAAO,IAAI,CAAA;;;2EAG4D,IAAI,CAAC,gBAAgB;;;;;;mEAM7B,IAAI,CAAC,SAAS;;;;;;QAMzE,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,IAAI,CAAA;;sBAEQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI;;;;;;;;sBAQpC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI;;;;;;WAM3C;YACH,CAAC,CAAC,EAAE;QACJ,KAAK,CAAC,UAAU,EAAE;KACrB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { html } from 'lit-html';\n\nexport class WebhookForm extends TranslatableMixin(InternalForm, 'webhook-form')<Data> {\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => (!!v && v.length <= 255) || 'name:v8n_too_long',\n ({ version: v }) => !!v || 'version:v8n_required',\n ({ format: v }) => !!v || 'format:v8n_required',\n ({ url: v }) => !v || v.length <= 1000 || 'url:v8n_too_long',\n ({ query: v }) => !v || v.length <= 1000 || 'query:v8n_too_long',\n ({ encryption_key: v }) => !v || v.length <= 1000 || 'encryption-key:v8n_too_long',\n ];\n }\n\n private __formats = [\n { value: 'json', label: 'JSON' },\n { value: 'webflow', label: 'Webflow' },\n { value: 'zapier', label: 'Zapier' },\n ];\n\n private __eventResources = [\n { value: 'subscription', label: 'event_resource_subscription' },\n { value: 'transaction', label: 'event_resource_transaction' },\n { value: 'customer', label: 'event_resource_customer' },\n ];\n\n renderBody(): TemplateResult {\n return html`\n <foxy-internal-text-control infer=\"name\"></foxy-internal-text-control>\n\n <foxy-internal-radio-group-control infer=\"event-resource\" .options=${this.__eventResources}>\n </foxy-internal-radio-group-control>\n\n <foxy-internal-text-control infer=\"query\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"url\"></foxy-internal-text-control>\n\n <foxy-internal-radio-group-control infer=\"format\" .options=${this.__formats}>\n </foxy-internal-radio-group-control>\n\n <foxy-internal-text-control infer=\"encryption-key\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"version\"></foxy-internal-text-control>\n\n ${this.data\n ? html`\n <foxy-internal-async-details-control\n first=${this.data._links['fx:statuses'].href}\n infer=\"statuses\"\n limit=\"10\"\n item=\"foxy-webhook-status-card\"\n >\n </foxy-internal-async-details-control>\n\n <foxy-internal-async-details-control\n first=${this.data._links['fx:logs'].href}\n infer=\"logs\"\n limit=\"5\"\n item=\"foxy-webhook-log-card\"\n >\n </foxy-internal-async-details-control>\n `\n : ''}\n ${super.renderBody()}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"WebhookForm.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookForm/WebhookForm.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,OAAO,WAAY,SAAQ,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAO;IAAtF;;QAaU,cAAS,GAAG;YAClB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;YACtC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;SACrC,CAAC;QAEM,qBAAgB,GAAG;YACzB,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,6BAA6B,EAAE;YAC/D,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,4BAA4B,EAAE;YAC7D,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,yBAAyB,EAAE;SACxD,CAAC;IAwCJ,CAAC;IA9DC,MAAM,KAAK,GAAG;QACZ,OAAO;YACL,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB;YAC3C,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,mBAAmB;YAChE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAsB;YACjD,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAqB;YAC/C,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,kBAAkB;YAC5D,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,oBAAoB;YAChE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,6BAA6B;SACnF,CAAC;IACJ,CAAC;IAcD,UAAU;QACR,OAAO,IAAI,CAAA;;;2EAG4D,IAAI,CAAC,gBAAgB;;;;;;mEAM7B,IAAI,CAAC,SAAS;;;;;;QAMzE,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,IAAI,CAAA;;sBAEQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI;;;;;;;;sBAQpC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI;;;;;;WAM3C;YACH,CAAC,CAAC,EAAE;QACJ,KAAK,CAAC,UAAU,EAAE;KACrB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { html } from 'lit-html';\n\n/**\n * Form element for creating or editing webhooks (`fx:webhook`).\n *\n * @slot name:before\n * @slot name:after\n *\n * @slot event-resource:before\n * @slot event-resource:after\n *\n * @slot query:before\n * @slot query:after\n *\n * @slot url:before\n * @slot url:after\n *\n * @slot format:before\n * @slot format:after\n *\n * @slot encryption-key:before\n * @slot encryption-key:after\n *\n * @slot version:before\n * @slot version:after\n *\n * @slot statuses:before\n * @slot statuses:after\n *\n * @slot logs:before\n * @slot logs:after\n *\n * @element foxy-webhook-form\n * @since 1.17.0\n */\nexport class WebhookForm extends TranslatableMixin(InternalForm, 'webhook-form')<Data> {\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => (!!v && v.length <= 255) || 'name:v8n_too_long',\n ({ version: v }) => !!v || 'version:v8n_required',\n ({ format: v }) => !!v || 'format:v8n_required',\n ({ url: v }) => !v || v.length <= 1000 || 'url:v8n_too_long',\n ({ query: v }) => !v || v.length <= 1000 || 'query:v8n_too_long',\n ({ encryption_key: v }) => !v || v.length <= 1000 || 'encryption-key:v8n_too_long',\n ];\n }\n\n private __formats = [\n { value: 'json', label: 'JSON' },\n { value: 'webflow', label: 'Webflow' },\n { value: 'zapier', label: 'Zapier' },\n ];\n\n private __eventResources = [\n { value: 'subscription', label: 'event_resource_subscription' },\n { value: 'transaction', label: 'event_resource_transaction' },\n { value: 'customer', label: 'event_resource_customer' },\n ];\n\n renderBody(): TemplateResult {\n return html`\n <foxy-internal-text-control infer=\"name\"></foxy-internal-text-control>\n\n <foxy-internal-radio-group-control infer=\"event-resource\" .options=${this.__eventResources}>\n </foxy-internal-radio-group-control>\n\n <foxy-internal-text-control infer=\"query\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"url\"></foxy-internal-text-control>\n\n <foxy-internal-radio-group-control infer=\"format\" .options=${this.__formats}>\n </foxy-internal-radio-group-control>\n\n <foxy-internal-text-control infer=\"encryption-key\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"version\"></foxy-internal-text-control>\n\n ${this.data\n ? html`\n <foxy-internal-async-details-control\n first=${this.data._links['fx:statuses'].href}\n infer=\"statuses\"\n limit=\"10\"\n item=\"foxy-webhook-status-card\"\n >\n </foxy-internal-async-details-control>\n\n <foxy-internal-async-details-control\n first=${this.data._links['fx:logs'].href}\n infer=\"logs\"\n limit=\"5\"\n item=\"foxy-webhook-log-card\"\n >\n </foxy-internal-async-details-control>\n `\n : ''}\n ${super.renderBody()}\n `;\n }\n}\n"]}
@@ -1,7 +1,5 @@
1
- import '@vaadin/vaadin-checkbox/vaadin-checkbox-group';
2
- import '@vaadin/vaadin-checkbox/vaadin-checkbox';
3
- import '../../internal/InternalRadioGroupControl/index';
4
1
  import '../../internal/InternalAsyncDetailsControl/index';
2
+ import '../../internal/InternalRadioGroupControl/index';
5
3
  import '../../internal/InternalTextControl/index';
6
4
  import '../../internal/InternalForm/index';
7
5
  import '../WebhookStatusCard/index';
@@ -1,7 +1,5 @@
1
- import '@vaadin/vaadin-checkbox/vaadin-checkbox-group';
2
- import '@vaadin/vaadin-checkbox/vaadin-checkbox';
3
- import "../../internal/InternalRadioGroupControl/index.js";
4
1
  import "../../internal/InternalAsyncDetailsControl/index.js";
2
+ import "../../internal/InternalRadioGroupControl/index.js";
5
3
  import "../../internal/InternalTextControl/index.js";
6
4
  import "../../internal/InternalForm/index.js";
7
5
  import "../WebhookStatusCard/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookForm/index.ts"],"names":[],"mappings":"AAAA,OAAO,+CAA+C,CAAC;AACvD,OAAO,yCAAyC,CAAC;AAEjD,2DAAwD;AACxD,6DAA0D;AAC1D,qDAAkD;AAClD,8CAA2C;AAE3C,uCAAoC;AACpC,oCAAiC;AAEjC,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAE5C,cAAc,CAAC,MAAM,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-checkbox/vaadin-checkbox-group';\nimport '@vaadin/vaadin-checkbox/vaadin-checkbox';\n\nimport '../../internal/InternalRadioGroupControl/index';\nimport '../../internal/InternalAsyncDetailsControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../WebhookStatusCard/index';\nimport '../WebhookLogCard/index';\n\nimport { WebhookForm } from './WebhookForm';\n\ncustomElements.define('foxy-webhook-form', WebhookForm);\n\nexport { WebhookForm };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookForm/index.ts"],"names":[],"mappings":"AAAA,6DAA0D;AAC1D,2DAAwD;AACxD,qDAAkD;AAClD,8CAA2C;AAE3C,uCAAoC;AACpC,oCAAiC;AAEjC,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAE5C,cAAc,CAAC,MAAM,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,CAAC","sourcesContent":["import '../../internal/InternalAsyncDetailsControl/index';\nimport '../../internal/InternalRadioGroupControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../WebhookStatusCard/index';\nimport '../WebhookLogCard/index';\n\nimport { WebhookForm } from './WebhookForm';\n\ncustomElements.define('foxy-webhook-form', WebhookForm);\n\nexport { WebhookForm };\n"]}
@@ -4,6 +4,12 @@ import { InternalCard } from '../../internal/InternalCard/InternalCard';
4
4
  declare const WebhookLogCard_base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
5
5
  defaultNS: string;
6
6
  };
7
+ /**
8
+ * Basic card displaying webhook log (`fx:webhook_log`) info.
9
+ *
10
+ * @element foxy-webhook-log-card
11
+ * @since 1.17.0
12
+ */
7
13
  export declare class WebhookLogCard extends WebhookLogCard_base<Data> {
8
14
  renderBody(): TemplateResult;
9
15
  }
@@ -1,21 +1,26 @@
1
1
  import { TranslatableMixin } from "../../../mixins/translatable.js";
2
2
  import { InternalCard } from "../../internal/InternalCard/InternalCard.js";
3
3
  import { html } from 'lit-html';
4
+ /**
5
+ * Basic card displaying webhook log (`fx:webhook_log`) info.
6
+ *
7
+ * @element foxy-webhook-log-card
8
+ * @since 1.17.0
9
+ */
4
10
  export class WebhookLogCard extends TranslatableMixin(InternalCard, 'webhook-log-card') {
5
11
  renderBody() {
6
- var _a, _b, _c;
12
+ var _a;
13
+ const { date_created, response_code, response_body } = (_a = this.data) !== null && _a !== void 0 ? _a : {};
7
14
  return html `
8
15
  <div class="leading-none space-y-xs">
9
16
  <p class="flex justify-between items-center font-semibold">
10
- <foxy-i18n .options=${{ value: (_a = this.data) === null || _a === void 0 ? void 0 : _a.date_created }} infer="" key="date">
11
- </foxy-i18n>
12
-
17
+ <foxy-i18n .options=${{ value: date_created }} infer="" key="date"></foxy-i18n>
13
18
  <span class="inline-block text-xs bg-contrast-5 text-secondary rounded p-xs">
14
- ${(_b = this.data) === null || _b === void 0 ? void 0 : _b.response_code}&ZeroWidthSpace;
19
+ ${response_code}&ZeroWidthSpace;
15
20
  </span>
16
21
  </p>
17
22
 
18
- <p class="text-tertiary">${(_c = this.data) === null || _c === void 0 ? void 0 : _c.response_body}&ZeroWidthSpace;</p>
23
+ <p class="text-tertiary">${response_body}&ZeroWidthSpace;</p>
19
24
  </div>
20
25
  `;
21
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookLogCard.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookLogCard/WebhookLogCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,cAAe,SAAQ,iBAAiB,CAAC,YAAY,EAAE,kBAAkB,CAAO;IAC3F,UAAU;;QACR,OAAO,IAAI,CAAA;;;gCAGiB,EAAE,KAAK,QAAE,IAAI,CAAC,IAAI,0CAAE,YAAY,EAAE;;;;cAIpD,MAAA,IAAI,CAAC,IAAI,0CAAE,aAAa;;;;mCAIH,MAAA,IAAI,CAAC,IAAI,0CAAE,aAAa;;KAEtD,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { html } from 'lit-html';\n\nexport class WebhookLogCard extends TranslatableMixin(InternalCard, 'webhook-log-card')<Data> {\n renderBody(): TemplateResult {\n return html`\n <div class=\"leading-none space-y-xs\">\n <p class=\"flex justify-between items-center font-semibold\">\n <foxy-i18n .options=${{ value: this.data?.date_created }} infer=\"\" key=\"date\">\n </foxy-i18n>\n\n <span class=\"inline-block text-xs bg-contrast-5 text-secondary rounded p-xs\">\n ${this.data?.response_code}&ZeroWidthSpace;\n </span>\n </p>\n\n <p class=\"text-tertiary\">${this.data?.response_body}&ZeroWidthSpace;</p>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"WebhookLogCard.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookLogCard/WebhookLogCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,OAAO,cAAe,SAAQ,iBAAiB,CAAC,YAAY,EAAE,kBAAkB,CAAO;IAC3F,UAAU;;QACR,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,SAAG,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC;QAEvE,OAAO,IAAI,CAAA;;;gCAGiB,EAAE,KAAK,EAAE,YAAY,EAAE;;cAEzC,aAAa;;;;mCAIQ,aAAa;;KAE3C,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { html } from 'lit-html';\n\n/**\n * Basic card displaying webhook log (`fx:webhook_log`) info.\n *\n * @element foxy-webhook-log-card\n * @since 1.17.0\n */\nexport class WebhookLogCard extends TranslatableMixin(InternalCard, 'webhook-log-card')<Data> {\n renderBody(): TemplateResult {\n const { date_created, response_code, response_body } = this.data ?? {};\n\n return html`\n <div class=\"leading-none space-y-xs\">\n <p class=\"flex justify-between items-center font-semibold\">\n <foxy-i18n .options=${{ value: date_created }} infer=\"\" key=\"date\"></foxy-i18n>\n <span class=\"inline-block text-xs bg-contrast-5 text-secondary rounded p-xs\">\n ${response_code}&ZeroWidthSpace;\n </span>\n </p>\n\n <p class=\"text-tertiary\">${response_body}&ZeroWidthSpace;</p>\n </div>\n `;\n }\n}\n"]}
@@ -4,6 +4,12 @@ import { InternalCard } from '../../internal/InternalCard/InternalCard';
4
4
  declare const Base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
5
5
  defaultNS: string;
6
6
  };
7
+ /**
8
+ * Basic card displaying webhook status (`fx:webhook_status`) info.
9
+ *
10
+ * @element foxy-webhook-status-card
11
+ * @since 1.17.0
12
+ */
7
13
  export declare class WebhookStatusCard extends Base<Data> {
8
14
  renderBody(): TemplateResult;
9
15
  }
@@ -4,6 +4,12 @@ import { html } from 'lit-html';
4
4
  import { classMap } from "../../../utils/class-map.js";
5
5
  const NS = 'webhook-status-card';
6
6
  const Base = TranslatableMixin(InternalCard, NS);
7
+ /**
8
+ * Basic card displaying webhook status (`fx:webhook_status`) info.
9
+ *
10
+ * @element foxy-webhook-status-card
11
+ * @since 1.17.0
12
+ */
7
13
  export class WebhookStatusCard extends Base {
8
14
  renderBody() {
9
15
  var _a, _b;
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookStatusCard.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookStatusCard/WebhookStatusCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AAEpD,MAAM,EAAE,GAAG,qBAAqB,CAAC;AACjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD,MAAM,OAAO,iBAAkB,SAAQ,IAAU;IAC/C,UAAU;;QACR,MAAM,MAAM,SAAG,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC;QAEjC,OAAO,IAAI,CAAA;;;qBAGM,EAAE,KAAK,QAAE,IAAI,CAAC,IAAI,0CAAE,YAAY,EAAE;;;;;;;;kBAQrC,QAAQ,CAAC;YACf,YAAY,EAAE,MAAM,KAAK,QAAQ;YACjC,eAAe,EAAE,MAAM,KAAK,SAAS;YACrC,cAAc,EAAE,MAAM,KAAK,YAAY;SACxC,CAAC;;wBAEY,MAAM;;;;KAIzB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { html } from 'lit-html';\nimport { classMap } from '../../../utils/class-map';\n\nconst NS = 'webhook-status-card';\nconst Base = TranslatableMixin(InternalCard, NS);\n\nexport class WebhookStatusCard extends Base<Data> {\n renderBody(): TemplateResult {\n const status = this.data?.status;\n\n return html`\n <p class=\"flex justify-between items-center leading-none\">\n <foxy-i18n\n .options=${{ value: this.data?.date_created }}\n class=\"font-semibold\"\n infer=\"\"\n key=\"date\"\n >\n </foxy-i18n>\n\n <foxy-i18n\n class=${classMap({\n 'text-error': status === 'failed',\n 'text-tertiary': status === 'pending',\n 'text-success': status === 'successful',\n })}\n infer=\"\"\n key=\"status_${status}\"\n >\n </foxy-i18n>\n </p>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"WebhookStatusCard.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookStatusCard/WebhookStatusCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AAEpD,MAAM,EAAE,GAAG,qBAAqB,CAAC;AACjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,OAAO,iBAAkB,SAAQ,IAAU;IAC/C,UAAU;;QACR,MAAM,MAAM,SAAG,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC;QAEjC,OAAO,IAAI,CAAA;;;qBAGM,EAAE,KAAK,QAAE,IAAI,CAAC,IAAI,0CAAE,YAAY,EAAE;;;;;;;;kBAQrC,QAAQ,CAAC;YACf,YAAY,EAAE,MAAM,KAAK,QAAQ;YACjC,eAAe,EAAE,MAAM,KAAK,SAAS;YACrC,cAAc,EAAE,MAAM,KAAK,YAAY;SACxC,CAAC;;wBAEY,MAAM;;;;KAIzB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { html } from 'lit-html';\nimport { classMap } from '../../../utils/class-map';\n\nconst NS = 'webhook-status-card';\nconst Base = TranslatableMixin(InternalCard, NS);\n\n/**\n * Basic card displaying webhook status (`fx:webhook_status`) info.\n *\n * @element foxy-webhook-status-card\n * @since 1.17.0\n */\nexport class WebhookStatusCard extends Base<Data> {\n renderBody(): TemplateResult {\n const status = this.data?.status;\n\n return html`\n <p class=\"flex justify-between items-center leading-none\">\n <foxy-i18n\n .options=${{ value: this.data?.date_created }}\n class=\"font-semibold\"\n infer=\"\"\n key=\"date\"\n >\n </foxy-i18n>\n\n <foxy-i18n\n class=${classMap({\n 'text-error': status === 'failed',\n 'text-tertiary': status === 'pending',\n 'text-success': status === 'successful',\n })}\n infer=\"\"\n key=\"status_${status}\"\n >\n </foxy-i18n>\n </p>\n `;\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.16.0-beta.8",
4
+ "version": "1.16.0-beta.9",
5
5
  "description": "E-commerce web components by Foxy.",
6
6
  "repository": {
7
7
  "type": "git",
@@ -1 +0,0 @@
1
- import"./shared-8c41299f.js";import{a as e}from"./shared-6a0012d6.js";import{_ as t}from"./shared-2eee69db.js";import{i as r}from"./shared-9803aa7c.js";import{h as s}from"./shared-dc73b9a5.js";customElements.define("foxy-internal-control",e);class i extends e{constructor(){super(...arguments),this.__placeholder=null,this.__helperText=null,this.__v8nPrefix=null,this.__property=null,this.__label=null}static get properties(){return t(t({},super.properties),{},{__placeholder:{attribute:!1},__helperText:{attribute:!1},__v8nPrefix:{attribute:!1},__property:{attribute:!1},__label:{attribute:!1},placeholder:{type:String,noAccessor:!0},helperText:{type:String,attribute:"helper-text",noAccessor:!0},v8nPrefix:{type:String,attribute:"v8n-prefix",noAccessor:!0},property:{type:String,noAccessor:!0},label:{type:String,noAccessor:!0}})}get placeholder(){return"string"==typeof this.__placeholder?this.__placeholder:this.t("placeholder")}set placeholder(e){this.__placeholder=e}get helperText(){return"string"==typeof this.__helperText?this.__helperText:this.t("helper_text")}set helperText(e){this.__helperText=e}get v8nPrefix(){return"string"==typeof this.__v8nPrefix?this.__v8nPrefix:`${this.infer}:`}set v8nPrefix(e){this.__v8nPrefix=e}get property(){return"string"==typeof this.__property?this.__property:this.infer.replace(/-/g,"_")}set property(e){this.__property=e}get label(){return"string"==typeof this.__label?this.__label:this.t("label")}set label(e){this.__label=e}get _value(){var e;return null===(e=this.nucleon)||void 0===e?void 0:e.form[this.property]}set _value(e){var t;const r=new CustomEvent("change",{cancelable:!0,detail:e});this.dispatchEvent(r)&&(null===(t=this.nucleon)||void 0===t||t.edit({[this.property]:e}))}get _error(){var e;return null===(e=this.nucleon)||void 0===e?void 0:e.errors.find((e=>e.startsWith(this.v8nPrefix)))}get _errorMessage(){return this._error?this.t(this._error.substring(this.v8nPrefix.length)):void 0}get _checkValidity(){return()=>!this._error}}customElements.define("foxy-internal-editable-control",i);let l,n=e=>e;customElements.define("foxy-internal-text-control",class extends i{renderControl(){return s(l||(l=n` <vaadin-text-field error-message="${0}" helper-text="${0}" placeholder="${0}" label="${0}" class="w-full" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @input="${0}"> </vaadin-text-field> `),r(this._errorMessage),this.helperText,this.placeholder,this.label,this.disabled,this.readonly,this._checkValidity,this._value,(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),(e=>{const t=e.currentTarget;this._value=t.value}))}get _value(){var e;return null!==(e=super._value)&&void 0!==e?e:""}set _value(e){super._value=e}});export{i as I};
@@ -1 +0,0 @@
1
- import"./foxy-spinner.js";import"./shared-7a084a40.js";import"./shared-73cfd096.js";import{I as e,_ as t}from"./shared-2eee69db.js";import{L as n,r as i,h as r,c as s}from"./shared-dc73b9a5.js";import{C as a}from"./shared-58a9174f.js";import{a as o,T as l}from"./shared-855a1983.js";import{N as d}from"./shared-25ef9e09.js";import"./shared-cea659c8.js";import{P as c}from"./shared-6eb57269.js";import{c as p}from"./shared-4e709717.js";let u,h,m,f,y=e=>e;class v extends(a(o(l(e(n))))){constructor(){super(...arguments),this.nucleon=null,this.infer=""}static get inferredProperties(){return[...super.inferredProperties,"nucleon"]}static get properties(){return t(t({},super.properties),{},{nucleon:{attribute:!1}})}inferFromElement(e,t){return"nucleon"===e&&t instanceof d?t:super.inferFromElement(e,t)}applyInferredProperties(e){var t;super.applyInferredProperties(e),this.nucleon=null!==(t=e.get("nucleon"))&&void 0!==t?t:null}updated(e){super.updated(e),this.style.display=this.hidden?"none":"",i(r(u||(u=y` <slot name="${0}:before" slot="before"></slot> <slot name="${0}:after" slot="after"></slot> `),this.infer,this.infer),this)}renderControl(){return r(h||(h=y``))}render(){return this.hidden?r(m||(m=y``)):r(f||(f=y` ${0} ${0} ${0} `),this.renderTemplateOrSlot("before",this.nucleon),this.renderControl(),this.renderTemplateOrSlot("after",this.nucleon))}}let x,g=e=>e;customElements.define("foxy-internal-delete-control",class extends v{constructor(){super(...arguments),this.infer="delete",this.theme="primary error"}static get properties(){return t(t({},super.properties),{},{theme:{type:String}})}renderControl(){return r(x||(x=g` <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> <vaadin-button data-testid="delete" theme="${0}" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="delete" lang="${0}"></foxy-i18n> </vaadin-button> `),this.lang,this.ns,(e=>{var t;return!e.detail.cancelled&&(null===(t=this.nucleon)||void 0===t?void 0:t.delete())}),this.theme,this.disabled||this.readonly,(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang)}});let _,$=e=>e;customElements.define("foxy-internal-create-control",class extends v{constructor(){super(...arguments),this.theme="primary success"}static get properties(){return t(t({},super.properties),{},{theme:{type:String}})}renderControl(){return r(_||(_=$` <vaadin-button class="w-full" theme="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="" key="create"></foxy-i18n> </vaadin-button> `),this.theme,this.disabled||this.__isInvalid,(()=>{var e;return null===(e=this.nucleon)||void 0===e?void 0:e.submit()}))}get __isCleanTemplateInvalid(){var e;return!!(null===(e=this.nucleon)||void 0===e?void 0:e.in({idle:{template:{clean:"invalid"}}}))}get __isDirtyTemplateInvalid(){var e;return!!(null===(e=this.nucleon)||void 0===e?void 0:e.in({idle:{template:{dirty:"invalid"}}}))}get __isCleanSnapshotInvalid(){var e;return!!(null===(e=this.nucleon)||void 0===e?void 0:e.in({idle:{snapshot:{clean:"invalid"}}}))}get __isDirtySnapshotInvalid(){var e;return!!(null===(e=this.nucleon)||void 0===e?void 0:e.in({idle:{snapshot:{dirty:"invalid"}}}))}get __isTemplateInvalid(){return this.__isCleanTemplateInvalid||this.__isDirtyTemplateInvalid}get __isSnapshotInvalid(){return this.__isCleanSnapshotInvalid||this.__isDirtySnapshotInvalid}get __isInvalid(){return this.__isSnapshotInvalid||this.__isTemplateInvalid}});let b,I,w=e=>e;customElements.define("foxy-internal-timestamps-control",class extends v{constructor(){super(...arguments),this.infer="timestamps"}static get styles(){return[super.styles,s(b||(b=w`.max-w-0{max-width:0}`))]}renderControl(){return r(I||(I=w` <table class="font-lumo text-m leading-m w-full"> <tbody class="divide-y divide-contrast-10"> <tr> <td class="max-w-0 truncate py-s text-secondary w-1-3 pr-m"> <foxy-i18n lang="${0}" key="date_created" ns="${0}"></foxy-i18n> </td> <td class="max-w-0 truncate py-s text-body w-2-3"> <foxy-i18n options="${0}" lang="${0}" key="date" ns="${0}"> </foxy-i18n> </td> </tr> <tr> <td class="max-w-0 truncate py-s text-secondary w-1-3 pr-m"> <foxy-i18n lang="${0}" key="date_modified" ns="${0}"></foxy-i18n> </td> <td class="max-w-0 truncate py-s text-body w-2-3"> <foxy-i18n options="${0}" lang="${0}" key="date" ns="${0}"> </foxy-i18n> </td> </tr> </tbody> </table> `),this.lang,this.ns,JSON.stringify({value:c(this,"nucleon.form.date_created")}),this.lang,this.ns,this.lang,this.ns,JSON.stringify({value:c(this,"nucleon.form.date_modified")}),this.lang,this.ns)}});let S,j,C,T=e=>e;const k=a(l(d));class E extends k{renderBody(){return this.data?r(S||(S=T` <foxy-internal-timestamps-control infer="timestamps"></foxy-internal-timestamps-control> <foxy-internal-delete-control infer="delete"></foxy-internal-delete-control> `)):r(j||(j=T`<foxy-internal-create-control infer="create"></foxy-internal-create-control>`))}render(){const e=!(this.in("idle")||this.in({busy:"fetching"})&&this.data);return r(C||(C=T` <div aria-busy="${0}" aria-live="polite" class="relative"> <div class="${0}"> ${0} </div> <div class="${0}"> <foxy-spinner layout="${0}" class="m-auto" state="${0}" infer="spinner"> </foxy-spinner> </div> </div> `),this.in("busy"),p({"grid grid-cols-1 gap-m":!0,"transition-opacity":!0,"opacity-0 pointer-events-none":e}),this.renderBody(),p({"transition-opacity absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!e}),this.in("fail")?"vertical":"no-label",this.in("fail")?"error":"busy")}}customElements.define("foxy-internal-form",E);export{E as I,v as a};
@@ -1 +0,0 @@
1
- import"./foxy-collection-page.js";import"./foxy-form-dialog.js";import"./foxy-pagination.js";import"./shared-7a084a40.js";import"./shared-c6ed5394.js";import"./shared-4764b995.js";import"./shared-39b61999.js";import{I as e,_ as t}from"./shared-2eee69db.js";import{L as r,h as s}from"./shared-dc73b9a5.js";import{T as i}from"./shared-855a1983.js";import{c as o}from"./shared-4e709717.js";import{a as n}from"./shared-6a0012d6.js";let a,l=e=>e;class c extends(i(e(r))){constructor(){super(...arguments),this.summary=null,this.open=!1}static get properties(){return t(t({},super.properties),{},{summary:{type:String},open:{type:Boolean}})}render(){var e;return s(a||(a=l` <details class="w-full border border-contrast-10 rounded-t-l rounded-b-l" ?open="${0}" @toggle="${0}"> <summary class="${0}"> <div class="flex items-center h-m pl-m pr-s"> <div class="flex items-center flex-1"> <foxy-i18n class="flex items-center text-xs tracking-wide uppercase font-bold text-body" infer="" key="${0}"> </foxy-i18n> <slot name="actions"></slot> </div> <iron-icon class="icon-inline text-xl text-body" icon="icons:expand-${0}"> </iron-icon> </div> </summary> <div class="border-t border-contrast-10"> <slot></slot> </div> </details> `),this.open,(e=>{this.open=e.currentTarget.open}),o({"focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50":!0,"transition-colors cursor-pointer hover-bg-contrast-5":!0,"rounded-t-l":!0,"rounded-b-l":!this.open}),null!==(e=this.summary)&&void 0!==e?e:"",this.open?"less":"more")}}customElements.define("foxy-internal-details",c);let d,m,f,p,u=e=>e;customElements.define("foxy-internal-async-details-control",class extends n{constructor(){super(...arguments),this.related=[],this.limit=20,this.first="",this.form="",this.item="",this.open=!1,this.__itemRenderer=e=>{if(!this.form||!e.data)return this.__cardRenderer(e);const t=this.disabledSelector.matches("card",!0);return s(d||(d=u` <button ?disabled="${0}" class="${0}" @click="${0}"> ${0} </button> `),t,o({"focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50":!0,"text-left w-full block transition-colors":!0,"hover-bg-contrast-5":!t}),(t=>{const r=t.currentTarget,s=this.__dialog;s.header="header_update",s.href=e.href,s.show(r)}),this.__cardRenderer(e))}}static get properties(){return t(t({},super.properties),{},{related:{type:Array},first:{type:String},limit:{type:Number},form:{type:String},item:{type:String},open:{type:Boolean}})}renderControl(){let e;try{const t=new URL(this.first);t.searchParams.set("limit",String(this.limit)),e=t.toString()}catch(t){e=this.first}return s(m||(m=u` <foxy-internal-details summary="title" infer="" ?open="${0}" @toggle="${0}"> ${0} <foxy-pagination class="px-m pb-s" first="${0}" infer="pagination"> <foxy-collection-page class="-mx-m block divide-y divide-contrast-10 mb-s" infer="card" .related="${0}" .item="${0}"> </foxy-collection-page> </foxy-pagination> </foxy-internal-details> `),this.open,(e=>this.open=e.currentTarget.open),this.form?s(f||(f=u` <foxy-form-dialog parent="${0}" infer="dialog" id="form" .related="${0}" .form="${0}"> </foxy-form-dialog> ${0} `),e,this.related,this.form,this.readonly?"":s(p||(p=u` <button class="h-xs w-xs rounded-full text-success flex items-center justify-center text-l focus-outline-none focus-ring-2 focus-ring-primary-50" slot="actions" @click="${0}"> <iron-icon class="icon-inline" icon="icons:add"></iron-icon> </button> `),(e=>{e.preventDefault(),e.stopPropagation();const t=this.__dialog,r=e.currentTarget;t.header="header_create",t.href="",t.show(r)}))):"",e,this.related,this.__itemRenderer)}get __dialog(){return this.renderRoot.querySelector("#form")}get __cardRenderer(){return new Function("ctx",`return ctx.html\`<${this.item} related=\${JSON.stringify(ctx.related)} parent=\${ctx.parent} class="p-m" infer href=\${ctx.href}></${this.item}>\``)}});