@foxy.io/elements 1.29.0-beta.3 → 1.29.0-beta.4
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.
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-admin-subscription-form.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-cart-form.js +2 -2
- package/dist/cdn/foxy-client-form.js +1 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-customer-form.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +1 -1
- package/dist/cdn/foxy-customer.js +1 -1
- package/dist/cdn/foxy-downloadable-form.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-filter-attribute-form.js +1 -1
- package/dist/cdn/foxy-generate-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-integration-form.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-native-integration-form.js +1 -1
- package/dist/cdn/foxy-passkey-form.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-store-form.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +1 -1
- package/dist/cdn/foxy-subscription-settings-form.js +1 -1
- package/dist/cdn/foxy-template-set-form.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-user-form.js +1 -1
- package/dist/cdn/foxy-users-table.js +1 -1
- package/dist/cdn/foxy-webhook-form.js +1 -1
- package/dist/cdn/shared-3ea78c8d.js +1 -0
- package/dist/cdn/shared-a8170f94.js +1 -0
- package/dist/cdn/shared-cdf20ded.js +1 -0
- package/dist/cdn/shared-e96c5384.js +1 -0
- package/dist/cdn/shared-f07d15d6.js +1 -0
- package/dist/cdn/translations/item-category-form/en.json +181 -148
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +3 -0
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +23 -8
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +2 -0
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +11 -1
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
- package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +2 -0
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js +13 -2
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.d.ts +1 -7
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +109 -135
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -1
- package/dist/elements/public/ItemCategoryForm/index.d.ts +4 -3
- package/dist/elements/public/ItemCategoryForm/index.js +4 -3
- package/dist/elements/public/ItemCategoryForm/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-18cb3cfc.js +0 -1
- package/dist/cdn/shared-588c6b15.js +0 -1
- package/dist/cdn/shared-666bdabd.js +0 -1
- package/dist/cdn/shared-b9138e9f.js +0 -1
|
@@ -2,6 +2,7 @@ import { InternalEditableControl } from "../InternalEditableControl/InternalEdit
|
|
|
2
2
|
import { html, css, svg } from 'lit-element';
|
|
3
3
|
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
4
4
|
import { classMap } from "../../../utils/class-map.js";
|
|
5
|
+
import { live } from 'lit-html/directives/live';
|
|
5
6
|
/**
|
|
6
7
|
* Internal control displaying a basic text box.
|
|
7
8
|
*
|
|
@@ -14,6 +15,7 @@ export class InternalTextControl extends InternalEditableControl {
|
|
|
14
15
|
this.layout = null;
|
|
15
16
|
this.prefix = null;
|
|
16
17
|
this.suffix = null;
|
|
18
|
+
this.__isErrorVisible = false;
|
|
17
19
|
}
|
|
18
20
|
static get properties() {
|
|
19
21
|
return {
|
|
@@ -21,6 +23,7 @@ export class InternalTextControl extends InternalEditableControl {
|
|
|
21
23
|
layout: {},
|
|
22
24
|
prefix: {},
|
|
23
25
|
suffix: {},
|
|
26
|
+
__isErrorVisible: { attribute: false },
|
|
24
27
|
};
|
|
25
28
|
}
|
|
26
29
|
static get styles() {
|
|
@@ -36,6 +39,10 @@ export class InternalTextControl extends InternalEditableControl {
|
|
|
36
39
|
`,
|
|
37
40
|
];
|
|
38
41
|
}
|
|
42
|
+
reportValidity() {
|
|
43
|
+
this.__isErrorVisible = true;
|
|
44
|
+
super.reportValidity();
|
|
45
|
+
}
|
|
39
46
|
renderControl() {
|
|
40
47
|
if (this.layout === 'summary-item')
|
|
41
48
|
return this.__renderSummaryItemLayout();
|
|
@@ -75,7 +82,10 @@ export class InternalTextControl extends InternalEditableControl {
|
|
|
75
82
|
<div>
|
|
76
83
|
<label class="text-m text-body" for="input">${this.label}</label>
|
|
77
84
|
<p class="text-xs text-secondary">${this.helperText}</p>
|
|
78
|
-
<p
|
|
85
|
+
<p
|
|
86
|
+
class="text-xs text-error"
|
|
87
|
+
?hidden=${!this.__isErrorVisible || this.disabled || this.readonly}
|
|
88
|
+
>
|
|
79
89
|
${this._errorMessage}
|
|
80
90
|
</p>
|
|
81
91
|
</div>
|
|
@@ -92,10 +102,11 @@ export class InternalTextControl extends InternalEditableControl {
|
|
|
92
102
|
})}
|
|
93
103
|
type="text"
|
|
94
104
|
id="input"
|
|
95
|
-
.value=${this._value}
|
|
105
|
+
.value=${live(this._value)}
|
|
96
106
|
?disabled=${this.disabled}
|
|
97
107
|
?readonly=${this.readonly}
|
|
98
108
|
@keydown=${(evt) => { var _a; return evt.key === 'Enter' && ((_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.submit()); }}
|
|
109
|
+
@blur=${() => (this.__isErrorVisible = true)}
|
|
99
110
|
@input=${(evt) => {
|
|
100
111
|
evt.stopPropagation();
|
|
101
112
|
this._value = evt.target.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalTextControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalTextControl/InternalTextControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,oCAAiC;
|
|
1
|
+
{"version":3,"file":"InternalTextControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalTextControl/InternalTextControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CSSResultArray, PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { TextFieldElement } from '@vaadin/vaadin-text-field';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { html, css, svg } from 'lit-element';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { live } from 'lit-html/directives/live';\n\n/**\n * Internal control displaying a basic text box.\n *\n * @since 1.17.0\n * @element foxy-internal-text-control\n */\nexport class InternalTextControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n layout: {},\n prefix: {},\n suffix: {},\n __isErrorVisible: { attribute: false },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n input::-webkit-contacts-auto-fill-button {\n visibility: hidden;\n display: none !important;\n pointer-events: none;\n position: absolute;\n right: 0;\n }\n `,\n ];\n }\n\n layout: 'summary-item' | 'standalone' | null = null;\n\n prefix: string | null = null;\n\n suffix: string | null = null;\n\n private __isErrorVisible = false;\n\n reportValidity(): void {\n this.__isErrorVisible = true;\n super.reportValidity();\n }\n\n renderControl(): TemplateResult {\n if (this.layout === 'summary-item') return this.__renderSummaryItemLayout();\n\n return html`\n <vaadin-text-field\n error-message=${ifDefined(this._errorMessage)}\n helper-text=${this.helperText}\n placeholder=${this.placeholder}\n label=${this.label}\n class=\"w-full\"\n ?clear-button-visible=${!this.suffix}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${this._value}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @input=${(evt: CustomEvent) => {\n const field = evt.currentTarget as TextFieldElement;\n this._value = field.value;\n }}\n >\n ${this.prefix ? html`<div slot=\"prefix\">${this.prefix}</div>` : ''}\n ${this.suffix ? html`<div class=\"pr-s font-medium\" slot=\"suffix\">${this.suffix}</div>` : ''}\n </vaadin-text-field>\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 private __renderSummaryItemLayout() {\n return html`\n <div class=\"flex items-start gap-m leading-xs\">\n <div>\n <label class=\"text-m text-body\" for=\"input\">${this.label}</label>\n <p class=\"text-xs text-secondary\">${this.helperText}</p>\n <p\n class=\"text-xs text-error\"\n ?hidden=${!this.__isErrorVisible || this.disabled || this.readonly}\n >\n ${this._errorMessage}\n </p>\n </div>\n\n <div class=\"flex-1 flex items-center gap-xs\">\n <input\n placeholder=${this.placeholder}\n class=${classMap({\n 'w-full appearance-none text-right bg-transparent transition-colors': true,\n 'text-m rounded-s focus-outline-none': true,\n 'text-secondary': this.readonly,\n 'text-disabled': this.disabled,\n 'font-medium': !this.readonly,\n })}\n type=\"text\"\n id=\"input\"\n .value=${live(this._value)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @blur=${() => (this.__isErrorVisible = true)}\n @input=${(evt: Event) => {\n evt.stopPropagation();\n this._value = (evt.target as HTMLInputElement).value;\n }}\n />\n\n <button\n aria-label=${this.t('clear')}\n class=${classMap({\n 'rounded-full transition-colors': true,\n 'focus-outline-none focus-ring-2 focus-ring-primary-50': true,\n 'cursor-pointer text-tertiary hover-text-body': !this.disabled,\n 'cursor-default text-disabled': this.disabled,\n })}\n style=\"width: 1em; height: 1em;\"\n ?disabled=${this.disabled}\n ?hidden=${this.readonly || !this._value}\n @click=${() => {\n this._value = '';\n this.dispatchEvent(new CustomEvent('clear'));\n }}\n >\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" style=\"width: 1em; height: 1em; transform: scale(1.25); margin-right: -0.16em\"><path d=\"M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z\" /></svg>`}\n </button>\n </div>\n </div>\n `;\n }\n}\n"]}
|
|
@@ -25,14 +25,9 @@ export declare class ItemCategoryForm extends ItemCategoryForm_base<Data> {
|
|
|
25
25
|
private static __defaultLengthUnitOptions;
|
|
26
26
|
private static __itemDeliveryTypeOptions;
|
|
27
27
|
private static __handlingFeeTypeOptions;
|
|
28
|
-
|
|
29
|
-
private readonly __customerEmailTemplateLoaderId;
|
|
30
|
-
private readonly __adminEmailTemplateLoaderId;
|
|
28
|
+
get readonlySelector(): BooleanSelector;
|
|
31
29
|
get hiddenSelector(): BooleanSelector;
|
|
32
30
|
renderBody(): TemplateResult;
|
|
33
|
-
private get __giftRecipientEmailTemplateLoader();
|
|
34
|
-
private get __customerEmailTemplateLoader();
|
|
35
|
-
private get __adminEmailTemplateLoader();
|
|
36
31
|
private __renderHandlingFee;
|
|
37
32
|
private __renderHandlingFeePercentage;
|
|
38
33
|
private __renderHandlingFeeMinimum;
|
|
@@ -41,6 +36,5 @@ export declare class ItemCategoryForm extends ItemCategoryForm_base<Data> {
|
|
|
41
36
|
private __renderShippingControls;
|
|
42
37
|
private __renderCustomsValue;
|
|
43
38
|
private __renderDiscountBuilder;
|
|
44
|
-
private __renderAdminEmail;
|
|
45
39
|
}
|
|
46
40
|
export {};
|
|
@@ -2,7 +2,7 @@ import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
|
2
2
|
import { BooleanSelector } from '@foxy.io/sdk/core';
|
|
3
3
|
import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
|
|
4
4
|
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
5
|
-
import { html } from 'lit-html';
|
|
5
|
+
import { html, svg } from 'lit-html';
|
|
6
6
|
/**
|
|
7
7
|
* Form element for item categories (`fx:item_category`).
|
|
8
8
|
*
|
|
@@ -16,9 +16,6 @@ export class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-cate
|
|
|
16
16
|
this.emailTemplates = null;
|
|
17
17
|
/** URL of the `fx:taxes` collection for a store. */
|
|
18
18
|
this.taxes = null;
|
|
19
|
-
this.__giftRecipientEmailTemplateLoaderId = 'gift-recipient-email-template-loader';
|
|
20
|
-
this.__customerEmailTemplateLoaderId = 'customer-email-template-loader';
|
|
21
|
-
this.__adminEmailTemplateLoaderId = 'admin-email-template-loader';
|
|
22
19
|
}
|
|
23
20
|
static get properties() {
|
|
24
21
|
return {
|
|
@@ -89,29 +86,71 @@ export class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-cate
|
|
|
89
86
|
({ handling_fee_percentage: v }) => {
|
|
90
87
|
return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-percentage:v8n_negative';
|
|
91
88
|
},
|
|
92
|
-
({ send_admin_email: s, admin_email: v }) => (s ? !!v : true) || 'admin-email:v8n_required',
|
|
93
89
|
];
|
|
94
90
|
}
|
|
91
|
+
get readonlySelector() {
|
|
92
|
+
var _a;
|
|
93
|
+
const alwaysMatch = [super.readonlySelector.toString()];
|
|
94
|
+
if (((_a = this.data) === null || _a === void 0 ? void 0 : _a.code) === 'DEFAULT')
|
|
95
|
+
alwaysMatch.unshift('code', 'name');
|
|
96
|
+
return new BooleanSelector(alwaysMatch.join(' ').trim());
|
|
97
|
+
}
|
|
95
98
|
get hiddenSelector() {
|
|
96
|
-
|
|
99
|
+
var _a;
|
|
100
|
+
const alwaysMatch = [super.hiddenSelector.toString()];
|
|
97
101
|
if (!this.data)
|
|
98
|
-
|
|
99
|
-
|
|
102
|
+
alwaysMatch.unshift('taxes');
|
|
103
|
+
if (((_a = this.data) === null || _a === void 0 ? void 0 : _a.code) === 'DEFAULT')
|
|
104
|
+
alwaysMatch.unshift('delete');
|
|
105
|
+
return new BooleanSelector(alwaysMatch.join(' ').trim());
|
|
100
106
|
}
|
|
101
107
|
renderBody() {
|
|
102
|
-
var _a, _b, _c, _d, _e
|
|
108
|
+
var _a, _b, _c, _d, _e;
|
|
103
109
|
const itemDeliveryType = this.form.item_delivery_type;
|
|
104
110
|
const handlingFeeType = (_a = this.form.handling_fee_type) !== null && _a !== void 0 ? _a : 'none';
|
|
105
111
|
return html `
|
|
106
112
|
${this.renderHeader()}
|
|
107
113
|
|
|
108
|
-
<
|
|
109
|
-
<foxy-internal-text-control infer="name"
|
|
110
|
-
<foxy-internal-text-control infer="code"
|
|
114
|
+
<foxy-internal-summary-control infer="general">
|
|
115
|
+
<foxy-internal-text-control infer="name" layout="summary-item"></foxy-internal-text-control>
|
|
116
|
+
<foxy-internal-text-control infer="code" layout="summary-item"></foxy-internal-text-control>
|
|
117
|
+
</foxy-internal-summary-control>
|
|
118
|
+
|
|
119
|
+
<foxy-internal-async-resource-link-list-control
|
|
120
|
+
foreign-key-for-uri="tax_uri"
|
|
121
|
+
foreign-key-for-id="tax_id"
|
|
122
|
+
own-key-for-uri="item_category_uri"
|
|
123
|
+
options-href=${ifDefined((_b = this.taxes) !== null && _b !== void 0 ? _b : undefined)}
|
|
124
|
+
links-href=${ifDefined((_c = this.data) === null || _c === void 0 ? void 0 : _c._links['fx:tax_item_categories'].href)}
|
|
125
|
+
embed-key="fx:tax_item_categories"
|
|
126
|
+
own-uri=${ifDefined((_d = this.data) === null || _d === void 0 ? void 0 : _d._links.self.href)}
|
|
127
|
+
infer="taxes"
|
|
128
|
+
limit="5"
|
|
129
|
+
item="foxy-tax-card"
|
|
130
|
+
>
|
|
131
|
+
</foxy-internal-async-resource-link-list-control>
|
|
132
|
+
|
|
133
|
+
<foxy-internal-summary-control infer="delivery">
|
|
134
|
+
<foxy-internal-select-control
|
|
135
|
+
layout="summary-item"
|
|
136
|
+
infer="item-delivery-type"
|
|
137
|
+
.options=${ItemCategoryForm.__itemDeliveryTypeOptions}
|
|
138
|
+
>
|
|
139
|
+
</foxy-internal-select-control>
|
|
140
|
+
|
|
141
|
+
${itemDeliveryType === 'downloaded'
|
|
142
|
+
? this.__renderDownloadDeliveryControls()
|
|
143
|
+
: itemDeliveryType === 'flat_rate'
|
|
144
|
+
? [this.__renderFlatRateControls(), this.__renderCustomsValue()]
|
|
145
|
+
: itemDeliveryType === 'shipped'
|
|
146
|
+
? [this.__renderShippingControls(), this.__renderCustomsValue()]
|
|
147
|
+
: ''}
|
|
148
|
+
</foxy-internal-summary-control>
|
|
111
149
|
|
|
150
|
+
<foxy-internal-summary-control infer="handling-and-discount">
|
|
112
151
|
<foxy-internal-select-control
|
|
152
|
+
layout="summary-item"
|
|
113
153
|
infer="handling-fee-type"
|
|
114
|
-
class="col-span-2"
|
|
115
154
|
.options=${ItemCategoryForm.__handlingFeeTypeOptions}
|
|
116
155
|
>
|
|
117
156
|
</foxy-internal-select-control>
|
|
@@ -126,156 +165,92 @@ export class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-cate
|
|
|
126
165
|
: ''}
|
|
127
166
|
`}
|
|
128
167
|
|
|
129
|
-
<foxy-internal-
|
|
130
|
-
infer="item-delivery-type"
|
|
131
|
-
class="col-span-2"
|
|
132
|
-
.options=${ItemCategoryForm.__itemDeliveryTypeOptions}
|
|
133
|
-
>
|
|
134
|
-
</foxy-internal-select-control>
|
|
135
|
-
|
|
136
|
-
${itemDeliveryType === 'downloaded'
|
|
137
|
-
? this.__renderDownloadDeliveryControls()
|
|
138
|
-
: itemDeliveryType === 'flat_rate'
|
|
139
|
-
? [this.__renderFlatRateControls(), this.__renderCustomsValue()]
|
|
140
|
-
: itemDeliveryType === 'shipped'
|
|
141
|
-
? [this.__renderShippingControls(), this.__renderCustomsValue()]
|
|
142
|
-
: ''}
|
|
143
|
-
|
|
144
|
-
<foxy-internal-text-control infer="discount-name" class="col-span-2">
|
|
168
|
+
<foxy-internal-text-control layout="summary-item" infer="discount-name">
|
|
145
169
|
</foxy-internal-text-control>
|
|
146
170
|
|
|
147
171
|
${this.form.discount_name ? this.__renderDiscountBuilder() : ''}
|
|
172
|
+
</foxy-internal-summary-control>
|
|
148
173
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
first=${ifDefined((
|
|
153
|
-
infer="admin-email-template-uri"
|
|
154
|
-
class=${this.form.send_admin_email ? '' : 'col-span-2'}
|
|
155
|
-
.selectedItem=${(_c = this.__adminEmailTemplateLoader) === null || _c === void 0 ? void 0 : _c.data}
|
|
156
|
-
@change=${(evt) => {
|
|
157
|
-
this.edit({
|
|
158
|
-
send_admin_email: !!evt.detail,
|
|
159
|
-
admin_email: evt.detail ? this.form.admin_email : '',
|
|
160
|
-
});
|
|
161
|
-
}}
|
|
162
|
-
>
|
|
163
|
-
</foxy-internal-async-combo-box-control>
|
|
164
|
-
|
|
165
|
-
${this.form.send_admin_email ? this.__renderAdminEmail() : ''}
|
|
166
|
-
|
|
167
|
-
<foxy-internal-async-combo-box-control
|
|
168
|
-
item-label-path="description"
|
|
169
|
-
item-value-path="_links.self.href"
|
|
170
|
-
first=${ifDefined((_d = this.emailTemplates) !== null && _d !== void 0 ? _d : undefined)}
|
|
171
|
-
infer="customer-email-template-uri"
|
|
172
|
-
class="col-span-2"
|
|
173
|
-
.selectedItem=${(_e = this.__customerEmailTemplateLoader) === null || _e === void 0 ? void 0 : _e.data}
|
|
174
|
-
@change=${(evt) => this.edit({ send_customer_email: !!evt.detail })}
|
|
175
|
-
>
|
|
176
|
-
</foxy-internal-async-combo-box-control>
|
|
177
|
-
|
|
178
|
-
<foxy-internal-async-combo-box-control
|
|
179
|
-
item-label-path="description"
|
|
180
|
-
item-value-path="_links.self.href"
|
|
181
|
-
first=${ifDefined((_f = this.emailTemplates) !== null && _f !== void 0 ? _f : undefined)}
|
|
174
|
+
<foxy-internal-summary-control infer="emails">
|
|
175
|
+
<foxy-internal-resource-picker-control
|
|
176
|
+
layout="summary-item"
|
|
177
|
+
first=${ifDefined((_e = this.emailTemplates) !== null && _e !== void 0 ? _e : undefined)}
|
|
182
178
|
infer="gift-recipient-email-template-uri"
|
|
183
|
-
|
|
184
|
-
.selectedItem=${(_g = this.__giftRecipientEmailTemplateLoader) === null || _g === void 0 ? void 0 : _g.data}
|
|
179
|
+
item="foxy-email-template-card"
|
|
185
180
|
>
|
|
186
|
-
</foxy-internal-
|
|
181
|
+
</foxy-internal-resource-picker-control>
|
|
187
182
|
|
|
188
|
-
<
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
own-key-for-uri="item_category_uri"
|
|
192
|
-
own-uri=${ifDefined((_h = this.data) === null || _h === void 0 ? void 0 : _h._links.self.href)}
|
|
193
|
-
embed-key="fx:tax_item_categories"
|
|
194
|
-
options-href=${ifDefined((_j = this.taxes) !== null && _j !== void 0 ? _j : undefined)}
|
|
195
|
-
links-href=${ifDefined((_k = this.data) === null || _k === void 0 ? void 0 : _k._links['fx:tax_item_categories'].href)}
|
|
196
|
-
infer="taxes"
|
|
197
|
-
class="col-span-2"
|
|
198
|
-
limit="5"
|
|
199
|
-
item="foxy-tax-card"
|
|
183
|
+
<div
|
|
184
|
+
class="flex items-start"
|
|
185
|
+
style="gap: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)"
|
|
200
186
|
>
|
|
201
|
-
|
|
202
|
-
|
|
187
|
+
${svg `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" class="flex-shrink-0 text-primary" style="width: 1.25em"><path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"></path></svg>`}
|
|
188
|
+
<p>
|
|
189
|
+
<foxy-i18n infer="" key="wip_message"></foxy-i18n>
|
|
190
|
+
<br />
|
|
191
|
+
<a
|
|
192
|
+
target="_blank"
|
|
193
|
+
class="mt-xs inline-block rounded font-medium text-primary transition-colors cursor-pointer hover-opacity-80 focus-outline-none focus-ring-2 focus-ring-primary-50"
|
|
194
|
+
href="https://admin.foxycart.com"
|
|
195
|
+
>
|
|
196
|
+
admin.foxycart.com
|
|
197
|
+
</a>
|
|
198
|
+
</p>
|
|
199
|
+
</div>
|
|
200
|
+
</foxy-internal-summary-control>
|
|
203
201
|
|
|
204
202
|
${super.renderBody()}
|
|
205
|
-
|
|
206
|
-
<foxy-nucleon
|
|
207
|
-
class="hidden"
|
|
208
|
-
infer=""
|
|
209
|
-
href=${ifDefined(this.form.customer_email_template_uri || undefined)}
|
|
210
|
-
id=${this.__customerEmailTemplateLoaderId}
|
|
211
|
-
@update=${() => this.requestUpdate()}
|
|
212
|
-
>
|
|
213
|
-
</foxy-nucleon>
|
|
214
|
-
|
|
215
|
-
<foxy-nucleon
|
|
216
|
-
class="hidden"
|
|
217
|
-
infer=""
|
|
218
|
-
href=${ifDefined(this.form.gift_recipient_email_template_uri || undefined)}
|
|
219
|
-
id=${this.__giftRecipientEmailTemplateLoaderId}
|
|
220
|
-
@update=${() => this.requestUpdate()}
|
|
221
|
-
>
|
|
222
|
-
</foxy-nucleon>
|
|
223
|
-
|
|
224
|
-
<foxy-nucleon
|
|
225
|
-
class="hidden"
|
|
226
|
-
infer=""
|
|
227
|
-
href=${ifDefined(this.form.admin_email_template_uri || undefined)}
|
|
228
|
-
id=${this.__adminEmailTemplateLoaderId}
|
|
229
|
-
@update=${() => this.requestUpdate()}
|
|
230
|
-
>
|
|
231
|
-
</foxy-nucleon>
|
|
232
203
|
`;
|
|
233
204
|
}
|
|
234
|
-
get __giftRecipientEmailTemplateLoader() {
|
|
235
|
-
const id = this.__giftRecipientEmailTemplateLoaderId;
|
|
236
|
-
return this.renderRoot.querySelector(`#${id}`);
|
|
237
|
-
}
|
|
238
|
-
get __customerEmailTemplateLoader() {
|
|
239
|
-
const id = this.__customerEmailTemplateLoaderId;
|
|
240
|
-
return this.renderRoot.querySelector(`#${id}`);
|
|
241
|
-
}
|
|
242
|
-
get __adminEmailTemplateLoader() {
|
|
243
|
-
const id = this.__adminEmailTemplateLoaderId;
|
|
244
|
-
return this.renderRoot.querySelector(`#${id}`);
|
|
245
|
-
}
|
|
246
205
|
__renderHandlingFee() {
|
|
247
206
|
return html `
|
|
248
|
-
<foxy-internal-number-control
|
|
249
|
-
infer="handling-fee"
|
|
250
|
-
class=${this.form.handling_fee_type === 'flat_percent' ? '' : 'col-span-2'}
|
|
251
|
-
>
|
|
207
|
+
<foxy-internal-number-control layout="summary-item" infer="handling-fee" min="0">
|
|
252
208
|
</foxy-internal-number-control>
|
|
253
209
|
`;
|
|
254
210
|
}
|
|
255
211
|
__renderHandlingFeePercentage() {
|
|
256
212
|
return html `
|
|
257
|
-
<foxy-internal-number-control
|
|
213
|
+
<foxy-internal-number-control
|
|
214
|
+
layout="summary-item"
|
|
215
|
+
suffix="%"
|
|
216
|
+
infer="handling-fee-percentage"
|
|
217
|
+
min="0"
|
|
218
|
+
>
|
|
219
|
+
</foxy-internal-number-control>
|
|
258
220
|
`;
|
|
259
221
|
}
|
|
260
222
|
__renderHandlingFeeMinimum() {
|
|
261
223
|
return html `
|
|
262
|
-
<foxy-internal-number-control infer="handling-fee-minimum"
|
|
224
|
+
<foxy-internal-number-control layout="summary-item" infer="handling-fee-minimum" min="0">
|
|
225
|
+
</foxy-internal-number-control>
|
|
263
226
|
`;
|
|
264
227
|
}
|
|
265
228
|
__renderDownloadDeliveryControls() {
|
|
266
229
|
return html `
|
|
267
|
-
<foxy-internal-
|
|
268
|
-
|
|
230
|
+
<foxy-internal-number-control
|
|
231
|
+
layout="summary-item"
|
|
232
|
+
infer="max-downloads-per-customer"
|
|
233
|
+
step="1"
|
|
234
|
+
min="0"
|
|
235
|
+
>
|
|
236
|
+
</foxy-internal-number-control>
|
|
269
237
|
|
|
270
|
-
<foxy-internal-
|
|
271
|
-
|
|
238
|
+
<foxy-internal-number-control
|
|
239
|
+
layout="summary-item"
|
|
240
|
+
infer="max-downloads-time-period"
|
|
241
|
+
step="1"
|
|
242
|
+
min="0"
|
|
243
|
+
>
|
|
244
|
+
</foxy-internal-number-control>
|
|
272
245
|
`;
|
|
273
246
|
}
|
|
274
247
|
__renderFlatRateControls() {
|
|
275
248
|
return html `
|
|
276
|
-
<foxy-internal-number-control infer="shipping-flat-rate"
|
|
249
|
+
<foxy-internal-number-control layout="summary-item" infer="shipping-flat-rate" min="0">
|
|
250
|
+
</foxy-internal-number-control>
|
|
277
251
|
|
|
278
252
|
<foxy-internal-select-control
|
|
253
|
+
layout="summary-item"
|
|
279
254
|
infer="shipping-flat-rate-type"
|
|
280
255
|
.options=${ItemCategoryForm.__shippingFlatRateTypeOptions}
|
|
281
256
|
>
|
|
@@ -284,16 +259,18 @@ export class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-cate
|
|
|
284
259
|
}
|
|
285
260
|
__renderShippingControls() {
|
|
286
261
|
return html `
|
|
287
|
-
<foxy-internal-
|
|
288
|
-
</foxy-internal-
|
|
262
|
+
<foxy-internal-number-control layout="summary-item" infer="default-weight" min="0">
|
|
263
|
+
</foxy-internal-number-control>
|
|
289
264
|
|
|
290
265
|
<foxy-internal-select-control
|
|
266
|
+
layout="summary-item"
|
|
291
267
|
infer="default-weight-unit"
|
|
292
268
|
.options=${ItemCategoryForm.__defaultWeightUnitOptions}
|
|
293
269
|
>
|
|
294
270
|
</foxy-internal-select-control>
|
|
295
271
|
|
|
296
272
|
<foxy-internal-select-control
|
|
273
|
+
layout="summary-item"
|
|
297
274
|
infer="default-length-unit"
|
|
298
275
|
.options=${ItemCategoryForm.__defaultLengthUnitOptions}
|
|
299
276
|
>
|
|
@@ -302,7 +279,7 @@ export class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-cate
|
|
|
302
279
|
}
|
|
303
280
|
__renderCustomsValue() {
|
|
304
281
|
return html `
|
|
305
|
-
<foxy-internal-number-control infer="customs-value"
|
|
282
|
+
<foxy-internal-number-control layout="summary-item" infer="customs-value" min="0">
|
|
306
283
|
</foxy-internal-number-control>
|
|
307
284
|
`;
|
|
308
285
|
}
|
|
@@ -330,9 +307,6 @@ export class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-cate
|
|
|
330
307
|
</foxy-discount-builder>
|
|
331
308
|
`;
|
|
332
309
|
}
|
|
333
|
-
__renderAdminEmail() {
|
|
334
|
-
return html `<foxy-internal-text-control infer="admin-email"> </foxy-internal-text-control>`;
|
|
335
|
-
}
|
|
336
310
|
}
|
|
337
311
|
ItemCategoryForm.__shippingFlatRateTypeOptions = [
|
|
338
312
|
{ label: 'option_per_order', value: 'per_order' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemCategoryForm.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemCategoryForm/ItemCategoryForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { DiscountBuilder } from '../DiscountBuilder/DiscountBuilder';\nimport type { Data } from './types';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { ParsedValue } from '../DiscountBuilder/types';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\n/**\n * Form element for item categories (`fx:item_category`).\n *\n * @since 1.21.0\n * @element foxy-item-category-form\n */\nexport class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-category-form')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n emailTemplates: { attribute: 'email-templates' },\n taxes: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ code: v }) => !!v || 'code:v8n_required',\n ({ code: v }) => (v && v.length <= 50) || 'code:v8n_too_long',\n\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => (v && v.length <= 50) || 'name:v8n_too_long',\n\n ({ item_delivery_type: v }) => !!v || 'item-delivery-type:v8n_required',\n\n ({ item_delivery_type: t, max_downloads_per_customer: v }) => {\n return (\n (t === 'downloaded' ? typeof v === 'number' : true) ||\n 'max-downloads-per-customer:v8n_required'\n );\n },\n\n ({ max_downloads_per_customer: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-per-customer:v8n_negative';\n },\n\n ({ item_delivery_type: t, max_downloads_time_period: v }) => {\n return (\n (t === 'downloaded' ? typeof v === 'number' : true) ||\n 'max-downloads-time-period:v8n_required'\n );\n },\n\n ({ max_downloads_time_period: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-time-period:v8n_negative';\n },\n\n ({ customs_value: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'customs-value:v8n_negative';\n },\n\n ({ item_delivery_type: t, default_weight: v }) => {\n return (t === 'shipped' ? typeof v === 'number' : true) || 'default-weight:v8n_required';\n },\n\n ({ default_weight: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'default-weight:v8n_negative';\n },\n\n ({ item_delivery_type: t, default_weight_unit: v }) => {\n return (\n (t === 'shipped' ? typeof v === 'string' : true) || 'default-weight-unit:v8n_required'\n );\n },\n\n ({ item_delivery_type: t, default_length_unit: v }) => {\n return (\n (t === 'shipped' ? typeof v === 'string' : true) || 'default-length-unit:v8n_required'\n );\n },\n\n ({ item_delivery_type: t, shipping_flat_rate: v }) => {\n return (\n (t === 'flat_rate' ? typeof v === 'number' : true) || 'shipping-flat-rate:v8n_required'\n );\n },\n\n ({ shipping_flat_rate: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'shipping-flat-rate:v8n_negative';\n },\n\n ({ item_delivery_type: t, shipping_flat_rate_type: v }) => {\n return (\n (t === 'flat_rate' ? typeof v === 'string' : true) ||\n 'shipping-flat-rate-type:v8n_required'\n );\n },\n\n ({ handling_fee_type: v }) => !!v || 'handling-fee-type:v8n_required',\n\n ({ handling_fee_type: t, handling_fee_minimum: v }) => {\n return (\n (t === 'flat_percent_with_minimum' ? typeof v === 'number' : true) ||\n 'handling-fee-minimum:v8n_required'\n );\n },\n\n ({ handling_fee_minimum: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-minimum:v8n_negative';\n },\n\n ({ handling_fee_type: t, handling_fee_percentage: v }) => {\n return (\n (t === 'flat_percent_with_minimum' || t === 'flat_percent'\n ? typeof v === 'number'\n : true) || 'handling-fee-percentage:v8n_required'\n );\n },\n\n ({ handling_fee_percentage: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-percentage:v8n_negative';\n },\n\n ({ send_admin_email: s, admin_email: v }) => (s ? !!v : true) || 'admin-email:v8n_required',\n ];\n }\n\n /** URL of the `fx:email_templates` collection for a store. */\n emailTemplates: string | null = null;\n\n /** URL of the `fx:taxes` collection for a store. */\n taxes: string | null = null;\n\n private static __shippingFlatRateTypeOptions = [\n { label: 'option_per_order', value: 'per_order' },\n { label: 'option_per_shipment', value: 'per_shipment' },\n ];\n\n private static __defaultWeightUnitOptions = [\n { label: 'option_lbs', value: 'LBS' },\n { label: 'option_kgs', value: 'KGS' },\n ];\n\n private static __defaultLengthUnitOptions = [\n { label: 'option_in', value: 'IN' },\n { label: 'option_cm', value: 'CM' },\n ];\n\n private static __itemDeliveryTypeOptions = [\n { label: 'option_notshipped', value: 'notshipped' },\n { label: 'option_downloaded', value: 'downloaded' },\n { label: 'option_flat_rate', value: 'flat_rate' },\n { label: 'option_shipped', value: 'shipped' },\n { label: 'option_pickup', value: 'pickup' },\n ];\n\n private static __handlingFeeTypeOptions = [\n { label: 'option_none', value: 'none' },\n { label: 'option_flat_per_order', value: 'flat_per_order' },\n { label: 'option_flat_per_item', value: 'flat_per_item' },\n { label: 'option_flat_percent', value: 'flat_percent' },\n { label: 'option_flat_percent_with_minimum', value: 'flat_percent_with_minimum' },\n ];\n\n private readonly __giftRecipientEmailTemplateLoaderId = 'gift-recipient-email-template-loader';\n\n private readonly __customerEmailTemplateLoaderId = 'customer-email-template-loader';\n\n private readonly __adminEmailTemplateLoaderId = 'admin-email-template-loader';\n\n get hiddenSelector(): BooleanSelector {\n const alwaysHidden = [super.hiddenSelector.toString()];\n if (!this.data) alwaysHidden.unshift('taxes');\n return new BooleanSelector(alwaysHidden.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n const itemDeliveryType = this.form.item_delivery_type;\n const handlingFeeType = this.form.handling_fee_type ?? 'none';\n\n return html`\n ${this.renderHeader()}\n\n <div class=\"grid grid-cols-2 gap-m\">\n <foxy-internal-text-control infer=\"name\" class=\"col-span-2\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"code\" class=\"col-span-2\"></foxy-internal-text-control>\n\n <foxy-internal-select-control\n infer=\"handling-fee-type\"\n class=\"col-span-2\"\n .options=${ItemCategoryForm.__handlingFeeTypeOptions}\n >\n </foxy-internal-select-control>\n\n ${handlingFeeType === 'none'\n ? ''\n : html`\n ${this.__renderHandlingFee()}\n ${handlingFeeType.includes('percent') ? this.__renderHandlingFeePercentage() : ''}\n ${handlingFeeType === 'flat_percent_with_minimum'\n ? this.__renderHandlingFeeMinimum()\n : ''}\n `}\n\n <foxy-internal-select-control\n infer=\"item-delivery-type\"\n class=\"col-span-2\"\n .options=${ItemCategoryForm.__itemDeliveryTypeOptions}\n >\n </foxy-internal-select-control>\n\n ${itemDeliveryType === 'downloaded'\n ? this.__renderDownloadDeliveryControls()\n : itemDeliveryType === 'flat_rate'\n ? [this.__renderFlatRateControls(), this.__renderCustomsValue()]\n : itemDeliveryType === 'shipped'\n ? [this.__renderShippingControls(), this.__renderCustomsValue()]\n : ''}\n\n <foxy-internal-text-control infer=\"discount-name\" class=\"col-span-2\">\n </foxy-internal-text-control>\n\n ${this.form.discount_name ? this.__renderDiscountBuilder() : ''}\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"admin-email-template-uri\"\n class=${this.form.send_admin_email ? '' : 'col-span-2'}\n .selectedItem=${this.__adminEmailTemplateLoader?.data}\n @change=${(evt: CustomEvent) => {\n this.edit({\n send_admin_email: !!evt.detail,\n admin_email: evt.detail ? this.form.admin_email : '',\n });\n }}\n >\n </foxy-internal-async-combo-box-control>\n\n ${this.form.send_admin_email ? this.__renderAdminEmail() : ''}\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"customer-email-template-uri\"\n class=\"col-span-2\"\n .selectedItem=${this.__customerEmailTemplateLoader?.data}\n @change=${(evt: CustomEvent) => this.edit({ send_customer_email: !!evt.detail })}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"gift-recipient-email-template-uri\"\n class=\"col-span-2\"\n .selectedItem=${this.__giftRecipientEmailTemplateLoader?.data}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-async-resource-link-list-control\n foreign-key-for-uri=\"tax_uri\"\n foreign-key-for-id=\"tax_id\"\n own-key-for-uri=\"item_category_uri\"\n own-uri=${ifDefined(this.data?._links.self.href)}\n embed-key=\"fx:tax_item_categories\"\n options-href=${ifDefined(this.taxes ?? undefined)}\n links-href=${ifDefined(this.data?._links['fx:tax_item_categories'].href)}\n infer=\"taxes\"\n class=\"col-span-2\"\n limit=\"5\"\n item=\"foxy-tax-card\"\n >\n </foxy-internal-async-resource-link-list-control>\n </div>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.form.customer_email_template_uri || undefined)}\n id=${this.__customerEmailTemplateLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.form.gift_recipient_email_template_uri || undefined)}\n id=${this.__giftRecipientEmailTemplateLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.form.admin_email_template_uri || undefined)}\n id=${this.__adminEmailTemplateLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __giftRecipientEmailTemplateLoader() {\n const id = this.__giftRecipientEmailTemplateLoaderId;\n type Loader = NucleonElement<Resource<Rels.EmailTemplate>>;\n return this.renderRoot.querySelector<Loader>(`#${id}`);\n }\n\n private get __customerEmailTemplateLoader() {\n const id = this.__customerEmailTemplateLoaderId;\n type Loader = NucleonElement<Resource<Rels.EmailTemplate>>;\n return this.renderRoot.querySelector<Loader>(`#${id}`);\n }\n\n private get __adminEmailTemplateLoader() {\n const id = this.__adminEmailTemplateLoaderId;\n type Loader = NucleonElement<Resource<Rels.EmailTemplate>>;\n return this.renderRoot.querySelector<Loader>(`#${id}`);\n }\n\n private __renderHandlingFee() {\n return html`\n <foxy-internal-number-control\n infer=\"handling-fee\"\n class=${this.form.handling_fee_type === 'flat_percent' ? '' : 'col-span-2'}\n >\n </foxy-internal-number-control>\n `;\n }\n\n private __renderHandlingFeePercentage() {\n return html`\n <foxy-internal-number-control infer=\"handling-fee-percentage\"> </foxy-internal-number-control>\n `;\n }\n\n private __renderHandlingFeeMinimum() {\n return html`\n <foxy-internal-number-control infer=\"handling-fee-minimum\"> </foxy-internal-number-control>\n `;\n }\n\n private __renderDownloadDeliveryControls() {\n return html`\n <foxy-internal-integer-control infer=\"max-downloads-per-customer\">\n </foxy-internal-integer-control>\n\n <foxy-internal-integer-control infer=\"max-downloads-time-period\">\n </foxy-internal-integer-control>\n `;\n }\n\n private __renderFlatRateControls() {\n return html`\n <foxy-internal-number-control infer=\"shipping-flat-rate\"> </foxy-internal-number-control>\n\n <foxy-internal-select-control\n infer=\"shipping-flat-rate-type\"\n .options=${ItemCategoryForm.__shippingFlatRateTypeOptions}\n >\n </foxy-internal-select-control>\n `;\n }\n\n private __renderShippingControls() {\n return html`\n <foxy-internal-integer-control infer=\"default-weight\" class=\"col-span-2\">\n </foxy-internal-integer-control>\n\n <foxy-internal-select-control\n infer=\"default-weight-unit\"\n .options=${ItemCategoryForm.__defaultWeightUnitOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n infer=\"default-length-unit\"\n .options=${ItemCategoryForm.__defaultLengthUnitOptions}\n >\n </foxy-internal-select-control>\n `;\n }\n\n private __renderCustomsValue() {\n return html`\n <foxy-internal-number-control infer=\"customs-value\" class=\"col-span-2\">\n </foxy-internal-number-control>\n `;\n }\n\n private __renderDiscountBuilder() {\n const parsedValue: ParsedValue = {\n name: this.form.discount_name ?? '',\n type: this.form.discount_type || 'quantity_amount',\n details: this.form.discount_details ?? '',\n };\n\n return html`\n <foxy-discount-builder\n infer=\"discount-builder\"\n class=\"col-span-2\"\n .parsedValue=${parsedValue}\n @change=${(evt: CustomEvent) => {\n const builder = evt.currentTarget as DiscountBuilder;\n\n this.edit({\n discount_name: builder.parsedValue.name,\n discount_type: builder.parsedValue.type,\n discount_details: builder.parsedValue.details,\n });\n }}\n >\n </foxy-discount-builder>\n `;\n }\n\n private __renderAdminEmail() {\n return html`<foxy-internal-text-control infer=\"admin-email\"> </foxy-internal-text-control>`;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ItemCategoryForm.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemCategoryForm/ItemCategoryForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { DiscountBuilder } from '../DiscountBuilder/DiscountBuilder';\nimport type { Data } from './types';\n\nimport type { TemplateResult } from 'lit-html';\nimport type { ParsedValue } from '../DiscountBuilder/types';\nimport type { NucleonV8N } from '../NucleonElement/types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html, svg } from 'lit-html';\n\n/**\n * Form element for item categories (`fx:item_category`).\n *\n * @since 1.21.0\n * @element foxy-item-category-form\n */\nexport class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-category-form')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n emailTemplates: { attribute: 'email-templates' },\n taxes: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ code: v }) => !!v || 'code:v8n_required',\n ({ code: v }) => (v && v.length <= 50) || 'code:v8n_too_long',\n\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => (v && v.length <= 50) || 'name:v8n_too_long',\n\n ({ item_delivery_type: v }) => !!v || 'item-delivery-type:v8n_required',\n\n ({ item_delivery_type: t, max_downloads_per_customer: v }) => {\n return (\n (t === 'downloaded' ? typeof v === 'number' : true) ||\n 'max-downloads-per-customer:v8n_required'\n );\n },\n\n ({ max_downloads_per_customer: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-per-customer:v8n_negative';\n },\n\n ({ item_delivery_type: t, max_downloads_time_period: v }) => {\n return (\n (t === 'downloaded' ? typeof v === 'number' : true) ||\n 'max-downloads-time-period:v8n_required'\n );\n },\n\n ({ max_downloads_time_period: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-time-period:v8n_negative';\n },\n\n ({ customs_value: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'customs-value:v8n_negative';\n },\n\n ({ item_delivery_type: t, default_weight: v }) => {\n return (t === 'shipped' ? typeof v === 'number' : true) || 'default-weight:v8n_required';\n },\n\n ({ default_weight: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'default-weight:v8n_negative';\n },\n\n ({ item_delivery_type: t, default_weight_unit: v }) => {\n return (\n (t === 'shipped' ? typeof v === 'string' : true) || 'default-weight-unit:v8n_required'\n );\n },\n\n ({ item_delivery_type: t, default_length_unit: v }) => {\n return (\n (t === 'shipped' ? typeof v === 'string' : true) || 'default-length-unit:v8n_required'\n );\n },\n\n ({ item_delivery_type: t, shipping_flat_rate: v }) => {\n return (\n (t === 'flat_rate' ? typeof v === 'number' : true) || 'shipping-flat-rate:v8n_required'\n );\n },\n\n ({ shipping_flat_rate: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'shipping-flat-rate:v8n_negative';\n },\n\n ({ item_delivery_type: t, shipping_flat_rate_type: v }) => {\n return (\n (t === 'flat_rate' ? typeof v === 'string' : true) ||\n 'shipping-flat-rate-type:v8n_required'\n );\n },\n\n ({ handling_fee_type: v }) => !!v || 'handling-fee-type:v8n_required',\n\n ({ handling_fee_type: t, handling_fee_minimum: v }) => {\n return (\n (t === 'flat_percent_with_minimum' ? typeof v === 'number' : true) ||\n 'handling-fee-minimum:v8n_required'\n );\n },\n\n ({ handling_fee_minimum: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-minimum:v8n_negative';\n },\n\n ({ handling_fee_type: t, handling_fee_percentage: v }) => {\n return (\n (t === 'flat_percent_with_minimum' || t === 'flat_percent'\n ? typeof v === 'number'\n : true) || 'handling-fee-percentage:v8n_required'\n );\n },\n\n ({ handling_fee_percentage: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-percentage:v8n_negative';\n },\n ];\n }\n\n /** URL of the `fx:email_templates` collection for a store. */\n emailTemplates: string | null = null;\n\n /** URL of the `fx:taxes` collection for a store. */\n taxes: string | null = null;\n\n private static __shippingFlatRateTypeOptions = [\n { label: 'option_per_order', value: 'per_order' },\n { label: 'option_per_shipment', value: 'per_shipment' },\n ];\n\n private static __defaultWeightUnitOptions = [\n { label: 'option_lbs', value: 'LBS' },\n { label: 'option_kgs', value: 'KGS' },\n ];\n\n private static __defaultLengthUnitOptions = [\n { label: 'option_in', value: 'IN' },\n { label: 'option_cm', value: 'CM' },\n ];\n\n private static __itemDeliveryTypeOptions = [\n { label: 'option_notshipped', value: 'notshipped' },\n { label: 'option_downloaded', value: 'downloaded' },\n { label: 'option_flat_rate', value: 'flat_rate' },\n { label: 'option_shipped', value: 'shipped' },\n { label: 'option_pickup', value: 'pickup' },\n ];\n\n private static __handlingFeeTypeOptions = [\n { label: 'option_none', value: 'none' },\n { label: 'option_flat_per_order', value: 'flat_per_order' },\n { label: 'option_flat_per_item', value: 'flat_per_item' },\n { label: 'option_flat_percent', value: 'flat_percent' },\n { label: 'option_flat_percent_with_minimum', value: 'flat_percent_with_minimum' },\n ];\n\n get readonlySelector(): BooleanSelector {\n const alwaysMatch = [super.readonlySelector.toString()];\n if (this.data?.code === 'DEFAULT') alwaysMatch.unshift('code', 'name');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n if (!this.data) alwaysMatch.unshift('taxes');\n if (this.data?.code === 'DEFAULT') alwaysMatch.unshift('delete');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n const itemDeliveryType = this.form.item_delivery_type;\n const handlingFeeType = this.form.handling_fee_type ?? 'none';\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"general\">\n <foxy-internal-text-control infer=\"name\" layout=\"summary-item\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"code\" layout=\"summary-item\"></foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-resource-link-list-control\n foreign-key-for-uri=\"tax_uri\"\n foreign-key-for-id=\"tax_id\"\n own-key-for-uri=\"item_category_uri\"\n options-href=${ifDefined(this.taxes ?? undefined)}\n links-href=${ifDefined(this.data?._links['fx:tax_item_categories'].href)}\n embed-key=\"fx:tax_item_categories\"\n own-uri=${ifDefined(this.data?._links.self.href)}\n infer=\"taxes\"\n limit=\"5\"\n item=\"foxy-tax-card\"\n >\n </foxy-internal-async-resource-link-list-control>\n\n <foxy-internal-summary-control infer=\"delivery\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"item-delivery-type\"\n .options=${ItemCategoryForm.__itemDeliveryTypeOptions}\n >\n </foxy-internal-select-control>\n\n ${itemDeliveryType === 'downloaded'\n ? this.__renderDownloadDeliveryControls()\n : itemDeliveryType === 'flat_rate'\n ? [this.__renderFlatRateControls(), this.__renderCustomsValue()]\n : itemDeliveryType === 'shipped'\n ? [this.__renderShippingControls(), this.__renderCustomsValue()]\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"handling-and-discount\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"handling-fee-type\"\n .options=${ItemCategoryForm.__handlingFeeTypeOptions}\n >\n </foxy-internal-select-control>\n\n ${handlingFeeType === 'none'\n ? ''\n : html`\n ${this.__renderHandlingFee()}\n ${handlingFeeType.includes('percent') ? this.__renderHandlingFeePercentage() : ''}\n ${handlingFeeType === 'flat_percent_with_minimum'\n ? this.__renderHandlingFeeMinimum()\n : ''}\n `}\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"discount-name\">\n </foxy-internal-text-control>\n\n ${this.form.discount_name ? this.__renderDiscountBuilder() : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"emails\">\n <foxy-internal-resource-picker-control\n layout=\"summary-item\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"gift-recipient-email-template-uri\"\n item=\"foxy-email-template-card\"\n >\n </foxy-internal-resource-picker-control>\n\n <div\n class=\"flex items-start\"\n style=\"gap: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\" class=\"flex-shrink-0 text-primary\" style=\"width: 1.25em\"><path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z\" clip-rule=\"evenodd\"></path></svg>`}\n <p>\n <foxy-i18n infer=\"\" key=\"wip_message\"></foxy-i18n>\n <br />\n <a\n target=\"_blank\"\n class=\"mt-xs inline-block rounded font-medium text-primary transition-colors cursor-pointer hover-opacity-80 focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"https://admin.foxycart.com\"\n >\n admin.foxycart.com\n </a>\n </p>\n </div>\n </foxy-internal-summary-control>\n\n ${super.renderBody()}\n `;\n }\n\n private __renderHandlingFee() {\n return html`\n <foxy-internal-number-control layout=\"summary-item\" infer=\"handling-fee\" min=\"0\">\n </foxy-internal-number-control>\n `;\n }\n\n private __renderHandlingFeePercentage() {\n return html`\n <foxy-internal-number-control\n layout=\"summary-item\"\n suffix=\"%\"\n infer=\"handling-fee-percentage\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n `;\n }\n\n private __renderHandlingFeeMinimum() {\n return html`\n <foxy-internal-number-control layout=\"summary-item\" infer=\"handling-fee-minimum\" min=\"0\">\n </foxy-internal-number-control>\n `;\n }\n\n private __renderDownloadDeliveryControls() {\n return html`\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"max-downloads-per-customer\"\n step=\"1\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"max-downloads-time-period\"\n step=\"1\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n `;\n }\n\n private __renderFlatRateControls() {\n return html`\n <foxy-internal-number-control layout=\"summary-item\" infer=\"shipping-flat-rate\" min=\"0\">\n </foxy-internal-number-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"shipping-flat-rate-type\"\n .options=${ItemCategoryForm.__shippingFlatRateTypeOptions}\n >\n </foxy-internal-select-control>\n `;\n }\n\n private __renderShippingControls() {\n return html`\n <foxy-internal-number-control layout=\"summary-item\" infer=\"default-weight\" min=\"0\">\n </foxy-internal-number-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"default-weight-unit\"\n .options=${ItemCategoryForm.__defaultWeightUnitOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"default-length-unit\"\n .options=${ItemCategoryForm.__defaultLengthUnitOptions}\n >\n </foxy-internal-select-control>\n `;\n }\n\n private __renderCustomsValue() {\n return html`\n <foxy-internal-number-control layout=\"summary-item\" infer=\"customs-value\" min=\"0\">\n </foxy-internal-number-control>\n `;\n }\n\n private __renderDiscountBuilder() {\n const parsedValue: ParsedValue = {\n name: this.form.discount_name ?? '',\n type: this.form.discount_type || 'quantity_amount',\n details: this.form.discount_details ?? '',\n };\n\n return html`\n <foxy-discount-builder\n infer=\"discount-builder\"\n class=\"col-span-2\"\n .parsedValue=${parsedValue}\n @change=${(evt: CustomEvent) => {\n const builder = evt.currentTarget as DiscountBuilder;\n\n this.edit({\n discount_name: builder.parsedValue.name,\n discount_type: builder.parsedValue.type,\n discount_details: builder.parsedValue.details,\n });\n }}\n >\n </foxy-discount-builder>\n `;\n }\n}\n"]}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import '../../internal/InternalAsyncResourceLinkListControl/index';
|
|
2
|
-
import '../../internal/
|
|
3
|
-
import '../../internal/
|
|
2
|
+
import '../../internal/InternalResourcePickerControl/index';
|
|
3
|
+
import '../../internal/InternalSummaryControl/index';
|
|
4
4
|
import '../../internal/InternalNumberControl/index';
|
|
5
5
|
import '../../internal/InternalSelectControl/index';
|
|
6
6
|
import '../../internal/InternalTextControl/index';
|
|
7
7
|
import '../../internal/InternalForm/index';
|
|
8
|
+
import '../EmailTemplateCard/index';
|
|
8
9
|
import '../DiscountBuilder/index';
|
|
9
|
-
import '../NucleonElement/index';
|
|
10
10
|
import '../TaxCard/index';
|
|
11
|
+
import '../I18n/index';
|
|
11
12
|
import { ItemCategoryForm } from './ItemCategoryForm';
|
|
12
13
|
export { ItemCategoryForm };
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import "../../internal/InternalAsyncResourceLinkListControl/index.js";
|
|
2
|
-
import "../../internal/
|
|
3
|
-
import "../../internal/
|
|
2
|
+
import "../../internal/InternalResourcePickerControl/index.js";
|
|
3
|
+
import "../../internal/InternalSummaryControl/index.js";
|
|
4
4
|
import "../../internal/InternalNumberControl/index.js";
|
|
5
5
|
import "../../internal/InternalSelectControl/index.js";
|
|
6
6
|
import "../../internal/InternalTextControl/index.js";
|
|
7
7
|
import "../../internal/InternalForm/index.js";
|
|
8
|
+
import "../EmailTemplateCard/index.js";
|
|
8
9
|
import "../DiscountBuilder/index.js";
|
|
9
|
-
import "../NucleonElement/index.js";
|
|
10
10
|
import "../TaxCard/index.js";
|
|
11
|
+
import "../I18n/index.js";
|
|
11
12
|
import { ItemCategoryForm } from "./ItemCategoryForm.js";
|
|
12
13
|
customElements.define('foxy-item-category-form', ItemCategoryForm);
|
|
13
14
|
export { ItemCategoryForm };
|