@foxy.io/elements 1.32.0 → 1.33.0-beta.1

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 (94) hide show
  1. package/dist/cdn/foxy-address-form.js +1 -1
  2. package/dist/cdn/foxy-admin-subscription-form.js +1 -1
  3. package/dist/cdn/foxy-api-browser.js +1 -1
  4. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  5. package/dist/cdn/foxy-attribute-form.js +1 -1
  6. package/dist/cdn/foxy-cart-form.js +2 -2
  7. package/dist/cdn/foxy-client-form.js +1 -1
  8. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  9. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  10. package/dist/cdn/foxy-coupon-form.js +1 -1
  11. package/dist/cdn/foxy-custom-field-form.js +1 -1
  12. package/dist/cdn/foxy-customer-form.js +1 -1
  13. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  14. package/dist/cdn/foxy-customer-portal.js +1 -1
  15. package/dist/cdn/foxy-customer.js +1 -1
  16. package/dist/cdn/foxy-downloadable-form.js +1 -1
  17. package/dist/cdn/foxy-email-template-form.js +1 -1
  18. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  19. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  20. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  21. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  22. package/dist/cdn/foxy-gift-card-form.js +1 -1
  23. package/dist/cdn/foxy-integration-form.js +1 -1
  24. package/dist/cdn/foxy-item-category-form.js +1 -1
  25. package/dist/cdn/foxy-item-form.js +1 -1
  26. package/dist/cdn/foxy-item-option-form.js +1 -1
  27. package/dist/cdn/foxy-native-integration-form.js +1 -1
  28. package/dist/cdn/foxy-passkey-form.js +1 -1
  29. package/dist/cdn/foxy-payment-method-card.js +1 -1
  30. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  31. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  32. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  33. package/dist/cdn/foxy-store-form.js +1 -1
  34. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  35. package/dist/cdn/foxy-subscription-form.js +1 -1
  36. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  37. package/dist/cdn/foxy-template-config-form.js +1 -1
  38. package/dist/cdn/foxy-template-form.js +1 -1
  39. package/dist/cdn/foxy-template-set-form.js +1 -1
  40. package/dist/cdn/foxy-transaction.js +1 -1
  41. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  42. package/dist/cdn/foxy-user-form.js +1 -1
  43. package/dist/cdn/foxy-user-invitation-form.js +1 -1
  44. package/dist/cdn/foxy-users-table.js +1 -1
  45. package/dist/cdn/foxy-webhook-form.js +1 -1
  46. package/dist/cdn/shared-0203d3da.js +1 -0
  47. package/dist/cdn/shared-14179b23.js +1 -0
  48. package/dist/cdn/shared-529f2b48.js +2 -0
  49. package/dist/cdn/translations/email-template-form/en.json +99 -27
  50. package/dist/cdn/translations/item-category-form/en.json +1 -1
  51. package/dist/cdn/translations/store-form/en.json +1 -1
  52. package/dist/cdn/translations/subscription-settings-form/en.json +6 -6
  53. package/dist/cdn/translations/template-form/en.json +67 -19
  54. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.d.ts +1 -2
  55. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js +0 -3
  56. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js.map +1 -1
  57. package/dist/elements/internal/InternalSourceControl/InternalSourceControl.js +6 -26
  58. package/dist/elements/internal/InternalSourceControl/InternalSourceControl.js.map +1 -1
  59. package/dist/elements/internal/InternalTimestampsControl/InternalTimestampsControl.js +1 -1
  60. package/dist/elements/internal/InternalTimestampsControl/InternalTimestampsControl.js.map +1 -1
  61. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.js +0 -1
  62. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.js.map +1 -1
  63. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +12 -20
  64. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +100 -333
  65. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  66. package/dist/elements/public/EmailTemplateForm/index.d.ts +5 -7
  67. package/dist/elements/public/EmailTemplateForm/index.js +5 -7
  68. package/dist/elements/public/EmailTemplateForm/index.js.map +1 -1
  69. package/dist/elements/public/EmailTemplateForm/internal/InternalEmailTemplateFormAsyncAction/InternalEmailTemplateFormAsyncAction.d.ts +10 -0
  70. package/dist/elements/public/EmailTemplateForm/internal/InternalEmailTemplateFormAsyncAction/InternalEmailTemplateFormAsyncAction.js +49 -0
  71. package/dist/elements/public/EmailTemplateForm/internal/InternalEmailTemplateFormAsyncAction/InternalEmailTemplateFormAsyncAction.js.map +1 -0
  72. package/dist/elements/public/EmailTemplateForm/internal/InternalEmailTemplateFormAsyncAction/index.d.ts +5 -0
  73. package/dist/elements/public/EmailTemplateForm/internal/InternalEmailTemplateFormAsyncAction/index.js +7 -0
  74. package/dist/elements/public/EmailTemplateForm/internal/InternalEmailTemplateFormAsyncAction/index.js.map +1 -0
  75. package/dist/elements/public/EmailTemplateForm/types.d.ts +3 -1
  76. package/dist/elements/public/EmailTemplateForm/types.js.map +1 -1
  77. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +6 -6
  78. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -1
  79. package/dist/elements/public/TemplateForm/TemplateForm.d.ts +10 -18
  80. package/dist/elements/public/TemplateForm/TemplateForm.js +54 -305
  81. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
  82. package/dist/elements/public/TemplateForm/index.d.ts +4 -6
  83. package/dist/elements/public/TemplateForm/index.js +4 -6
  84. package/dist/elements/public/TemplateForm/index.js.map +1 -1
  85. package/dist/elements/public/TemplateForm/internal/InternalTemplateFormAsyncAction/InternalTemplateFormAsyncAction.d.ts +10 -0
  86. package/dist/elements/public/TemplateForm/internal/InternalTemplateFormAsyncAction/InternalTemplateFormAsyncAction.js +49 -0
  87. package/dist/elements/public/TemplateForm/internal/InternalTemplateFormAsyncAction/InternalTemplateFormAsyncAction.js.map +1 -0
  88. package/dist/elements/public/TemplateForm/internal/InternalTemplateFormAsyncAction/index.d.ts +5 -0
  89. package/dist/elements/public/TemplateForm/internal/InternalTemplateFormAsyncAction/index.js +7 -0
  90. package/dist/elements/public/TemplateForm/internal/InternalTemplateFormAsyncAction/index.js.map +1 -0
  91. package/package.json +1 -1
  92. package/dist/cdn/shared-015da8ca.js +0 -1
  93. package/dist/cdn/shared-d0e0f8a1.js +0 -2
  94. package/dist/cdn/shared-fb18400f.js +0 -1
