@foxy.io/elements 1.32.0-beta.6 → 1.32.0

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 (244) 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 +1 -1
  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 +1 -1
  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 +3 -3
  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 +1 -1
  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-nucleon-element.js +1 -1
  69. package/dist/cdn/foxy-pagination.js +1 -1
  70. package/dist/cdn/foxy-passkey-card.js +1 -1
  71. package/dist/cdn/foxy-passkey-form.js +1 -1
  72. package/dist/cdn/foxy-payment-card-embed.js +1 -1
  73. package/dist/cdn/foxy-payment-card.js +1 -1
  74. package/dist/cdn/foxy-payment-method-card.js +1 -1
  75. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  76. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  77. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  78. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  80. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  81. package/dist/cdn/foxy-query-builder.js +1 -1
  82. package/dist/cdn/foxy-report-form.js +1 -1
  83. package/dist/cdn/foxy-reports-table.js +5 -5
  84. package/dist/cdn/foxy-shipment-card.js +1 -1
  85. package/dist/cdn/foxy-shipping-container-card.js +1 -1
  86. package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
  87. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  88. package/dist/cdn/foxy-shipping-service-card.js +1 -1
  89. package/dist/cdn/foxy-sign-in-form.js +1 -1
  90. package/dist/cdn/foxy-spinner.js +2 -2
  91. package/dist/cdn/foxy-store-card.js +1 -1
  92. package/dist/cdn/foxy-store-form.js +1 -1
  93. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  94. package/dist/cdn/foxy-subscription-card.js +1 -1
  95. package/dist/cdn/foxy-subscription-form.js +1 -1
  96. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  97. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  98. package/dist/cdn/foxy-table.js +1 -1
  99. package/dist/cdn/foxy-tax-card.js +1 -1
  100. package/dist/cdn/foxy-tax-form.js +1 -1
  101. package/dist/cdn/foxy-template-config-form.js +1 -1
  102. package/dist/cdn/foxy-template-form.js +1 -1
  103. package/dist/cdn/foxy-template-set-card.js +1 -1
  104. package/dist/cdn/foxy-template-set-form.js +1 -1
  105. package/dist/cdn/foxy-transaction-card.js +1 -1
  106. package/dist/cdn/foxy-transaction.js +1 -1
  107. package/dist/cdn/foxy-transactions-table.js +7 -7
  108. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  109. package/dist/cdn/foxy-user-card.js +1 -1
  110. package/dist/cdn/foxy-user-form.js +1 -1
  111. package/dist/cdn/foxy-user-invitation-card.js +1 -1
  112. package/dist/cdn/foxy-user-invitation-form.js +1 -1
  113. package/dist/cdn/foxy-users-table.js +1 -1
  114. package/dist/cdn/foxy-webhook-card.js +1 -1
  115. package/dist/cdn/foxy-webhook-form.js +1 -1
  116. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  117. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  118. package/dist/cdn/{shared-007d5b96.js → shared-015da8ca.js} +1 -1
  119. package/dist/cdn/{shared-d74032c0.js → shared-01cbaba9.js} +1 -1
  120. package/dist/cdn/{shared-c221c015.js → shared-08be5c32.js} +1 -1
  121. package/dist/cdn/{shared-b147e6ed.js → shared-0b4a62e9.js} +1 -1
  122. package/dist/cdn/{shared-cafda07e.js → shared-0d43de87.js} +1 -1
  123. package/dist/cdn/shared-0e83a899.js +1 -0
  124. package/dist/cdn/{shared-528bd90f.js → shared-0f4472d2.js} +1 -1
  125. package/dist/cdn/{shared-f1134145.js → shared-1024aa20.js} +1 -1
  126. package/dist/cdn/{shared-f7736718.js → shared-1220bf7d.js} +1 -1
  127. package/dist/cdn/{shared-e4403e14.js → shared-14bf37ae.js} +1 -1
  128. package/dist/cdn/{shared-361d84ab.js → shared-2dd497e5.js} +1 -1
  129. package/dist/cdn/{shared-c8a3f983.js → shared-30cc688f.js} +1 -1
  130. package/dist/cdn/{shared-1eb5be1b.js → shared-317cb721.js} +1 -1
  131. package/dist/cdn/{shared-0037d294.js → shared-3493737e.js} +1 -1
  132. package/dist/cdn/{shared-fad00e47.js → shared-359793d4.js} +1 -1
  133. package/dist/cdn/{shared-175a31f9.js → shared-377e3168.js} +1 -1
  134. package/dist/cdn/{shared-f21f2fec.js → shared-3a7db771.js} +1 -1
  135. package/dist/cdn/{shared-e26244f2.js → shared-3bfbd5af.js} +1 -1
  136. package/dist/cdn/{shared-8b855a8b.js → shared-3ca58fb9.js} +1 -1
  137. package/dist/cdn/{shared-b4cbb9b3.js → shared-455856d9.js} +1 -1
  138. package/dist/cdn/{shared-7739b962.js → shared-4b4c8ccf.js} +1 -1
  139. package/dist/cdn/{shared-bdc287af.js → shared-4b52b410.js} +1 -1
  140. package/dist/cdn/{shared-a676e474.js → shared-4beb6fef.js} +1 -1
  141. package/dist/cdn/{shared-71dc8e26.js → shared-4f852fd5.js} +1 -1
  142. package/dist/cdn/{shared-1f2fee09.js → shared-51efaf53.js} +1 -1
  143. package/dist/cdn/{shared-01cf9d37.js → shared-53443b27.js} +1 -1
  144. package/dist/cdn/{shared-e90ebfee.js → shared-5452fdfe.js} +1 -1
  145. package/dist/cdn/shared-54d7dfdb.js +1 -0
  146. package/dist/cdn/{shared-0c9e6467.js → shared-57164953.js} +1 -1
  147. package/dist/cdn/{shared-a2d242ac.js → shared-68f01c8d.js} +1 -1
  148. package/dist/cdn/{shared-146ec178.js → shared-6a8ccf0c.js} +1 -1
  149. package/dist/cdn/{shared-4552d25b.js → shared-6be8e65e.js} +1 -1
  150. package/dist/cdn/{shared-d9383fb0.js → shared-6d7c1a2f.js} +2 -2
  151. package/dist/cdn/{shared-3ba2b804.js → shared-7448fda4.js} +1 -1
  152. package/dist/cdn/{shared-2674fb94.js → shared-78bfc71e.js} +1 -1
  153. package/dist/cdn/{shared-ae1528b6.js → shared-81bf4ca2.js} +1 -1
  154. package/dist/cdn/{shared-17770c6b.js → shared-838bd79c.js} +1 -1
  155. package/dist/cdn/{shared-030dd9a9.js → shared-91321de3.js} +1 -1
  156. package/dist/cdn/{shared-aed33031.js → shared-91500a0f.js} +1 -1
  157. package/dist/cdn/{shared-3c4ceb0a.js → shared-935adc3b.js} +1 -1
  158. package/dist/cdn/{shared-a28e0b27.js → shared-97627d50.js} +1 -1
  159. package/dist/cdn/{shared-c51ef0d1.js → shared-9b1b4c9d.js} +1 -1
  160. package/dist/cdn/{shared-c654d8d7.js → shared-a84befbf.js} +1 -1
  161. package/dist/cdn/{shared-a5bfa671.js → shared-ad3eea80.js} +1 -1
  162. package/dist/cdn/{shared-31849175.js → shared-b14bf56d.js} +1 -1
  163. package/dist/cdn/{shared-b6ce3673.js → shared-b2bc3a0e.js} +1 -1
  164. package/dist/cdn/{shared-096b5cb0.js → shared-b384e653.js} +1 -1
  165. package/dist/cdn/{shared-a747cbc1.js → shared-b3d36746.js} +2 -2
  166. package/dist/cdn/{shared-7ce50e85.js → shared-b7dc7e64.js} +5 -5
  167. package/dist/cdn/{shared-a294328f.js → shared-bb9f0d8b.js} +1 -1
  168. package/dist/cdn/{shared-5d5c784f.js → shared-bbc53ef2.js} +1 -1
  169. package/dist/cdn/{shared-de7d4f69.js → shared-bdcf2d35.js} +1 -1
  170. package/dist/cdn/{shared-c50af5c9.js → shared-c24bc616.js} +1 -1
  171. package/dist/cdn/{shared-f35c09f5.js → shared-c671d5c7.js} +1 -1
  172. package/dist/cdn/{shared-9d57783e.js → shared-c86db2c0.js} +1 -1
  173. package/dist/cdn/{shared-7788b1f9.js → shared-cacd4407.js} +1 -1
  174. package/dist/cdn/{shared-2d304645.js → shared-ceafb6c3.js} +1 -1
  175. package/dist/cdn/{shared-8bd31970.js → shared-d0e0f8a1.js} +1 -1
  176. package/dist/cdn/{shared-7a6b68f2.js → shared-d6985b5f.js} +1 -1
  177. package/dist/cdn/{shared-880c4463.js → shared-dbe8536b.js} +1 -1
  178. package/dist/cdn/{shared-a6debf9c.js → shared-e0c93cfa.js} +1 -1
  179. package/dist/cdn/{shared-1b7449f8.js → shared-e1dea184.js} +1 -1
  180. package/dist/cdn/{shared-22d9d709.js → shared-e231722c.js} +1 -1
  181. package/dist/cdn/{shared-f75e4557.js → shared-e39760d5.js} +1 -1
  182. package/dist/cdn/{shared-2ad18636.js → shared-e8b8c8d0.js} +1 -1
  183. package/dist/cdn/{shared-8c1ea9bc.js → shared-eecba1f5.js} +1 -1
  184. package/dist/cdn/{shared-1e14e4ce.js → shared-f09454f9.js} +1 -1
  185. package/dist/cdn/{shared-14dff823.js → shared-fb18400f.js} +1 -1
  186. package/dist/cdn/{shared-30dc4148.js → shared-fd1adc35.js} +1 -1
  187. package/dist/cdn/translations/admin-subscription-form/en.json +28 -20
  188. package/dist/cdn/translations/cart-form/en.json +28 -20
  189. package/dist/cdn/translations/coupon-code-form/en.json +11 -7
  190. package/dist/cdn/translations/coupon-form/en.json +11 -7
  191. package/dist/cdn/translations/gift-card-code-form/en.json +26 -21
  192. package/dist/cdn/translations/gift-card-form/en.json +234 -222
  193. package/dist/cdn/translations/item-form/en.json +28 -20
  194. package/dist/cdn/translations/item-option-form/en.json +28 -20
  195. package/dist/cdn/translations/transaction/en.json +28 -20
  196. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +12 -16
  197. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  198. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js +4 -13
  199. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js.map +1 -1
  200. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js +4 -1
  201. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js.map +1 -1
  202. package/dist/elements/public/CouponCodeForm/index.d.ts +1 -0
  203. package/dist/elements/public/CouponCodeForm/index.js +1 -0
  204. package/dist/elements/public/CouponCodeForm/index.js.map +1 -1
  205. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +1 -0
  206. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +30 -9
  207. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  208. package/dist/elements/public/GiftCardCodeForm/index.d.ts +1 -1
  209. package/dist/elements/public/GiftCardCodeForm/index.js +1 -1
  210. package/dist/elements/public/GiftCardCodeForm/index.js.map +1 -1
  211. package/dist/elements/public/GiftCardForm/GiftCardForm.d.ts +6 -0
  212. package/dist/elements/public/GiftCardForm/GiftCardForm.js +100 -14
  213. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  214. package/dist/elements/public/GiftCardForm/index.d.ts +3 -1
  215. package/dist/elements/public/GiftCardForm/index.js +3 -1
  216. package/dist/elements/public/GiftCardForm/index.js.map +1 -1
  217. package/dist/elements/public/ItemOptionForm/ItemOptionForm.js +12 -6
  218. package/dist/elements/public/ItemOptionForm/ItemOptionForm.js.map +1 -1
  219. package/dist/elements/public/ItemOptionForm/index.d.ts +1 -0
  220. package/dist/elements/public/ItemOptionForm/index.js +1 -0
  221. package/dist/elements/public/ItemOptionForm/index.js.map +1 -1
  222. package/dist/elements/public/NucleonElement/NucleonElement.js +1 -1
  223. package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
  224. package/dist/elements/public/Transaction/Transaction.js +19 -24
  225. package/dist/elements/public/Transaction/Transaction.js.map +1 -1
  226. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js +3 -5
  227. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js.map +1 -1
  228. package/dist/mixins/themeable.js +0 -22
  229. package/dist/mixins/themeable.js.map +1 -1
  230. package/package.json +1 -1
  231. package/dist/cdn/shared-55006e10.js +0 -1
  232. package/dist/cdn/shared-68a615fa.js +0 -1
  233. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.d.ts +0 -5
  234. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js +0 -34
  235. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js.map +0 -1
  236. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.d.ts +0 -5
  237. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js +0 -7
  238. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js.map +0 -1
  239. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.d.ts +0 -14
  240. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js +0 -94
  241. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js.map +0 -1
  242. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.d.ts +0 -6
  243. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js +0 -8
  244. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"GiftCardCodeForm.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardCodeForm/GiftCardCodeForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { Data } from './types';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { BooleanSelector, getResourceId } from '@foxy.io/sdk/core';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { Option, Type } from '../QueryBuilder/types';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'gift-card-code-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for creating or editing gift card codes (`fx:gift_card_code`).\n *\n * @element foxy-gift-card-code-form\n * @since 1.15.0\n */\nexport class GiftCardCodeForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n getCustomerHref: { attribute: false },\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 ({ code: v }) => !v?.includes(' ') || 'code:v8n_has_spaces',\n ({ current_balance: v }) => typeof v === 'number' || 'current-balance:v8n_required',\n ];\n }\n\n /** Returns a `fx:customer` Resource URL for a Customer ID. */\n getCustomerHref: (id: number | string) => string = id => {\n return `https://api.foxycart.com/customers/${id}`;\n };\n\n private readonly __customerGetValue = () => {\n const link = this.data?._links?.['fx:customer']?.href;\n const id = this.form.customer_id;\n return id === undefined ? link : this.getCustomerHref(id);\n };\n\n private readonly __customerSetValue = (v: string) => {\n const id = getResourceId(v);\n this.edit({ customer_id: typeof id === 'number' ? id : '' });\n };\n\n private readonly __customerFilters: Option[] = [\n { type: Type.String, path: 'id', label: 'filters.id' },\n { type: Type.String, path: 'tax_id', label: 'filters.tax_id' },\n { type: Type.String, path: 'email', label: 'filters.email' },\n { type: Type.String, path: 'first_name', label: 'filters.first_name' },\n { type: Type.String, path: 'last_name', label: 'filters.last_name' },\n {\n type: Type.Boolean,\n path: 'is_anonymous',\n label: 'filters.is_anonymous',\n list: [\n { label: 'filters.is_anonymous_true', value: 'true' },\n { label: 'filters.is_anonymous_false', value: 'false' },\n ],\n },\n { type: Type.Date, path: 'last_login_date', label: 'filters.last_login_date' },\n { type: Type.Date, path: 'date_created', label: 'filters.date_created' },\n { type: Type.Date, path: 'date_modified', label: 'filters.date_modified' },\n ];\n\n private readonly __storeLoaderId = 'storeLoader';\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n if (!this.href) alwaysMatch.push('customer', 'cart-item', 'logs');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-text-control infer=\"code\"></foxy-internal-text-control>\n <foxy-internal-number-control infer=\"current-balance\"></foxy-internal-number-control>\n <foxy-internal-date-control infer=\"end-date\"></foxy-internal-date-control>\n\n <foxy-internal-resource-picker-control\n infer=\"customer\"\n first=${ifDefined(this.__storeLoader?.data?._links['fx:customers'].href)}\n item=\"foxy-customer-card\"\n .getValue=${this.__customerGetValue}\n .setValue=${this.__customerSetValue}\n .filters=${this.__customerFilters}\n >\n </foxy-internal-resource-picker-control>\n\n <foxy-internal-gift-card-code-form-item-control infer=\"cart-item\">\n </foxy-internal-gift-card-code-form-item-control>\n\n <foxy-internal-async-list-control\n infer=\"logs\"\n first=${ifDefined(this.data?._links?.['fx:gift_card_code_logs'].href)}\n limit=\"5\"\n item=\"foxy-gift-card-code-log-card\"\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(this.data?._links['fx:store'].href)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__storeLoaderId}`);\n }\n}\n"]}
