@foxy.io/elements 1.29.0-beta.3 → 1.29.0-beta.5

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 (234) 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-admin-subscription-card.js +1 -1
  5. package/dist/cdn/foxy-admin-subscription-form.js +1 -1
  6. package/dist/cdn/foxy-api-browser.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  8. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  9. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-card.js +1 -1
  11. package/dist/cdn/foxy-attribute-form.js +1 -1
  12. package/dist/cdn/foxy-billing-address-card.js +1 -1
  13. package/dist/cdn/foxy-cancellation-form.js +1 -1
  14. package/dist/cdn/foxy-cart-card.js +1 -1
  15. package/dist/cdn/foxy-cart-form.js +2 -2
  16. package/dist/cdn/foxy-client-card.js +1 -1
  17. package/dist/cdn/foxy-client-form.js +1 -1
  18. package/dist/cdn/foxy-collection-page.js +1 -1
  19. package/dist/cdn/foxy-collection-pages.js +1 -1
  20. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  21. package/dist/cdn/foxy-coupon-card.js +1 -1
  22. package/dist/cdn/foxy-coupon-code-card.js +1 -1
  23. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  24. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  25. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  26. package/dist/cdn/foxy-coupon-form.js +1 -1
  27. package/dist/cdn/foxy-custom-field-card.js +1 -1
  28. package/dist/cdn/foxy-custom-field-form.js +1 -1
  29. package/dist/cdn/foxy-customer-card.js +1 -1
  30. package/dist/cdn/foxy-customer-form.js +1 -1
  31. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  32. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  33. package/dist/cdn/foxy-customer-portal.js +1 -1
  34. package/dist/cdn/foxy-customer.js +1 -1
  35. package/dist/cdn/foxy-customers-table.js +1 -1
  36. package/dist/cdn/foxy-discount-builder.js +1 -1
  37. package/dist/cdn/foxy-discount-card.js +1 -1
  38. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  39. package/dist/cdn/foxy-donation.js +1 -1
  40. package/dist/cdn/foxy-downloadable-card.js +1 -1
  41. package/dist/cdn/foxy-downloadable-form.js +5 -5
  42. package/dist/cdn/foxy-email-template-card.js +1 -1
  43. package/dist/cdn/foxy-email-template-form.js +1 -1
  44. package/dist/cdn/foxy-error-entry-card.js +1 -1
  45. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  46. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  47. package/dist/cdn/foxy-form-dialog.js +1 -1
  48. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  49. package/dist/cdn/foxy-gift-card-card.js +1 -1
  50. package/dist/cdn/foxy-gift-card-code-card.js +1 -1
  51. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  52. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  53. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  54. package/dist/cdn/foxy-gift-card-form.js +1 -1
  55. package/dist/cdn/foxy-i18n-editor.js +1 -1
  56. package/dist/cdn/foxy-i18n.js +1 -1
  57. package/dist/cdn/foxy-integration-card.js +1 -1
  58. package/dist/cdn/foxy-integration-form.js +1 -1
  59. package/dist/cdn/foxy-item-card.js +1 -1
  60. package/dist/cdn/foxy-item-category-card.js +1 -1
  61. package/dist/cdn/foxy-item-category-form.js +1 -1
  62. package/dist/cdn/foxy-item-form.js +3 -3
  63. package/dist/cdn/foxy-item-option-card.js +1 -1
  64. package/dist/cdn/foxy-item-option-form.js +1 -1
  65. package/dist/cdn/foxy-items-form.js +1 -1
  66. package/dist/cdn/foxy-native-integration-card.js +1 -1
  67. package/dist/cdn/foxy-native-integration-form.js +1 -1
  68. package/dist/cdn/foxy-pagination.js +1 -1
  69. package/dist/cdn/foxy-passkey-card.js +1 -1
  70. package/dist/cdn/foxy-passkey-form.js +1 -1
  71. package/dist/cdn/foxy-payment-card-embed.js +1 -1
  72. package/dist/cdn/foxy-payment-card.js +1 -1
  73. package/dist/cdn/foxy-payment-method-card.js +1 -1
  74. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  75. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  76. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  77. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  78. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  80. package/dist/cdn/foxy-query-builder.js +1 -1
  81. package/dist/cdn/foxy-report-form.js +2 -2
  82. package/dist/cdn/foxy-reports-table.js +1 -1
  83. package/dist/cdn/foxy-shipment-card.js +1 -1
  84. package/dist/cdn/foxy-shipping-container-card.js +1 -1
  85. package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
  86. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  87. package/dist/cdn/foxy-shipping-service-card.js +1 -1
  88. package/dist/cdn/foxy-sign-in-form.js +1 -1
  89. package/dist/cdn/foxy-spinner.js +2 -2
  90. package/dist/cdn/foxy-store-card.js +1 -1
  91. package/dist/cdn/foxy-store-form.js +1 -1
  92. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  93. package/dist/cdn/foxy-subscription-card.js +1 -1
  94. package/dist/cdn/foxy-subscription-form.js +1 -1
  95. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  96. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  97. package/dist/cdn/foxy-table.js +1 -1
  98. package/dist/cdn/foxy-tax-card.js +1 -1
  99. package/dist/cdn/foxy-tax-form.js +1 -1
  100. package/dist/cdn/foxy-template-config-form.js +1 -1
  101. package/dist/cdn/foxy-template-form.js +1 -1
  102. package/dist/cdn/foxy-template-set-card.js +1 -1
  103. package/dist/cdn/foxy-template-set-form.js +1 -1
  104. package/dist/cdn/foxy-transaction-card.js +1 -1
  105. package/dist/cdn/foxy-transaction.js +1 -1
  106. package/dist/cdn/foxy-transactions-table.js +1 -1
  107. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  108. package/dist/cdn/foxy-user-card.js +1 -1
  109. package/dist/cdn/foxy-user-form.js +1 -1
  110. package/dist/cdn/foxy-users-table.js +1 -1
  111. package/dist/cdn/foxy-webhook-card.js +1 -1
  112. package/dist/cdn/foxy-webhook-form.js +1 -1
  113. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  114. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  115. package/dist/cdn/{shared-ffd3690b.js → shared-0059cfec.js} +4 -4
  116. package/dist/cdn/{shared-a6273e4a.js → shared-01b35bfe.js} +1 -1
  117. package/dist/cdn/{shared-797ba64a.js → shared-04327f82.js} +1 -1
  118. package/dist/cdn/{shared-7fd9a30f.js → shared-0ba38e56.js} +1 -1
  119. package/dist/cdn/{shared-b731dfc5.js → shared-1287115d.js} +1 -1
  120. package/dist/cdn/shared-13c54ae2.js +1 -0
  121. package/dist/cdn/{shared-e5d37737.js → shared-1c166d01.js} +1 -1
  122. package/dist/cdn/shared-241b34e5.js +1 -0
  123. package/dist/cdn/{shared-a036e345.js → shared-31276bc2.js} +1 -1
  124. package/dist/cdn/{shared-bdd4fbbb.js → shared-337f11e4.js} +1 -1
  125. package/dist/cdn/{shared-b6814728.js → shared-383f55a5.js} +1 -1
  126. package/dist/cdn/{shared-f22f22ae.js → shared-3cd5a0f0.js} +1 -1
  127. package/dist/cdn/{shared-f8723f3f.js → shared-437a77f7.js} +1 -1
  128. package/dist/cdn/{shared-df00a537.js → shared-45512693.js} +1 -1
  129. package/dist/cdn/{shared-cbb0e610.js → shared-494a9f3d.js} +1 -1
  130. package/dist/cdn/{shared-f1d2b5bb.js → shared-4f6e3162.js} +1 -1
  131. package/dist/cdn/shared-525fa58a.js +1 -0
  132. package/dist/cdn/{shared-e6e84ff5.js → shared-52c30c2b.js} +1 -1
  133. package/dist/cdn/{shared-3fa791ca.js → shared-5ab6d05e.js} +1 -1
  134. package/dist/cdn/{shared-10b5e78f.js → shared-5b53b424.js} +1 -1
  135. package/dist/cdn/{shared-6a4e81ad.js → shared-5e463387.js} +1 -1
  136. package/dist/cdn/{shared-4993a79d.js → shared-64aa8234.js} +1 -1
  137. package/dist/cdn/{shared-d393bcd8.js → shared-64faf409.js} +1 -1
  138. package/dist/cdn/{shared-f5366dda.js → shared-66c5e679.js} +1 -1
  139. package/dist/cdn/{shared-2099544a.js → shared-72d815f5.js} +2 -2
  140. package/dist/cdn/{shared-876a4341.js → shared-735ba10d.js} +1 -1
  141. package/dist/cdn/{shared-e2a61f69.js → shared-7e2a1984.js} +1 -1
  142. package/dist/cdn/{shared-12ac8cc6.js → shared-843229d8.js} +1 -1
  143. package/dist/cdn/{shared-72c61f43.js → shared-86012240.js} +1 -1
  144. package/dist/cdn/{shared-7ce91c80.js → shared-864584b7.js} +1 -1
  145. package/dist/cdn/{shared-021c7a22.js → shared-8c77078c.js} +1 -1
  146. package/dist/cdn/{shared-fe77f6f6.js → shared-8e81d32d.js} +1 -1
  147. package/dist/cdn/{shared-075796e2.js → shared-91445b2b.js} +1 -1
  148. package/dist/cdn/{shared-2d723710.js → shared-928400e3.js} +1 -1
  149. package/dist/cdn/{shared-acdcae7e.js → shared-982ea9e1.js} +1 -1
  150. package/dist/cdn/shared-9a4ccbbb.js +1 -0
  151. package/dist/cdn/{shared-cc79152c.js → shared-a18c7822.js} +1 -1
  152. package/dist/cdn/{shared-644ee296.js → shared-aa9765b6.js} +1 -1
  153. package/dist/cdn/{shared-fb56178f.js → shared-aba112fe.js} +1 -1
  154. package/dist/cdn/{shared-2a71795e.js → shared-ad932522.js} +1 -1
  155. package/dist/cdn/{shared-fa9e5c7f.js → shared-b53c58a6.js} +1 -1
  156. package/dist/cdn/{shared-77c4acdd.js → shared-b938ba79.js} +1 -1
  157. package/dist/cdn/{shared-b98b8d02.js → shared-ba9431a5.js} +1 -1
  158. package/dist/cdn/{shared-ff63a551.js → shared-bbf4189c.js} +1 -1
  159. package/dist/cdn/shared-bd0a9424.js +1 -0
  160. package/dist/cdn/{shared-9a90a24e.js → shared-bdb350d5.js} +1 -1
  161. package/dist/cdn/{shared-10325cda.js → shared-c0a292f9.js} +1 -1
  162. package/dist/cdn/{shared-5c05ac06.js → shared-c0ce5ed0.js} +1 -1
  163. package/dist/cdn/{shared-abea5e34.js → shared-c1770155.js} +1 -1
  164. package/dist/cdn/{shared-77051754.js → shared-c2296e25.js} +1 -1
  165. package/dist/cdn/{shared-8f7a31e0.js → shared-c308b7e0.js} +2 -2
  166. package/dist/cdn/shared-c7055ee3.js +1 -0
  167. package/dist/cdn/{shared-634b670e.js → shared-c92aa1b4.js} +1 -1
  168. package/dist/cdn/{shared-339bbd50.js → shared-ca437731.js} +1 -1
  169. package/dist/cdn/{shared-1cf1e1a4.js → shared-cdf1e214.js} +1 -1
  170. package/dist/cdn/{shared-d464d078.js → shared-d692fde9.js} +1 -1
  171. package/dist/cdn/{shared-39a33102.js → shared-d70c024a.js} +1 -1
  172. package/dist/cdn/{shared-7026fb08.js → shared-e891437e.js} +1 -1
  173. package/dist/cdn/{shared-81d3a9ae.js → shared-e9bf9d3d.js} +1 -1
  174. package/dist/cdn/{shared-7b8ad9c1.js → shared-f02d1d28.js} +1 -1
  175. package/dist/cdn/{shared-30221a16.js → shared-f0cbc9b6.js} +1 -1
  176. package/dist/cdn/{shared-d6010c96.js → shared-f4bf0a11.js} +1 -1
  177. package/dist/cdn/{shared-558bc894.js → shared-f7a3f4c7.js} +1 -1
  178. package/dist/cdn/{shared-2fc671cd.js → shared-f9e2e408.js} +1 -1
  179. package/dist/cdn/{shared-303b428e.js → shared-fbcfc48c.js} +1 -1
  180. package/dist/cdn/{shared-8c1df97c.js → shared-fcb58504.js} +1 -1
  181. package/dist/cdn/{shared-72f41a65.js → shared-fd17c575.js} +1 -1
  182. package/dist/cdn/{shared-3e03c988.js → shared-fe167efc.js} +1 -1
  183. package/dist/cdn/{shared-a159ccff.js → shared-ff73b5b8.js} +1 -1
  184. package/dist/cdn/shared-ffbcfbc5.js +1 -0
  185. package/dist/cdn/translations/client-form/en.json +1 -0
  186. package/dist/cdn/translations/item-category-form/en.json +181 -148
  187. package/dist/cdn/translations/native-integration-form/en.json +0 -6
  188. package/dist/cdn/translations/store-form/en.json +3 -4
  189. package/dist/cdn/translations/webhook-form/en.json +3 -11
  190. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +1 -1
  191. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -1
  192. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +3 -0
  193. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +23 -8
  194. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
  195. package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.d.ts +2 -4
  196. package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js.map +1 -1
  197. package/dist/elements/internal/InternalPasswordControl/generateRandomPassword.d.ts +4 -2
  198. package/dist/elements/internal/InternalPasswordControl/generateRandomPassword.js +6 -5
  199. package/dist/elements/internal/InternalPasswordControl/generateRandomPassword.js.map +1 -1
  200. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +2 -0
  201. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +11 -1
  202. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
  203. package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +2 -0
  204. package/dist/elements/internal/InternalTextControl/InternalTextControl.js +13 -2
  205. package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
  206. package/dist/elements/public/ClientForm/ClientForm.d.ts +1 -0
  207. package/dist/elements/public/ClientForm/ClientForm.js +10 -0
  208. package/dist/elements/public/ClientForm/ClientForm.js.map +1 -1
  209. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.d.ts +1 -7
  210. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +109 -135
  211. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -1
  212. package/dist/elements/public/ItemCategoryForm/index.d.ts +4 -3
  213. package/dist/elements/public/ItemCategoryForm/index.js +4 -3
  214. package/dist/elements/public/ItemCategoryForm/index.js.map +1 -1
  215. package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.d.ts +1 -1
  216. package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js +18 -25
  217. package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js.map +1 -1
  218. package/dist/elements/public/StoreForm/StoreForm.js +1 -1
  219. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  220. package/dist/elements/public/WebhookForm/WebhookForm.d.ts +2 -1
  221. package/dist/elements/public/WebhookForm/WebhookForm.js +21 -17
  222. package/dist/elements/public/WebhookForm/WebhookForm.js.map +1 -1
  223. package/dist/elements/public/WebhookForm/index.d.ts +1 -0
  224. package/dist/elements/public/WebhookForm/index.js +1 -0
  225. package/dist/elements/public/WebhookForm/index.js.map +1 -1
  226. package/dist/mixins/themeable.js +0 -4
  227. package/dist/mixins/themeable.js.map +1 -1
  228. package/package.json +1 -1
  229. package/dist/cdn/shared-18cb3cfc.js +0 -1
  230. package/dist/cdn/shared-4c2d43e6.js +0 -1
  231. package/dist/cdn/shared-588c6b15.js +0 -1
  232. package/dist/cdn/shared-61f4e91a.js +0 -1
  233. package/dist/cdn/shared-666bdabd.js +0 -1
  234. package/dist/cdn/shared-b9138e9f.js +0 -1
