@foxy.io/elements 1.18.0-beta.14 → 1.18.0-beta.15

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 (205) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +1 -1
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-api-browser.js +1 -1
  5. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  6. package/dist/cdn/foxy-attribute-card.js +1 -1
  7. package/dist/cdn/foxy-attribute-form.js +1 -1
  8. package/dist/cdn/foxy-cancellation-form.js +1 -1
  9. package/dist/cdn/foxy-collection-page.js +1 -1
  10. package/dist/cdn/foxy-collection-pages.js +1 -1
  11. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  12. package/dist/cdn/foxy-coupon-card.js +1 -1
  13. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  14. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  15. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  16. package/dist/cdn/foxy-coupon-form.js +1 -1
  17. package/dist/cdn/foxy-custom-field-card.js +1 -1
  18. package/dist/cdn/foxy-custom-field-form.js +1 -1
  19. package/dist/cdn/foxy-customer-card.js +1 -1
  20. package/dist/cdn/foxy-customer-form.js +1 -1
  21. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  22. package/dist/cdn/foxy-customer-portal.js +1 -1
  23. package/dist/cdn/foxy-customer.js +1 -1
  24. package/dist/cdn/foxy-customers-table.js +1 -1
  25. package/dist/cdn/foxy-discount-builder.js +1 -1
  26. package/dist/cdn/foxy-discount-card.js +1 -1
  27. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  28. package/dist/cdn/foxy-donation.js +1 -1
  29. package/dist/cdn/foxy-email-template-card.js +1 -1
  30. package/dist/cdn/foxy-email-template-form.js +1 -1
  31. package/dist/cdn/foxy-error-entry-card.js +1 -1
  32. package/dist/cdn/foxy-form-dialog.js +1 -1
  33. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  34. package/dist/cdn/foxy-gift-card-card.js +1 -1
  35. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  36. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  37. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  38. package/dist/cdn/foxy-gift-card-form.js +1 -1
  39. package/dist/cdn/foxy-i18n.js +1 -1
  40. package/dist/cdn/foxy-item-card.js +1 -1
  41. package/dist/cdn/foxy-item-category-card.js +1 -1
  42. package/dist/cdn/foxy-item-category-form.js +1 -1
  43. package/dist/cdn/foxy-item-form.js +1 -1
  44. package/dist/cdn/foxy-item-option-card.js +1 -1
  45. package/dist/cdn/foxy-item-option-form.js +1 -1
  46. package/dist/cdn/foxy-items-form.js +1 -1
  47. package/dist/cdn/foxy-pagination.js +1 -1
  48. package/dist/cdn/foxy-payment-card.js +1 -1
  49. package/dist/cdn/foxy-payment-method-card.js +1 -1
  50. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  51. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  52. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  53. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  54. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  55. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  56. package/dist/cdn/foxy-query-builder.js +1 -1
  57. package/dist/cdn/foxy-report-form.js +2 -2
  58. package/dist/cdn/foxy-reports-table.js +1 -1
  59. package/dist/cdn/foxy-shipment-card.js +1 -1
  60. package/dist/cdn/foxy-shipping-method-card.js +1 -0
  61. package/dist/cdn/foxy-sign-in-form.js +1 -1
  62. package/dist/cdn/foxy-spinner.js +2 -2
  63. package/dist/cdn/foxy-store-form.js +1 -1
  64. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  65. package/dist/cdn/foxy-subscription-card.js +1 -1
  66. package/dist/cdn/foxy-subscription-form.js +3 -3
  67. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  68. package/dist/cdn/foxy-table.js +1 -1
  69. package/dist/cdn/foxy-tax-card.js +1 -1
  70. package/dist/cdn/foxy-tax-form.js +1 -1
  71. package/dist/cdn/foxy-template-card.js +1 -1
  72. package/dist/cdn/foxy-template-config-form.js +1 -1
  73. package/dist/cdn/foxy-template-form.js +1 -1
  74. package/dist/cdn/foxy-template-set-card.js +1 -0
  75. package/dist/cdn/foxy-template-set-form.js +1 -1
  76. package/dist/cdn/foxy-transaction-card.js +1 -1
  77. package/dist/cdn/foxy-transaction.js +1 -1
  78. package/dist/cdn/foxy-transactions-table.js +1 -1
  79. package/dist/cdn/foxy-user-form.js +1 -1
  80. package/dist/cdn/foxy-users-table.js +1 -1
  81. package/dist/cdn/foxy-webhook-card.js +1 -1
  82. package/dist/cdn/foxy-webhook-form.js +1 -1
  83. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  84. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  85. package/dist/cdn/{shared-b20753b8.js → shared-0565ecbc.js} +1 -1
  86. package/dist/cdn/{shared-14dc506c.js → shared-081ad02f.js} +1 -1
  87. package/dist/cdn/{shared-a42a63aa.js → shared-0953a0e7.js} +1 -1
  88. package/dist/cdn/{shared-d75c6072.js → shared-0d91f648.js} +1 -1
  89. package/dist/cdn/{shared-9afb80a6.js → shared-10dbb9d7.js} +1 -1
  90. package/dist/cdn/{shared-93548d58.js → shared-1d34726a.js} +1 -1
  91. package/dist/cdn/{shared-0ecc7d2c.js → shared-2a56246b.js} +1 -1
  92. package/dist/cdn/{shared-36aaf815.js → shared-3425791b.js} +1 -1
  93. package/dist/cdn/{shared-11be3c89.js → shared-34cd3a01.js} +1 -1
  94. package/dist/cdn/{shared-b2850d64.js → shared-38df92f3.js} +1 -1
  95. package/dist/cdn/{shared-a0e71609.js → shared-398b3c49.js} +1 -1
  96. package/dist/cdn/{shared-d9a3104e.js → shared-3ef5c283.js} +1 -1
  97. package/dist/cdn/{shared-aa4bf9ab.js → shared-45418f3b.js} +1 -1
  98. package/dist/cdn/{shared-553e6472.js → shared-4610cbdb.js} +1 -1
  99. package/dist/cdn/{shared-73a8b603.js → shared-4ff7174f.js} +1 -1
  100. package/dist/cdn/shared-5606cd36.js +1 -0
  101. package/dist/cdn/{shared-3e781cc9.js → shared-5c837b54.js} +1 -1
  102. package/dist/cdn/{shared-96ebc59f.js → shared-63671948.js} +1 -1
  103. package/dist/cdn/{shared-d24c3729.js → shared-6b471536.js} +1 -1
  104. package/dist/cdn/{shared-93a1be98.js → shared-6dafebaf.js} +1 -1
  105. package/dist/cdn/{shared-7415fa7e.js → shared-74b7438a.js} +1 -1
  106. package/dist/cdn/shared-760cc838.js +1 -0
  107. package/dist/cdn/{shared-04046e0e.js → shared-7ab9beb2.js} +1 -1
  108. package/dist/cdn/{shared-0bbbc87f.js → shared-7ca327ea.js} +1 -1
  109. package/dist/cdn/{shared-4c61787a.js → shared-8033b140.js} +1 -1
  110. package/dist/cdn/{shared-4ebfd7ef.js → shared-8328826e.js} +7 -7
  111. package/dist/cdn/{shared-35a7a4d6.js → shared-86be537c.js} +1 -1
  112. package/dist/cdn/{shared-290769ea.js → shared-8704e701.js} +1 -1
  113. package/dist/cdn/{shared-da285807.js → shared-88924652.js} +4 -4
  114. package/dist/cdn/{shared-682dbe0a.js → shared-890a22af.js} +1 -1
  115. package/dist/cdn/shared-8ab29d7d.js +1 -0
  116. package/dist/cdn/{shared-c3a3d9f6.js → shared-8dee6348.js} +2 -2
  117. package/dist/cdn/{shared-e4383064.js → shared-93c15291.js} +1 -1
  118. package/dist/cdn/{shared-19044260.js → shared-a5000f1f.js} +1 -1
  119. package/dist/cdn/{shared-e32be255.js → shared-a6339611.js} +4 -4
  120. package/dist/cdn/{shared-67f1821b.js → shared-a861c770.js} +1 -1
  121. package/dist/cdn/{shared-8d9c0007.js → shared-a8ada44e.js} +1 -1
  122. package/dist/cdn/shared-abf68928.js +1 -0
  123. package/dist/cdn/{shared-214c34b5.js → shared-b567541a.js} +1 -1
  124. package/dist/cdn/{shared-4fa44231.js → shared-b6a37360.js} +1 -1
  125. package/dist/cdn/{shared-d8bf2eac.js → shared-b98f0ad9.js} +1 -1
  126. package/dist/cdn/{shared-c7cae9e6.js → shared-bd4b0759.js} +1 -1
  127. package/dist/cdn/{shared-eab81bf4.js → shared-c29811ec.js} +1 -1
  128. package/dist/cdn/{shared-3a84611d.js → shared-cd14b0cc.js} +1 -1
  129. package/dist/cdn/{shared-915fb0e4.js → shared-d1b62ccd.js} +17 -12
  130. package/dist/cdn/{shared-81d3ff30.js → shared-d58e7670.js} +1 -1
  131. package/dist/cdn/{shared-5cb39f03.js → shared-d8b14272.js} +1 -1
  132. package/dist/cdn/{shared-418e88da.js → shared-dee53530.js} +1 -1
  133. package/dist/cdn/{shared-435ab348.js → shared-eefa4103.js} +1 -1
  134. package/dist/cdn/{shared-119efeaa.js → shared-f22d1ed9.js} +1 -1
  135. package/dist/cdn/{shared-4a519a4a.js → shared-fd124dfd.js} +1 -1
  136. package/dist/cdn/{shared-e4e93604.js → shared-fdf6ca55.js} +1 -1
  137. package/dist/cdn/{shared-19440ca2.js → shared-ffea7639.js} +1 -1
  138. package/dist/cdn/translations/email-template-card/en.json +1 -1
  139. package/dist/cdn/translations/shipping-method-card/en.json +11 -0
  140. package/dist/cdn/translations/store-form/en.json +18 -13
  141. package/dist/cdn/translations/template-config-form/en.json +0 -4
  142. package/dist/cdn/translations/template-set-card/en.json +7 -0
  143. package/dist/cdn/translations/template-set-form/en.json +8 -342
  144. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +6 -0
  145. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +47 -28
  146. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  147. package/dist/elements/private/Dialog/Dialog.d.ts +2 -0
  148. package/dist/elements/private/Dialog/Dialog.js +6 -1
  149. package/dist/elements/private/Dialog/Dialog.js.map +1 -1
  150. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +8 -1
  151. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -1
  152. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.d.ts +15 -0
  153. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js +78 -0
  154. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js.map +1 -0
  155. package/dist/elements/public/ShippingMethodCard/index.d.ts +4 -0
  156. package/dist/elements/public/ShippingMethodCard/index.js +6 -0
  157. package/dist/elements/public/ShippingMethodCard/index.js.map +1 -0
  158. package/dist/elements/public/ShippingMethodCard/types.d.ts +10 -0
  159. package/dist/elements/public/ShippingMethodCard/types.js +2 -0
  160. package/dist/elements/public/ShippingMethodCard/types.js.map +1 -0
  161. package/dist/elements/public/StoreForm/StoreForm.d.ts +1 -1
  162. package/dist/elements/public/StoreForm/StoreForm.js +50 -43
  163. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  164. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +24 -0
  165. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
  166. package/dist/elements/public/StoreShippingMethodForm/index.d.ts +1 -0
  167. package/dist/elements/public/StoreShippingMethodForm/index.js +1 -0
  168. package/dist/elements/public/StoreShippingMethodForm/index.js.map +1 -1
  169. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.d.ts +0 -1
  170. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +9 -58
  171. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
  172. package/dist/elements/public/TemplateConfigForm/index.d.ts +0 -1
  173. package/dist/elements/public/TemplateConfigForm/index.js +0 -1
  174. package/dist/elements/public/TemplateConfigForm/index.js.map +1 -1
  175. package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +10 -0
  176. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +18 -0
  177. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -0
  178. package/dist/elements/public/TemplateSetCard/index.d.ts +3 -0
  179. package/dist/elements/public/TemplateSetCard/index.js +5 -0
  180. package/dist/elements/public/TemplateSetCard/index.js.map +1 -0
  181. package/dist/elements/public/TemplateSetCard/types.d.ts +3 -0
  182. package/dist/elements/public/TemplateSetCard/types.js +2 -0
  183. package/dist/elements/public/TemplateSetCard/types.js.map +1 -0
  184. package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +1 -20
  185. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +21 -236
  186. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -1
  187. package/dist/elements/public/TemplateSetForm/index.d.ts +0 -8
  188. package/dist/elements/public/TemplateSetForm/index.js +0 -8
  189. package/dist/elements/public/TemplateSetForm/index.js.map +1 -1
  190. package/dist/elements/public/index.d.ts +2 -0
  191. package/dist/elements/public/index.defined.d.ts +2 -0
  192. package/dist/elements/public/index.defined.js +2 -0
  193. package/dist/elements/public/index.defined.js.map +1 -1
  194. package/dist/elements/public/index.js +2 -0
  195. package/dist/elements/public/index.js.map +1 -1
  196. package/dist/mixins/themeable.js +32 -88
  197. package/dist/mixins/themeable.js.map +1 -1
  198. package/package.json +1 -1
  199. package/dist/cdn/shared-0cc4beec.js +0 -6
  200. package/dist/cdn/shared-1eb24528.js +0 -1
  201. package/dist/cdn/shared-9a0f97e5.js +0 -1
  202. package/dist/cdn/shared-b1201c2e.js +0 -1
  203. package/dist/cdn/shared-c7ab6598.js +0 -1
  204. package/dist/cdn/shared-e1069291.js +0 -1
  205. package/dist/cdn/shared-effdf59d.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../src/elements/private/Dialog/Dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultArray, LitElement, PropertyDeclarations, css } from 'lit-element';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { API } from '../../public/NucleonElement/API';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { DialogHideEvent } from './DialogHideEvent';\nimport { DialogShowEvent } from './DialogShowEvent';\nimport { DialogWindow } from './DialogWindow';\nimport { FetchEvent } from '../../public/NucleonElement/FetchEvent';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\nconst Base = TranslatableMixin(ConfigurableMixin(ThemeableMixin(InferrableMixin(LitElement))));\n\nexport abstract class Dialog extends Base {\n /**\n * Selector of an element that will serve as a mounting point to all dialog windows.\n * It's `<body>` by default, but you can add your own element with `id=\"foxy-dialog-windows-host\"`\n * anywhere in the light DOM to render dialogs there.\n */\n static readonly dialogWindowsHost = '#foxy-dialog-windows-host, body';\n\n /** Map of all dialog windows linked to their dialog elements. */\n static readonly dialogWindows = new WeakMap<Dialog, DialogWindow>();\n\n /** List of all currently open dialogs. */\n static readonly openDialogs: Dialog[] = [];\n\n /**\n * Instance of this event will be dispatched on a dialog when it finishes entering the screen.\n * This event does not bubble and can't cross shadow DOM boundary.\n */\n static readonly ShowEvent = DialogShowEvent;\n\n /**\n * Instance of this event will be dispatched on a dialog when it finishes leaving the screen.\n * This event does not bubble and can't cross shadow DOM boundary.\n */\n static readonly HideEvent = DialogHideEvent;\n\n /** @readonly */\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __connected: { attribute: false },\n __visible: { attribute: false },\n centered: { type: Boolean },\n closable: { type: Boolean },\n editable: { type: Boolean },\n header: { type: String },\n alert: { type: Boolean },\n open: { type: Boolean, noAccessor: true },\n };\n }\n\n /** @readonly */\n static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n .grid-cols-header {\n grid-template-columns: 1fr auto 1fr;\n }\n\n .scale-85 {\n --tw-scale-x: 0.85;\n --tw-scale-y: 0.85;\n }\n `,\n ];\n }\n\n /** When true, renders Close button in the header. */\n closable = false;\n\n /** When true, renders Save button in the header. */\n editable = false;\n\n /** Header text or a i18next key for it. */\n header = '';\n\n /** When true, centers a dialog on the screen and does not animate the stack under. */\n alert = false;\n\n private __returnFocusTo?: HTMLElement;\n\n private __handleKeyDown = (evt: KeyboardEvent) => {\n if (evt.key === 'Escape' && Dialog.openDialogs[0] === this && this.closable)\n this.hide(this.editable);\n };\n\n private __connected = false;\n\n private __visible = false;\n\n /** True if dialog is mounted and has finished entering the screen. */\n get open(): boolean {\n return this.__visible && this.__connected;\n }\n\n set open(newValue: boolean) {\n newValue === this.open ? void 0 : newValue ? this.show() : this.hide(this.editable);\n }\n\n /** @readonly */\n connectedCallback(): void {\n super.connectedCallback();\n addEventListener('keydown', this.__handleKeyDown);\n }\n\n /** @readonly */\n disconnectedCallback(): void {\n super.disconnectedCallback();\n removeEventListener('keydown', this.__handleKeyDown);\n\n Dialog.dialogWindows.get(this)?.remove();\n Dialog.dialogWindows.delete(this);\n }\n\n /** @readonly */\n createRenderRoot(): Element | ShadowRoot {\n const dialogWindow = new DialogWindow();\n const dialogWindowsHosts = document.querySelectorAll(Dialog.dialogWindowsHost);\n const dialogWindowsHost = Array.from(dialogWindowsHosts).pop();\n\n dialogWindow.addEventListener('fetch', (evt: Event) => {\n if (evt instanceof FetchEvent) {\n evt.stopImmediatePropagation();\n evt.preventDefault();\n evt.respondWith(new API(this).fetch(evt.request));\n }\n });\n\n dialogWindowsHost?.appendChild(dialogWindow);\n Dialog.dialogWindows.set(this, dialogWindow);\n\n return dialogWindow.shadowRoot!;\n }\n\n /** @readonly */\n render(content?: () => TemplateResult): TemplateResult {\n if (!this.__connected) return html``;\n\n const isFirst = Dialog.openDialogs[0] === this;\n const isSecond = Dialog.openDialogs[1] === this;\n const isThird = Dialog.openDialogs[2] === this;\n const isForthAndGreater = !isFirst && !isSecond && !isThird;\n\n return html`\n <div\n class=${classMap({ 'z-50 fixed inset-0': true, 'pointer-events-none': !this.__visible })}\n >\n <div\n id=\"backdrop\"\n class=${classMap({\n 'select-none ease-in-out transition duration-500 absolute inset-0 bg-shade-50 focus-outline-none':\n true,\n 'opacity-100': this.__visible,\n 'opacity-0': !this.__visible,\n })}\n tabindex=\"-1\"\n @click=${() => this.closable && this.hide(this.editable)}\n ></div>\n\n <div\n role=\"dialog\"\n aria-labelledby=\"dialog-title\"\n class=${classMap({\n 'transform origin-bottom ease-in-out transition duration-500 relative h-full ml-auto sm-origin-center sm-max-w-modal':\n true,\n 'flex justify-center items-end sm-items-center mr-auto': this.alert,\n 'translate-y-full sm-translate-y-0': !this.__visible,\n 'sm-translate-x-full': !this.alert && !this.__visible,\n 'sm-opacity-0 sm-scale-110': this.alert && !this.__visible,\n 'translate-y-0 translate-x-0': isFirst && this.__visible,\n 'scale-95 -translate-y-s sm-translate-y-0': isSecond && this.__visible,\n 'scale-90 -translate-y-m sm-translate-y-0': isThird && this.__visible,\n 'opacity-0 scale-85 -translate-y-l sm-translate-y-0':\n isForthAndGreater && this.__visible,\n })}\n >\n <div\n class=${classMap({\n 'overflow-hidden flex flex-col bg-base rounded-t-l sm-rounded-b-l': true,\n 'absolute inset-0 mt-xl sm-m-xl': !this.alert,\n 'shadow-xxl': this.__visible,\n })}\n >\n <div\n class=\"h-l grid grid-cols-header text-m font-lumo font-medium border-b border-contrast-10\"\n >\n ${this.closable && !this.hiddenSelector.matches('close-button', true)\n ? html`\n <vaadin-button\n id=\"close-button\"\n theme=\"tertiary-inline\"\n class=\"mr-auto m-s px-s\"\n ?disabled=${this.disabledSelector.matches('close-button', true)}\n @click=${() => this.hide(this.editable)}\n >\n <foxy-i18n\n lang=${this.lang}\n key=${this.editable ? 'cancel' : 'close'}\n ns=${this.ns}\n >\n </foxy-i18n>\n </vaadin-button>\n `\n : html`<div></div>`}\n\n <h1 id=\"dialog-title\" class=\"truncate self-center text-center\">\n <foxy-i18n ns=${this.ns} lang=${this.lang} key=${this.header}></foxy-i18n>\n </h1>\n\n ${this.editable && !this.hiddenSelector.matches('save-button', true)\n ? html`\n <vaadin-button\n data-testid=\"save-button\"\n ?disabled=${this.disabledSelector.matches('save-button', true)}\n theme=\"primary\"\n class=\"ml-auto h-auto min-h-0 min-w-0 m-xs px-m\"\n @click=${this.save}\n >\n <foxy-i18n ns=${this.ns} lang=${this.lang} key=\"save\"></foxy-i18n>\n </vaadin-button>\n `\n : html`<div></div>`}\n </div>\n\n <div class=\"flex-1 overflow-y-auto overflow-x-hidden overscroll-contain\">\n <div class=\"p-m relative\">${content?.()}</div>\n </div>\n </div>\n </div>\n </div>\n `;\n }\n\n /**\n * Hides the dialog. Returns a promise that resolves when the dialog\n * finishes leaving the screen.\n *\n * @param cancelled Set this to `true` if closing an editable dialog without saving changes.\n */\n async hide(cancelled = false): Promise<void> {\n this.__returnFocusTo?.focus();\n\n await this.__setOpenDialogs(Dialog.openDialogs.filter(d => d !== this));\n await this.__setConnected(false);\n\n this.dispatchEvent(new Dialog.HideEvent(!!cancelled));\n }\n\n /**\n * Shows the dialog. Returns a promise that resolves when the dialog\n * finishes entering the screen.\n *\n * @param returnFocusTo If provided, the dialog will call `.focus()` on that element once it's closed.\n */\n async show(returnFocusTo?: HTMLElement): Promise<void> {\n this.__returnFocusTo = returnFocusTo;\n\n await this.__setConnected(true);\n await this.__setOpenDialogs([this, ...Dialog.openDialogs]);\n\n const closeButton = this.renderRoot.querySelector('#close-button') as HTMLButtonElement;\n closeButton?.focus();\n\n this.dispatchEvent(new Dialog.ShowEvent());\n }\n\n /** Alias for `dialog.hide(false)`. */\n async save(): Promise<void> {\n await this.hide(false);\n }\n\n private async __setOpenDialogs(newValue: Dialog[]) {\n Dialog.openDialogs.length = 0;\n Dialog.openDialogs.push(...newValue);\n\n await Promise.all([\n // animate dialog stack\n Promise.all(Dialog.openDialogs.map(dialog => dialog.requestUpdate())),\n\n // trigger exit transition\n new Promise(resolve => {\n const backdrop = this.renderRoot.querySelector('#backdrop') as HTMLDivElement;\n backdrop.addEventListener('transitionend', resolve, { once: true });\n this.__visible = Dialog.openDialogs.includes(this);\n }),\n ]);\n }\n\n private async __setConnected(newValue: boolean) {\n this.__connected = newValue;\n await this.updateComplete.then(() => this.getBoundingClientRect());\n }\n}\n\ncustomElements.define('foxy-dialog-window', DialogWindow);\n"]}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../src/elements/private/Dialog/Dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultArray, LitElement, PropertyDeclarations, css } from 'lit-element';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { API } from '../../public/NucleonElement/API';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { DialogHideEvent } from './DialogHideEvent';\nimport { DialogShowEvent } from './DialogShowEvent';\nimport { DialogWindow } from './DialogWindow';\nimport { FetchEvent } from '../../public/NucleonElement/FetchEvent';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\nconst Base = TranslatableMixin(ConfigurableMixin(ThemeableMixin(InferrableMixin(LitElement))));\n\nexport abstract class Dialog extends Base {\n /**\n * Selector of an element that will serve as a mounting point to all dialog windows.\n * It's `<body>` by default, but you can add your own element with `id=\"foxy-dialog-windows-host\"`\n * anywhere in the light DOM to render dialogs there.\n */\n static readonly dialogWindowsHost = '#foxy-dialog-windows-host, body';\n\n /** Map of all dialog windows linked to their dialog elements. */\n static readonly dialogWindows = new WeakMap<Dialog, DialogWindow>();\n\n /** List of all currently open dialogs. */\n static readonly openDialogs: Dialog[] = [];\n\n /**\n * Instance of this event will be dispatched on a dialog when it finishes entering the screen.\n * This event does not bubble and can't cross shadow DOM boundary.\n */\n static readonly ShowEvent = DialogShowEvent;\n\n /**\n * Instance of this event will be dispatched on a dialog when it finishes leaving the screen.\n * This event does not bubble and can't cross shadow DOM boundary.\n */\n static readonly HideEvent = DialogHideEvent;\n\n /** @readonly */\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __connected: { attribute: false },\n __visible: { attribute: false },\n centered: { type: Boolean },\n closable: { type: Boolean },\n editable: { type: Boolean },\n header: { type: String },\n alert: { type: Boolean },\n wide: { type: Boolean },\n open: { type: Boolean, noAccessor: true },\n };\n }\n\n /** @readonly */\n static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n .grid-cols-header {\n grid-template-columns: 1fr auto 1fr;\n }\n\n .scale-85 {\n --tw-scale-x: 0.85;\n --tw-scale-y: 0.85;\n }\n `,\n ];\n }\n\n /** When true, renders Close button in the header. */\n closable = false;\n\n /** When true, renders Save button in the header. */\n editable = false;\n\n /** Header text or a i18next key for it. */\n header = '';\n\n /** When true, centers a dialog on the screen and does not animate the stack under. */\n alert = false;\n\n /** When true, dialog window will a larger maximum width. */\n wide = false;\n\n private __returnFocusTo?: HTMLElement;\n\n private __handleKeyDown = (evt: KeyboardEvent) => {\n if (evt.key === 'Escape' && Dialog.openDialogs[0] === this && this.closable)\n this.hide(this.editable);\n };\n\n private __connected = false;\n\n private __visible = false;\n\n /** True if dialog is mounted and has finished entering the screen. */\n get open(): boolean {\n return this.__visible && this.__connected;\n }\n\n set open(newValue: boolean) {\n newValue === this.open ? void 0 : newValue ? this.show() : this.hide(this.editable);\n }\n\n /** @readonly */\n connectedCallback(): void {\n super.connectedCallback();\n addEventListener('keydown', this.__handleKeyDown);\n }\n\n /** @readonly */\n disconnectedCallback(): void {\n super.disconnectedCallback();\n removeEventListener('keydown', this.__handleKeyDown);\n\n Dialog.dialogWindows.get(this)?.remove();\n Dialog.dialogWindows.delete(this);\n }\n\n /** @readonly */\n createRenderRoot(): Element | ShadowRoot {\n const dialogWindow = new DialogWindow();\n const dialogWindowsHosts = document.querySelectorAll(Dialog.dialogWindowsHost);\n const dialogWindowsHost = Array.from(dialogWindowsHosts).pop();\n\n dialogWindow.addEventListener('fetch', (evt: Event) => {\n if (evt instanceof FetchEvent) {\n evt.stopImmediatePropagation();\n evt.preventDefault();\n evt.respondWith(new API(this).fetch(evt.request));\n }\n });\n\n dialogWindowsHost?.appendChild(dialogWindow);\n Dialog.dialogWindows.set(this, dialogWindow);\n\n return dialogWindow.shadowRoot!;\n }\n\n /** @readonly */\n render(content?: () => TemplateResult): TemplateResult {\n if (!this.__connected) return html``;\n\n const isFirst = Dialog.openDialogs[0] === this;\n const isSecond = Dialog.openDialogs[1] === this;\n const isThird = Dialog.openDialogs[2] === this;\n const isForthAndGreater = !isFirst && !isSecond && !isThird;\n\n return html`\n <div\n class=${classMap({ 'z-50 fixed inset-0': true, 'pointer-events-none': !this.__visible })}\n >\n <div\n id=\"backdrop\"\n class=${classMap({\n 'select-none ease-in-out transition duration-500 absolute inset-0 bg-shade-50 focus-outline-none':\n true,\n 'opacity-100': this.__visible,\n 'opacity-0': !this.__visible,\n })}\n tabindex=\"-1\"\n @click=${() => this.closable && this.hide(this.editable)}\n ></div>\n\n <div\n role=\"dialog\"\n aria-labelledby=\"dialog-title\"\n class=${classMap({\n 'transform origin-bottom ease-in-out transition duration-500 relative h-full ml-auto sm-origin-center':\n true,\n 'sm-max-w-modal': !this.wide,\n 'sm-max-w-modal-wide': this.wide,\n 'flex justify-center items-end sm-items-center mr-auto': this.alert,\n 'translate-y-full sm-translate-y-0': !this.__visible,\n 'sm-translate-x-full': !this.alert && !this.__visible,\n 'sm-opacity-0 sm-scale-110': this.alert && !this.__visible,\n 'translate-y-0 translate-x-0': isFirst && this.__visible,\n 'scale-95 -translate-y-s sm-translate-y-0': isSecond && this.__visible,\n 'scale-90 -translate-y-m sm-translate-y-0': isThird && this.__visible,\n 'opacity-0 scale-85 -translate-y-l sm-translate-y-0':\n isForthAndGreater && this.__visible,\n })}\n >\n <div\n class=${classMap({\n 'overflow-hidden flex flex-col bg-base rounded-t-l sm-rounded-b-l': true,\n 'absolute inset-0 mt-xl sm-m-xl': !this.alert,\n 'shadow-xxl': this.__visible,\n })}\n >\n <div\n class=\"h-l grid grid-cols-header text-m font-lumo font-medium border-b border-contrast-10\"\n >\n ${this.closable && !this.hiddenSelector.matches('close-button', true)\n ? html`\n <vaadin-button\n id=\"close-button\"\n theme=\"tertiary-inline\"\n class=\"mr-auto m-s px-s\"\n ?disabled=${this.disabledSelector.matches('close-button', true)}\n @click=${() => this.hide(this.editable)}\n >\n <foxy-i18n\n lang=${this.lang}\n key=${this.editable ? 'cancel' : 'close'}\n ns=${this.ns}\n >\n </foxy-i18n>\n </vaadin-button>\n `\n : html`<div></div>`}\n\n <h1 id=\"dialog-title\" class=\"truncate self-center text-center\">\n <foxy-i18n ns=${this.ns} lang=${this.lang} key=${this.header}></foxy-i18n>\n </h1>\n\n ${this.editable && !this.hiddenSelector.matches('save-button', true)\n ? html`\n <vaadin-button\n data-testid=\"save-button\"\n ?disabled=${this.disabledSelector.matches('save-button', true)}\n theme=\"primary\"\n class=\"ml-auto h-auto min-h-0 min-w-0 m-xs px-m\"\n @click=${this.save}\n >\n <foxy-i18n ns=${this.ns} lang=${this.lang} key=\"save\"></foxy-i18n>\n </vaadin-button>\n `\n : html`<div></div>`}\n </div>\n\n <div class=\"flex-1 overflow-y-auto overflow-x-hidden overscroll-contain\">\n <div class=\"p-m relative\">${content?.()}</div>\n </div>\n </div>\n </div>\n </div>\n `;\n }\n\n /**\n * Hides the dialog. Returns a promise that resolves when the dialog\n * finishes leaving the screen.\n *\n * @param cancelled Set this to `true` if closing an editable dialog without saving changes.\n */\n async hide(cancelled = false): Promise<void> {\n this.__returnFocusTo?.focus();\n\n await this.__setOpenDialogs(Dialog.openDialogs.filter(d => d !== this));\n await this.__setConnected(false);\n\n this.dispatchEvent(new Dialog.HideEvent(!!cancelled));\n }\n\n /**\n * Shows the dialog. Returns a promise that resolves when the dialog\n * finishes entering the screen.\n *\n * @param returnFocusTo If provided, the dialog will call `.focus()` on that element once it's closed.\n */\n async show(returnFocusTo?: HTMLElement): Promise<void> {\n this.__returnFocusTo = returnFocusTo;\n\n await this.__setConnected(true);\n await this.__setOpenDialogs([this, ...Dialog.openDialogs]);\n\n const closeButton = this.renderRoot.querySelector('#close-button') as HTMLButtonElement;\n closeButton?.focus();\n\n this.dispatchEvent(new Dialog.ShowEvent());\n }\n\n /** Alias for `dialog.hide(false)`. */\n async save(): Promise<void> {\n await this.hide(false);\n }\n\n private async __setOpenDialogs(newValue: Dialog[]) {\n Dialog.openDialogs.length = 0;\n Dialog.openDialogs.push(...newValue);\n\n await Promise.all([\n // animate dialog stack\n Promise.all(Dialog.openDialogs.map(dialog => dialog.requestUpdate())),\n\n // trigger exit transition\n new Promise(resolve => {\n const backdrop = this.renderRoot.querySelector('#backdrop') as HTMLDivElement;\n backdrop.addEventListener('transitionend', resolve, { once: true });\n this.__visible = Dialog.openDialogs.includes(this);\n }),\n ]);\n }\n\n private async __setConnected(newValue: boolean) {\n this.__connected = newValue;\n await this.updateComplete.then(() => this.getBoundingClientRect());\n }\n}\n\ncustomElements.define('foxy-dialog-window', DialogWindow);\n"]}