1
+ {"version":3,"file":"GiftCardCodeForm.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardCodeForm/GiftCardCodeForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { Data } from './types';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { BooleanSelector, getResourceId } from '@foxy.io/sdk/core';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { Option, Type } from '../QueryBuilder/types';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'gift-card-code-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for creating or editing gift card codes (`fx:gift_card_code`).\n *\n * @element foxy-gift-card-code-form\n * @since 1.15.0\n */\nexport class GiftCardCodeForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n getCustomerHref: { attribute: false },\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 ({ code: v }) => !v?.includes(' ') || 'code:v8n_has_spaces',\n ({ current_balance: v }) => typeof v === 'number' || 'current-balance:v8n_required',\n ];\n }\n\n /** Returns a `fx:customer` Resource URL for a Customer ID. */\n getCustomerHref: (id: number | string) => string = id => {\n return `https://api.foxycart.com/customers/${id}`;\n };\n\n private readonly __customerGetValue = () => {\n const link = this.data?._links?.['fx:customer']?.href;\n const id = this.form.customer_id;\n return id === undefined ? link : this.getCustomerHref(id);\n };\n\n private readonly __customerSetValue = (v: string) => {\n const id = getResourceId(v);\n this.edit({ customer_id: typeof id === 'number' ? id : '' });\n };\n\n private readonly __customerFilters: Option[] = [\n { type: Type.String, path: 'id', label: 'filters.id' },\n { type: Type.String, path: 'tax_id', label: 'filters.tax_id' },\n { type: Type.String, path: 'email', label: 'filters.email' },\n { type: Type.String, path: 'first_name', label: 'filters.first_name' },\n { type: Type.String, path: 'last_name', label: 'filters.last_name' },\n {\n type: Type.Boolean,\n path: 'is_anonymous',\n label: 'filters.is_anonymous',\n list: [\n { label: 'filters.is_anonymous_true', value: 'true' },\n { label: 'filters.is_anonymous_false', value: 'false' },\n ],\n },\n { type: Type.Date, path: 'last_login_date', label: 'filters.last_login_date' },\n { type: Type.Date, path: 'date_created', label: 'filters.date_created' },\n { type: Type.Date, path: 'date_modified', label: 'filters.date_modified' },\n ];\n\n private readonly __storeLoaderId = 'storeLoader';\n\n get readonlySelector(): BooleanSelector {\n const alwaysMatch = [super.readonlySelector.toString(), 'cart-item'];\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n if (!this.href) alwaysMatch.push('customer', 'cart-item', 'logs');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n let href: string | undefined;\n\n try {\n const url = new URL(\n this.data?._links?.['fx:provisioned_by_transaction_detail_id'].href ?? ''\n );\n url.searchParams.set('zoom', 'item_options');\n href = url.toString();\n } catch {\n href = undefined;\n }\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"settings\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"code\"></foxy-internal-text-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"current-balance\">\n </foxy-internal-number-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"end-date\">\n </foxy-internal-date-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-resource-picker-control\n infer=\"customer\"\n first=${ifDefined(this.__storeLoader?.data?._links['fx:customers'].href)}\n item=\"foxy-customer-card\"\n .getValue=${this.__customerGetValue}\n .setValue=${this.__customerSetValue}\n .filters=${this.__customerFilters}\n >\n </foxy-internal-resource-picker-control>\n\n <foxy-internal-resource-picker-control\n infer=\"cart-item\"\n item=\"foxy-item-card\"\n .getValue=${() => href}\n >\n </foxy-internal-resource-picker-control>\n\n <foxy-internal-async-list-control\n infer=\"logs\"\n first=${ifDefined(this.data?._links?.['fx:gift_card_code_logs'].href)}\n limit=\"5\"\n item=\"foxy-gift-card-code-log-card\"\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(this.data?._links['fx:store'].href)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__storeLoaderId}`);\n }\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import '../../internal/InternalResourcePickerControl/index';
2
2
  import '../../internal/InternalAsyncListControl/index';
3
+ import '../../internal/InternalSummaryControl/index';
3
4
  import '../../internal/InternalNumberControl/index';
4
5
  import '../../internal/InternalDateControl/index';
5
6
  import '../../internal/InternalTextControl/index';
6
7
  import '../../internal/InternalForm/index';
7
8
  import '../GiftCardCodeLogCard/index';
8
9
  import '../CustomerCard/index';
9
- import './internal/InternalGiftCardCodeFormItemControl/index';
10
10
  import { GiftCardCodeForm } from './GiftCardCodeForm';
11
11
  export { GiftCardCodeForm };
@@ -1,12 +1,12 @@
1
1
  import "../../internal/InternalResourcePickerControl/index.js";
2
2
  import "../../internal/InternalAsyncListControl/index.js";
3
+ import "../../internal/InternalSummaryControl/index.js";
3
4
  import "../../internal/InternalNumberControl/index.js";
4
5
  import "../../internal/InternalDateControl/index.js";
5
6
  import "../../internal/InternalTextControl/index.js";
6
7
  import "../../internal/InternalForm/index.js";
7
8
  import "../GiftCardCodeLogCard/index.js";
8
9
  import "../CustomerCard/index.js";
9
- import "./internal/InternalGiftCardCodeFormItemControl/index.js";
10
10
  import { GiftCardCodeForm } from "./GiftCardCodeForm.js";
11
11
  customElements.define('foxy-gift-card-code-form', GiftCardCodeForm);
12
12
  export { GiftCardCodeForm };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardCodeForm/index.ts"],"names":[],"mappings":"AAAA,+DAA4D;AAC5D,0DAAuD;AACvD,uDAAoD;AACpD,qDAAkD;AAClD,qDAAkD;AAClD,8CAA2C;AAE3C,yCAAsC;AACtC,kCAA+B;AAE/B,iEAA8D;AAE9D,OAAO,EAAE,gBAAgB,EAAE,8BAA2B;AAEtD,cAAc,CAAC,MAAM,CAAC,0BAA0B,EAAE,gBAAgB,CAAC,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,CAAC","sourcesContent":["import '../../internal/InternalResourcePickerControl/index';\nimport '../../internal/InternalAsyncListControl/index';\nimport '../../internal/InternalNumberControl/index';\nimport '../../internal/InternalDateControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../GiftCardCodeLogCard/index';\nimport '../CustomerCard/index';\n\nimport './internal/InternalGiftCardCodeFormItemControl/index';\n\nimport { GiftCardCodeForm } from './GiftCardCodeForm';\n\ncustomElements.define('foxy-gift-card-code-form', GiftCardCodeForm);\n\nexport { GiftCardCodeForm };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardCodeForm/index.ts"],"names":[],"mappings":"AAAA,+DAA4D;AAC5D,0DAAuD;AACvD,wDAAqD;AACrD,uDAAoD;AACpD,qDAAkD;AAClD,qDAAkD;AAClD,8CAA2C;AAE3C,yCAAsC;AACtC,kCAA+B;AAE/B,OAAO,EAAE,gBAAgB,EAAE,8BAA2B;AAEtD,cAAc,CAAC,MAAM,CAAC,0BAA0B,EAAE,gBAAgB,CAAC,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,CAAC","sourcesContent":["import '../../internal/InternalResourcePickerControl/index';\nimport '../../internal/InternalAsyncListControl/index';\nimport '../../internal/InternalSummaryControl/index';\nimport '../../internal/InternalNumberControl/index';\nimport '../../internal/InternalDateControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../GiftCardCodeLogCard/index';\nimport '../CustomerCard/index';\n\nimport { GiftCardCodeForm } from './GiftCardCodeForm';\n\ncustomElements.define('foxy-gift-card-code-form', GiftCardCodeForm);\n\nexport { GiftCardCodeForm };\n"]}
@@ -17,6 +17,12 @@ export declare class GiftCardForm extends Base<Data> {
17
17
  static get v8n(): NucleonV8N<Data>;
18
18
  /** Returns a `fx:customer` Resource URL for a Customer ID. */
19
19
  getCustomerHref: (id: number | string) => string;
20
+ private readonly __provisioningMaxBalanceValueGetter;
21
+ private readonly __provisioningMaxBalanceValueSetter;
22
+ private readonly __provisioningMinBalanceValueGetter;
23
+ private readonly __provisioningMinBalanceValueSetter;
24
+ private readonly __provisioningToggleValueGetter;
25
+ private readonly __provisioningToggleValueSetter;
20
26
  private readonly __productCodeRestrictionsGetValue;
21
27
  private readonly __productCodeRestrictionsSetValue;
22
28
  private readonly __currencyCodeGetValue;
@@ -21,6 +21,55 @@ export class GiftCardForm extends Base {
21
21
  this.getCustomerHref = id => {
22
22
  return `https://api.foxycart.com/customers/${id}`;
23
23
  };
24
+ this.__provisioningMaxBalanceValueGetter = () => {
25
+ var _a;
26
+ return (_a = this.form.provisioning_config) === null || _a === void 0 ? void 0 : _a.initial_balance_max;
27
+ };
28
+ this.__provisioningMaxBalanceValueSetter = (newMax) => {
29
+ var _a, _b;
30
+ const newMin = (_b = (_a = this.form.provisioning_config) === null || _a === void 0 ? void 0 : _a.initial_balance_min) !== null && _b !== void 0 ? _b : newMax;
31
+ this.edit({
32
+ provisioning_config: {
33
+ allow_autoprovisioning: true,
34
+ initial_balance_min: newMin > newMax ? newMax : newMin,
35
+ initial_balance_max: newMax,
36
+ },
37
+ });
38
+ };
39
+ this.__provisioningMinBalanceValueGetter = () => {
40
+ var _a;
41
+ return (_a = this.form.provisioning_config) === null || _a === void 0 ? void 0 : _a.initial_balance_min;
42
+ };
43
+ this.__provisioningMinBalanceValueSetter = (newMin) => {
44
+ var _a, _b;
45
+ const newMax = (_b = (_a = this.form.provisioning_config) === null || _a === void 0 ? void 0 : _a.initial_balance_max) !== null && _b !== void 0 ? _b : newMin;
46
+ this.edit({
47
+ provisioning_config: {
48
+ allow_autoprovisioning: true,
49
+ initial_balance_min: newMin,
50
+ initial_balance_max: newMax < newMin ? newMin : newMax,
51
+ },
52
+ });
53
+ };
54
+ this.__provisioningToggleValueGetter = () => {
55
+ var _a;
56
+ return !!((_a = this.form.provisioning_config) === null || _a === void 0 ? void 0 : _a.allow_autoprovisioning);
57
+ };
58
+ this.__provisioningToggleValueSetter = (newValue) => {
59
+ var _a, _b, _c, _d;
60
+ if (newValue) {
61
+ this.edit({
62
+ provisioning_config: {
63
+ allow_autoprovisioning: true,
64
+ initial_balance_min: (_b = (_a = this.form.provisioning_config) === null || _a === void 0 ? void 0 : _a.initial_balance_min) !== null && _b !== void 0 ? _b : 0,
65
+ initial_balance_max: (_d = (_c = this.form.provisioning_config) === null || _c === void 0 ? void 0 : _c.initial_balance_max) !== null && _d !== void 0 ? _d : 0,
66
+ },
67
+ });
68
+ }
69
+ else {
70
+ this.edit({ provisioning_config: null });
71
+ }
72
+ };
24
73
  this.__productCodeRestrictionsGetValue = () => {
25
74
  var _a;
26
75
  return (_a = this.form.product_code_restrictions) === null || _a === void 0 ? void 0 : _a.split(',').filter(v => !!v.trim()).map(value => ({
@@ -112,10 +161,14 @@ export class GiftCardForm extends Base {
112
161
  ];
113
162
  }
114
163
  get hiddenSelector() {
164
+ var _a;
115
165
  const alwaysMatch = [super.hiddenSelector.toString()];
116
166
  if (!this.data) {
117
167
  alwaysMatch.push('codes', 'category-restrictions', 'attributes');
118
168
  }
169
+ if (!((_a = this.form.provisioning_config) === null || _a === void 0 ? void 0 : _a.allow_autoprovisioning)) {
170
+ alwaysMatch.push('provisioning:sku', 'provisioning:min-balance', 'provisioning:max-balance');
171
+ }
119
172
  return new BooleanSelector(alwaysMatch.join(' ').trim());
120
173
  }
121
174
  get headerSubtitleOptions() {
@@ -143,40 +196,73 @@ export class GiftCardForm extends Base {
143
196
  `;
144
197
  }
145
198
  renderBody() {
146
- var _a, _b, _c, _d, _e, _f, _g, _h;
199
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
147
200
  let codesUrl;
148
201
  try {
149
202
  const url = new URL((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._links['fx:gift_card_codes'].href) !== null && _b !== void 0 ? _b : '');
150
203
  url.searchParams.set('order', 'date_created desc');
151
204
  codesUrl = url.toString();
152
205
  }
153
- catch (_j) {
206
+ catch (_l) {
154
207
  codesUrl = undefined;
155
208
  }
156
209
  return html `
157
210
  ${this.renderHeader()}
158
211
 
159
- <div class="grid grid-cols-1 sm-grid-cols-3 md-grid-cols-4 gap-m">
160
- <foxy-internal-text-control infer="name" class="md-col-span-2">
212
+ <foxy-internal-summary-control infer="general">
213
+ <foxy-internal-text-control layout="summary-item" infer="name">
161
214
  </foxy-internal-text-control>
162
215
 
163
216
  <foxy-internal-select-control
164
217
  property="currency_code"
218
+ layout="summary-item"
165
219
  infer="currency"
166
220
  .getValue=${this.__currencyCodeGetValue}
167
221
  .options=${currencies.map(value => ({
168
- label: this.t(`currency.code_${value}`),
222
+ label: this.t(`general.currency.code_${value}`),
169
223
  value,
170
224
  }))}
171
225
  >
172
226
  </foxy-internal-select-control>
173
227
 
174
- <foxy-internal-frequency-control property="expires_after" infer="expires">
228
+ <foxy-internal-frequency-control
229
+ property="expires_after"
230
+ layout="summary-item"
231
+ infer="expires"
232
+ >
175
233
  </foxy-internal-frequency-control>
176
- </div>
234
+ </foxy-internal-summary-control>
177
235
 
178
- <foxy-internal-gift-card-form-provisioning-control infer="provisioning">
179
- </foxy-internal-gift-card-form-provisioning-control>
236
+ <foxy-internal-summary-control infer="provisioning">
237
+ <foxy-internal-switch-control
238
+ infer="toggle"
239
+ .getValue=${this.__provisioningToggleValueGetter}
240
+ .setValue=${this.__provisioningToggleValueSetter}
241
+ >
242
+ </foxy-internal-switch-control>
243
+
244
+ <foxy-internal-text-control layout="summary-item" infer="sku"></foxy-internal-text-control>
245
+
246
+ <foxy-internal-number-control
247
+ layout="summary-item"
248
+ suffix=${ifDefined((_c = this.form.currency_code) === null || _c === void 0 ? void 0 : _c.toUpperCase())}
249
+ infer="min-balance"
250
+ min="0"
251
+ .getValue=${this.__provisioningMinBalanceValueGetter}
252
+ .setValue=${this.__provisioningMinBalanceValueSetter}
253
+ >
254
+ </foxy-internal-number-control>
255
+
256
+ <foxy-internal-number-control
257
+ layout="summary-item"
258
+ suffix=${ifDefined((_d = this.form.currency_code) === null || _d === void 0 ? void 0 : _d.toUpperCase())}
259
+ infer="max-balance"
260
+ min="0"
261
+ .getValue=${this.__provisioningMaxBalanceValueGetter}
262
+ .setValue=${this.__provisioningMaxBalanceValueSetter}
263
+ >
264
+ </foxy-internal-number-control>
265
+ </foxy-internal-summary-control>
180
266
 
181
267
  <foxy-internal-async-list-control
182
268
  first=${codesUrl}
@@ -206,10 +292,10 @@ export class GiftCardForm extends Base {
206
292
  foreign-key-for-uri="item_category_uri"
207
293
  foreign-key-for-id="item_category_id"
208
294
  own-key-for-uri="gift_card_uri"
209
- options-href=${ifDefined((_d = (_c = this.__storeLoader) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d._links['fx:item_categories'].href)}
210
- links-href=${ifDefined((_e = this.data) === null || _e === void 0 ? void 0 : _e._links['fx:gift_card_item_categories'].href)}
295
+ options-href=${ifDefined((_f = (_e = this.__storeLoader) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f._links['fx:item_categories'].href)}
296
+ links-href=${ifDefined((_g = this.data) === null || _g === void 0 ? void 0 : _g._links['fx:gift_card_item_categories'].href)}
211
297
  embed-key="fx:gift_card_item_categories"
212
- own-uri=${ifDefined((_f = this.data) === null || _f === void 0 ? void 0 : _f._links.self.href)}
298
+ own-uri=${ifDefined((_h = this.data) === null || _h === void 0 ? void 0 : _h._links.self.href)}
213
299
  infer="category-restrictions"
214
300
  limit="5"
215
301
  item="foxy-item-category-card"
@@ -217,7 +303,7 @@ export class GiftCardForm extends Base {
217
303
  </foxy-internal-async-resource-link-list-control>
218
304
 
219
305
  <foxy-internal-async-list-control
220
- first=${ifDefined((_g = this.data) === null || _g === void 0 ? void 0 : _g._links['fx:attributes'].href)}
306
+ first=${ifDefined((_j = this.data) === null || _j === void 0 ? void 0 : _j._links['fx:attributes'].href)}
221
307
  limit="5"
222
308
  infer="attributes"
223
309
  item="foxy-attribute-card"
@@ -231,7 +317,7 @@ export class GiftCardForm extends Base {
231
317
  <foxy-nucleon
232
318
  infer=""
233
319
  class="hidden"
234
- href=${ifDefined((_h = this.data) === null || _h === void 0 ? void 0 : _h._links['fx:store'].href)}
320
+ href=${ifDefined((_k = this.data) === null || _k === void 0 ? void 0 : _k._links['fx:store'].href)}
235
321
  id=${this.__storeLoaderId}
236
322
  @update=${() => this.requestUpdate()}
237
323
  >
@@ -1 +1 @@
1
- {"version":3,"file":"GiftCardForm.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardForm/GiftCardForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { SwipeAction } from '../../internal/InternalAsyncListControl/types';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { Option, Type } from '../QueryBuilder/types';\nimport { html } from 'lit-element';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { currencies } from './currencies';\nimport { ifDefined } from 'lit-html/directives/if-defined';\n\nconst NS = 'gift-card-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Form element for creating or editing gift cards (`fx:gift_card`).\n *\n * @element foxy-gift-card-form\n * @since 1.15.0\n */\nexport class GiftCardForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n getCustomerHref: { attribute: false },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => !v || v.length <= 50 || 'name:v8n_too_long',\n\n form => {\n if (form.provisioning_config?.allow_autoprovisioning) {\n if (!form.sku) return 'sku:v8n_required';\n if (form.sku.length > 200) return 'sku:v8n_too_long';\n }\n\n return true;\n },\n\n form => {\n const v = form.provisioning_config?.initial_balance_min;\n return typeof v === 'number' && v < 0 ? 'min-balance:v8n_negative' : true;\n },\n\n form => {\n const v = form.provisioning_config?.initial_balance_max;\n return typeof v === 'number' && v < 0 ? 'max-balance:v8n_negative' : true;\n },\n\n ({ product_code_restrictions: v }) => {\n return !v || v.length <= 5000 || 'product-code-restrictions:v8n_too_long';\n },\n ];\n }\n\n /** Returns a `fx:customer` Resource URL for a Customer ID. */\n getCustomerHref: (id: number | string) => string = id => {\n return `https://api.foxycart.com/customers/${id}`;\n };\n\n private readonly __productCodeRestrictionsGetValue = () => {\n return this.form.product_code_restrictions\n ?.split(',')\n .filter(v => !!v.trim())\n .map(value => ({\n value,\n label: value.startsWith('-')\n ? this.t(`product-code-restrictions.label_block`, { value: value.substring(1) })\n : this.t(`product-code-restrictions.label_allow`, { value }),\n }));\n };\n\n private readonly __productCodeRestrictionsSetValue = (newValue: Item[]) => {\n this.edit({\n product_code_restrictions: newValue\n .map(({ value, unit }) => (unit === 'block' ? `-${value}` : value))\n .filter((v, i, a) => !!v && a.indexOf(v) === i)\n .join(','),\n });\n };\n\n private readonly __currencyCodeGetValue = () => {\n return this.form.currency_code?.toLowerCase();\n };\n\n private readonly __storeLoaderId = 'storeLoader';\n\n private readonly __codesFilters: Option[] = [\n { label: 'code', path: 'code', type: Type.String },\n { label: 'current_balance', path: 'current_balance', type: Type.Number },\n { label: 'end_date', path: 'end_date', type: Type.Date },\n { label: 'date_created', path: 'date_created', type: Type.Date },\n { label: 'date_modified', path: 'date_modified', type: Type.Date },\n ];\n\n private __codesActions: SwipeAction<Resource<Rels.GiftCardCode>>[] = [\n {\n theme: 'contrast',\n state: 'idle',\n text: 'copy_button_text',\n onClick: async data => {\n this.__codesActions[0].state = 'busy';\n this.__codesActions = [...this.__codesActions];\n\n try {\n await navigator.clipboard.writeText(data.code);\n this.__codesActions[0].state = 'end';\n } catch {\n this.__codesActions[0].state = 'error';\n } finally {\n this.__codesActions = [...this.__codesActions];\n setTimeout(() => {\n this.__codesActions[0].state = 'idle';\n this.__codesActions = [...this.__codesActions];\n }, 1000);\n }\n },\n },\n ];\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n\n if (!this.data) {\n alwaysMatch.push('codes', 'category-restrictions', 'attributes');\n }\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get headerSubtitleOptions(): Record<string, unknown> {\n return { id: this.headerCopyIdValue };\n }\n\n renderHeaderActions(data: Data): TemplateResult {\n return html`\n <foxy-internal-bulk-add-action-control\n parent=${data._links['fx:generate_codes'].href}\n infer=\"generate\"\n form=\"foxy-generate-codes-form\"\n .related=${[data._links['fx:gift_card_codes'].href]}\n >\n </foxy-internal-bulk-add-action-control>\n\n <foxy-internal-bulk-add-action-control\n parent=${data._links['fx:gift_card_codes'].href}\n infer=\"import\"\n form=\"foxy-gift-card-codes-form\"\n .related=${[data._links['fx:gift_card_codes'].href]}\n >\n </foxy-internal-bulk-add-action-control>\n\n ${super.renderHeaderActions(data)}\n `;\n }\n\n renderBody(): TemplateResult {\n let codesUrl: string | undefined;\n\n try {\n const url = new URL(this.data?._links['fx:gift_card_codes'].href ?? '');\n url.searchParams.set('order', 'date_created desc');\n\n codesUrl = url.toString();\n } catch {\n codesUrl = undefined;\n }\n\n return html`\n ${this.renderHeader()}\n\n <div class=\"grid grid-cols-1 sm-grid-cols-3 md-grid-cols-4 gap-m\">\n <foxy-internal-text-control infer=\"name\" class=\"md-col-span-2\">\n </foxy-internal-text-control>\n\n <foxy-internal-select-control\n property=\"currency_code\"\n infer=\"currency\"\n .getValue=${this.__currencyCodeGetValue}\n .options=${currencies.map(value => ({\n label: this.t(`currency.code_${value}`),\n value,\n }))}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-frequency-control property=\"expires_after\" infer=\"expires\">\n </foxy-internal-frequency-control>\n </div>\n\n <foxy-internal-gift-card-form-provisioning-control infer=\"provisioning\">\n </foxy-internal-gift-card-form-provisioning-control>\n\n <foxy-internal-async-list-control\n first=${codesUrl}\n limit=\"5\"\n infer=\"codes\"\n item=\"foxy-gift-card-code-card\"\n form=\"foxy-gift-card-code-form\"\n alert\n .formProps=${{ '.getCustomerHref': this.getCustomerHref }}\n .actions=${this.__codesActions}\n .filters=${this.__codesFilters}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-editable-list-control\n infer=\"product-code-restrictions\"\n .getValue=${this.__productCodeRestrictionsGetValue}\n .setValue=${this.__productCodeRestrictionsSetValue}\n .units=${[\n { label: this.t('product-code-restrictions.unit_allow'), value: 'allow' },\n { label: this.t('product-code-restrictions.unit_block'), value: 'block' },\n ]}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-async-resource-link-list-control\n foreign-key-for-uri=\"item_category_uri\"\n foreign-key-for-id=\"item_category_id\"\n own-key-for-uri=\"gift_card_uri\"\n options-href=${ifDefined(this.__storeLoader?.data?._links['fx:item_categories'].href)}\n links-href=${ifDefined(this.data?._links['fx:gift_card_item_categories'].href)}\n embed-key=\"fx:gift_card_item_categories\"\n own-uri=${ifDefined(this.data?._links.self.href)}\n infer=\"category-restrictions\"\n limit=\"5\"\n item=\"foxy-item-category-card\"\n >\n </foxy-internal-async-resource-link-list-control>\n\n <foxy-internal-async-list-control\n first=${ifDefined(this.data?._links['fx:attributes'].href)}\n limit=\"5\"\n infer=\"attributes\"\n item=\"foxy-attribute-card\"\n form=\"foxy-attribute-form\"\n alert\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n infer=\"\"\n class=\"hidden\"\n href=${ifDefined(this.data?._links['fx:store'].href)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__storeLoaderId}`);\n }\n}\n"]}
1
+ {"version":3,"file":"GiftCardForm.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardForm/GiftCardForm.ts"],"names":[],"mappings":"AASA,OAAO,EAAU,IAAI,EAAE,iCAA8B;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,UAAU,EAAE,wBAAqB;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAC5B,MAAM,IAAI,GAAG,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;AAElE;;;;;GAKG;AACH,MAAM,OAAO,YAAa,SAAQ,IAAU;IAA5C;;QAsCE,8DAA8D;QAC9D,oBAAe,GAAoC,EAAE,CAAC,EAAE;YACtD,OAAO,sCAAsC,EAAE,EAAE,CAAC;QACpD,CAAC,CAAC;QAEe,wCAAmC,GAAG,GAAG,EAAE;;YAC1D,aAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,0CAAE,mBAAmB,CAAC;QAC5D,CAAC,CAAC;QAEe,wCAAmC,GAAG,CAAC,MAAc,EAAE,EAAE;;YACxE,MAAM,MAAM,eAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,0CAAE,mBAAmB,mCAAI,MAAM,CAAC;YAE5E,IAAI,CAAC,IAAI,CAAC;gBACR,mBAAmB,EAAE;oBACnB,sBAAsB,EAAE,IAAI;oBAC5B,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBACtD,mBAAmB,EAAE,MAAM;iBAC5B;aACF,CAAC,CAAC;QACL,CAAC,CAAC;QAEe,wCAAmC,GAAG,GAAG,EAAE;;YAC1D,aAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,0CAAE,mBAAmB,CAAC;QAC5D,CAAC,CAAC;QAEe,wCAAmC,GAAG,CAAC,MAAc,EAAE,EAAE;;YACxE,MAAM,MAAM,eAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,0CAAE,mBAAmB,mCAAI,MAAM,CAAC;YAE5E,IAAI,CAAC,IAAI,CAAC;gBACR,mBAAmB,EAAE;oBACnB,sBAAsB,EAAE,IAAI;oBAC5B,mBAAmB,EAAE,MAAM;oBAC3B,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;iBACvD;aACF,CAAC,CAAC;QACL,CAAC,CAAC;QAEe,oCAA+B,GAAG,GAAG,EAAE;;YACtD,OAAO,CAAC,QAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,0CAAE,sBAAsB,CAAA,CAAC;QACjE,CAAC,CAAC;QAEe,oCAA+B,GAAG,CAAC,QAAiB,EAAE,EAAE;;YACvE,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC;oBACR,mBAAmB,EAAE;wBACnB,sBAAsB,EAAE,IAAI;wBAC5B,mBAAmB,cAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,0CAAE,mBAAmB,mCAAI,CAAC;wBAC5E,mBAAmB,cAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,0CAAE,mBAAmB,mCAAI,CAAC;qBAC7E;iBACF,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;aAC1C;QACH,CAAC,CAAC;QAEe,sCAAiC,GAAG,GAAG,EAAE;;YACxD,aAAO,IAAI,CAAC,IAAI,CAAC,yBAAyB,0CACtC,KAAK,CAAC,GAAG,EACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EACtB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK;gBACL,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;oBAC1B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uCAAuC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChF,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uCAAuC,EAAE,EAAE,KAAK,EAAE,CAAC;aAC/D,CAAC,EAAE;QACR,CAAC,CAAC;QAEe,sCAAiC,GAAG,CAAC,QAAgB,EAAE,EAAE;YACxE,IAAI,CAAC,IAAI,CAAC;gBACR,yBAAyB,EAAE,QAAQ;qBAChC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;qBAClE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;qBAC9C,IAAI,CAAC,GAAG,CAAC;aACb,CAAC,CAAC;QACL,CAAC,CAAC;QAEe,2BAAsB,GAAG,GAAG,EAAE;;YAC7C,aAAO,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,WAAW,GAAG;QAChD,CAAC,CAAC;QAEe,oBAAe,GAAG,aAAa,CAAC;QAEhC,mBAAc,GAAa;YAC1C,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;YAClD,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;YACxE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACxD,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YAChE,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;SACnE,CAAC;QAEM,mBAAc,GAA+C;YACnE;gBACE,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;oBACpB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;oBACtC,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;oBAE/C,IAAI;wBACF,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC/C,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;qBACtC;oBAAC,WAAM;wBACN,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC;qBACxC;4BAAS;wBACR,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;wBAC/C,UAAU,CAAC,GAAG,EAAE;4BACd,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;4BACtC,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;wBACjD,CAAC,EAAE,IAAI,CAAC,CAAC;qBACV;gBACH,CAAC;aACF;SACF,CAAC;IAiLJ,CAAC;IAvUC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,eAAe,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SACtC,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,OAAO;YACL,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB;YAC3C,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,mBAAmB;YAE5D,IAAI,CAAC,EAAE;;gBACL,UAAI,IAAI,CAAC,mBAAmB,0CAAE,sBAAsB,EAAE;oBACpD,IAAI,CAAC,IAAI,CAAC,GAAG;wBAAE,OAAO,kBAAkB,CAAC;oBACzC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG;wBAAE,OAAO,kBAAkB,CAAC;iBACtD;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,CAAC,EAAE;;gBACL,MAAM,CAAC,SAAG,IAAI,CAAC,mBAAmB,0CAAE,mBAAmB,CAAC;gBACxD,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5E,CAAC;YAED,IAAI,CAAC,EAAE;;gBACL,MAAM,CAAC,SAAG,IAAI,CAAC,mBAAmB,0CAAE,mBAAmB,CAAC;gBACxD,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5E,CAAC;YAED,CAAC,EAAE,yBAAyB,EAAE,CAAC,EAAE,EAAE,EAAE;gBACnC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,wCAAwC,CAAC;YAC5E,CAAC;SACF,CAAC;IACJ,CAAC;IAqHD,IAAI,cAAc;;QAChB,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,EAAE,YAAY,CAAC,CAAC;SAClE;QAED,IAAI,QAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,0CAAE,sBAAsB,CAAA,EAAE;YAC1D,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,0BAA0B,EAAE,0BAA0B,CAAC,CAAC;SAC9F;QAED,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACxC,CAAC;IAED,mBAAmB,CAAC,IAAU;QAC5B,OAAO,IAAI,CAAA;;iBAEE,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI;;;mBAGnC,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC;;;;;iBAK1C,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI;;;mBAGpC,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC;;;;QAInD,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC;KAClC,CAAC;IACJ,CAAC;IAED,UAAU;;QACR,IAAI,QAA4B,CAAC;QAEjC,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,aAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,oBAAoB,EAAE,IAAI,mCAAI,EAAE,CAAC,CAAC;YACxE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YAEnD,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SAC3B;QAAC,WAAM;YACN,QAAQ,GAAG,SAAS,CAAC;SACtB;QAED,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,YAAY,EAAE;;;;;;;;;;sBAUL,IAAI,CAAC,sBAAsB;qBAC5B,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,yBAAyB,KAAK,EAAE,CAAC;YAC/C,KAAK;SACN,CAAC,CAAC;;;;;;;;;;;;;;;sBAeS,IAAI,CAAC,+BAA+B;sBACpC,IAAI,CAAC,+BAA+B;;;;;;;;mBAQvC,SAAS,OAAC,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,WAAW,GAAG;;;sBAG9C,IAAI,CAAC,mCAAmC;sBACxC,IAAI,CAAC,mCAAmC;;;;;;mBAM3C,SAAS,OAAC,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,WAAW,GAAG;;;sBAG9C,IAAI,CAAC,mCAAmC;sBACxC,IAAI,CAAC,mCAAmC;;;;;;gBAM9C,QAAQ;;;;;;qBAMH,EAAE,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE;mBAC9C,IAAI,CAAC,cAAc;mBACnB,IAAI,CAAC,cAAc;;;;;;oBAMlB,IAAI,CAAC,iCAAiC;oBACtC,IAAI,CAAC,iCAAiC;iBACzC;YACP,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,sCAAsC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;YACzE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,sCAAsC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;SAC1E;;;;;;;;uBAQc,SAAS,aAAC,IAAI,CAAC,aAAa,0CAAE,IAAI,0CAAE,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC;qBACxE,SAAS,OAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,8BAA8B,EAAE,IAAI,CAAC;;kBAEpE,SAAS,OAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;gBAQxC,SAAS,OAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC;;;;;;;;;QAS1D,KAAK,CAAC,UAAU,EAAE;;;;;eAKX,SAAS,OAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC;aAC/C,IAAI,CAAC,eAAe;kBACf,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;KAGvC,CAAC;IACJ,CAAC;IAED,IAAY,aAAa;QAEvB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3E,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { SwipeAction } from '../../internal/InternalAsyncListControl/types';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { Option, Type } from '../QueryBuilder/types';\nimport { html } from 'lit-element';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { currencies } from './currencies';\nimport { ifDefined } from 'lit-html/directives/if-defined';\n\nconst NS = 'gift-card-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Form element for creating or editing gift cards (`fx:gift_card`).\n *\n * @element foxy-gift-card-form\n * @since 1.15.0\n */\nexport class GiftCardForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n getCustomerHref: { attribute: false },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => !v || v.length <= 50 || 'name:v8n_too_long',\n\n form => {\n if (form.provisioning_config?.allow_autoprovisioning) {\n if (!form.sku) return 'sku:v8n_required';\n if (form.sku.length > 200) return 'sku:v8n_too_long';\n }\n\n return true;\n },\n\n form => {\n const v = form.provisioning_config?.initial_balance_min;\n return typeof v === 'number' && v < 0 ? 'min-balance:v8n_negative' : true;\n },\n\n form => {\n const v = form.provisioning_config?.initial_balance_max;\n return typeof v === 'number' && v < 0 ? 'max-balance:v8n_negative' : true;\n },\n\n ({ product_code_restrictions: v }) => {\n return !v || v.length <= 5000 || 'product-code-restrictions:v8n_too_long';\n },\n ];\n }\n\n /** Returns a `fx:customer` Resource URL for a Customer ID. */\n getCustomerHref: (id: number | string) => string = id => {\n return `https://api.foxycart.com/customers/${id}`;\n };\n\n private readonly __provisioningMaxBalanceValueGetter = () => {\n return this.form.provisioning_config?.initial_balance_max;\n };\n\n private readonly __provisioningMaxBalanceValueSetter = (newMax: number) => {\n const newMin = this.form.provisioning_config?.initial_balance_min ?? newMax;\n\n this.edit({\n provisioning_config: {\n allow_autoprovisioning: true,\n initial_balance_min: newMin > newMax ? newMax : newMin,\n initial_balance_max: newMax,\n },\n });\n };\n\n private readonly __provisioningMinBalanceValueGetter = () => {\n return this.form.provisioning_config?.initial_balance_min;\n };\n\n private readonly __provisioningMinBalanceValueSetter = (newMin: number) => {\n const newMax = this.form.provisioning_config?.initial_balance_max ?? newMin;\n\n this.edit({\n provisioning_config: {\n allow_autoprovisioning: true,\n initial_balance_min: newMin,\n initial_balance_max: newMax < newMin ? newMin : newMax,\n },\n });\n };\n\n private readonly __provisioningToggleValueGetter = () => {\n return !!this.form.provisioning_config?.allow_autoprovisioning;\n };\n\n private readonly __provisioningToggleValueSetter = (newValue: boolean) => {\n if (newValue) {\n this.edit({\n provisioning_config: {\n allow_autoprovisioning: true,\n initial_balance_min: this.form.provisioning_config?.initial_balance_min ?? 0,\n initial_balance_max: this.form.provisioning_config?.initial_balance_max ?? 0,\n },\n });\n } else {\n this.edit({ provisioning_config: null });\n }\n };\n\n private readonly __productCodeRestrictionsGetValue = () => {\n return this.form.product_code_restrictions\n ?.split(',')\n .filter(v => !!v.trim())\n .map(value => ({\n value,\n label: value.startsWith('-')\n ? this.t(`product-code-restrictions.label_block`, { value: value.substring(1) })\n : this.t(`product-code-restrictions.label_allow`, { value }),\n }));\n };\n\n private readonly __productCodeRestrictionsSetValue = (newValue: Item[]) => {\n this.edit({\n product_code_restrictions: newValue\n .map(({ value, unit }) => (unit === 'block' ? `-${value}` : value))\n .filter((v, i, a) => !!v && a.indexOf(v) === i)\n .join(','),\n });\n };\n\n private readonly __currencyCodeGetValue = () => {\n return this.form.currency_code?.toLowerCase();\n };\n\n private readonly __storeLoaderId = 'storeLoader';\n\n private readonly __codesFilters: Option[] = [\n { label: 'code', path: 'code', type: Type.String },\n { label: 'current_balance', path: 'current_balance', type: Type.Number },\n { label: 'end_date', path: 'end_date', type: Type.Date },\n { label: 'date_created', path: 'date_created', type: Type.Date },\n { label: 'date_modified', path: 'date_modified', type: Type.Date },\n ];\n\n private __codesActions: SwipeAction<Resource<Rels.GiftCardCode>>[] = [\n {\n theme: 'contrast',\n state: 'idle',\n text: 'copy_button_text',\n onClick: async data => {\n this.__codesActions[0].state = 'busy';\n this.__codesActions = [...this.__codesActions];\n\n try {\n await navigator.clipboard.writeText(data.code);\n this.__codesActions[0].state = 'end';\n } catch {\n this.__codesActions[0].state = 'error';\n } finally {\n this.__codesActions = [...this.__codesActions];\n setTimeout(() => {\n this.__codesActions[0].state = 'idle';\n this.__codesActions = [...this.__codesActions];\n }, 1000);\n }\n },\n },\n ];\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n\n if (!this.data) {\n alwaysMatch.push('codes', 'category-restrictions', 'attributes');\n }\n\n if (!this.form.provisioning_config?.allow_autoprovisioning) {\n alwaysMatch.push('provisioning:sku', 'provisioning:min-balance', 'provisioning:max-balance');\n }\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get headerSubtitleOptions(): Record<string, unknown> {\n return { id: this.headerCopyIdValue };\n }\n\n renderHeaderActions(data: Data): TemplateResult {\n return html`\n <foxy-internal-bulk-add-action-control\n parent=${data._links['fx:generate_codes'].href}\n infer=\"generate\"\n form=\"foxy-generate-codes-form\"\n .related=${[data._links['fx:gift_card_codes'].href]}\n >\n </foxy-internal-bulk-add-action-control>\n\n <foxy-internal-bulk-add-action-control\n parent=${data._links['fx:gift_card_codes'].href}\n infer=\"import\"\n form=\"foxy-gift-card-codes-form\"\n .related=${[data._links['fx:gift_card_codes'].href]}\n >\n </foxy-internal-bulk-add-action-control>\n\n ${super.renderHeaderActions(data)}\n `;\n }\n\n renderBody(): TemplateResult {\n let codesUrl: string | undefined;\n\n try {\n const url = new URL(this.data?._links['fx:gift_card_codes'].href ?? '');\n url.searchParams.set('order', 'date_created desc');\n\n codesUrl = url.toString();\n } catch {\n codesUrl = undefined;\n }\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"general\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"name\">\n </foxy-internal-text-control>\n\n <foxy-internal-select-control\n property=\"currency_code\"\n layout=\"summary-item\"\n infer=\"currency\"\n .getValue=${this.__currencyCodeGetValue}\n .options=${currencies.map(value => ({\n label: this.t(`general.currency.code_${value}`),\n value,\n }))}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-frequency-control\n property=\"expires_after\"\n layout=\"summary-item\"\n infer=\"expires\"\n >\n </foxy-internal-frequency-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"provisioning\">\n <foxy-internal-switch-control\n infer=\"toggle\"\n .getValue=${this.__provisioningToggleValueGetter}\n .setValue=${this.__provisioningToggleValueSetter}\n >\n </foxy-internal-switch-control>\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"sku\"></foxy-internal-text-control>\n\n <foxy-internal-number-control\n layout=\"summary-item\"\n suffix=${ifDefined(this.form.currency_code?.toUpperCase())}\n infer=\"min-balance\"\n min=\"0\"\n .getValue=${this.__provisioningMinBalanceValueGetter}\n .setValue=${this.__provisioningMinBalanceValueSetter}\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n layout=\"summary-item\"\n suffix=${ifDefined(this.form.currency_code?.toUpperCase())}\n infer=\"max-balance\"\n min=\"0\"\n .getValue=${this.__provisioningMaxBalanceValueGetter}\n .setValue=${this.__provisioningMaxBalanceValueSetter}\n >\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n first=${codesUrl}\n limit=\"5\"\n infer=\"codes\"\n item=\"foxy-gift-card-code-card\"\n form=\"foxy-gift-card-code-form\"\n alert\n .formProps=${{ '.getCustomerHref': this.getCustomerHref }}\n .actions=${this.__codesActions}\n .filters=${this.__codesFilters}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-editable-list-control\n infer=\"product-code-restrictions\"\n .getValue=${this.__productCodeRestrictionsGetValue}\n .setValue=${this.__productCodeRestrictionsSetValue}\n .units=${[\n { label: this.t('product-code-restrictions.unit_allow'), value: 'allow' },\n { label: this.t('product-code-restrictions.unit_block'), value: 'block' },\n ]}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-async-resource-link-list-control\n foreign-key-for-uri=\"item_category_uri\"\n foreign-key-for-id=\"item_category_id\"\n own-key-for-uri=\"gift_card_uri\"\n options-href=${ifDefined(this.__storeLoader?.data?._links['fx:item_categories'].href)}\n links-href=${ifDefined(this.data?._links['fx:gift_card_item_categories'].href)}\n embed-key=\"fx:gift_card_item_categories\"\n own-uri=${ifDefined(this.data?._links.self.href)}\n infer=\"category-restrictions\"\n limit=\"5\"\n item=\"foxy-item-category-card\"\n >\n </foxy-internal-async-resource-link-list-control>\n\n <foxy-internal-async-list-control\n first=${ifDefined(this.data?._links['fx:attributes'].href)}\n limit=\"5\"\n infer=\"attributes\"\n item=\"foxy-attribute-card\"\n form=\"foxy-attribute-form\"\n alert\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n infer=\"\"\n class=\"hidden\"\n href=${ifDefined(this.data?._links['fx:store'].href)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__storeLoaderId}`);\n }\n}\n"]}
@@ -3,7 +3,10 @@ import '../../internal/InternalBulkAddActionControl/index';
3
3
  import '../../internal/InternalEditableListControl/index';
4
4
  import '../../internal/InternalAsyncListControl/index';
5
5
  import '../../internal/InternalFrequencyControl/index';
6
+ import '../../internal/InternalSummaryControl/index';
6
7
  import '../../internal/InternalSelectControl/index';
8
+ import '../../internal/InternalSwitchControl/index';
9
+ import '../../internal/InternalNumberControl/index';
7
10
  import '../../internal/InternalTextControl/index';
8
11
  import '../../internal/InternalForm/index';
9
12
  import '../GenerateCodesForm/index';
@@ -14,6 +17,5 @@ import '../GiftCardCodeForm/index';
14
17
  import '../NucleonElement/index';
15
18
  import '../AttributeCard/index';
16
19
  import '../AttributeForm/index';
17
- import './internal/InternalGiftCardFormProvisioningControl/index';
18
20
  import { GiftCardForm } from './GiftCardForm';
19
21
  export { GiftCardForm };
@@ -3,7 +3,10 @@ import "../../internal/InternalBulkAddActionControl/index.js";
3
3
  import "../../internal/InternalEditableListControl/index.js";
4
4
  import "../../internal/InternalAsyncListControl/index.js";
5
5
  import "../../internal/InternalFrequencyControl/index.js";
6
+ import "../../internal/InternalSummaryControl/index.js";
6
7
  import "../../internal/InternalSelectControl/index.js";
8
+ import "../../internal/InternalSwitchControl/index.js";
9
+ import "../../internal/InternalNumberControl/index.js";
7
10
  import "../../internal/InternalTextControl/index.js";
8
11
  import "../../internal/InternalForm/index.js";
9
12
  import "../GenerateCodesForm/index.js";
@@ -14,7 +17,6 @@ import "../GiftCardCodeForm/index.js";
14
17
  import "../NucleonElement/index.js";
15
18
  import "../AttributeCard/index.js";
16
19
  import "../AttributeForm/index.js";
17
- import "./internal/InternalGiftCardFormProvisioningControl/index.js";
18
20
  import { GiftCardForm } from "./GiftCardForm.js";
19
21
  customElements.define('foxy-gift-card-form', GiftCardForm);
20
22
  export { GiftCardForm };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardForm/index.ts"],"names":[],"mappings":"AAAA,sEAAmE;AACnE,8DAA2D;AAC3D,6DAA0D;AAC1D,0DAAuD;AACvD,0DAAuD;AACvD,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,uCAAoC;AACpC,uCAAoC;AACpC,sCAAmC;AACnC,sCAAmC;AACnC,sCAAmC;AACnC,oCAAiC;AACjC,mCAAgC;AAChC,mCAAgC;AAEhC,qEAAkE;AAElE,OAAO,EAAE,YAAY,EAAE,0BAAuB;AAE9C,cAAc,CAAC,MAAM,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,CAAC","sourcesContent":["import '../../internal/InternalAsyncResourceLinkListControl/index';\nimport '../../internal/InternalBulkAddActionControl/index';\nimport '../../internal/InternalEditableListControl/index';\nimport '../../internal/InternalAsyncListControl/index';\nimport '../../internal/InternalFrequencyControl/index';\nimport '../../internal/InternalSelectControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../GenerateCodesForm/index';\nimport '../GiftCardCodesForm/index';\nimport '../ItemCategoryCard/index';\nimport '../GiftCardCodeCard/index';\nimport '../GiftCardCodeForm/index';\nimport '../NucleonElement/index';\nimport '../AttributeCard/index';\nimport '../AttributeForm/index';\n\nimport './internal/InternalGiftCardFormProvisioningControl/index';\n\nimport { GiftCardForm } from './GiftCardForm';\n\ncustomElements.define('foxy-gift-card-form', GiftCardForm);\n\nexport { GiftCardForm };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardForm/index.ts"],"names":[],"mappings":"AAAA,sEAAmE;AACnE,8DAA2D;AAC3D,6DAA0D;AAC1D,0DAAuD;AACvD,0DAAuD;AACvD,wDAAqD;AACrD,uDAAoD;AACpD,uDAAoD;AACpD,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,uCAAoC;AACpC,uCAAoC;AACpC,sCAAmC;AACnC,sCAAmC;AACnC,sCAAmC;AACnC,oCAAiC;AACjC,mCAAgC;AAChC,mCAAgC;AAEhC,OAAO,EAAE,YAAY,EAAE,0BAAuB;AAE9C,cAAc,CAAC,MAAM,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,CAAC","sourcesContent":["import '../../internal/InternalAsyncResourceLinkListControl/index';\nimport '../../internal/InternalBulkAddActionControl/index';\nimport '../../internal/InternalEditableListControl/index';\nimport '../../internal/InternalAsyncListControl/index';\nimport '../../internal/InternalFrequencyControl/index';\nimport '../../internal/InternalSummaryControl/index';\nimport '../../internal/InternalSelectControl/index';\nimport '../../internal/InternalSwitchControl/index';\nimport '../../internal/InternalNumberControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../GenerateCodesForm/index';\nimport '../GiftCardCodesForm/index';\nimport '../ItemCategoryCard/index';\nimport '../GiftCardCodeCard/index';\nimport '../GiftCardCodeForm/index';\nimport '../NucleonElement/index';\nimport '../AttributeCard/index';\nimport '../AttributeForm/index';\n\nimport { GiftCardForm } from './GiftCardForm';\n\ncustomElements.define('foxy-gift-card-form', GiftCardForm);\n\nexport { GiftCardForm };\n"]}
@@ -20,12 +20,18 @@ export class ItemOptionForm extends TranslatableMixin(InternalForm, 'item-option
20
20
  return html `
21
21
  ${this.renderHeader()}
22
22
 
23
- <div class="grid grid-cols-2 gap-m">
24
- <foxy-internal-text-control infer="name" class="col-span-2"></foxy-internal-text-control>
25
- <foxy-internal-text-control infer="value" class="col-span-2"></foxy-internal-text-control>
26
- <foxy-internal-number-control infer="price-mod"></foxy-internal-number-control>
27
- <foxy-internal-number-control infer="weight-mod"></foxy-internal-number-control>
28
- </div>
23
+ <foxy-internal-summary-control infer="general">
24
+ <foxy-internal-text-control layout="summary-item" infer="name"></foxy-internal-text-control>
25
+ <foxy-internal-text-control layout="summary-item" infer="value">
26
+ </foxy-internal-text-control>
27
+ </foxy-internal-summary-control>
28
+
29
+ <foxy-internal-summary-control infer="mods">
30
+ <foxy-internal-number-control layout="summary-item" infer="price-mod">
31
+ </foxy-internal-number-control>
32
+ <foxy-internal-number-control layout="summary-item" infer="weight-mod">
33
+ </foxy-internal-number-control>
34
+ </foxy-internal-summary-control>
29
35
 
30
36
  ${super.renderBody()}
31
37
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"ItemOptionForm.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemOptionForm/ItemOptionForm.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,OAAO,cAAe,SAAQ,iBAAiB,CAAC,YAAY,EAAE,kBAAkB,CAAO;IAC3F,MAAM,KAAK,GAAG;QACZ,OAAO;YACL,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB;YAC3C,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,mBAAmB;YAChE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,oBAAoB;YAC7C,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,oBAAoB;SACpE,CAAC;IACJ,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,YAAY,EAAE;;;;;;;;;QASnB,KAAK,CAAC,UAAU,EAAE;KACrB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { html } from 'lit-html';\n\n/**\n * Form element for creating or editing item options (`fx:item_option`).\n *\n * @element foxy-item-option-form\n * @since 1.17.0\n */\nexport class ItemOptionForm extends TranslatableMixin(InternalForm, 'item-option-form')<Data> {\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => (!!v && v.length <= 100) || 'name:v8n_too_long',\n ({ value: v }) => !!v || 'value:v8n_required',\n ({ value: v }) => (!!v && v.length <= 1024) || 'value:v8n_too_long',\n ];\n }\n\n renderBody(): TemplateResult {\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=\"value\" class=\"col-span-2\"></foxy-internal-text-control>\n <foxy-internal-number-control infer=\"price-mod\"></foxy-internal-number-control>\n <foxy-internal-number-control infer=\"weight-mod\"></foxy-internal-number-control>\n </div>\n\n ${super.renderBody()}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"ItemOptionForm.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemOptionForm/ItemOptionForm.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,OAAO,cAAe,SAAQ,iBAAiB,CAAC,YAAY,EAAE,kBAAkB,CAAO;IAC3F,MAAM,KAAK,GAAG;QACZ,OAAO;YACL,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB;YAC3C,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,mBAAmB;YAChE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,oBAAoB;YAC7C,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,oBAAoB;SACpE,CAAC;IACJ,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,YAAY,EAAE;;;;;;;;;;;;;;;QAenB,KAAK,CAAC,UAAU,EAAE;KACrB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { html } from 'lit-html';\n\n/**\n * Form element for creating or editing item options (`fx:item_option`).\n *\n * @element foxy-item-option-form\n * @since 1.17.0\n */\nexport class ItemOptionForm extends TranslatableMixin(InternalForm, 'item-option-form')<Data> {\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => (!!v && v.length <= 100) || 'name:v8n_too_long',\n ({ value: v }) => !!v || 'value:v8n_required',\n ({ value: v }) => (!!v && v.length <= 1024) || 'value:v8n_too_long',\n ];\n }\n\n renderBody(): TemplateResult {\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"general\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"name\"></foxy-internal-text-control>\n <foxy-internal-text-control layout=\"summary-item\" infer=\"value\">\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"mods\">\n <foxy-internal-number-control layout=\"summary-item\" infer=\"price-mod\">\n </foxy-internal-number-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"weight-mod\">\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n\n ${super.renderBody()}\n `;\n }\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import '../../internal/InternalSummaryControl/index';
1
2
  import '../../internal/InternalNumberControl/index';
2
3
  import '../../internal/InternalTextControl/index';
3
4
  import '../../internal/InternalForm/index';
@@ -1,3 +1,4 @@
1
+ import "../../internal/InternalSummaryControl/index.js";
1
2
  import "../../internal/InternalNumberControl/index.js";
2
3
  import "../../internal/InternalTextControl/index.js";
3
4
  import "../../internal/InternalForm/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemOptionForm/index.ts"],"names":[],"mappings":"AAAA,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,OAAO,EAAE,cAAc,EAAE,4BAAyB;AAElD,cAAc,CAAC,MAAM,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,CAAC","sourcesContent":["import '../../internal/InternalNumberControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport { ItemOptionForm } from './ItemOptionForm';\n\ncustomElements.define('foxy-item-option-form', ItemOptionForm);\n\nexport { ItemOptionForm };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemOptionForm/index.ts"],"names":[],"mappings":"AAAA,wDAAqD;AACrD,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,OAAO,EAAE,cAAc,EAAE,4BAAyB;AAElD,cAAc,CAAC,MAAM,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,CAAC","sourcesContent":["import '../../internal/InternalSummaryControl/index';\nimport '../../internal/InternalNumberControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport { ItemOptionForm } from './ItemOptionForm';\n\ncustomElements.define('foxy-item-option-form', ItemOptionForm);\n\nexport { ItemOptionForm };\n"]}
@@ -362,7 +362,7 @@ export class NucleonElement extends InferrableMixin(LitElement) {
362
362
  if (!state.changed)
363
363
  return;
364
364
  let result = undefined;
365
- if (state.matches('idle')) {
365
+ if (state.matches('idle') && state.context.errors.length === 0) {
366
366
  if ((_a = state.history) === null || _a === void 0 ? void 0 : _a.matches({ busy: 'deleting' })) {
367
367
  result = UpdateResult.ResourceDeleted;
368
368
  }