@@ -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
- const alwaysHidden = [super.hiddenSelector.toString()];
99
+ var _a;
100
+ const alwaysMatch = [super.hiddenSelector.toString()];
97
101
  if (!this.data)
98
- alwaysHidden.unshift('taxes');
99
- return new BooleanSelector(alwaysHidden.join(' ').trim());
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, _f, _g, _h, _j, _k;
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
- <div class="grid grid-cols-2 gap-m">
109
- <foxy-internal-text-control infer="name" class="col-span-2"></foxy-internal-text-control>
110
- <foxy-internal-text-control infer="code" class="col-span-2"></foxy-internal-text-control>
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-select-control
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
- <foxy-internal-async-combo-box-control
150
- item-label-path="description"
151
- item-value-path="_links.self.href"
152
- first=${ifDefined((_b = this.emailTemplates) !== null && _b !== void 0 ? _b : undefined)}
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
- class="col-span-2"
184
- .selectedItem=${(_g = this.__giftRecipientEmailTemplateLoader) === null || _g === void 0 ? void 0 : _g.data}
179
+ item="foxy-email-template-card"
185
180
  >
186
- </foxy-internal-async-combo-box-control>
181
+ </foxy-internal-resource-picker-control>
187
182
 
188
- <foxy-internal-async-resource-link-list-control
189
- foreign-key-for-uri="tax_uri"
190
- foreign-key-for-id="tax_id"
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
- </foxy-internal-async-resource-link-list-control>
202
- </div>
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 infer="handling-fee-percentage"> </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"> </foxy-internal-number-control>
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-integer-control infer="max-downloads-per-customer">
268
- </foxy-internal-integer-control>
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-integer-control infer="max-downloads-time-period">
271
- </foxy-internal-integer-control>
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"> </foxy-internal-number-control>
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-integer-control infer="default-weight" class="col-span-2">
288
- </foxy-internal-integer-control>
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" class="col-span-2">
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/InternalAsyncComboBoxControl/index';
3
- import '../../internal/InternalIntegerControl/index';
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/InternalAsyncComboBoxControl/index.js";
3
- import "../../internal/InternalIntegerControl/index.js";
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 };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemCategoryForm/index.ts"],"names":[],"mappings":"AAAA,sEAAmE;AACnE,8DAA2D;AAC3D,wDAAqD;AACrD,uDAAoD;AACpD,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,qCAAkC;AAClC,oCAAiC;AACjC,6BAA0B;AAE1B,OAAO,EAAE,gBAAgB,EAAE,8BAA2B;AAEtD,cAAc,CAAC,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,CAAC","sourcesContent":["import '../../internal/InternalAsyncResourceLinkListControl/index';\nimport '../../internal/InternalAsyncComboBoxControl/index';\nimport '../../internal/InternalIntegerControl/index';\nimport '../../internal/InternalNumberControl/index';\nimport '../../internal/InternalSelectControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../DiscountBuilder/index';\nimport '../NucleonElement/index';\nimport '../TaxCard/index';\n\nimport { ItemCategoryForm } from './ItemCategoryForm';\n\ncustomElements.define('foxy-item-category-form', ItemCategoryForm);\n\nexport { ItemCategoryForm };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemCategoryForm/index.ts"],"names":[],"mappings":"AAAA,sEAAmE;AACnE,+DAA4D;AAC5D,wDAAqD;AACrD,uDAAoD;AACpD,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,uCAAoC;AACpC,qCAAkC;AAClC,6BAA0B;AAC1B,0BAAuB;AAEvB,OAAO,EAAE,gBAAgB,EAAE,8BAA2B;AAEtD,cAAc,CAAC,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,CAAC","sourcesContent":["import '../../internal/InternalAsyncResourceLinkListControl/index';\nimport '../../internal/InternalResourcePickerControl/index';\nimport '../../internal/InternalSummaryControl/index';\nimport '../../internal/InternalNumberControl/index';\nimport '../../internal/InternalSelectControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../EmailTemplateCard/index';\nimport '../DiscountBuilder/index';\nimport '../TaxCard/index';\nimport '../I18n/index';\n\nimport { ItemCategoryForm } from './ItemCategoryForm';\n\ncustomElements.define('foxy-item-category-form', ItemCategoryForm);\n\nexport { ItemCategoryForm };\n"]}
@@ -1,6 +1,6 @@
1
- import type { Data } from './types';
2
1
  import type { TemplateResult } from 'lit-html';