@@ -46,15 +46,11 @@ textarea::selection{
46
46
  renderControl() {
47
47
  var _a;
48
48
  let lineNumbersClass;
49
- let helperTextClass;
50
49
  let containerClass;
51
50
  let textAreaClass;
52
- let labelClass;
53
51
  if (this.disabled) {
54
52
  lineNumbersClass = 'bg-contrast-5 text-disabled';
55
- helperTextClass = 'text-disabled';
56
53
  textAreaClass = 'text-disabled';
57
- labelClass = 'text-disabled';
58
54
  if (this.readonly) {
59
55
  lineNumbersClass += ' border-dashed border-contrast-20';
60
56
  containerClass = 'border-dashed border-contrast-30';
@@ -66,33 +62,25 @@ textarea::selection{
66
62
  }
67
63
  else if (this.readonly) {
68
64
  lineNumbersClass = 'border-dashed border-contrast-30 bg-transparent text-secondary';
69
- helperTextClass = 'text-secondary';
70
65
  containerClass = 'border-dashed border-contrast-30';
71
66
  textAreaClass = 'text-secondary';
72
- labelClass = 'text-secondary';
73
67
  if (this.__focused)
74
68
  containerClass += ' ring-2 ring-primary-50';
75
69
  }
76
70
  else if (this.__focused) {
77
71
  lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';
78
- helperTextClass = 'text-secondary';
79
72
  containerClass = 'border-primary-50 ring-1 ring-primary-50';
80
73
  textAreaClass = 'text-body';
81
- labelClass = 'text-primary';
82
74
  }
83
75
  else if (this.__hovered) {
84
76
  lineNumbersClass = 'border-transparent bg-contrast-20 text-tertiary';
85
- helperTextClass = 'text-body';
86
77
  containerClass = 'border-contrast-20';
87
78
  textAreaClass = 'text-body';
88
- labelClass = 'text-body';
89
79
  }
90
80
  else {
91
81
  lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';
92
- helperTextClass = 'text-secondary';
93
82
  containerClass = 'border-contrast-10';
94
83
  textAreaClass = 'text-body';
95
- labelClass = 'text-secondary';
96
84
  }
97
85
  return html `
98
86
  <label
@@ -100,11 +88,11 @@ textarea::selection{
100
88
  @mouseenter=${() => (this.__hovered = true)}
101
89
  @mouseleave=${() => (this.__hovered = false)}
102
90
  >
103
- <div
104
- class="mb-xs transition-colors leading-none text-s font-medium ${labelClass}"
105
- part="label"
106
- >
107
- ${this.label}
91
+ <div class="mb-s leading-s" ?hidden=${!this.label && !this.helperText}>
92
+ <div class="transition-colors text-l font-medium" part="label">${this.label}</div>
93
+ <div class="transition-colors text-s text-secondary" part="helper-text">
94
+ ${this.helperText}
95
+ </div>
108
96
  </div>
109
97
 
110
98
  <div
@@ -140,15 +128,7 @@ textarea::selection{
140
128
  </div>
141
129
 
142
130
  <div
143
- class="mt-xs transition-colors leading-xs text-xs ${helperTextClass}"
144
- part="helper-text"
145
- ?hidden=${!this.helperText}
146
- >
147
- ${this.helperText}
148
- </div>
149
-
150
- <div
151
- class="mt-xs text-xs leading-xs text-error"
131
+ class="mt-s text-s leading-xs text-error"
152
132
  ?hidden=${!this.__isErrorVisible || !this._errorMessage || this.disabled || this.readonly}
153
133
  >
154
134
  ${this._errorMessage}
@@ -1 +1 @@
1
- {"version":3,"file":"InternalSourceControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalSourceControl/InternalSourceControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CSSResultArray, PropertyDeclarations, TemplateResult } from 'lit-element';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { html, css } from 'lit-element';\nimport { repeat } from 'lit-html/directives/repeat';\n\n/**\n * Internal control displaying editable source code.\n *\n * @since 1.23.0\n * @element foxy-internal-source-control\n */\nexport class InternalSourceControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __isErrorVisible: { attribute: false },\n __hovered: { attribute: false },\n __focused: { attribute: false },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n ...super.styles,\n css`\n .monospace {\n font-family: monospace;\n }\n\n .resize-none {\n resize: none;\n }\n\n .max-h-16em {\n max-height: 16em;\n }\n\n textarea::selection {\n background: var(--lumo-contrast-10pct);\n }\n `,\n ];\n }\n\n private __isErrorVisible = false;\n\n private __hovered = false;\n\n private __focused = false;\n\n renderControl(): TemplateResult {\n let lineNumbersClass: string;\n let helperTextClass: string;\n let containerClass: string;\n let textAreaClass: string;\n let labelClass: string;\n\n if (this.disabled) {\n lineNumbersClass = 'bg-contrast-5 text-disabled';\n helperTextClass = 'text-disabled';\n textAreaClass = 'text-disabled';\n labelClass = 'text-disabled';\n\n if (this.readonly) {\n lineNumbersClass += ' border-dashed border-contrast-20';\n containerClass = 'border-dashed border-contrast-30';\n } else {\n lineNumbersClass += ' border-transparent';\n containerClass = 'border-contrast-10';\n }\n } else if (this.readonly) {\n lineNumbersClass = 'border-dashed border-contrast-30 bg-transparent text-secondary';\n helperTextClass = 'text-secondary';\n containerClass = 'border-dashed border-contrast-30';\n textAreaClass = 'text-secondary';\n labelClass = 'text-secondary';\n if (this.__focused) containerClass += ' ring-2 ring-primary-50';\n } else if (this.__focused) {\n lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';\n helperTextClass = 'text-secondary';\n containerClass = 'border-primary-50 ring-1 ring-primary-50';\n textAreaClass = 'text-body';\n labelClass = 'text-primary';\n } else if (this.__hovered) {\n lineNumbersClass = 'border-transparent bg-contrast-20 text-tertiary';\n helperTextClass = 'text-body';\n containerClass = 'border-contrast-20';\n textAreaClass = 'text-body';\n labelClass = 'text-body';\n } else {\n lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';\n helperTextClass = 'text-secondary';\n containerClass = 'border-contrast-10';\n textAreaClass = 'text-body';\n labelClass = 'text-secondary';\n }\n\n return html`\n <label\n class=\"block h-full\"\n @mouseenter=${() => (this.__hovered = true)}\n @mouseleave=${() => (this.__hovered = false)}\n >\n <div\n class=\"mb-xs transition-colors leading-none text-s font-medium ${labelClass}\"\n part=\"label\"\n >\n ${this.label}\n </div>\n\n <div\n class=\"max-h-16em h-full transition-colors flex-1 flex bg-base rounded overflow-auto border ${containerClass}\"\n part=\"editor\"\n >\n <div\n class=\"h-full transition-colors monospace leading-s text-s text-right border-r ${lineNumbersClass}\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n ${repeat(\n this._value.split('\\n') ?? [],\n (_, i) => String(i),\n (_, i) =>\n html`<div>${i < 9 ? html`<span class=\"opacity-0\">0</span>` : ''}${\n i < 99 ? html`<span class=\"opacity-0\">0</span>` : ''\n }<span>${i + 1}<span></div>`\n )}\n </div>\n\n <textarea\n placeholder=${this.placeholder}\n class=\"bg-base whitespace-pre leading-s text-s focus-outline-none monospace resize-none block w-full select-text transition-colors ${textAreaClass}\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n rows=\"1\"\n .value=${this._value}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @focus=${() => (this.__focused = true)}\n @blur=${() => {\n this.__focused = false;\n this.__isErrorVisible = true;\n }}\n @input=${(evt: InputEvent) => {\n const textarea = evt.currentTarget as HTMLTextAreaElement;\n this._value = textarea.value;\n }}\n >\n </textarea>\n </div>\n\n <div\n class=\"mt-xs transition-colors leading-xs text-xs ${helperTextClass}\"\n part=\"helper-text\"\n ?hidden=${!this.helperText}\n >\n ${this.helperText}\n </div>\n\n <div\n class=\"mt-xs text-xs leading-xs text-error\"\n ?hidden=${!this.__isErrorVisible || !this._errorMessage || this.disabled || this.readonly}\n >\n ${this._errorMessage}\n </div>\n </label>\n `;\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n this.renderRoot.querySelectorAll('textarea').forEach(textarea => {\n textarea.style.height = 'auto';\n textarea.style.height = `${textarea.scrollHeight}px`;\n textarea.style.overflowY = 'hidden';\n });\n }\n\n protected get _value(): string {\n return (super._value as string | undefined) ?? '';\n }\n\n protected set _value(newValue: string) {\n super._value = newValue as unknown | undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalSourceControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalSourceControl/InternalSourceControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CSSResultArray, PropertyDeclarations, TemplateResult } from 'lit-element';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { html, css } from 'lit-element';\nimport { repeat } from 'lit-html/directives/repeat';\n\n/**\n * Internal control displaying editable source code.\n *\n * @since 1.23.0\n * @element foxy-internal-source-control\n */\nexport class InternalSourceControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __isErrorVisible: { attribute: false },\n __hovered: { attribute: false },\n __focused: { attribute: false },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n ...super.styles,\n css`\n .monospace {\n font-family: monospace;\n }\n\n .resize-none {\n resize: none;\n }\n\n .max-h-16em {\n max-height: 16em;\n }\n\n textarea::selection {\n background: var(--lumo-contrast-10pct);\n }\n `,\n ];\n }\n\n private __isErrorVisible = false;\n\n private __hovered = false;\n\n private __focused = false;\n\n renderControl(): TemplateResult {\n let lineNumbersClass: string;\n let containerClass: string;\n let textAreaClass: string;\n\n if (this.disabled) {\n lineNumbersClass = 'bg-contrast-5 text-disabled';\n textAreaClass = 'text-disabled';\n\n if (this.readonly) {\n lineNumbersClass += ' border-dashed border-contrast-20';\n containerClass = 'border-dashed border-contrast-30';\n } else {\n lineNumbersClass += ' border-transparent';\n containerClass = 'border-contrast-10';\n }\n } else if (this.readonly) {\n lineNumbersClass = 'border-dashed border-contrast-30 bg-transparent text-secondary';\n containerClass = 'border-dashed border-contrast-30';\n textAreaClass = 'text-secondary';\n if (this.__focused) containerClass += ' ring-2 ring-primary-50';\n } else if (this.__focused) {\n lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';\n containerClass = 'border-primary-50 ring-1 ring-primary-50';\n textAreaClass = 'text-body';\n } else if (this.__hovered) {\n lineNumbersClass = 'border-transparent bg-contrast-20 text-tertiary';\n containerClass = 'border-contrast-20';\n textAreaClass = 'text-body';\n } else {\n lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';\n containerClass = 'border-contrast-10';\n textAreaClass = 'text-body';\n }\n\n return html`\n <label\n class=\"block h-full\"\n @mouseenter=${() => (this.__hovered = true)}\n @mouseleave=${() => (this.__hovered = false)}\n >\n <div class=\"mb-s leading-s\" ?hidden=${!this.label && !this.helperText}>\n <div class=\"transition-colors text-l font-medium\" part=\"label\">${this.label}</div>\n <div class=\"transition-colors text-s text-secondary\" part=\"helper-text\">\n ${this.helperText}\n </div>\n </div>\n\n <div\n class=\"max-h-16em h-full transition-colors flex-1 flex bg-base rounded overflow-auto border ${containerClass}\"\n part=\"editor\"\n >\n <div\n class=\"h-full transition-colors monospace leading-s text-s text-right border-r ${lineNumbersClass}\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n ${repeat(\n this._value.split('\\n') ?? [],\n (_, i) => String(i),\n (_, i) =>\n html`<div>${i < 9 ? html`<span class=\"opacity-0\">0</span>` : ''}${\n i < 99 ? html`<span class=\"opacity-0\">0</span>` : ''\n }<span>${i + 1}<span></div>`\n )}\n </div>\n\n <textarea\n placeholder=${this.placeholder}\n class=\"bg-base whitespace-pre leading-s text-s focus-outline-none monospace resize-none block w-full select-text transition-colors ${textAreaClass}\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n rows=\"1\"\n .value=${this._value}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @focus=${() => (this.__focused = true)}\n @blur=${() => {\n this.__focused = false;\n this.__isErrorVisible = true;\n }}\n @input=${(evt: InputEvent) => {\n const textarea = evt.currentTarget as HTMLTextAreaElement;\n this._value = textarea.value;\n }}\n >\n </textarea>\n </div>\n\n <div\n class=\"mt-s text-s leading-xs text-error\"\n ?hidden=${!this.__isErrorVisible || !this._errorMessage || this.disabled || this.readonly}\n >\n ${this._errorMessage}\n </div>\n </label>\n `;\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n this.renderRoot.querySelectorAll('textarea').forEach(textarea => {\n textarea.style.height = 'auto';\n textarea.style.height = `${textarea.scrollHeight}px`;\n textarea.style.overflowY = 'hidden';\n });\n }\n\n protected get _value(): string {\n return (super._value as string | undefined) ?? '';\n }\n\n protected set _value(newValue: string) {\n super._value = newValue as unknown | undefined;\n }\n}\n"]}
@@ -11,7 +11,7 @@ import { get } from 'lodash-es';
11
11
  export class InternalTimestampsControl extends InternalControl {
12
12
  renderControl() {
13
13
  return html `
14
- <p class="font-lumo text-xs leading-s text-secondary">
14
+ <p class="font-lumo text-s leading-s text-secondary">
15
15
  <foxy-i18n infer="" key="date_created"></foxy-i18n>
16
16
  <foxy-i18n
17
17
  .options=${{ value: get(this, 'nucleon.data.date_created') }}
@@ -1 +1 @@
1
- {"version":3,"file":"InternalTimestampsControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalTimestampsControl/InternalTimestampsControl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,8CAA2C;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D,aAAa;QACX,OAAO,IAAI,CAAA;;;;qBAIM,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,2BAA2B,CAAC,EAAE;;;;;;;;qBAQjD,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,4BAA4B,CAAC,EAAE;;;;;;KAMlE,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\n\nimport { InternalControl } from '../InternalControl/InternalControl';\nimport { html } from 'lit-html';\nimport { get } from 'lodash-es';\n\n/**\n * Internal control displaying creation and last modification date\n * for a hAPI resource in a table.\n *\n * @element foxy-internal-timestamps-control\n * @since 1.17.0\n */\nexport class InternalTimestampsControl extends InternalControl {\n renderControl(): TemplateResult {\n return html`\n <p class=\"font-lumo text-xs leading-s text-secondary\">\n <foxy-i18n infer=\"\" key=\"date_created\"></foxy-i18n>\n <foxy-i18n\n .options=${{ value: get(this, 'nucleon.data.date_created') }}\n infer=\"\"\n key=\"date\"\n >\n </foxy-i18n>\n <span>&bull;<span>\n <foxy-i18n infer=\"\" key=\"date_modified\"></foxy-i18n>\n <foxy-i18n\n .options=${{ value: get(this, 'nucleon.data.date_modified') }}\n infer=\"\"\n key=\"date\"\n >\n </foxy-i18n>\n </p>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalTimestampsControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalTimestampsControl/InternalTimestampsControl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,8CAA2C;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D,aAAa;QACX,OAAO,IAAI,CAAA;;;;qBAIM,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,2BAA2B,CAAC,EAAE;;;;;;;;qBAQjD,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,4BAA4B,CAAC,EAAE;;;;;;KAMlE,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\n\nimport { InternalControl } from '../InternalControl/InternalControl';\nimport { html } from 'lit-html';\nimport { get } from 'lodash-es';\n\n/**\n * Internal control displaying creation and last modification date\n * for a hAPI resource in a table.\n *\n * @element foxy-internal-timestamps-control\n * @since 1.17.0\n */\nexport class InternalTimestampsControl extends InternalControl {\n renderControl(): TemplateResult {\n return html`\n <p class=\"font-lumo text-s leading-s text-secondary\">\n <foxy-i18n infer=\"\" key=\"date_created\"></foxy-i18n>\n <foxy-i18n\n .options=${{ value: get(this, 'nucleon.data.date_created') }}\n infer=\"\"\n key=\"date\"\n >\n </foxy-i18n>\n <span>&bull;<span>\n <foxy-i18n infer=\"\" key=\"date_modified\"></foxy-i18n>\n <foxy-i18n\n .options=${{ value: get(this, 'nucleon.data.date_modified') }}\n infer=\"\"\n key=\"date\"\n >\n </foxy-i18n>\n </p>\n `;\n }\n}\n"]}
@@ -51,7 +51,6 @@ export class InternalCartFormCreateSessionAction extends InternalControl {
51
51
  }
52
52
  async __reloadSessionHref(href) {
53
53
  var _a;
54
- console.log('RELOAD SESSION HREF', href);
55
54
  if (((_a = this.__loader) === null || _a === void 0 ? void 0 : _a.href) === href)
56
55
  return;
57
56
  const nucleon = this.nucleon;
@@ -1 +1 @@
1
- {"version":3,"file":"InternalCartFormCreateSessionAction.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,gEAA6D;AACvF,OAAO,EAAE,QAAQ,EAAE,0CAAuC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAQhC,MAAM,OAAO,mCAAoC,SAAQ,eAAe;IAAxE;;QAQU,aAAQ,GAAkB,IAAI,CAAC;IAqEzC,CAAC;IA5EC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC/B,CAAC;IACJ,CAAC;IAID,aAAa;;QACX,MAAM,KAAK,SAAG,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAC;QACnC,MAAM,IAAI,SAAG,IAAI,CAAC,QAAQ,0CAAE,MAAM,CAAC;QAEnC,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAA;;;;iBAIA,IAAI;;;;OAId,CAAC;SACH;aAAM;YACL,OAAO,IAAI,CAAA;;kBAEC,QAAQ,CAAC;gBACf,uCAAuC,EAAE,IAAI;gBAC7C,eAAe,EAAE,KAAK,KAAK,MAAM;gBACjC,YAAY,EAAE,KAAK,KAAK,MAAM;aAC/B,CAAC;;oCAEwB,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;;OAE3E,CAAC;SACH;IACH,CAAC;IAED,OAAO,CAAC,OAAiC;;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAA0B,CAAC;QAChD,MAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;QAC3B,MAAM,oBAAoB,SAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,mBAAmB,EAAE,IAAI,mCAAI,IAAI,CAAC;QAE5E,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,IAAmB;;QACnD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,OAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,IAAI;YAAE,OAAO;QAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAA0B,CAAC;QAChD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,IAAI,EAAE;YACR,MAAM,MAAM,GAAW,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC7D,MAAM,GAAG,GAAG,IAAK,OAAO,CAAC,WAA+B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEnE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YAEvB,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC3D,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,EAAE,CAAC;gBAEpC,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC;gBAClD,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;aACvB;YAAC,WAAM;gBACN,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;aACvB;oBAAS;gBACR,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;IACH,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { CartForm } from '../../CartForm';\n\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { classMap } from '../../../../../utils/class-map';\nimport { html } from 'lit-html';\n\ntype Loader = {\n result: string | null;\n state: 'idle' | 'busy' | 'fail';\n href: string;\n};\n\nexport class InternalCartFormCreateSessionAction extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __loader: { attribute: false },\n };\n }\n\n private __loader: Loader | null = null;\n\n renderControl(): TemplateResult {\n const state = this.__loader?.state;\n const href = this.__loader?.result;\n\n if (href) {\n return html`\n <a\n target=\"_blank\"\n class=\"rounded font-medium transition-colors text-body focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${href}\n >\n <foxy-i18n infer=\"\" key=\"state_idle\"></foxy-i18n>\n </a>\n `;\n } else {\n return html`\n <div\n class=${classMap({\n 'transition-colors font-medium rounded': true,\n 'text-tertiary': state !== 'fail',\n 'text-error': state === 'fail',\n })}\n >\n <foxy-i18n infer=\"\" key=${state === 'fail' ? 'state_fail' : 'state_busy'}> </foxy-i18n>\n </div>\n `;\n }\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n\n const nucleon = this.nucleon as CartForm | null;\n const data = nucleon?.data;\n const newCreateSessionHref = data?._links['fx:create_session'].href ?? null;\n\n this.__reloadSessionHref(newCreateSessionHref);\n }\n\n private async __reloadSessionHref(href: string | null) {\n console.log('RELOAD SESSION HREF', href);\n if (this.__loader?.href === href) return;\n\n const nucleon = this.nucleon as CartForm | null;\n if (!nucleon) return;\n\n if (href) {\n const loader: Loader = { result: null, state: 'busy', href };\n const api = new (nucleon.constructor as typeof CartForm).API(this);\n\n this.__loader = loader;\n\n try {\n const response = await api.fetch(href, { method: 'POST' });\n if (!response.ok) throw new Error();\n\n loader.result = (await response.json()).cart_link;\n loader.state = 'idle';\n } catch {\n loader.state = 'fail';\n } finally {\n this.requestUpdate();\n }\n } else {\n this.__loader = null;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"InternalCartFormCreateSessionAction.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,gEAA6D;AACvF,OAAO,EAAE,QAAQ,EAAE,0CAAuC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAQhC,MAAM,OAAO,mCAAoC,SAAQ,eAAe;IAAxE;;QAQU,aAAQ,GAAkB,IAAI,CAAC;IAoEzC,CAAC;IA3EC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC/B,CAAC;IACJ,CAAC;IAID,aAAa;;QACX,MAAM,KAAK,SAAG,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAC;QACnC,MAAM,IAAI,SAAG,IAAI,CAAC,QAAQ,0CAAE,MAAM,CAAC;QAEnC,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAA;;;;iBAIA,IAAI;;;;OAId,CAAC;SACH;aAAM;YACL,OAAO,IAAI,CAAA;;kBAEC,QAAQ,CAAC;gBACf,uCAAuC,EAAE,IAAI;gBAC7C,eAAe,EAAE,KAAK,KAAK,MAAM;gBACjC,YAAY,EAAE,KAAK,KAAK,MAAM;aAC/B,CAAC;;oCAEwB,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;;OAE3E,CAAC;SACH;IACH,CAAC;IAED,OAAO,CAAC,OAAiC;;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAA0B,CAAC;QAChD,MAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;QAC3B,MAAM,oBAAoB,SAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,mBAAmB,EAAE,IAAI,mCAAI,IAAI,CAAC;QAE5E,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,IAAmB;;QACnD,IAAI,OAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,IAAI;YAAE,OAAO;QAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAA0B,CAAC;QAChD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,IAAI,EAAE;YACR,MAAM,MAAM,GAAW,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC7D,MAAM,GAAG,GAAG,IAAK,OAAO,CAAC,WAA+B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEnE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YAEvB,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC3D,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,EAAE,CAAC;gBAEpC,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC;gBAClD,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;aACvB;YAAC,WAAM;gBACN,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;aACvB;oBAAS;gBACR,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;IACH,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { CartForm } from '../../CartForm';\n\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { classMap } from '../../../../../utils/class-map';\nimport { html } from 'lit-html';\n\ntype Loader = {\n result: string | null;\n state: 'idle' | 'busy' | 'fail';\n href: string;\n};\n\nexport class InternalCartFormCreateSessionAction extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __loader: { attribute: false },\n };\n }\n\n private __loader: Loader | null = null;\n\n renderControl(): TemplateResult {\n const state = this.__loader?.state;\n const href = this.__loader?.result;\n\n if (href) {\n return html`\n <a\n target=\"_blank\"\n class=\"rounded font-medium transition-colors text-body focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${href}\n >\n <foxy-i18n infer=\"\" key=\"state_idle\"></foxy-i18n>\n </a>\n `;\n } else {\n return html`\n <div\n class=${classMap({\n 'transition-colors font-medium rounded': true,\n 'text-tertiary': state !== 'fail',\n 'text-error': state === 'fail',\n })}\n >\n <foxy-i18n infer=\"\" key=${state === 'fail' ? 'state_fail' : 'state_busy'}> </foxy-i18n>\n </div>\n `;\n }\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n\n const nucleon = this.nucleon as CartForm | null;\n const data = nucleon?.data;\n const newCreateSessionHref = data?._links['fx:create_session'].href ?? null;\n\n this.__reloadSessionHref(newCreateSessionHref);\n }\n\n private async __reloadSessionHref(href: string | null) {\n if (this.__loader?.href === href) return;\n\n const nucleon = this.nucleon as CartForm | null;\n if (!nucleon) return;\n\n if (href) {\n const loader: Loader = { result: null, state: 'busy', href };\n const api = new (nucleon.constructor as typeof CartForm).API(this);\n\n this.__loader = loader;\n\n try {\n const response = await api.fetch(href, { method: 'POST' });\n if (!response.ok) throw new Error();\n\n loader.result = (await response.json()).cart_link;\n loader.state = 'idle';\n } catch {\n loader.state = 'fail';\n } finally {\n this.requestUpdate();\n }\n } else {\n this.__loader = null;\n }\n }\n}\n"]}
@@ -1,12 +1,10 @@
1
- import type { PropertyDeclarations, TemplateResult } from 'lit-element';
2
- import type { ScopedElementsMap } from '@open-wc/scoped-elements';
1
+ import type { TemplateResult } from 'lit-element';
3
2
  import type { Data } from './types';
4
- import { NucleonElement } from '../NucleonElement/NucleonElement';
5
- declare const Base: typeof NucleonElement & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
3
+ import { BooleanSelector } from '@foxy.io/sdk/core';
4
+ import { InternalForm } from '../../internal/InternalForm/InternalForm';
5
+ declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
6
6
  defaultNS: string;
7
- } & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost> & {
8
- styles: import("lit-element").CSSResultArray;
9
- } & import("@open-wc/dedupe-mixin").Constructor<import("@open-wc/scoped-elements/src/types").ScopedElementsHost>;
7
+ };
10
8
  /**
11
9
  * Form element for creating or editing email templates (`fx:email_template`).
12
10
  *
@@ -14,20 +12,14 @@ declare const Base: typeof NucleonElement & import("lit-element").Constructor<im
14
12
  * @since 1.14.0
15
13
  */
16
14
  export declare class EmailTemplateForm extends Base<Data> {
17
- static get properties(): PropertyDeclarations;
18
- static get scopedElements(): ScopedElementsMap;
19
- private __templateLanguageOptions;
20
- private __textContentChoice;
21
- private __htmlContentChoice;
22
- private __cacheState;
23
- render(): TemplateResult;
15
+ private readonly __templateLanguageOptions;
16
+ private readonly __toggleGetValue;
17
+ private readonly __toggleSetValue;
18
+ get readonlySelector(): BooleanSelector;
19
+ get disabledSelector(): BooleanSelector;
20
+ get hiddenSelector(): BooleanSelector;
21
+ renderBody(): TemplateResult;
24
22
  protected _sendPost(edits: Partial<Data>): Promise<Data>;
25
23
  protected _sendPatch(edits: Partial<Data>): Promise<Data>;
26
- private __renderDescription;
27
- private __renderContent;
28
- private __renderContentVariant;
29
- private __renderTimestamps;
30
- private __renderAction;
31
- private __cache;
32
24
  }
33
25
  export {};