@@ -15,7 +15,14 @@ export class EmailTemplateCard extends Base {
15
15
  : 'type_default';
16
16
  return html `
17
17
  <div class="flex justify-between gap-s">
18
- <foxy-i18n class="font-semibold truncate flex-shrink-0" infer="" key="title"></foxy-i18n>
18
+ <foxy-i18n
19
+ class="font-semibold truncate flex-shrink-0"
20
+ infer=""
21
+ key="title"
22
+ .options=${this.data}
23
+ >
24
+ </foxy-i18n>
25
+
19
26
  <foxy-i18n class="truncate text-tertiary" infer="" key=${type}></foxy-i18n>
20
27
  </div>
21
28
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"EmailTemplateCard.js","sourceRoot":"","sources":["../../../../src/elements/public/EmailTemplateCard/EmailTemplateCard.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,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,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,IAAI,GACR,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,KAAI,IAAI,CAAC,gBAAgB;YAC7C,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,KAAI,IAAI,CAAC,YAAY;gBACzC,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,MAClB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,CAAA,KACtB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAA,KAClB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,CAAA;oBACxB,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,cAAc,CAAC;QAErB,OAAO,IAAI,CAAA;;;iEAGkD,IAAI;;KAEhE,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\nconst NS = 'email-template-card';\nconst Base = TranslatableMixin(InternalCard, NS);\n\nexport class EmailTemplateCard extends Base<Data> {\n renderBody(): TemplateResult {\n const data = this.data;\n const type =\n data?.content_html_url && data.content_html_url\n ? 'type_custom_url'\n : data?.content_html && data.content_text\n ? 'type_custom_text'\n : data?.content_html ||\n data?.content_html_url ||\n data?.content_text ||\n data?.content_text_url\n ? 'type_mixed'\n : 'type_default';\n\n return html`\n <div class=\"flex justify-between gap-s\">\n <foxy-i18n class=\"font-semibold truncate flex-shrink-0\" infer=\"\" key=\"title\"></foxy-i18n>\n <foxy-i18n class=\"truncate text-tertiary\" infer=\"\" key=${type}></foxy-i18n>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"EmailTemplateCard.js","sourceRoot":"","sources":["../../../../src/elements/public/EmailTemplateCard/EmailTemplateCard.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,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,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,IAAI,GACR,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,KAAI,IAAI,CAAC,gBAAgB;YAC7C,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,KAAI,IAAI,CAAC,YAAY;gBACzC,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,MAClB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,CAAA,KACtB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAA,KAClB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,CAAA;oBACxB,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,cAAc,CAAC;QAErB,OAAO,IAAI,CAAA;;;;;;qBAMM,IAAI,CAAC,IAAI;;;;iEAImC,IAAI;;KAEhE,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\nconst NS = 'email-template-card';\nconst Base = TranslatableMixin(InternalCard, NS);\n\nexport class EmailTemplateCard extends Base<Data> {\n renderBody(): TemplateResult {\n const data = this.data;\n const type =\n data?.content_html_url && data.content_html_url\n ? 'type_custom_url'\n : data?.content_html && data.content_text\n ? 'type_custom_text'\n : data?.content_html ||\n data?.content_html_url ||\n data?.content_text ||\n data?.content_text_url\n ? 'type_mixed'\n : 'type_default';\n\n return html`\n <div class=\"flex justify-between gap-s\">\n <foxy-i18n\n class=\"font-semibold truncate flex-shrink-0\"\n infer=\"\"\n key=\"title\"\n .options=${this.data}\n >\n </foxy-i18n>\n\n <foxy-i18n class=\"truncate text-tertiary\" infer=\"\" key=${type}></foxy-i18n>\n </div>\n `;\n }\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import type { Data } from './types';
2
+ import type { PropertyDeclarations } from 'lit-element';
3
+ import type { TemplateResult } from 'lit-html';
4
+ import { InternalCard } from '../../internal/InternalCard/InternalCard';
5
+ declare const Base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
6
+ defaultNS: string;
7
+ };
8
+ export declare class ShippingMethodCard extends Base<Data> {
9
+ static get defaultImageSrc(): string;
10
+ static get properties(): PropertyDeclarations;
11
+ storeShippingMethods: string | null;
12
+ getImageSrc: ((type: string) => string) | null;
13
+ renderBody(): TemplateResult;
14
+ }
15
+ export {};
@@ -0,0 +1,78 @@
1
+ import { TranslatableMixin } from "../../../mixins/translatable.js";
2
+ import { InternalCard } from "../../internal/InternalCard/InternalCard.js";
3
+ import { ifDefined } from 'lit-html/directives/if-defined';
4
+ import { html } from 'lit-html';
5
+ const NS = 'shipping-method-card';
6
+ const Base = TranslatableMixin(InternalCard, NS);
7
+ export class ShippingMethodCard extends Base {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.storeShippingMethods = null;
11
+ this.getImageSrc = null;
12
+ }
13
+ static get defaultImageSrc() {
14
+ return "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' fill='none' viewBox='0 0 40 40'%3E%3Cg clip-path='url(%23a)'%3E%3Cpath fill='%23E8E8E8' d='M0 0h40v40H0z'/%3E%3Cpath fill='%23fff' d='M0 14.81V7.88L7.88 0h6.93L0 14.81ZM0 0h6.47L0 6.47V0Zm16.22 0L0 16.22v6.93l9-9V14c0-.55.2-1.02.59-1.41.39-.4.86-.59 1.41-.59h.15l12-12h-6.93ZM9 15.57l-9 9v6.93l9-9v-6.93Zm.15 8.19L0 32.91v6.93l12.33-12.33a3.28 3.28 0 0 1-.46-.39A2.9 2.9 0 0 1 11 25c-.55 0-1.02-.2-1.41-.59a2 2 0 0 1-.44-.65Zm4.17 4.17L1.26 40h6.92L23 25.18V25h-6c0 .83-.3 1.54-.88 2.13A2.9 2.9 0 0 1 14 28a3.2 3.2 0 0 1-.68-.07Zm11.85-3.5.26-.26A.98.98 0 0 1 26 24c.28 0 .52.1.71.29.2.19.29.43.29.71 0 .28-.1.52-.29.71A.94.94 0 0 1 26 26a.97.97 0 0 1-.71-.29A.97.97 0 0 1 25 25a1 1 0 0 1 .17-.57Z'/%3E%3Cpath fill='%23fff' d='M23.29 26.31 9.59 40h6.94L40 16.53V9.6l-9.6 9.6.4.53c.07.08.12.17.15.27s.05.2.05.32V24c0 .28-.1.52-.29.71A.94.94 0 0 1 30 25h-1c0 .83-.3 1.54-.88 2.13A2.9 2.9 0 0 1 26 28a3 3 0 0 1-2.71-1.69Zm6.51-7.92L40 8.19V1.25L25.26 16h2.24a1 1 0 0 1 .45.1 1 1 0 0 1 .35.3l1.5 1.99ZM25 14.84 39.84 0h-6.93l-12 12H23c.55 0 1.02.2 1.41.59.4.39.59.86.59 1.41v.84ZM19.5 12l12-12h-6.93l-12 12h6.93Zm-1.56 28L40 17.94v6.93L24.87 40h-6.93ZM40 26.29 26.29 40h6.93L40 33.22v-6.93ZM34.63 40 40 34.63V40h-5.37ZM13 25c0 .28.1.52.29.71.19.2.43.29.71.29.28 0 .52-.1.71-.29.2-.19.29-.43.29-.71 0-.28-.1-.52-.29-.71A.97.97 0 0 0 14 24c-.07 0-.14 0-.2.02a.95.95 0 0 0-.51.27.95.95 0 0 0-.29.71Z'/%3E%3Cpath fill='%23fff' d='M25 18v3h4.21l-.85-1.18-.68-.91L27 18h-2Z'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h40v40H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E";
15
+ }
16
+ static get properties() {
17
+ return {
18
+ ...super.properties,
19
+ storeShippingMethods: { type: String, attribute: 'store-shipping-methods' },
20
+ getImageSrc: { attribute: false },
21
+ };
22
+ }
23
+ renderBody() {
24
+ var _a, _b, _c, _d, _e;
25
+ const defaultSrc = ShippingMethodCard.defaultImageSrc;
26
+ const data = this.data;
27
+ const methods = this.renderRoot.querySelector('#methods');
28
+ const isActive = ((_c = (_b = (_a = methods === null || methods === void 0 ? void 0 : methods.data) === null || _a === void 0 ? void 0 : _a._embedded) === null || _b === void 0 ? void 0 : _b['fx:store_shipping_methods']) === null || _c === void 0 ? void 0 : _c.length) === 1;
29
+ let storeShippingMethodsHref;
30
+ try {
31
+ const url = new URL(this.storeShippingMethods);
32
+ url.searchParams.set('shipping_method_id', this.href.split('/').pop());
33
+ url.searchParams.set('limit', '1');
34
+ storeShippingMethodsHref = url.toString();
35
+ }
36
+ catch (_f) {
37
+ storeShippingMethodsHref = undefined;
38
+ }
39
+ return html `
40
+ ${typeof storeShippingMethodsHref === 'string'
41
+ ? html `
42
+ <foxy-nucleon
43
+ class="hidden"
44
+ infer=""
45
+ href=${ifDefined(storeShippingMethodsHref)}
46
+ id="methods"
47
+ @update=${() => this.requestUpdate()}
48
+ >
49
+ </foxy-nucleon>
50
+ `
51
+ : ''}
52
+
53
+ <figure class="flex items-center gap-m h-m">
54
+ <img
55
+ class="relative h-s w-s object-cover rounded-full bg-contrast-20 flex-shrink-0 shadow-xs"
56
+ src=${(_e = (data ? (_d = this.getImageSrc) === null || _d === void 0 ? void 0 : _d.call(this, data.code) : null)) !== null && _e !== void 0 ? _e : defaultSrc}
57
+ alt=${this.t('image_alt')}
58
+ @error=${(evt) => (evt.currentTarget.src = defaultSrc)}
59
+ />
60
+
61
+ <figcaption class="min-w-0 flex-1">
62
+ <dl class="flex justify-between gap-s">
63
+ <dt class="sr-only">${this.t('title_description')}</dt>
64
+ <dd class="font-semibold truncate flex-shrink-0">${data === null || data === void 0 ? void 0 : data.name}&ZeroWidthSpace;</dd>
65
+
66
+ ${isActive
67
+ ? html `
68
+ <dt class="sr-only">${this.t('subtitle_description')}</dt>
69
+ <dd class="truncate text-tertiary">${this.t('status_active')}</dd>
70
+ `
71
+ : ''}
72
+ </dl>
73
+ </figcaption>
74
+ </figure>
75
+ `;
76
+ }
77
+ }
78
+ //# sourceMappingURL=ShippingMethodCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShippingMethodCard.js","sourceRoot":"","sources":["../../../../src/elements/public/ShippingMethodCard/ShippingMethodCard.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,sBAAsB,CAAC;AAClC,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD,MAAM,OAAO,kBAAmB,SAAQ,IAAU;IAAlD;;QAaE,yBAAoB,GAAkB,IAAI,CAAC;QAE3C,gBAAW,GAAsC,IAAI,CAAC;IA+DxD,CAAC;IA7EC,MAAM,KAAK,eAAe;QACxB,OAAO,woDAAwoD,CAAC;IAClpD,CAAC;IAED,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,oBAAoB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,wBAAwB,EAAE;YAC3E,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAClC,CAAC;IACJ,CAAC;IAMD,UAAU;;QACR,MAAM,UAAU,GAAG,kBAAkB,CAAC,eAAe,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAKvB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAgB,UAAU,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,mBAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,SAAS,0CAAG,2BAA2B,2CAAG,MAAM,MAAK,CAAC,CAAC;QAEvF,IAAI,wBAA4C,CAAC;QAEjD,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,oBAAqB,CAAC,CAAC;YAEhD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,CAAC;YACxE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAEnC,wBAAwB,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SAC3C;QAAC,WAAM;YACN,wBAAwB,GAAG,SAAS,CAAC;SACtC;QAED,OAAO,IAAI,CAAA;QACP,OAAO,wBAAwB,KAAK,QAAQ;YAC5C,CAAC,CAAC,IAAI,CAAA;;;;qBAIO,SAAS,CAAC,wBAAwB,CAAC;;wBAEhC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;WAGvC;YACH,CAAC,CAAC,EAAE;;;;;gBAKI,MAAA,CAAC,IAAI,CAAC,CAAC,OAAC,IAAI,CAAC,WAAW,+CAAhB,IAAI,EAAe,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,mCAAI,UAAU;gBAC3D,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;mBAChB,CAAC,GAAU,EAAE,EAAE,CAAC,CAAE,GAAG,CAAC,aAAkC,CAAC,GAAG,GAAG,UAAU,CAAC;;;;;kCAK3D,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;+DACE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;;cAE3D,QAAQ;YACR,CAAC,CAAC,IAAI,CAAA;wCACoB,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC;uDACf,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;iBAC7D;YACH,CAAC,CAAC,EAAE;;;;KAIb,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { Data, StoreShippingMethods } from './types';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { Resource } from '@foxy.io/sdk/core';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'shipping-method-card';\nconst Base = TranslatableMixin(InternalCard, NS);\n\nexport class ShippingMethodCard extends Base<Data> {\n static get defaultImageSrc(): string {\n return \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' fill='none' viewBox='0 0 40 40'%3E%3Cg clip-path='url(%23a)'%3E%3Cpath fill='%23E8E8E8' d='M0 0h40v40H0z'/%3E%3Cpath fill='%23fff' d='M0 14.81V7.88L7.88 0h6.93L0 14.81ZM0 0h6.47L0 6.47V0Zm16.22 0L0 16.22v6.93l9-9V14c0-.55.2-1.02.59-1.41.39-.4.86-.59 1.41-.59h.15l12-12h-6.93ZM9 15.57l-9 9v6.93l9-9v-6.93Zm.15 8.19L0 32.91v6.93l12.33-12.33a3.28 3.28 0 0 1-.46-.39A2.9 2.9 0 0 1 11 25c-.55 0-1.02-.2-1.41-.59a2 2 0 0 1-.44-.65Zm4.17 4.17L1.26 40h6.92L23 25.18V25h-6c0 .83-.3 1.54-.88 2.13A2.9 2.9 0 0 1 14 28a3.2 3.2 0 0 1-.68-.07Zm11.85-3.5.26-.26A.98.98 0 0 1 26 24c.28 0 .52.1.71.29.2.19.29.43.29.71 0 .28-.1.52-.29.71A.94.94 0 0 1 26 26a.97.97 0 0 1-.71-.29A.97.97 0 0 1 25 25a1 1 0 0 1 .17-.57Z'/%3E%3Cpath fill='%23fff' d='M23.29 26.31 9.59 40h6.94L40 16.53V9.6l-9.6 9.6.4.53c.07.08.12.17.15.27s.05.2.05.32V24c0 .28-.1.52-.29.71A.94.94 0 0 1 30 25h-1c0 .83-.3 1.54-.88 2.13A2.9 2.9 0 0 1 26 28a3 3 0 0 1-2.71-1.69Zm6.51-7.92L40 8.19V1.25L25.26 16h2.24a1 1 0 0 1 .45.1 1 1 0 0 1 .35.3l1.5 1.99ZM25 14.84 39.84 0h-6.93l-12 12H23c.55 0 1.02.2 1.41.59.4.39.59.86.59 1.41v.84ZM19.5 12l12-12h-6.93l-12 12h6.93Zm-1.56 28L40 17.94v6.93L24.87 40h-6.93ZM40 26.29 26.29 40h6.93L40 33.22v-6.93ZM34.63 40 40 34.63V40h-5.37ZM13 25c0 .28.1.52.29.71.19.2.43.29.71.29.28 0 .52-.1.71-.29.2-.19.29-.43.29-.71 0-.28-.1-.52-.29-.71A.97.97 0 0 0 14 24c-.07 0-.14 0-.2.02a.95.95 0 0 0-.51.27.95.95 0 0 0-.29.71Z'/%3E%3Cpath fill='%23fff' d='M25 18v3h4.21l-.85-1.18-.68-.91L27 18h-2Z'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h40v40H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E\";\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n storeShippingMethods: { type: String, attribute: 'store-shipping-methods' },\n getImageSrc: { attribute: false },\n };\n }\n\n storeShippingMethods: string | null = null;\n\n getImageSrc: ((type: string) => string) | null = null;\n\n renderBody(): TemplateResult {\n const defaultSrc = ShippingMethodCard.defaultImageSrc;\n const data = this.data;\n\n type Methods = Resource<StoreShippingMethods, { zoom: 'shipping_method' }>;\n type MethodsLoader = NucleonElement<Methods>;\n\n const methods = this.renderRoot.querySelector<MethodsLoader>('#methods');\n const isActive = methods?.data?._embedded?.['fx:store_shipping_methods']?.length === 1;\n\n let storeShippingMethodsHref: string | undefined;\n\n try {\n const url = new URL(this.storeShippingMethods!);\n\n url.searchParams.set('shipping_method_id', this.href.split('/').pop()!);\n url.searchParams.set('limit', '1');\n\n storeShippingMethodsHref = url.toString();\n } catch {\n storeShippingMethodsHref = undefined;\n }\n\n return html`\n ${typeof storeShippingMethodsHref === 'string'\n ? html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(storeShippingMethodsHref)}\n id=\"methods\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `\n : ''}\n\n <figure class=\"flex items-center gap-m h-m\">\n <img\n class=\"relative h-s w-s object-cover rounded-full bg-contrast-20 flex-shrink-0 shadow-xs\"\n src=${(data ? this.getImageSrc?.(data.code) : null) ?? defaultSrc}\n alt=${this.t('image_alt')}\n @error=${(evt: Event) => ((evt.currentTarget as HTMLImageElement).src = defaultSrc)}\n />\n\n <figcaption class=\"min-w-0 flex-1\">\n <dl class=\"flex justify-between gap-s\">\n <dt class=\"sr-only\">${this.t('title_description')}</dt>\n <dd class=\"font-semibold truncate flex-shrink-0\">${data?.name}&ZeroWidthSpace;</dd>\n\n ${isActive\n ? html`\n <dt class=\"sr-only\">${this.t('subtitle_description')}</dt>\n <dd class=\"truncate text-tertiary\">${this.t('status_active')}</dd>\n `\n : ''}\n </dl>\n </figcaption>\n </figure>\n `;\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import '../../internal/InternalCard/index';
2
+ import '../NucleonElement/index';
3
+ import { ShippingMethodCard } from './ShippingMethodCard';
4
+ export { ShippingMethodCard };
@@ -0,0 +1,6 @@
1
+ import "../../internal/InternalCard/index.js";
2
+ import "../NucleonElement/index.js";
3
+ import { ShippingMethodCard } from "./ShippingMethodCard.js";
4
+ customElements.define('foxy-shipping-method-card', ShippingMethodCard);
5
+ export { ShippingMethodCard };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/ShippingMethodCard/index.ts"],"names":[],"mappings":"AAAA,8CAA2C;AAE3C,oCAAiC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,gCAA6B;AAE1D,cAAc,CAAC,MAAM,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,CAAC","sourcesContent":["import '../../internal/InternalCard/index';\n\nimport '../NucleonElement/index';\n\nimport { ShippingMethodCard } from './ShippingMethodCard';\n\ncustomElements.define('foxy-shipping-method-card', ShippingMethodCard);\n\nexport { ShippingMethodCard };\n"]}
@@ -0,0 +1,10 @@
1
+ import type { CollectionGraphLinks, CollectionGraphProps } from '@foxy.io/sdk/dist/types/core/defaults';
2
+ import type { Rels } from '@foxy.io/sdk/backend';
3
+ import type { Resource } from '@foxy.io/sdk/core';
4
+ export declare type Data = Resource<Rels.ShippingMethod>;
5
+ export interface StoreShippingMethods {
6
+ curie: 'fx:store_shipping_methods';
7
+ links: CollectionGraphLinks<StoreShippingMethods>;
8
+ props: CollectionGraphProps;
9
+ child: Rels.StoreShippingMethod;
10
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/ShippingMethodCard/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n CollectionGraphLinks,\n CollectionGraphProps,\n} from '@foxy.io/sdk/dist/types/core/defaults';\n\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Resource } from '@foxy.io/sdk/core';\n\nexport type Data = Resource<Rels.ShippingMethod>;\n\nexport interface StoreShippingMethods {\n curie: 'fx:store_shipping_methods';\n links: CollectionGraphLinks<StoreShippingMethods>;\n props: CollectionGraphProps;\n child: Rels.StoreShippingMethod;\n}\n"]}
@@ -44,12 +44,12 @@ export declare class StoreForm extends Base<Data> {
44
44
  private __setWebhookUrlValue;
45
45
  private __setStoreDomainValue;
46
46
  renderBody(): TemplateResult;
47
+ private __renderWebhookKey;
47
48
  private __renderMaintenanceModeSwitch;
48
49
  private __renderCurrencyStyleSelector;
49
50
  private __renderCustomIDSettings;
50
51
  private __renderSmtpConfig;
51
52
  private __renderWarning;
52
53
  private __renderLoader;
53
- private __renderTitle;
54
54
  }