3
2
  import type { NucleonV8N } from '../NucleonElement/types';
3
+ import type { Data } from './types';
4
4
  import { BooleanSelector } from '@foxy.io/sdk/core';
5
5
  import { InternalForm } from '../../internal/InternalForm/InternalForm';
6
6
  declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
@@ -1,7 +1,7 @@
1
1
  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
- import { html } from 'lit-html';
4
+ import { html, svg } from 'lit-html';
5
5
  import * as defaults from "./defaults.js";
6
6
  import memoize from 'lodash-es/memoize';
7
7
  const NS = 'native-integration-form';
@@ -494,23 +494,23 @@ export class NativeIntegrationForm extends Base {
494
494
  __renderWebhookConfig() {
495
495
  var _a, _b;
496
496
  return html `
497
- <p
498
- style="padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)"
499
- class="rounded bg-error-10 text-error font-medium"
500
- >
501
- <foxy-i18n infer="webhook-warning" key="warning_text"></foxy-i18n>
502
- <br />
503
- <br />
504
- <a
505
- target="_blank"
506
- class="text-body rounded hover-underline hover-cursor-pointer focus-outline-none focus-ring-2 focus-ring-error-50"
507
- lang="en"
508
- rel="noopener"
509
- href="https://www.foxy.io/blog/new-feature-json-webhook/"
510
- >
511
- <foxy-i18n infer="webhook-warning" key="link_text"></foxy-i18n>
512
- </a>
513
- </p>
497
+ <div
498
+ class="flex items-start border border-error rounded"
499
+ style="padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px); gap: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)"
500
+ >
501
+ ${svg `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" class="flex-shrink-0 text-error" 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>`}
502
+ <p>
503
+ <foxy-i18n infer="webhook-warning" key="warning_text"></foxy-i18n>
504
+ <br />
505
+ <a
506
+ target="_blank"
507
+ class="mt-xs inline-block rounded font-medium text-error transition-colors cursor-pointer hover-opacity-80 focus-outline-none focus-ring-2 focus-ring-primary-50"
508
+ href="https://admin.foxycart.com"
509
+ >
510
+ <foxy-i18n infer="webhook-warning" key="link_text"></foxy-i18n>
511
+ </a>
512
+ </p>
513
+ </div>
514
514
 
515
515
  ${((_a = this.__config) === null || _a === void 0 ? void 0 : _a.service) === 'json'
516
516
  ? this.__renderWebhookJsonConfig()
@@ -643,13 +643,6 @@ export class NativeIntegrationForm extends Base {
643
643
  >
644
644
  </foxy-internal-text-control>
645
645
  </div>
646
-
647
- <foxy-internal-password-control
648
- infer="webflow-auth"
649
- .getValue=${this.__createConfigGetterFor('auth')}
650
- .setValue=${this.__createConfigSetterFor('auth')}
651
- >
652
- </foxy-internal-password-control>
653
646
  `;
654
647
  }
655
648
  __renderZapierConfig() {