55
55
  export {};
@@ -272,13 +272,7 @@ export class StoreForm extends Base {
272
272
  ${countriesLoader.render(this.countries)} ${languagesLoader.render(this.languages)}
273
273
  ${regionsLoader.render(regionsUrl)}
274
274
 
275
- <!-- -->
276
-
277
- ${this.data ? this.__renderMaintenanceModeSwitch() : ''}
278
-
279
275
  <div class="grid gap-m grid-cols-1 sm-grid-cols-2">
280
- ${this.__renderTitle('general_title')}
281
-
282
276
  <foxy-internal-text-control infer="store-name"></foxy-internal-text-control>
283
277
 
284
278
  <foxy-internal-text-control infer="logo-url"></foxy-internal-text-control>
@@ -308,8 +302,6 @@ export class StoreForm extends Base {
308
302
  >
309
303
  </foxy-internal-select-control>
310
304
 
311
- <foxy-internal-password-control infer="webhook-key"></foxy-internal-password-control>
312
-
313
305
  <foxy-internal-async-combo-box-control
314
306
  item-label-path="version"
315
307
  item-value-path="_links.self.href"
@@ -319,8 +311,6 @@ export class StoreForm extends Base {
319
311
  >
320
312
  </foxy-internal-async-combo-box-control>
321
313
 
322
- ${this.__renderTitle('emails_title')}
323
-
324
314
  <foxy-internal-text-control
325
315
  infer="from-email"
326
316
  class="sm-col-span-2"
@@ -362,11 +352,9 @@ export class StoreForm extends Base {
362
352
  >
363
353
  </foxy-internal-checkbox-group-control>
364
354
 
365
- ${this.form.smtp_config ? this.__renderSmtpConfig() : ''}
366
-
367
- <!-- -->
368
-
369
- ${this.__renderTitle('shipping_title')}
355
+ ${this.form.smtp_config && !this.hiddenSelector.matches('smtp-config', true)
356
+ ? this.__renderSmtpConfig()
357
+ : ''}
370
358
 
371
359
  <foxy-internal-select-control infer="country" .options=${countryOptions}>
372
360
  </foxy-internal-select-control>
@@ -404,29 +392,29 @@ export class StoreForm extends Base {
404
392
  ? this.__renderWarning('require_signed_shipping_rates_helper_text')
405
393
  : ''}
406
394
 
407
- <!-- -->
408
-
409
- ${this.__renderTitle('language_and_format_title')}
410
-
411
395
  <foxy-internal-select-control infer="language" .options=${languageOptions}>
412
396
  </foxy-internal-select-control>
413
397
 
414
398
  <foxy-internal-select-control infer="locale-code" .options=${localeCodeOptions}>
415
399
  </foxy-internal-select-control>
416
400
 
417
- ${this.__renderCurrencyStyleSelector()}
401
+ ${!this.hiddenSelector.matches('currency-style', true)
402
+ ? this.__renderCurrencyStyleSelector()
403
+ : ''}
418
404
 
419
405
  <!-- -->
420
406
 
421
- ${this.__renderCustomIDSettings()}
407
+ ${!this.hiddenSelector.matches('custom-display-id-config', true)
408
+ ? this.__renderCustomIDSettings()
409
+ : ''}
422
410
 
423
411
  <!-- -->
424
412
 
425
- ${this.__renderTitle('cart_and_checkout_title')}
426
-
427
- <foxy-internal-text-control infer="receipt-continue-url"></foxy-internal-text-control>
413
+ <foxy-internal-text-control class="sm-col-span-2" infer="receipt-continue-url">
414
+ </foxy-internal-text-control>
428
415
 
429
416
  <foxy-internal-frequency-control
417
+ class="sm-col-span-2"
430
418
  infer="app-session-time"
431
419
  .getValue=${this.__getAppSessionTimeValue}
432
420
  .setValue=${this.__setAppSessionTimeValue}
@@ -463,10 +451,6 @@ export class StoreForm extends Base {
463
451
  })
464
452
  : ''}
465
453
 
466
- <!-- -->
467
-
468
- ${this.__renderTitle('customer_login_title')}
469
-
470
454
  <foxy-internal-select-control
471
455
  infer="checkout-type"
472
456
  class="sm-col-span-2"
@@ -508,8 +492,6 @@ export class StoreForm extends Base {
508
492
  >
509
493
  </foxy-internal-text-control>
510
494
 
511
- ${this.__renderTitle('legacy_title')}
512
-
513
495
  <foxy-internal-text-control
514
496
  infer="webhook-url"
515
497
  class="sm-col-span-2"
@@ -517,11 +499,43 @@ export class StoreForm extends Base {
517
499
  .setValue=${this.__setWebhookUrlValue}
518
500
  >
519
501
  </foxy-internal-text-control>
502
+
503
+ ${this.__renderWebhookKey()}
504
+
505
+ <!-- -->
506
+
507
+ ${this.data && !this.hiddenSelector.matches('is-maintenance-mode', true)
508
+ ? this.__renderMaintenanceModeSwitch()
509
+ : ''}
520
510
  </div>
521
511
 
522
512
  ${super.renderBody()}
523
513
  `;
524
514
  }
515
+ __renderWebhookKey() {
516
+ var _a, _b;
517
+ let parsedKey;
518
+ try {
519
+ parsedKey = JSON.parse((_a = this.form.webhook_key) !== null && _a !== void 0 ? _a : '');
520
+ }
521
+ catch (_c) {
522
+ const v = (_b = this.form.webhook_key) !== null && _b !== void 0 ? _b : '';
523
+ parsedKey = { cart_signing: v, xml_datafeed: v, api_legacy: v, sso: v };
524
+ }
525
+ return Object.keys(parsedKey).map(key => {
526
+ return html `
527
+ <foxy-internal-password-control
528
+ infer="webhook-key-${key.replace('_', '-')}"
529
+ .getValue=${() => parsedKey[key]}
530
+ .setValue=${(newValue) => {
531
+ parsedKey[key] = newValue;
532
+ this.edit({ webhook_key: JSON.stringify(parsedKey) });
533
+ }}
534
+ >
535
+ </foxy-internal-password-control>
536
+ `;
537
+ });
538
+ }
525
539
  __renderMaintenanceModeSwitch() {
526
540
  var _a;
527
541
  const isActive = !!((_a = this.data) === null || _a === void 0 ? void 0 : _a.is_maintenance_mode);
@@ -530,18 +544,16 @@ export class StoreForm extends Base {
530
544
  return html `
531
545
  <div
532
546
  class=${classMap({
533
- 'rounded-t-l rounded-b-l p-m leading-m': true,
534
- 'bg-contrast-5 text-contrast': !isActive,
535
- 'bg-primary-10 text-primary': isActive,
547
+ 'rounded-t-l rounded-b-l leading-s text-s sm-col-span-2': true,
548
+ 'text-tertiary': !isActive,
549
+ 'text-error': isActive,
536
550
  })}
537
551
  >
538
- <foxy-i18n infer="" class="block font-semibold mb-s" key="maintenance_mode_title">
539
- </foxy-i18n>
540
-
541
- <foxy-i18n infer="" class="block mb-m" key=${explainerKey}></foxy-i18n>
552
+ <foxy-i18n infer="" class="block mb-s" key=${explainerKey}></foxy-i18n>
542
553
 
543
554
  <vaadin-button
544
- theme=${isActive ? 'primary' : 'contrast'}
555
+ theme="tertiary small ${isActive ? 'contrast' : ''}"
556
+ class="p-0"
545
557
  @click=${() => {
546
558
  this.edit({ is_maintenance_mode: !this.form.is_maintenance_mode });
547
559
  this.submit();
@@ -1014,10 +1026,5 @@ export class StoreForm extends Base {
1014
1026
  `,
1015
1027
  };
1016
1028
  }
1017
- __renderTitle(key) {
1018
- return html `
1019
- <foxy-i18n infer="" class="font-bold text-xl my-s sm-col-span-2" key=${key}></foxy-i18n>
1020
- `;
1021
- }
1022
1029
  }
1023
1030
  //# sourceMappingURL=StoreForm.js.map