@foxy.io/elements 1.27.0-beta.4 → 1.27.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 (287) 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-api-browser.js +1 -1
  6. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  8. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  9. package/dist/cdn/foxy-attribute-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-form.js +1 -1
  11. package/dist/cdn/foxy-billing-address-card.js +1 -1
  12. package/dist/cdn/foxy-cancellation-form.js +1 -1
  13. package/dist/cdn/foxy-cart-card.js +1 -1
  14. package/dist/cdn/foxy-cart-form.js +1 -1
  15. package/dist/cdn/foxy-client-card.js +1 -1
  16. package/dist/cdn/foxy-client-form.js +1 -1
  17. package/dist/cdn/foxy-collection-page.js +1 -1
  18. package/dist/cdn/foxy-collection-pages.js +1 -1
  19. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  20. package/dist/cdn/foxy-coupon-card.js +1 -1
  21. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  22. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  23. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  24. package/dist/cdn/foxy-coupon-form.js +1 -1
  25. package/dist/cdn/foxy-custom-field-card.js +1 -1
  26. package/dist/cdn/foxy-custom-field-form.js +1 -1
  27. package/dist/cdn/foxy-customer-api.js +1 -1
  28. package/dist/cdn/foxy-customer-card.js +1 -1
  29. package/dist/cdn/foxy-customer-form.js +1 -1
  30. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -0
  31. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  32. package/dist/cdn/foxy-customer-portal.js +2 -2
  33. package/dist/cdn/foxy-customer.js +4 -4
  34. package/dist/cdn/foxy-customers-table.js +1 -1
  35. package/dist/cdn/foxy-discount-builder.js +1 -1
  36. package/dist/cdn/foxy-discount-card.js +1 -1
  37. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  38. package/dist/cdn/foxy-donation.js +1 -1
  39. package/dist/cdn/foxy-downloadable-card.js +1 -1
  40. package/dist/cdn/foxy-downloadable-form.js +7 -7
  41. package/dist/cdn/foxy-email-template-card.js +1 -1
  42. package/dist/cdn/foxy-email-template-form.js +1 -1
  43. package/dist/cdn/foxy-error-entry-card.js +1 -1
  44. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  45. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  46. package/dist/cdn/foxy-form-dialog.js +1 -1
  47. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  48. package/dist/cdn/foxy-gift-card-card.js +1 -1
  49. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  50. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  51. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  52. package/dist/cdn/foxy-gift-card-form.js +1 -1
  53. package/dist/cdn/foxy-i18n-editor.js +2 -2
  54. package/dist/cdn/foxy-i18n.js +1 -1
  55. package/dist/cdn/foxy-integration-card.js +1 -1
  56. package/dist/cdn/foxy-integration-form.js +1 -1
  57. package/dist/cdn/foxy-item-card.js +1 -1
  58. package/dist/cdn/foxy-item-category-card.js +1 -1
  59. package/dist/cdn/foxy-item-category-form.js +1 -1
  60. package/dist/cdn/foxy-item-form.js +1 -1
  61. package/dist/cdn/foxy-item-option-card.js +1 -1
  62. package/dist/cdn/foxy-item-option-form.js +1 -1
  63. package/dist/cdn/foxy-items-form.js +1 -1
  64. package/dist/cdn/foxy-native-integration-card.js +1 -1
  65. package/dist/cdn/foxy-native-integration-form.js +1 -1
  66. package/dist/cdn/foxy-nucleon-element.js +1 -1
  67. package/dist/cdn/foxy-pagination.js +1 -1
  68. package/dist/cdn/foxy-passkey-card.js +1 -1
  69. package/dist/cdn/foxy-passkey-form.js +1 -1
  70. package/dist/cdn/foxy-payment-card.js +1 -1
  71. package/dist/cdn/foxy-payment-method-card.js +1 -1
  72. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  73. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  74. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  75. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  76. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  77. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  78. package/dist/cdn/foxy-payments-api.js +1 -1
  79. package/dist/cdn/foxy-query-builder.js +1 -1
  80. package/dist/cdn/foxy-report-form.js +1 -1
  81. package/dist/cdn/foxy-reports-table.js +1 -1
  82. package/dist/cdn/foxy-shipment-card.js +1 -1
  83. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  84. package/dist/cdn/foxy-sign-in-form.js +1 -1
  85. package/dist/cdn/foxy-spinner.js +2 -2
  86. package/dist/cdn/foxy-store-card.js +1 -1
  87. package/dist/cdn/foxy-store-form.js +1 -1
  88. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  89. package/dist/cdn/foxy-subscription-card.js +1 -1
  90. package/dist/cdn/foxy-subscription-form.js +1 -1
  91. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  92. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  93. package/dist/cdn/foxy-table.js +1 -1
  94. package/dist/cdn/foxy-tax-card.js +1 -1
  95. package/dist/cdn/foxy-tax-form.js +1 -1
  96. package/dist/cdn/foxy-template-config-form.js +1 -1
  97. package/dist/cdn/foxy-template-form.js +1 -1
  98. package/dist/cdn/foxy-template-set-card.js +1 -1
  99. package/dist/cdn/foxy-template-set-form.js +1 -1
  100. package/dist/cdn/foxy-transaction-card.js +1 -1
  101. package/dist/cdn/foxy-transaction.js +1 -1
  102. package/dist/cdn/foxy-transactions-table.js +1 -1
  103. package/dist/cdn/foxy-user-card.js +1 -1
  104. package/dist/cdn/foxy-user-form.js +1 -1
  105. package/dist/cdn/foxy-users-table.js +1 -1
  106. package/dist/cdn/foxy-webhook-card.js +1 -1
  107. package/dist/cdn/foxy-webhook-form.js +1 -1
  108. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  109. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  110. package/dist/cdn/{shared-fd0a4026.js → shared-039de1fd.js} +1 -1
  111. package/dist/cdn/{shared-f1e743df.js → shared-03ccfd62.js} +1 -1
  112. package/dist/cdn/{shared-5ba87b6d.js → shared-0e5ea9cf.js} +1 -1
  113. package/dist/cdn/shared-0f49d9c3.js +1 -0
  114. package/dist/cdn/shared-11014aad.js +15 -0
  115. package/dist/cdn/{shared-febda61c.js → shared-1122a125.js} +1 -1
  116. package/dist/cdn/shared-18d109f5.js +1 -0
  117. package/dist/cdn/{shared-d9f65ee0.js → shared-1b0992cc.js} +5 -5
  118. package/dist/cdn/{shared-8b80db13.js → shared-1d257548.js} +1 -1
  119. package/dist/cdn/{shared-655e7c5f.js → shared-205721a3.js} +1 -1
  120. package/dist/cdn/{shared-f0269599.js → shared-20c4310b.js} +1 -1
  121. package/dist/cdn/{shared-c6707264.js → shared-20f65e73.js} +1 -1
  122. package/dist/cdn/shared-250e652f.js +1 -0
  123. package/dist/cdn/shared-27c7514d.js +1 -0
  124. package/dist/cdn/{shared-f94fa366.js → shared-2c70f0b6.js} +1 -1
  125. package/dist/cdn/{shared-150f5214.js → shared-3277bbf5.js} +1 -1
  126. package/dist/cdn/{shared-405a290e.js → shared-3cbcd9cb.js} +1 -1
  127. package/dist/cdn/{shared-f588b5c2.js → shared-4329ffa1.js} +1 -1
  128. package/dist/cdn/{shared-ae459232.js → shared-46454866.js} +1 -1
  129. package/dist/cdn/{shared-cfed658c.js → shared-4877ed05.js} +2 -2
  130. package/dist/cdn/{shared-bf695fe7.js → shared-48b76c74.js} +1 -1
  131. package/dist/cdn/shared-4fb9d21f.js +1 -0
  132. package/dist/cdn/{shared-30cbf0a6.js → shared-4fd17baf.js} +1 -1
  133. package/dist/cdn/{shared-d7892f27.js → shared-51ac503d.js} +1 -1
  134. package/dist/cdn/{shared-331a223c.js → shared-56addb06.js} +2 -2
  135. package/dist/cdn/{shared-e4543605.js → shared-59a5edee.js} +1 -1
  136. package/dist/cdn/{shared-a3c5a30c.js → shared-5c542149.js} +1 -1
  137. package/dist/cdn/{shared-44d207fb.js → shared-6350f7d9.js} +1 -1
  138. package/dist/cdn/{shared-f5d4dda0.js → shared-669decee.js} +1 -1
  139. package/dist/cdn/{shared-8ab2ba91.js → shared-6a998243.js} +1 -1
  140. package/dist/cdn/{shared-9f570db0.js → shared-6af480b8.js} +1 -1
  141. package/dist/cdn/{shared-5df32007.js → shared-6be0a096.js} +1 -1
  142. package/dist/cdn/{shared-4482e7b9.js → shared-6e977271.js} +1 -1
  143. package/dist/cdn/{shared-9de9f905.js → shared-6ef4ce19.js} +1 -1
  144. package/dist/cdn/{shared-6ed07856.js → shared-724e9a20.js} +1 -1
  145. package/dist/cdn/{shared-e40937c5.js → shared-7e201abd.js} +1 -1
  146. package/dist/cdn/shared-7ff496f6.js +1 -0
  147. package/dist/cdn/{shared-97d63da6.js → shared-82435697.js} +1 -1
  148. package/dist/cdn/{shared-db98729a.js → shared-845f8bf1.js} +1 -1
  149. package/dist/cdn/{shared-0cbb19f4.js → shared-872151f5.js} +1 -1
  150. package/dist/cdn/{shared-d244dd07.js → shared-8778d784.js} +1 -1
  151. package/dist/cdn/{shared-83fc5dca.js → shared-89b42eef.js} +1 -1
  152. package/dist/cdn/shared-8a04bea3.js +1 -0
  153. package/dist/cdn/{shared-597737ce.js → shared-8cd0f36d.js} +1 -1
  154. package/dist/cdn/{shared-a19e1dff.js → shared-8dd03329.js} +1 -1
  155. package/dist/cdn/{shared-030f561a.js → shared-92cdd504.js} +1 -1
  156. package/dist/cdn/{shared-37e1a834.js → shared-931db653.js} +1 -1
  157. package/dist/cdn/{shared-882e7191.js → shared-97793410.js} +1 -1
  158. package/dist/cdn/{shared-2376abfc.js → shared-9db9528b.js} +1 -1
  159. package/dist/cdn/{shared-44bb85d8.js → shared-a0cbfb2f.js} +1 -1
  160. package/dist/cdn/{shared-65283d36.js → shared-a73e7be4.js} +1 -1
  161. package/dist/cdn/{shared-12390d6f.js → shared-abf72e2f.js} +1 -1
  162. package/dist/cdn/{shared-9adc47da.js → shared-afefe2ac.js} +1 -1
  163. package/dist/cdn/shared-b33fd700.js +1 -0
  164. package/dist/cdn/{shared-12ad8924.js → shared-b51b9df7.js} +1 -1
  165. package/dist/cdn/{shared-293771ba.js → shared-b81aa01c.js} +1 -1
  166. package/dist/cdn/{shared-6e9adc43.js → shared-b914895b.js} +1 -1
  167. package/dist/cdn/{shared-cd8c3429.js → shared-bc95d87e.js} +1 -1
  168. package/dist/cdn/{shared-2062c274.js → shared-bf132324.js} +1 -1
  169. package/dist/cdn/shared-bfeff3bb.js +1 -0
  170. package/dist/cdn/shared-cce18690.js +1 -0
  171. package/dist/cdn/{shared-3f19b914.js → shared-d04dd602.js} +3 -3
  172. package/dist/cdn/{shared-2920b595.js → shared-d15c3e2d.js} +1 -1
  173. package/dist/cdn/{shared-99f0fee6.js → shared-d4322854.js} +1 -1
  174. package/dist/cdn/{shared-250a399a.js → shared-dccfe5e7.js} +1 -1
  175. package/dist/cdn/{shared-966feb65.js → shared-df58b901.js} +1 -1
  176. package/dist/cdn/shared-e07b24ca.js +1 -0
  177. package/dist/cdn/{shared-7ea4cb27.js → shared-e4e0dc11.js} +1 -1
  178. package/dist/cdn/{shared-a9f76cae.js → shared-e52280d9.js} +1 -1
  179. package/dist/cdn/{shared-26f4b6bf.js → shared-f03dacf5.js} +1 -1
  180. package/dist/cdn/{shared-7039733e.js → shared-f2a8fb36.js} +1 -1
  181. package/dist/cdn/{shared-a5ecd56e.js → shared-f7a5b12a.js} +1 -1
  182. package/dist/cdn/shared-fcaf15e5.js +1 -0
  183. package/dist/cdn/translations/customer-portal-settings-form/en.json +300 -0
  184. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +18 -0
  185. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  186. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.d.ts +6 -2
  187. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +165 -27
  188. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -1
  189. package/dist/elements/internal/InternalEditableListControl/types.d.ts +5 -0
  190. package/dist/elements/internal/InternalEditableListControl/types.js.map +1 -1
  191. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.d.ts +1 -0
  192. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +4 -1
  193. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
  194. package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.d.ts +4 -0
  195. package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js +4 -1
  196. package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js.map +1 -1
  197. package/dist/elements/internal/InternalPasswordControl/generateRandomPassword.d.ts +4 -1
  198. package/dist/elements/internal/InternalPasswordControl/generateRandomPassword.js +5 -3
  199. package/dist/elements/internal/InternalPasswordControl/generateRandomPassword.js.map +1 -1
  200. package/dist/elements/public/CollectionPage/CollectionPage.js +2 -0
  201. package/dist/elements/public/CollectionPage/CollectionPage.js.map +1 -1
  202. package/dist/elements/public/CollectionPage/types.d.ts +1 -0
  203. package/dist/elements/public/CollectionPage/types.js.map +1 -1
  204. package/dist/elements/public/CustomerPortalSettings/CustomerPortalSettings.d.ts +1 -0
  205. package/dist/elements/public/CustomerPortalSettings/CustomerPortalSettings.js +1 -0
  206. package/dist/elements/public/CustomerPortalSettings/CustomerPortalSettings.js.map +1 -1
  207. package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.d.ts +36 -0
  208. package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js +287 -0
  209. package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js.map +1 -0
  210. package/dist/elements/public/CustomerPortalSettingsForm/index.d.ts +12 -0
  211. package/dist/elements/public/CustomerPortalSettingsForm/index.js +14 -0
  212. package/dist/elements/public/CustomerPortalSettingsForm/index.js.map +1 -0
  213. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard.d.ts +10 -0
  214. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard.js +40 -0
  215. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard.js.map +1 -0
  216. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/index.d.ts +4 -0
  217. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/index.js +6 -0
  218. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/index.js.map +1 -0
  219. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/types.d.ts +10 -0
  220. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/types.js +2 -0
  221. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/types.js.map +1 -0
  222. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm.d.ts +17 -0
  223. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm.js +62 -0
  224. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm.js.map +1 -0
  225. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/index.d.ts +5 -0
  226. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/index.js +7 -0
  227. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/index.js.map +1 -0
  228. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/types.d.ts +10 -0
  229. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/types.js +2 -0
  230. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/types.js.map +1 -0
  231. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard.d.ts +10 -0
  232. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard.js +49 -0
  233. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard.js.map +1 -0
  234. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/index.d.ts +4 -0
  235. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/index.js +6 -0
  236. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/index.js.map +1 -0
  237. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/types.d.ts +12 -0
  238. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/types.js +2 -0
  239. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/types.js.map +1 -0
  240. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm.d.ts +29 -0
  241. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm.js +165 -0
  242. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm.js.map +1 -0
  243. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/index.d.ts +8 -0
  244. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/index.js +10 -0
  245. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/index.js.map +1 -0
  246. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/types.d.ts +13 -0
  247. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/types.js +2 -0
  248. package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/types.js.map +1 -0
  249. package/dist/elements/public/CustomerPortalSettingsForm/isOrigin.d.ts +1 -0
  250. package/dist/elements/public/CustomerPortalSettingsForm/isOrigin.js +9 -0
  251. package/dist/elements/public/CustomerPortalSettingsForm/isOrigin.js.map +1 -0
  252. package/dist/elements/public/CustomerPortalSettingsForm/types.d.ts +3 -0
  253. package/dist/elements/public/CustomerPortalSettingsForm/types.js +2 -0
  254. package/dist/elements/public/CustomerPortalSettingsForm/types.js.map +1 -0
  255. package/dist/elements/public/NucleonElement/NucleonElement.d.ts +10 -0
  256. package/dist/elements/public/NucleonElement/NucleonElement.js +33 -9
  257. package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
  258. package/dist/elements/public/NucleonElement/internalServer.d.ts +2 -0
  259. package/dist/elements/public/NucleonElement/internalServer.js +95 -0
  260. package/dist/elements/public/NucleonElement/internalServer.js.map +1 -0
  261. package/dist/elements/public/index.d.ts +1 -0
  262. package/dist/elements/public/index.defined.d.ts +1 -0
  263. package/dist/elements/public/index.defined.js +1 -0
  264. package/dist/elements/public/index.defined.js.map +1 -1
  265. package/dist/elements/public/index.js +1 -0
  266. package/dist/elements/public/index.js.map +1 -1
  267. package/dist/events/request.d.ts +1 -0
  268. package/dist/events/request.js +1 -0
  269. package/dist/events/request.js.map +1 -1
  270. package/dist/mixins/themeable.js +16 -0
  271. package/dist/mixins/themeable.js.map +1 -1
  272. package/package.json +1 -1
  273. package/dist/cdn/shared-0037b9e6.js +0 -1
  274. package/dist/cdn/shared-07e9d1fb.js +0 -1
  275. package/dist/cdn/shared-1024766f.js +0 -1
  276. package/dist/cdn/shared-1522d76f.js +0 -15
  277. package/dist/cdn/shared-33d8cbfb.js +0 -1
  278. package/dist/cdn/shared-3d251e6f.js +0 -1
  279. package/dist/cdn/shared-510a9e1b.js +0 -1
  280. package/dist/cdn/shared-5c0e3fee.js +0 -1
  281. package/dist/cdn/shared-6d41c9a9.js +0 -1
  282. package/dist/cdn/shared-a0435ec6.js +0 -1
  283. package/dist/cdn/shared-c0c7225c.js +0 -1
  284. package/dist/cdn/shared-d0374d0c.js +0 -1
  285. package/dist/cdn/shared-db306674.js +0 -1
  286. package/dist/cdn/shared-eb116b3e.js +0 -1
  287. package/dist/cdn/shared-ff18b2d1.js +0 -1
@@ -61,6 +61,16 @@ export declare class NucleonElement<TData extends HALJSONResource> extends Nucle
61
61
  * resource on creation or deletion, it will be reloaded from source.
62
62
  */
63
63
  related: string[];
64
+ /**
65
+ * Unique identifier for the virtual host used by the element to serve internal requests.
66
+ *
67
+ * Currently only one endpoint is supported: `foxy://<virtualHost>/form/<path>`.
68
+ * This endpoint supports POST, GET, PATCH and DELETE methods and functions like a hAPI server.
69
+ *
70
+ * For example, `GET foxy://nucleon-123/form/subscriptions/allowNextDateModification/0` on a NucleonElement
71
+ * with `fx:customer_portal_settings` will return the first item of the `subscriptions.allowNextDateModification` array.
72
+ */
73
+ virtualHost: string | null;
64
74
  private __hrefToLoad;
65
75
  private __group;
66
76
  private __unsubscribeFromRumour;
@@ -7,6 +7,8 @@ import { UpdateEvent, UpdateResult } from "./UpdateEvent.js";
7
7
  import memoize from 'lodash-es/memoize';
8
8
  import { serveFromCache } from "./serveFromCache.js";
9
9
  import { InferrableMixin } from "../../../mixins/inferrable.js";
10
+ import { internalServer } from "./internalServer.js";
11
+ import { uniqueId } from 'lodash-es';
10
12
  /**
11
13
  * Base class for custom elements working with remote HAL+JSON resources.
12
14
  *
@@ -34,6 +36,16 @@ export class NucleonElement extends InferrableMixin(LitElement) {
34
36
  * resource on creation or deletion, it will be reloaded from source.
35
37
  */
36
38
  this.related = [];
39
+ /**
40
+ * Unique identifier for the virtual host used by the element to serve internal requests.
41
+ *
42
+ * Currently only one endpoint is supported: `foxy://<virtualHost>/form/<path>`.
43
+ * This endpoint supports POST, GET, PATCH and DELETE methods and functions like a hAPI server.
44
+ *
45
+ * For example, `GET foxy://nucleon-123/form/subscriptions/allowNextDateModification/0` on a NucleonElement
46
+ * with `fx:customer_portal_settings` will return the first item of the `subscriptions.allowNextDateModification` array.
47
+ */
48
+ this.virtualHost = uniqueId('nucleon-');
37
49
  this.__hrefToLoad = null;
38
50
  this.__group = '';
39
51
  this.__unsubscribeFromRumour = null;
@@ -67,6 +79,7 @@ export class NucleonElement extends InferrableMixin(LitElement) {
67
79
  static get properties() {
68
80
  return {
69
81
  __state: { type: String, reflect: true, attribute: 'state' },
82
+ virtualHost: { attribute: 'virtual-host' },
70
83
  related: { type: Array },
71
84
  parent: { type: String },
72
85
  group: { type: String, noAccessor: true },
@@ -395,7 +408,7 @@ export class NucleonElement extends InferrableMixin(LitElement) {
395
408
  }
396
409
  catch (err) {
397
410
  if (err instanceof Rumour.UpdateError) {
398
- this.__service.send({ type: 'REFRESH' });
411
+ setTimeout(() => this.refresh());
399
412
  }
400
413
  else {
401
414
  throw err;
@@ -406,6 +419,9 @@ export class NucleonElement extends InferrableMixin(LitElement) {
406
419
  const api = new NucleonElement.API(this);
407
420
  this.__fetchEventQueue.forEach(event => {
408
421
  const request = event.request;
422
+ if (this.virtualHost && request.url.startsWith(`foxy://${this.virtualHost}/form/`)) {
423
+ return event.respondWith(internalServer(request, this));
424
+ }
409
425
  const cacheResponse = serveFromCache(request.url, this.data);
410
426
  const whenResponseReady = cacheResponse.ok ? cacheResponse : api.fetch(request);
411
427
  event.respondWith(Promise.resolve(whenResponseReady));
@@ -426,16 +442,24 @@ export class NucleonElement extends InferrableMixin(LitElement) {
426
442
  return;
427
443
  if (event.defaultPrevented)
428
444
  return;
429
- if (event.request.method !== 'GET')
430
- return;
431
- if (event.request.url.startsWith('foxy://'))
432
- return;
433
445
  if (event.composedPath()[0] === this)
434
446
  return;
435
- event.preventDefault();
436
- this.__fetchEventQueue.push(event);
437
- if (!this.__service.state.matches('busy'))
438
- this.__processFetchEventQueue();
447
+ const { url, method } = event.request;
448
+ if (url.startsWith('foxy://')) {
449
+ if (this.virtualHost && url.startsWith(`foxy://${this.virtualHost}/form/`)) {
450
+ if (method !== 'GET')
451
+ return event.respondWith(internalServer(event.request, this));
452
+ }
453
+ else {
454
+ return;
455
+ }
456
+ }
457
+ if (method === 'GET') {
458
+ event.preventDefault();
459
+ this.__fetchEventQueue.push(event);
460
+ if (!this.__service.state.matches('busy'))
461
+ this.__processFetchEventQueue();
462
+ }
439
463
  }
440
464
  }
441
465
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"NucleonElement.js","sourceRoot":"","sources":["../../../../src/elements/public/NucleonElement/NucleonElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComputedElementProperties, HALJSONResource, NucleonMachine, NucleonV8N } from './types';\nimport { html, LitElement, PropertyDeclarations, TemplateResult } from 'lit-element';\nimport { Nucleon, Rumour } from '@foxy.io/sdk/core';\nimport { assign, interpret } from 'xstate';\n\nimport { API } from './API';\nimport { FetchEvent } from './FetchEvent';\nimport { UpdateEvent, UpdateResult } from './UpdateEvent';\nimport memoize from 'lodash-es/memoize';\nimport { serveFromCache } from './serveFromCache';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\n/**\n * Base class for custom elements working with remote HAL+JSON resources.\n *\n * @fires NucleonElement#update - Instance of `NucleonElement.UpdateEvent`. Dispatched on an element whenever it changes its state.\n * @fires NucleonElement#fetch - Instance of `NucleonElement.API.FetchEvent`. Emitted before each API request.\n *\n * @element foxy-nucleon\n * @since 1.1.0\n */\nexport class NucleonElement<TData extends HALJSONResource> extends InferrableMixin(LitElement) {\n /**\n * Instances of this event are dispatched on an element whenever it changes its\n * state (e.g. when going from `busy` to `idle` or on `form` data change).\n * This event isn't cancelable, and it does not bubble.\n * @readonly\n */\n static readonly UpdateEvent = UpdateEvent;\n\n /**\n * Creates a tagged [Rumour](https://sdk.foxy.dev/classes/_core_index_.rumour.html)\n * instance if it doesn't exist or returns cached one otherwise. NucleonElements\n * use empty Rumour group by default.\n * @readonly\n */\n static readonly Rumour = memoize<(group: string) => Rumour>(() => new Rumour());\n\n /**\n * Universal [API](https://sdk.foxy.dev/classes/_core_index_.api.html) client\n * that dispatches cancellable `FetchEvent` on an element before each request.\n * @readonly\n */\n static readonly API = API;\n\n static get inferredProperties(): string[] {\n return [...super.inferredProperties, 'group', 'lang'];\n }\n\n /** @readonly */\n static get properties(): PropertyDeclarations {\n return {\n __state: { type: String, reflect: true, attribute: 'state' },\n related: { type: Array },\n parent: { type: String },\n group: { type: String, noAccessor: true },\n href: { type: String, noAccessor: true },\n lang: { type: String },\n };\n }\n\n /**\n * Array of validation functions. Each function accepts `element.form` and must return\n * either an error code string if form data fails the check or `true` otherwise.\n * Error codes are collected in `element.errors`. Empty by default.\n */\n static get v8n(): NucleonV8N<any, any> {\n return [];\n }\n\n /**\n * Optional ISO 639-1 code describing the language element content is written in.\n * Changing the `lang` attribute will update the value of this property.\n */\n lang = '';\n\n /**\n * Optional URL of the collection this element's resource belongs to.\n * Changing the `parent` attribute will update the value of this property.\n */\n parent = '';\n\n /**\n * Optional URI list of the related resources. If Rumour encounters a related\n * resource on creation or deletion, it will be reloaded from source.\n */\n related: string[] = [];\n\n private __hrefToLoad: string | null = null;\n\n private __group = '';\n\n private __unsubscribeFromRumour: (() => void) | null = null;\n\n private __fetchEventHandler!: (evt: Event) => void;\n\n private __fetchEventQueue: FetchEvent[] = [];\n\n private readonly __service = interpret(\n (Nucleon.machine as NucleonMachine<TData>).withConfig({\n services: {\n sendDelete: () => this._sendDelete(),\n sendPatch: ({ edits }) => this._sendPatch(edits!),\n sendPost: ({ edits }) => this._sendPost(edits!),\n sendGet: () => this._sendGet(),\n },\n\n actions: {\n validate: assign<Nucleon.Context<TData, string>, Nucleon.Event<TData>>({\n errors: context => {\n const rules = (this.constructor as typeof NucleonElement).v8n;\n const form = { ...context.data, ...context.edits };\n\n return rules\n .map(validate => validate(form, this))\n .filter(v8nResult => typeof v8nResult === 'string')\n .filter((err, errIndex, errs) => errs.indexOf(err) === errIndex) as string[];\n },\n }),\n },\n })\n );\n\n constructor() {\n super();\n this.__createService();\n }\n\n /**\n * If network request returns non-2XX code, the entire error response\n * will be available via this getter.\n *\n * This property is readonly. Changing failure records via this property is\n * not guaranteed to work. NucleonElement does not provide a way to override error status.\n *\n * @since 1.4.0\n */\n get failure(): Response | null {\n return this.__service.state.context.failure;\n }\n\n /**\n * Array of validation errors returned from `NucleonElement.v8n` checks.\n *\n * This property is readonly. Adding or removing error codes via this property is\n * not guaranteed to work. NucleonElement does not provide a way to override validity status.\n */\n get errors(): string[] {\n return this.__service.state.context.errors;\n }\n\n /**\n * Resource snapshot with edits applied. Empty object if unavailable.\n *\n * This property and its value are readonly. Assignments like `element.data.foo = 'bar'`\n * are not guaranteed to work. Please use `element.edit({ foo: 'bar' })` instead.\n * If you need to replace the entire data object, consider using `element.data`.\n */\n get form(): Partial<TData> {\n const { data, edits } = this.__service.state.context;\n return { ...data, ...edits } as Partial<TData>;\n }\n\n /**\n * Resource snapshot as-is, no edits applied. Null if unavailable.\n *\n * Returned value is not reactive. Assignments like `element.data.foo = 'bar'`\n * are not guaranteed to work. Please set the property instead: `element.data = { ...element.data, foo: 'bar' }`.\n * If you're processing user input, consider using `element.form` and `element.edit()` instead.\n */\n get data(): TData | null {\n return this.__service.state.context.data;\n }\n\n set data(data: TData | null) {\n this.__destroyRumour();\n this.__hrefToLoad = null;\n this.__service.send({ type: 'SET_DATA', data });\n if (data) this.__createRumour();\n }\n\n /**\n * Rumour group. Elements in different groups will not share updates. Empty by default.\n * @example element.group = 'my-group'\n */\n get group(): string {\n return this.__group;\n }\n\n set group(value: string) {\n this.__group = value;\n this.__destroyRumour();\n this.__createRumour();\n }\n\n /**\n * Optional URL of the resource to load. Switches element to `idle.template` state if empty (default).\n * @example element.href = 'https://demo.foxycart.com/s/customer/attributes/0'\n */\n get href(): string {\n return this.form._links?.self.href ?? this.__hrefToLoad ?? '';\n }\n\n set href(value: string) {\n this.__hrefToLoad = value;\n\n if (value) {\n this.__service.send({ type: 'FETCH' });\n } else {\n this.data = null;\n }\n }\n\n /**\n * Checks if this element is in the given state.\n * @example element.in({ idle: 'snapshot' })\n */\n in<TStateValue extends Nucleon.State<TData, string>['value']>(\n stateValue: TStateValue\n ): this is this & ComputedElementProperties<TData, TStateValue> {\n return this.__service.state.matches(stateValue);\n }\n\n /**\n * Clears all edits and emits the `update` event.\n * @example element.undo()\n */\n undo(): void {\n this.__service.send({ type: 'UNDO' });\n }\n\n /**\n * Applies an edit to the local resource snapshot or its template and emits the `update` event.\n * @example element.edit({ first_name: 'Alex' })\n */\n edit(data: Partial<TData>): void {\n if (typeof data._links?.self.href === 'string') this.__hrefToLoad = null;\n this.__service.send({ type: 'EDIT', data });\n }\n\n /**\n * Submits the form, updating the resource if href isn't empty or creating it otherwise.\n * Emits multiple `update` events as element state changes. Has no effect on invalid forms.\n * @example element.submit()\n */\n submit(): void {\n this.reportValidity();\n this.__service.send({ type: 'SUBMIT' });\n }\n\n checkValidity(): boolean {\n const isTemplateDirtyValid = this.in({ idle: { template: { dirty: 'valid' } } });\n const isSnapshotDirtyValid = this.in({ idle: { snapshot: { dirty: 'valid' } } });\n const isTemplateCleanValid = this.in({ idle: { template: { clean: 'valid' } } });\n const isSnapshotCleanValid = this.in({ idle: { snapshot: { clean: 'valid' } } });\n const isTemplateValid = isTemplateCleanValid || isTemplateDirtyValid;\n const isSnapshotValid = isSnapshotCleanValid || isSnapshotDirtyValid;\n const isValid = isTemplateValid || isSnapshotValid;\n\n return isValid;\n }\n\n reportValidity(): boolean {\n const walker = this.ownerDocument.createTreeWalker(this.renderRoot, NodeFilter.SHOW_ELEMENT);\n\n do {\n type Input = Node & Record<string, () => unknown>;\n\n const node = walker.currentNode as Input;\n const methods = ['reportValidity', 'validate'];\n\n for (const method of methods) {\n if (method in node) {\n try {\n node[method]();\n break;\n } catch {\n continue;\n }\n }\n }\n } while (walker.nextNode());\n\n return this.checkValidity();\n }\n\n /**\n * Sends a DELETE request to `element.href` and clears local data on success.\n * Emits multiple update events as element state changes.\n * @example element.delete()\n */\n delete(): void {\n this.__service.send({ type: 'DELETE' });\n }\n\n /**\n * Fetches data from `element.href` in background, keeping the edits and v8n errors.\n * @example element.refresh()\n */\n refresh(): void {\n this.__service.send({ type: 'REFRESH' });\n }\n\n render(): TemplateResult {\n return html`<slot></slot>`;\n }\n\n /** @readonly */\n connectedCallback(): void {\n super.connectedCallback();\n if (this.href && !this.data) this.__service.send({ type: 'FETCH' });\n\n this.__createRumour();\n this.__createServer();\n this.__processFetchEventQueue();\n\n this.dispatchEvent(new UpdateEvent());\n }\n\n /** @readonly */\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.__destroyRumour();\n this.__destroyServer();\n this.__flushFetchEventQueue('parent element was disconnected');\n\n this.dispatchEvent(new UpdateEvent());\n }\n\n applyInferredProperties(context: Map<string, unknown>): void {\n super.applyInferredProperties(context);\n\n if (this.infer === null) return;\n\n this.group = (context.get('group') as string | undefined) ?? '';\n this.lang = (context.get('lang') as string | undefined) ?? '';\n }\n\n /** Sends API request. Throws an error on non-2XX response. */\n protected async _fetch<TResult = TData>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n const response = await new API(this).fetch(...args);\n if (!response.ok) throw response;\n return response.json();\n }\n\n /** POSTs to `element.parent`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendPost(edits: Partial<TData>): Promise<TData> {\n this.__destroyRumour();\n let data: TData;\n\n try {\n const body = JSON.stringify(edits);\n const postData = await this._fetch(this.parent, { body, method: 'POST' });\n data = await this._fetch(postData._links.self.href);\n\n const rumour = NucleonElement.Rumour(this.group);\n const related = [...this.related, this.parent];\n rumour.share({ data, related, source: data._links.self.href });\n } finally {\n this.__createRumour();\n }\n\n return data;\n }\n\n /** GETs `element.href`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendGet(): Promise<TData> {\n this.__destroyRumour();\n let data: TData;\n\n try {\n data = await this._fetch(this.href);\n NucleonElement.Rumour(this.group).share({ data, source: this.href });\n } finally {\n this.__createRumour();\n }\n\n return data;\n }\n\n /** PATCHes `element.href`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendPatch(edits: Partial<TData>): Promise<TData> {\n this.__destroyRumour();\n let data: TData;\n\n try {\n const body = JSON.stringify(edits);\n data = await this._fetch(this.href, { body, method: 'PATCH' });\n\n const rumour = NucleonElement.Rumour(this.group);\n rumour.share({ data, source: this.href, related: this.related });\n } finally {\n this.__createRumour();\n }\n\n return data;\n }\n\n /** DELETEs `element.href`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendDelete(): Promise<null> {\n this.__destroyRumour();\n\n try {\n await this._fetch(this.href, { method: 'DELETE' });\n\n const rumour = NucleonElement.Rumour(this.group);\n const related = [...this.related, this.parent];\n rumour.share({ data: null, source: this.href, related });\n } finally {\n this.__createRumour();\n }\n\n return null;\n }\n\n // this getter is used by LitElement to set the \"state\" attribute\n private get __state(): string {\n const state = this.__service.state;\n const flags = state.toStrings().reduce((p, c) => [...p, ...c.split('.')], [] as string[]);\n return [...new Set(flags)].join(' ');\n }\n\n private __createService() {\n this.__service.onTransition(state => {\n if (!state.changed) return;\n\n let result: UpdateResult | undefined = undefined;\n\n if (state.matches('idle')) {\n if (state.history?.matches({ busy: 'deleting' })) {\n result = UpdateResult.ResourceDeleted;\n } else if (state.history?.matches({ busy: 'creating' })) {\n result = UpdateResult.ResourceCreated;\n }\n }\n\n this.requestUpdate();\n this.dispatchEvent(new UpdateEvent('update', { detail: { result } }));\n\n if (!state.matches('busy')) this.__processFetchEventQueue();\n });\n\n this.__service.onChange(() => {\n this.requestUpdate();\n this.dispatchEvent(new UpdateEvent());\n });\n\n this.__service.start();\n }\n\n private __createRumour() {\n const rumour = NucleonElement.Rumour(this.group);\n this.__unsubscribeFromRumour = rumour.track(update => this.__handleRumourUpdate(update));\n }\n\n private __destroyRumour() {\n this.__unsubscribeFromRumour?.();\n this.__unsubscribeFromRumour = null;\n }\n\n private __createServer() {\n this.__fetchEventHandler = this.__handleFetchEvent.bind(this);\n this.addEventListener('fetch', this.__fetchEventHandler);\n }\n\n private __destroyServer() {\n this.removeEventListener('fetch', this.__fetchEventHandler);\n }\n\n private __handleRumourUpdate(update: (oldData: TData) => TData | null) {\n try {\n const oldData = this.__service.state?.context.data;\n const newData = oldData ? update(oldData) : oldData;\n\n if (newData !== oldData) {\n this.data = newData;\n\n if (!newData) {\n const result = UpdateResult.ResourceDeleted;\n const event = new UpdateEvent('update', { detail: { result } });\n this.dispatchEvent(event);\n }\n }\n } catch (err) {\n if (err instanceof Rumour.UpdateError) {\n this.__service.send({ type: 'REFRESH' });\n } else {\n throw err;\n }\n }\n }\n\n private __processFetchEventQueue() {\n const api = new NucleonElement.API(this);\n\n this.__fetchEventQueue.forEach(event => {\n const request = event.request;\n const cacheResponse = serveFromCache(request.url, this.data);\n const whenResponseReady = cacheResponse.ok ? cacheResponse : api.fetch(request);\n\n event.respondWith(Promise.resolve(whenResponseReady));\n\n if (cacheResponse.ok) {\n console.debug(\n `%c@foxy.io/elements::${this.localName}\\n%c200%c GET ${request.url}`,\n 'color: gray',\n `background: gray; padding: 0 .2em; border-radius: .2em; color: white;`,\n ''\n );\n }\n });\n\n this.__fetchEventQueue = [];\n }\n\n private __flushFetchEventQueue(errorMessage: string) {\n this.__fetchEventQueue.forEach(event => {\n event.respondWith(Promise.reject(new Error(errorMessage)));\n });\n\n this.__fetchEventQueue = [];\n }\n\n private __handleFetchEvent(event: Event) {\n if (!(event instanceof FetchEvent)) return;\n if (event.defaultPrevented) return;\n if (event.request.method !== 'GET') return;\n if (event.request.url.startsWith('foxy://')) return;\n if (event.composedPath()[0] === this) return;\n\n event.preventDefault();\n this.__fetchEventQueue.push(event);\n\n if (!this.__service.state.matches('busy')) this.__processFetchEventQueue();\n }\n}\n"]}
1
+ {"version":3,"file":"NucleonElement.js","sourceRoot":"","sources":["../../../../src/elements/public/NucleonElement/NucleonElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComputedElementProperties, HALJSONResource, NucleonMachine, NucleonV8N } from './types';\nimport { html, LitElement, PropertyDeclarations, TemplateResult } from 'lit-element';\nimport { Nucleon, Rumour } from '@foxy.io/sdk/core';\nimport { assign, interpret } from 'xstate';\n\nimport { API } from './API';\nimport { FetchEvent } from './FetchEvent';\nimport { UpdateEvent, UpdateResult } from './UpdateEvent';\nimport memoize from 'lodash-es/memoize';\nimport { serveFromCache } from './serveFromCache';\nimport { InferrableMixin } from '../../../mixins/inferrable';\nimport { internalServer } from './internalServer';\nimport { uniqueId } from 'lodash-es';\n\n/**\n * Base class for custom elements working with remote HAL+JSON resources.\n *\n * @fires NucleonElement#update - Instance of `NucleonElement.UpdateEvent`. Dispatched on an element whenever it changes its state.\n * @fires NucleonElement#fetch - Instance of `NucleonElement.API.FetchEvent`. Emitted before each API request.\n *\n * @element foxy-nucleon\n * @since 1.1.0\n */\nexport class NucleonElement<TData extends HALJSONResource> extends InferrableMixin(LitElement) {\n /**\n * Instances of this event are dispatched on an element whenever it changes its\n * state (e.g. when going from `busy` to `idle` or on `form` data change).\n * This event isn't cancelable, and it does not bubble.\n * @readonly\n */\n static readonly UpdateEvent = UpdateEvent;\n\n /**\n * Creates a tagged [Rumour](https://sdk.foxy.dev/classes/_core_index_.rumour.html)\n * instance if it doesn't exist or returns cached one otherwise. NucleonElements\n * use empty Rumour group by default.\n * @readonly\n */\n static readonly Rumour = memoize<(group: string) => Rumour>(() => new Rumour());\n\n /**\n * Universal [API](https://sdk.foxy.dev/classes/_core_index_.api.html) client\n * that dispatches cancellable `FetchEvent` on an element before each request.\n * @readonly\n */\n static readonly API = API;\n\n static get inferredProperties(): string[] {\n return [...super.inferredProperties, 'group', 'lang'];\n }\n\n /** @readonly */\n static get properties(): PropertyDeclarations {\n return {\n __state: { type: String, reflect: true, attribute: 'state' },\n virtualHost: { attribute: 'virtual-host' },\n related: { type: Array },\n parent: { type: String },\n group: { type: String, noAccessor: true },\n href: { type: String, noAccessor: true },\n lang: { type: String },\n };\n }\n\n /**\n * Array of validation functions. Each function accepts `element.form` and must return\n * either an error code string if form data fails the check or `true` otherwise.\n * Error codes are collected in `element.errors`. Empty by default.\n */\n static get v8n(): NucleonV8N<any, any> {\n return [];\n }\n\n /**\n * Optional ISO 639-1 code describing the language element content is written in.\n * Changing the `lang` attribute will update the value of this property.\n */\n lang = '';\n\n /**\n * Optional URL of the collection this element's resource belongs to.\n * Changing the `parent` attribute will update the value of this property.\n */\n parent = '';\n\n /**\n * Optional URI list of the related resources. If Rumour encounters a related\n * resource on creation or deletion, it will be reloaded from source.\n */\n related: string[] = [];\n\n /**\n * Unique identifier for the virtual host used by the element to serve internal requests.\n *\n * Currently only one endpoint is supported: `foxy://<virtualHost>/form/<path>`.\n * This endpoint supports POST, GET, PATCH and DELETE methods and functions like a hAPI server.\n *\n * For example, `GET foxy://nucleon-123/form/subscriptions/allowNextDateModification/0` on a NucleonElement\n * with `fx:customer_portal_settings` will return the first item of the `subscriptions.allowNextDateModification` array.\n */\n virtualHost: string | null = uniqueId('nucleon-');\n\n private __hrefToLoad: string | null = null;\n\n private __group = '';\n\n private __unsubscribeFromRumour: (() => void) | null = null;\n\n private __fetchEventHandler!: (evt: Event) => void;\n\n private __fetchEventQueue: FetchEvent[] = [];\n\n private readonly __service = interpret(\n (Nucleon.machine as NucleonMachine<TData>).withConfig({\n services: {\n sendDelete: () => this._sendDelete(),\n sendPatch: ({ edits }) => this._sendPatch(edits!),\n sendPost: ({ edits }) => this._sendPost(edits!),\n sendGet: () => this._sendGet(),\n },\n\n actions: {\n validate: assign<Nucleon.Context<TData, string>, Nucleon.Event<TData>>({\n errors: context => {\n const rules = (this.constructor as typeof NucleonElement).v8n;\n const form = { ...context.data, ...context.edits };\n\n return rules\n .map(validate => validate(form, this))\n .filter(v8nResult => typeof v8nResult === 'string')\n .filter((err, errIndex, errs) => errs.indexOf(err) === errIndex) as string[];\n },\n }),\n },\n })\n );\n\n constructor() {\n super();\n this.__createService();\n }\n\n /**\n * If network request returns non-2XX code, the entire error response\n * will be available via this getter.\n *\n * This property is readonly. Changing failure records via this property is\n * not guaranteed to work. NucleonElement does not provide a way to override error status.\n *\n * @since 1.4.0\n */\n get failure(): Response | null {\n return this.__service.state.context.failure;\n }\n\n /**\n * Array of validation errors returned from `NucleonElement.v8n` checks.\n *\n * This property is readonly. Adding or removing error codes via this property is\n * not guaranteed to work. NucleonElement does not provide a way to override validity status.\n */\n get errors(): string[] {\n return this.__service.state.context.errors;\n }\n\n /**\n * Resource snapshot with edits applied. Empty object if unavailable.\n *\n * This property and its value are readonly. Assignments like `element.data.foo = 'bar'`\n * are not guaranteed to work. Please use `element.edit({ foo: 'bar' })` instead.\n * If you need to replace the entire data object, consider using `element.data`.\n */\n get form(): Partial<TData> {\n const { data, edits } = this.__service.state.context;\n return { ...data, ...edits } as Partial<TData>;\n }\n\n /**\n * Resource snapshot as-is, no edits applied. Null if unavailable.\n *\n * Returned value is not reactive. Assignments like `element.data.foo = 'bar'`\n * are not guaranteed to work. Please set the property instead: `element.data = { ...element.data, foo: 'bar' }`.\n * If you're processing user input, consider using `element.form` and `element.edit()` instead.\n */\n get data(): TData | null {\n return this.__service.state.context.data;\n }\n\n set data(data: TData | null) {\n this.__destroyRumour();\n this.__hrefToLoad = null;\n this.__service.send({ type: 'SET_DATA', data });\n if (data) this.__createRumour();\n }\n\n /**\n * Rumour group. Elements in different groups will not share updates. Empty by default.\n * @example element.group = 'my-group'\n */\n get group(): string {\n return this.__group;\n }\n\n set group(value: string) {\n this.__group = value;\n this.__destroyRumour();\n this.__createRumour();\n }\n\n /**\n * Optional URL of the resource to load. Switches element to `idle.template` state if empty (default).\n * @example element.href = 'https://demo.foxycart.com/s/customer/attributes/0'\n */\n get href(): string {\n return this.form._links?.self.href ?? this.__hrefToLoad ?? '';\n }\n\n set href(value: string) {\n this.__hrefToLoad = value;\n\n if (value) {\n this.__service.send({ type: 'FETCH' });\n } else {\n this.data = null;\n }\n }\n\n /**\n * Checks if this element is in the given state.\n * @example element.in({ idle: 'snapshot' })\n */\n in<TStateValue extends Nucleon.State<TData, string>['value']>(\n stateValue: TStateValue\n ): this is this & ComputedElementProperties<TData, TStateValue> {\n return this.__service.state.matches(stateValue);\n }\n\n /**\n * Clears all edits and emits the `update` event.\n * @example element.undo()\n */\n undo(): void {\n this.__service.send({ type: 'UNDO' });\n }\n\n /**\n * Applies an edit to the local resource snapshot or its template and emits the `update` event.\n * @example element.edit({ first_name: 'Alex' })\n */\n edit(data: Partial<TData>): void {\n if (typeof data._links?.self.href === 'string') this.__hrefToLoad = null;\n this.__service.send({ type: 'EDIT', data });\n }\n\n /**\n * Submits the form, updating the resource if href isn't empty or creating it otherwise.\n * Emits multiple `update` events as element state changes. Has no effect on invalid forms.\n * @example element.submit()\n */\n submit(): void {\n this.reportValidity();\n this.__service.send({ type: 'SUBMIT' });\n }\n\n checkValidity(): boolean {\n const isTemplateDirtyValid = this.in({ idle: { template: { dirty: 'valid' } } });\n const isSnapshotDirtyValid = this.in({ idle: { snapshot: { dirty: 'valid' } } });\n const isTemplateCleanValid = this.in({ idle: { template: { clean: 'valid' } } });\n const isSnapshotCleanValid = this.in({ idle: { snapshot: { clean: 'valid' } } });\n const isTemplateValid = isTemplateCleanValid || isTemplateDirtyValid;\n const isSnapshotValid = isSnapshotCleanValid || isSnapshotDirtyValid;\n const isValid = isTemplateValid || isSnapshotValid;\n\n return isValid;\n }\n\n reportValidity(): boolean {\n const walker = this.ownerDocument.createTreeWalker(this.renderRoot, NodeFilter.SHOW_ELEMENT);\n\n do {\n type Input = Node & Record<string, () => unknown>;\n\n const node = walker.currentNode as Input;\n const methods = ['reportValidity', 'validate'];\n\n for (const method of methods) {\n if (method in node) {\n try {\n node[method]();\n break;\n } catch {\n continue;\n }\n }\n }\n } while (walker.nextNode());\n\n return this.checkValidity();\n }\n\n /**\n * Sends a DELETE request to `element.href` and clears local data on success.\n * Emits multiple update events as element state changes.\n * @example element.delete()\n */\n delete(): void {\n this.__service.send({ type: 'DELETE' });\n }\n\n /**\n * Fetches data from `element.href` in background, keeping the edits and v8n errors.\n * @example element.refresh()\n */\n refresh(): void {\n this.__service.send({ type: 'REFRESH' });\n }\n\n render(): TemplateResult {\n return html`<slot></slot>`;\n }\n\n /** @readonly */\n connectedCallback(): void {\n super.connectedCallback();\n if (this.href && !this.data) this.__service.send({ type: 'FETCH' });\n\n this.__createRumour();\n this.__createServer();\n this.__processFetchEventQueue();\n\n this.dispatchEvent(new UpdateEvent());\n }\n\n /** @readonly */\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.__destroyRumour();\n this.__destroyServer();\n this.__flushFetchEventQueue('parent element was disconnected');\n\n this.dispatchEvent(new UpdateEvent());\n }\n\n applyInferredProperties(context: Map<string, unknown>): void {\n super.applyInferredProperties(context);\n\n if (this.infer === null) return;\n\n this.group = (context.get('group') as string | undefined) ?? '';\n this.lang = (context.get('lang') as string | undefined) ?? '';\n }\n\n /** Sends API request. Throws an error on non-2XX response. */\n protected async _fetch<TResult = TData>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n const response = await new API(this).fetch(...args);\n if (!response.ok) throw response;\n return response.json();\n }\n\n /** POSTs to `element.parent`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendPost(edits: Partial<TData>): Promise<TData> {\n this.__destroyRumour();\n let data: TData;\n\n try {\n const body = JSON.stringify(edits);\n const postData = await this._fetch(this.parent, { body, method: 'POST' });\n data = await this._fetch(postData._links.self.href);\n\n const rumour = NucleonElement.Rumour(this.group);\n const related = [...this.related, this.parent];\n rumour.share({ data, related, source: data._links.self.href });\n } finally {\n this.__createRumour();\n }\n\n return data;\n }\n\n /** GETs `element.href`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendGet(): Promise<TData> {\n this.__destroyRumour();\n let data: TData;\n\n try {\n data = await this._fetch(this.href);\n NucleonElement.Rumour(this.group).share({ data, source: this.href });\n } finally {\n this.__createRumour();\n }\n\n return data;\n }\n\n /** PATCHes `element.href`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendPatch(edits: Partial<TData>): Promise<TData> {\n this.__destroyRumour();\n let data: TData;\n\n try {\n const body = JSON.stringify(edits);\n data = await this._fetch(this.href, { body, method: 'PATCH' });\n\n const rumour = NucleonElement.Rumour(this.group);\n rumour.share({ data, source: this.href, related: this.related });\n } finally {\n this.__createRumour();\n }\n\n return data;\n }\n\n /** DELETEs `element.href`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendDelete(): Promise<null> {\n this.__destroyRumour();\n\n try {\n await this._fetch(this.href, { method: 'DELETE' });\n\n const rumour = NucleonElement.Rumour(this.group);\n const related = [...this.related, this.parent];\n rumour.share({ data: null, source: this.href, related });\n } finally {\n this.__createRumour();\n }\n\n return null;\n }\n\n // this getter is used by LitElement to set the \"state\" attribute\n private get __state(): string {\n const state = this.__service.state;\n const flags = state.toStrings().reduce((p, c) => [...p, ...c.split('.')], [] as string[]);\n return [...new Set(flags)].join(' ');\n }\n\n private __createService() {\n this.__service.onTransition(state => {\n if (!state.changed) return;\n\n let result: UpdateResult | undefined = undefined;\n\n if (state.matches('idle')) {\n if (state.history?.matches({ busy: 'deleting' })) {\n result = UpdateResult.ResourceDeleted;\n } else if (state.history?.matches({ busy: 'creating' })) {\n result = UpdateResult.ResourceCreated;\n }\n }\n\n this.requestUpdate();\n this.dispatchEvent(new UpdateEvent('update', { detail: { result } }));\n\n if (!state.matches('busy')) this.__processFetchEventQueue();\n });\n\n this.__service.onChange(() => {\n this.requestUpdate();\n this.dispatchEvent(new UpdateEvent());\n });\n\n this.__service.start();\n }\n\n private __createRumour() {\n const rumour = NucleonElement.Rumour(this.group);\n this.__unsubscribeFromRumour = rumour.track(update => this.__handleRumourUpdate(update));\n }\n\n private __destroyRumour() {\n this.__unsubscribeFromRumour?.();\n this.__unsubscribeFromRumour = null;\n }\n\n private __createServer() {\n this.__fetchEventHandler = this.__handleFetchEvent.bind(this);\n this.addEventListener('fetch', this.__fetchEventHandler);\n }\n\n private __destroyServer() {\n this.removeEventListener('fetch', this.__fetchEventHandler);\n }\n\n private __handleRumourUpdate(update: (oldData: TData) => TData | null) {\n try {\n const oldData = this.__service.state?.context.data;\n const newData = oldData ? update(oldData) : oldData;\n\n if (newData !== oldData) {\n this.data = newData;\n\n if (!newData) {\n const result = UpdateResult.ResourceDeleted;\n const event = new UpdateEvent('update', { detail: { result } });\n this.dispatchEvent(event);\n }\n }\n } catch (err) {\n if (err instanceof Rumour.UpdateError) {\n setTimeout(() => this.refresh());\n } else {\n throw err;\n }\n }\n }\n\n private __processFetchEventQueue() {\n const api = new NucleonElement.API(this);\n\n this.__fetchEventQueue.forEach(event => {\n const request = event.request;\n\n if (this.virtualHost && request.url.startsWith(`foxy://${this.virtualHost}/form/`)) {\n return event.respondWith(internalServer(request, this));\n }\n\n const cacheResponse = serveFromCache(request.url, this.data);\n const whenResponseReady = cacheResponse.ok ? cacheResponse : api.fetch(request);\n\n event.respondWith(Promise.resolve(whenResponseReady));\n\n if (cacheResponse.ok) {\n console.debug(\n `%c@foxy.io/elements::${this.localName}\\n%c200%c GET ${request.url}`,\n 'color: gray',\n `background: gray; padding: 0 .2em; border-radius: .2em; color: white;`,\n ''\n );\n }\n });\n\n this.__fetchEventQueue = [];\n }\n\n private __flushFetchEventQueue(errorMessage: string) {\n this.__fetchEventQueue.forEach(event => {\n event.respondWith(Promise.reject(new Error(errorMessage)));\n });\n\n this.__fetchEventQueue = [];\n }\n\n private __handleFetchEvent(event: Event) {\n if (!(event instanceof FetchEvent)) return;\n if (event.defaultPrevented) return;\n if (event.composedPath()[0] === this) return;\n\n const { url, method } = event.request;\n\n if (url.startsWith('foxy://')) {\n if (this.virtualHost && url.startsWith(`foxy://${this.virtualHost}/form/`)) {\n if (method !== 'GET') return event.respondWith(internalServer(event.request, this));\n } else {\n return;\n }\n }\n\n if (method === 'GET') {\n event.preventDefault();\n this.__fetchEventQueue.push(event);\n if (!this.__service.state.matches('busy')) this.__processFetchEventQueue();\n }\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import type { NucleonElement } from './NucleonElement';
2
+ export declare function internalServer(req: Request, el: NucleonElement<any>): Promise<Response>;
@@ -0,0 +1,95 @@
1
+ import cloneDeep from 'lodash-es/cloneDeep';
2
+ import unset from 'lodash-es/unset';
3
+ import pull from 'lodash-es/pull';
4
+ import set from 'lodash-es/set';
5
+ import get from 'lodash-es/get';
6
+ export async function internalServer(req, el) {
7
+ var _a, _b;
8
+ if (el.in('busy'))
9
+ return Promise.resolve(new Response(null, { status: 500 }));
10
+ const url = new URL(req.url);
11
+ url.search = '';
12
+ url.hash = '';
13
+ // can't just use url.pathname because different browsers
14
+ // parse foxy:// urls differently for some reason
15
+ const path = url
16
+ .toString()
17
+ .replace(`foxy://${el.virtualHost}/form/`, '')
18
+ .split('/')
19
+ .map(decodeURIComponent);
20
+ const formAtPath = get(el.form, path);
21
+ let status = 405;
22
+ let json;
23
+ if (req.method === 'GET') {
24
+ if (Array.isArray(formAtPath)) {
25
+ const rawOffset = parseInt((_a = new URL(req.url).searchParams.get('offset')) !== null && _a !== void 0 ? _a : '');
26
+ const rawLimit = parseInt((_b = new URL(req.url).searchParams.get('limit')) !== null && _b !== void 0 ? _b : '');
27
+ const intOffset = isNaN(rawOffset) || rawOffset < 0 ? 0 : rawOffset;
28
+ const intLimit = isNaN(rawLimit) || rawLimit < 0 ? 20 : rawLimit;
29
+ const embeds = formAtPath.slice(intOffset, intOffset + intLimit).map((item, index) => {
30
+ const embedPath = ['form', ...path, String(index)];
31
+ const embedHref = `foxy://${el.virtualHost}/${embedPath.map(encodeURIComponent).join('/')}`;
32
+ return { _links: { self: { href: embedHref } }, ...item };
33
+ });
34
+ const firstUrl = new URL(req.url);
35
+ firstUrl.searchParams.set('offset', '0');
36
+ firstUrl.searchParams.set('limit', String(intLimit));
37
+ const prevUrl = new URL(req.url);
38
+ prevUrl.searchParams.set('offset', String(Math.max(0, intOffset - intLimit)));
39
+ prevUrl.searchParams.set('limit', String(intLimit));
40
+ const nextUrl = new URL(req.url);
41
+ nextUrl.searchParams.set('offset', String(Math.min(formAtPath.length, intOffset + intLimit)));
42
+ nextUrl.searchParams.set('limit', String(intLimit));
43
+ const lastUrl = new URL(req.url);
44
+ lastUrl.searchParams.set('offset', String(Math.max(0, formAtPath.length - intLimit)));
45
+ lastUrl.searchParams.set('limit', String(intLimit));
46
+ status = 200;
47
+ json = {
48
+ returned_items: embeds.length,
49
+ total_items: formAtPath.length,
50
+ offset: intOffset,
51
+ limit: intLimit,
52
+ _embedded: { 'fx:slice': embeds },
53
+ _links: {
54
+ first: { href: firstUrl.toString() },
55
+ last: { href: lastUrl.toString() },
56
+ prev: { href: prevUrl.toString() },
57
+ next: { href: nextUrl.toString() },
58
+ self: { href: req.url },
59
+ },
60
+ };
61
+ }
62
+ else {
63
+ status = 200;
64
+ json = { _links: { self: { href: req.url } }, ...formAtPath };
65
+ }
66
+ }
67
+ if (req.method === 'POST') {
68
+ const newItem = await req.json();
69
+ const newForm = cloneDeep(el.form);
70
+ const collection = get(newForm, path);
71
+ const newIndex = collection.push(newItem) - 1;
72
+ el.edit(newForm);
73
+ const selfHrefPathname = ['form', ...path, String(newIndex)].map(encodeURIComponent).join('/');
74
+ const selfHref = `foxy://${el.virtualHost}/${selfHrefPathname}`;
75
+ status = 200;
76
+ json = { _links: { self: { href: selfHref } }, message: 'Resource created successfully.' };
77
+ }
78
+ if (req.method === 'PATCH') {
79
+ const newForm = cloneDeep(el.form);
80
+ const newItem = { ...get(newForm, path), ...(await req.json()) };
81
+ el.edit(set(newForm, path, newItem));
82
+ status = 200;
83
+ json = { _links: { self: { href: req.url } }, ...newItem };
84
+ }
85
+ if (req.method === 'DELETE') {
86
+ const newForm = cloneDeep(el.form);
87
+ const parent = get(newForm, path.slice(0, -1));
88
+ Array.isArray(parent) ? pull(parent, get(newForm, path)) : unset(newForm, path);
89
+ el.edit(newForm);
90
+ status = 200;
91
+ json = { _links: { self: { href: req.url } }, message: 'Resource deleted successfully.' };
92
+ }
93
+ return Promise.resolve(new Response(JSON.stringify(json), { status }));
94
+ }
95
+ //# sourceMappingURL=internalServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalServer.js","sourceRoot":"","sources":["../../../../src/elements/public/NucleonElement/internalServer.ts"],"names":[],"mappings":"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","sourcesContent":["import type { NucleonElement } from './NucleonElement';\n\nimport cloneDeep from 'lodash-es/cloneDeep';\nimport unset from 'lodash-es/unset';\nimport pull from 'lodash-es/pull';\nimport set from 'lodash-es/set';\nimport get from 'lodash-es/get';\n\nexport async function internalServer(req: Request, el: NucleonElement<any>): Promise<Response> {\n if (el.in('busy')) return Promise.resolve(new Response(null, { status: 500 }));\n\n const url = new URL(req.url);\n\n url.search = '';\n url.hash = '';\n\n // can't just use url.pathname because different browsers\n // parse foxy:// urls differently for some reason\n const path = url\n .toString()\n .replace(`foxy://${el.virtualHost}/form/`, '')\n .split('/')\n .map(decodeURIComponent);\n\n const formAtPath = get(el.form, path);\n\n let status = 405;\n let json: any;\n\n if (req.method === 'GET') {\n if (Array.isArray(formAtPath)) {\n const rawOffset = parseInt(new URL(req.url).searchParams.get('offset') ?? '');\n const rawLimit = parseInt(new URL(req.url).searchParams.get('limit') ?? '');\n\n const intOffset = isNaN(rawOffset) || rawOffset < 0 ? 0 : rawOffset;\n const intLimit = isNaN(rawLimit) || rawLimit < 0 ? 20 : rawLimit;\n\n const embeds = formAtPath.slice(intOffset, intOffset + intLimit).map((item, index) => {\n const embedPath = ['form', ...path, String(index)];\n const embedHref = `foxy://${el.virtualHost}/${embedPath.map(encodeURIComponent).join('/')}`;\n return { _links: { self: { href: embedHref } }, ...item };\n });\n\n const firstUrl = new URL(req.url);\n firstUrl.searchParams.set('offset', '0');\n firstUrl.searchParams.set('limit', String(intLimit));\n\n const prevUrl = new URL(req.url);\n prevUrl.searchParams.set('offset', String(Math.max(0, intOffset - intLimit)));\n prevUrl.searchParams.set('limit', String(intLimit));\n\n const nextUrl = new URL(req.url);\n nextUrl.searchParams.set('offset', String(Math.min(formAtPath.length, intOffset + intLimit)));\n nextUrl.searchParams.set('limit', String(intLimit));\n\n const lastUrl = new URL(req.url);\n lastUrl.searchParams.set('offset', String(Math.max(0, formAtPath.length - intLimit)));\n lastUrl.searchParams.set('limit', String(intLimit));\n\n status = 200;\n json = {\n returned_items: embeds.length,\n total_items: formAtPath.length,\n offset: intOffset,\n limit: intLimit,\n _embedded: { 'fx:slice': embeds },\n _links: {\n first: { href: firstUrl.toString() },\n last: { href: lastUrl.toString() },\n prev: { href: prevUrl.toString() },\n next: { href: nextUrl.toString() },\n self: { href: req.url },\n },\n };\n } else {\n status = 200;\n json = { _links: { self: { href: req.url } }, ...formAtPath };\n }\n }\n\n if (req.method === 'POST') {\n const newItem = await req.json();\n const newForm = cloneDeep(el.form);\n const collection = get(newForm, path) as unknown[];\n const newIndex = collection.push(newItem) - 1;\n\n el.edit(newForm);\n\n const selfHrefPathname = ['form', ...path, String(newIndex)].map(encodeURIComponent).join('/');\n const selfHref = `foxy://${el.virtualHost}/${selfHrefPathname}`;\n\n status = 200;\n json = { _links: { self: { href: selfHref } }, message: 'Resource created successfully.' };\n }\n\n if (req.method === 'PATCH') {\n const newForm = cloneDeep(el.form);\n const newItem = { ...get(newForm, path), ...(await req.json()) };\n\n el.edit(set(newForm, path, newItem));\n\n status = 200;\n json = { _links: { self: { href: req.url } }, ...newItem };\n }\n\n if (req.method === 'DELETE') {\n const newForm = cloneDeep(el.form);\n const parent = get(newForm, path.slice(0, -1));\n\n Array.isArray(parent) ? pull(parent, get(newForm, path)) : unset(newForm, path);\n el.edit(newForm);\n\n status = 200;\n json = { _links: { self: { href: req.url } }, message: 'Resource deleted successfully.' };\n }\n\n return Promise.resolve(new Response(JSON.stringify(json), { status }));\n}\n"]}
@@ -28,6 +28,7 @@ export { CustomerCard } from './CustomerCard/CustomerCard';
28
28
  export { CustomerForm } from './CustomerForm/CustomerForm';
29
29
  export { CustomerPortal } from './CustomerPortal/CustomerPortal';
30
30
  export { CustomerPortalSettings } from './CustomerPortalSettings/CustomerPortalSettings';
31
+ export { CustomerPortalSettingsForm } from './CustomerPortalSettingsForm/CustomerPortalSettingsForm';
31
32
  export { CustomersTable } from './CustomersTable/CustomersTable';
32
33
  export { CustomFieldCard } from './CustomFieldCard/CustomFieldCard';
33
34
  export { CustomFieldForm } from './CustomFieldForm/CustomFieldForm';
@@ -28,6 +28,7 @@ export { CustomerCard } from './CustomerCard/index';
28
28
  export { CustomerForm } from './CustomerForm/index';
29
29
  export { CustomerPortal } from './CustomerPortal/index';
30
30
  export { CustomerPortalSettings } from './CustomerPortalSettings/index';
31
+ export { CustomerPortalSettingsForm } from './CustomerPortalSettingsForm/index';
31
32
  export { CustomersTable } from './CustomersTable/index';
32
33
  export { CustomFieldCard } from './CustomFieldCard/index';
33
34
  export { CustomFieldForm } from './CustomFieldForm/index';
@@ -28,6 +28,7 @@ export { CustomerCard } from "./CustomerCard/index.js";
28
28
  export { CustomerForm } from "./CustomerForm/index.js";
29
29
  export { CustomerPortal } from "./CustomerPortal/index.js";
30
30
  export { CustomerPortalSettings } from "./CustomerPortalSettings/index.js";
31
+ export { CustomerPortalSettingsForm } from "./CustomerPortalSettingsForm/index.js";
31
32
  export { CustomersTable } from "./CustomersTable/index.js";
32
33
  export { CustomFieldCard } from "./CustomFieldCard/index.js";
33
34
  export { CustomFieldForm } from "./CustomFieldForm/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.defined.js","sourceRoot":"","sources":["../../../src/elements/public/index.defined.ts"],"names":[],"mappings":"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","sourcesContent":["export { AccessRecoveryForm } from './AccessRecoveryForm/index';\nexport { AddressCard } from './AddressCard/index';\nexport { AddressForm } from './AddressForm/index';\nexport { AdminSubscriptionCard } from './AdminSubscriptionCard/index';\nexport { ApiBrowser } from './ApiBrowser/index';\nexport { AppliedCouponCodeCard } from './AppliedCouponCodeCard/index';\nexport { AppliedCouponCodeForm } from './AppliedCouponCodeForm/index';\nexport { AppliedTaxCard } from './AppliedTaxCard/index';\nexport { AttributeCard } from './AttributeCard/index';\nexport { AttributeForm } from './AttributeForm/index';\nexport { BillingAddressCard } from './BillingAddressCard/index';\nexport { CancellationForm } from './CancellationForm/index';\nexport { CartCard } from './CartCard/index';\nexport { CartForm } from './CartForm/index';\nexport { ClientCard } from './ClientCard/index';\nexport { ClientForm } from './ClientForm/index';\nexport { CollectionPage } from './CollectionPage/index';\nexport { CollectionPages } from './CollectionPages/index';\nexport { CopyToClipboard } from './CopyToClipboard/index';\nexport { CouponCard } from './CouponCard/index';\nexport { CouponCodeForm } from './CouponCodeForm/index';\nexport { CouponCodesForm } from './CouponCodesForm/index';\nexport { CouponDetailCard } from './CouponDetailCard/index';\nexport { CouponForm } from './CouponForm/index';\nexport { Customer } from './Customer/index';\nexport { CustomerApi } from './CustomerApi/index';\nexport { CustomerCard } from './CustomerCard/index';\nexport { CustomerForm } from './CustomerForm/index';\nexport { CustomerPortal } from './CustomerPortal/index';\nexport { CustomerPortalSettings } from './CustomerPortalSettings/index';\nexport { CustomersTable } from './CustomersTable/index';\nexport { CustomFieldCard } from './CustomFieldCard/index';\nexport { CustomFieldForm } from './CustomFieldForm/index';\nexport { DiscountBuilder } from './DiscountBuilder/index';\nexport { DiscountCard } from './DiscountCard/index';\nexport { DiscountDetailCard } from './DiscountDetailCard/index';\nexport { ReportForm } from './ReportForm/index';\nexport { ReportsTable } from './ReportsTable/index';\nexport { Donation } from './Donation/index';\nexport { DownloadableCard } from './DownloadableCard/index';\nexport { DownloadableForm } from './DownloadableForm/index';\nexport { EmailTemplateCard } from './EmailTemplateCard/index';\nexport { EmailTemplateForm } from './EmailTemplateForm/index';\nexport { ErrorEntryCard } from './ErrorEntryCard/index';\nexport { FilterAttributeCard } from './FilterAttributeCard/index';\nexport { FilterAttributeForm } from './FilterAttributeForm/index';\nexport { FormDialog } from './FormDialog/index';\nexport { GenerateCodesForm } from './GenerateCodesForm/index';\nexport { GiftCardCard } from './GiftCardCard/index';\nexport { GiftCardCodeForm } from './GiftCardCodeForm/index';\nexport { GiftCardCodeLogCard } from './GiftCardCodeLogCard/index';\nexport { GiftCardCodesForm } from './GiftCardCodesForm/index';\nexport { GiftCardForm } from './GiftCardForm/index';\nexport { ItemCategoryCard } from './ItemCategoryCard/index';\nexport { ItemCategoryForm } from './ItemCategoryForm/index';\nexport { I18n } from './I18n/index';\nexport { I18nEditor } from './I18nEditor/index';\nexport { IntegrationCard } from './IntegrationCard/index';\nexport { IntegrationForm } from './IntegrationForm/index';\nexport { ItemCard } from './ItemCard/index';\nexport { ItemForm } from './ItemForm/index';\nexport { ItemOptionCard } from './ItemOptionCard/index';\nexport { ItemOptionForm } from './ItemOptionForm/index';\nexport { ItemsForm, Item } from './ItemsForm/index';\nexport { NativeIntegrationCard } from './NativeIntegrationCard/index';\nexport { NativeIntegrationForm } from './NativeIntegrationForm/index';\nexport { NucleonElement } from './NucleonElement/index';\nexport { Pagination } from './Pagination/index';\nexport { PasskeyCard } from './PasskeyCard/index';\nexport { PasskeyForm } from './PasskeyForm/index';\nexport { PaymentCard } from './PaymentCard/index';\nexport { ShipmentCard } from './ShipmentCard/index';\nexport { ShippingMethodCard } from './ShippingMethodCard/index';\nexport { PaymentMethodCard } from './PaymentMethodCard/index';\nexport { PaymentsApi } from './PaymentsApi/index';\nexport { PaymentsApiFraudProtectionCard } from './PaymentsApiFraudProtectionCard/index';\nexport { PaymentsApiFraudProtectionForm } from './PaymentsApiFraudProtectionForm/index';\nexport { PaymentsApiPaymentMethodCard } from './PaymentsApiPaymentMethodCard/index';\nexport { PaymentsApiPaymentMethodForm } from './PaymentsApiPaymentMethodForm/index';\nexport { PaymentsApiPaymentPresetCard } from './PaymentsApiPaymentPresetCard/index';\nexport { PaymentsApiPaymentPresetForm } from './PaymentsApiPaymentPresetForm/index';\nexport { QueryBuilder } from './QueryBuilder/index';\nexport { SignInForm } from './SignInForm/index';\nexport { Spinner } from './Spinner/index';\nexport { StoreCard } from './StoreCard/index';\nexport { StoreForm } from './StoreForm/index';\nexport { StoreShippingMethodForm } from './StoreShippingMethodForm/index';\nexport { SubscriptionCard } from './SubscriptionCard/index';\nexport { SubscriptionForm } from './SubscriptionForm/index';\nexport { SubscriptionSettingsForm } from './SubscriptionSettingsForm/index';\nexport { SubscriptionsTable } from './SubscriptionsTable/index';\nexport { SwipeActions } from './SwipeActions/index';\nexport { Table } from './Table/index';\nexport { TaxCard } from './TaxCard/index';\nexport { TaxForm } from './TaxForm/index';\nexport { TemplateConfigForm } from './TemplateConfigForm/index';\nexport { TemplateForm } from './TemplateForm/index';\nexport { TemplateSetCard } from './TemplateSetCard/index';\nexport { TemplateSetForm } from './TemplateSetForm/index';\nexport { TransactionCard } from './TransactionCard/index';\nexport { Transaction } from './Transaction/index';\nexport { TransactionsTable } from './TransactionsTable/index';\nexport { UserCard } from './UserCard/index';\nexport { UserForm } from './UserForm/index';\nexport { UsersTable } from './UsersTable/index';\nexport { WebhookCard } from './WebhookCard/index';\nexport { WebhookForm } from './WebhookForm/index';\nexport { WebhookLogCard } from './WebhookLogCard/index';\nexport { WebhookStatusCard } from './WebhookStatusCard/index';\n"]}
1
+ {"version":3,"file":"index.defined.js","sourceRoot":"","sources":["../../../src/elements/public/index.defined.ts"],"names":[],"mappings":"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","sourcesContent":["export { AccessRecoveryForm } from './AccessRecoveryForm/index';\nexport { AddressCard } from './AddressCard/index';\nexport { AddressForm } from './AddressForm/index';\nexport { AdminSubscriptionCard } from './AdminSubscriptionCard/index';\nexport { ApiBrowser } from './ApiBrowser/index';\nexport { AppliedCouponCodeCard } from './AppliedCouponCodeCard/index';\nexport { AppliedCouponCodeForm } from './AppliedCouponCodeForm/index';\nexport { AppliedTaxCard } from './AppliedTaxCard/index';\nexport { AttributeCard } from './AttributeCard/index';\nexport { AttributeForm } from './AttributeForm/index';\nexport { BillingAddressCard } from './BillingAddressCard/index';\nexport { CancellationForm } from './CancellationForm/index';\nexport { CartCard } from './CartCard/index';\nexport { CartForm } from './CartForm/index';\nexport { ClientCard } from './ClientCard/index';\nexport { ClientForm } from './ClientForm/index';\nexport { CollectionPage } from './CollectionPage/index';\nexport { CollectionPages } from './CollectionPages/index';\nexport { CopyToClipboard } from './CopyToClipboard/index';\nexport { CouponCard } from './CouponCard/index';\nexport { CouponCodeForm } from './CouponCodeForm/index';\nexport { CouponCodesForm } from './CouponCodesForm/index';\nexport { CouponDetailCard } from './CouponDetailCard/index';\nexport { CouponForm } from './CouponForm/index';\nexport { Customer } from './Customer/index';\nexport { CustomerApi } from './CustomerApi/index';\nexport { CustomerCard } from './CustomerCard/index';\nexport { CustomerForm } from './CustomerForm/index';\nexport { CustomerPortal } from './CustomerPortal/index';\nexport { CustomerPortalSettings } from './CustomerPortalSettings/index';\nexport { CustomerPortalSettingsForm } from './CustomerPortalSettingsForm/index';\nexport { CustomersTable } from './CustomersTable/index';\nexport { CustomFieldCard } from './CustomFieldCard/index';\nexport { CustomFieldForm } from './CustomFieldForm/index';\nexport { DiscountBuilder } from './DiscountBuilder/index';\nexport { DiscountCard } from './DiscountCard/index';\nexport { DiscountDetailCard } from './DiscountDetailCard/index';\nexport { ReportForm } from './ReportForm/index';\nexport { ReportsTable } from './ReportsTable/index';\nexport { Donation } from './Donation/index';\nexport { DownloadableCard } from './DownloadableCard/index';\nexport { DownloadableForm } from './DownloadableForm/index';\nexport { EmailTemplateCard } from './EmailTemplateCard/index';\nexport { EmailTemplateForm } from './EmailTemplateForm/index';\nexport { ErrorEntryCard } from './ErrorEntryCard/index';\nexport { FilterAttributeCard } from './FilterAttributeCard/index';\nexport { FilterAttributeForm } from './FilterAttributeForm/index';\nexport { FormDialog } from './FormDialog/index';\nexport { GenerateCodesForm } from './GenerateCodesForm/index';\nexport { GiftCardCard } from './GiftCardCard/index';\nexport { GiftCardCodeForm } from './GiftCardCodeForm/index';\nexport { GiftCardCodeLogCard } from './GiftCardCodeLogCard/index';\nexport { GiftCardCodesForm } from './GiftCardCodesForm/index';\nexport { GiftCardForm } from './GiftCardForm/index';\nexport { ItemCategoryCard } from './ItemCategoryCard/index';\nexport { ItemCategoryForm } from './ItemCategoryForm/index';\nexport { I18n } from './I18n/index';\nexport { I18nEditor } from './I18nEditor/index';\nexport { IntegrationCard } from './IntegrationCard/index';\nexport { IntegrationForm } from './IntegrationForm/index';\nexport { ItemCard } from './ItemCard/index';\nexport { ItemForm } from './ItemForm/index';\nexport { ItemOptionCard } from './ItemOptionCard/index';\nexport { ItemOptionForm } from './ItemOptionForm/index';\nexport { ItemsForm, Item } from './ItemsForm/index';\nexport { NativeIntegrationCard } from './NativeIntegrationCard/index';\nexport { NativeIntegrationForm } from './NativeIntegrationForm/index';\nexport { NucleonElement } from './NucleonElement/index';\nexport { Pagination } from './Pagination/index';\nexport { PasskeyCard } from './PasskeyCard/index';\nexport { PasskeyForm } from './PasskeyForm/index';\nexport { PaymentCard } from './PaymentCard/index';\nexport { ShipmentCard } from './ShipmentCard/index';\nexport { ShippingMethodCard } from './ShippingMethodCard/index';\nexport { PaymentMethodCard } from './PaymentMethodCard/index';\nexport { PaymentsApi } from './PaymentsApi/index';\nexport { PaymentsApiFraudProtectionCard } from './PaymentsApiFraudProtectionCard/index';\nexport { PaymentsApiFraudProtectionForm } from './PaymentsApiFraudProtectionForm/index';\nexport { PaymentsApiPaymentMethodCard } from './PaymentsApiPaymentMethodCard/index';\nexport { PaymentsApiPaymentMethodForm } from './PaymentsApiPaymentMethodForm/index';\nexport { PaymentsApiPaymentPresetCard } from './PaymentsApiPaymentPresetCard/index';\nexport { PaymentsApiPaymentPresetForm } from './PaymentsApiPaymentPresetForm/index';\nexport { QueryBuilder } from './QueryBuilder/index';\nexport { SignInForm } from './SignInForm/index';\nexport { Spinner } from './Spinner/index';\nexport { StoreCard } from './StoreCard/index';\nexport { StoreForm } from './StoreForm/index';\nexport { StoreShippingMethodForm } from './StoreShippingMethodForm/index';\nexport { SubscriptionCard } from './SubscriptionCard/index';\nexport { SubscriptionForm } from './SubscriptionForm/index';\nexport { SubscriptionSettingsForm } from './SubscriptionSettingsForm/index';\nexport { SubscriptionsTable } from './SubscriptionsTable/index';\nexport { SwipeActions } from './SwipeActions/index';\nexport { Table } from './Table/index';\nexport { TaxCard } from './TaxCard/index';\nexport { TaxForm } from './TaxForm/index';\nexport { TemplateConfigForm } from './TemplateConfigForm/index';\nexport { TemplateForm } from './TemplateForm/index';\nexport { TemplateSetCard } from './TemplateSetCard/index';\nexport { TemplateSetForm } from './TemplateSetForm/index';\nexport { TransactionCard } from './TransactionCard/index';\nexport { Transaction } from './Transaction/index';\nexport { TransactionsTable } from './TransactionsTable/index';\nexport { UserCard } from './UserCard/index';\nexport { UserForm } from './UserForm/index';\nexport { UsersTable } from './UsersTable/index';\nexport { WebhookCard } from './WebhookCard/index';\nexport { WebhookForm } from './WebhookForm/index';\nexport { WebhookLogCard } from './WebhookLogCard/index';\nexport { WebhookStatusCard } from './WebhookStatusCard/index';\n"]}
@@ -28,6 +28,7 @@ export { CustomerCard } from "./CustomerCard/CustomerCard.js";
28
28
  export { CustomerForm } from "./CustomerForm/CustomerForm.js";
29
29
  export { CustomerPortal } from "./CustomerPortal/CustomerPortal.js";
30
30
  export { CustomerPortalSettings } from "./CustomerPortalSettings/CustomerPortalSettings.js";
31
+ export { CustomerPortalSettingsForm } from "./CustomerPortalSettingsForm/CustomerPortalSettingsForm.js";
31
32
  export { CustomersTable } from "./CustomersTable/CustomersTable.js";
32
33
  export { CustomFieldCard } from "./CustomFieldCard/CustomFieldCard.js";
33
34
  export { CustomFieldForm } from "./CustomFieldForm/CustomFieldForm.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/elements/public/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { AccessRecoveryForm } from './AccessRecoveryForm/AccessRecoveryForm';\nexport { AddressCard } from './AddressCard/AddressCard';\nexport { AddressForm } from './AddressForm/AddressForm';\nexport { AdminSubscriptionCard } from './AdminSubscriptionCard/AdminSubscriptionCard';\nexport { ApiBrowser } from './ApiBrowser/ApiBrowser';\nexport { AppliedCouponCodeCard } from './AppliedCouponCodeCard/AppliedCouponCodeCard';\nexport { AppliedCouponCodeForm } from './AppliedCouponCodeForm/AppliedCouponCodeForm';\nexport { AppliedTaxCard } from './AppliedTaxCard/AppliedTaxCard';\nexport { AttributeCard } from './AttributeCard/AttributeCard';\nexport { AttributeForm } from './AttributeForm/AttributeForm';\nexport { BillingAddressCard } from './BillingAddressCard/BillingAddressCard';\nexport { CancellationForm } from './CancellationForm/CancellationForm';\nexport { CartCard } from './CartCard/CartCard';\nexport { CartForm } from './CartForm/CartForm';\nexport { ClientCard } from './ClientCard/ClientCard';\nexport { ClientForm } from './ClientForm/ClientForm';\nexport { CollectionPage } from './CollectionPage/CollectionPage';\nexport { CollectionPages } from './CollectionPages/CollectionPages';\nexport { CopyToClipboard } from './CopyToClipboard/CopyToClipboard';\nexport { CouponCard } from './CouponCard/CouponCard';\nexport { CouponCodeForm } from './CouponCodeForm/CouponCodeForm';\nexport { CouponCodesForm } from './CouponCodesForm/CouponCodesForm';\nexport { CouponDetailCard } from './CouponDetailCard/index';\nexport { CouponForm } from './CouponForm/CouponForm';\nexport { Customer } from './Customer/Customer';\nexport { CustomerApi } from './CustomerApi/CustomerApi';\nexport { CustomerCard } from './CustomerCard/CustomerCard';\nexport { CustomerForm } from './CustomerForm/CustomerForm';\nexport { CustomerPortal } from './CustomerPortal/CustomerPortal';\nexport { CustomerPortalSettings } from './CustomerPortalSettings/CustomerPortalSettings';\nexport { CustomersTable } from './CustomersTable/CustomersTable';\nexport { CustomFieldCard } from './CustomFieldCard/CustomFieldCard';\nexport { CustomFieldForm } from './CustomFieldForm/CustomFieldForm';\nexport { DiscountBuilder } from './DiscountBuilder/DiscountBuilder';\nexport { DiscountCard } from './DiscountCard/DiscountCard';\nexport { DiscountDetailCard } from './DiscountDetailCard/DiscountDetailCard';\nexport { ReportForm } from './ReportForm/ReportForm';\nexport { ReportsTable } from './ReportsTable/ReportsTable';\nexport { Donation } from './Donation/Donation';\nexport { DownloadableCard } from './DownloadableCard/DownloadableCard';\nexport { DownloadableForm } from './DownloadableForm/DownloadableForm';\nexport { EmailTemplateCard } from './EmailTemplateCard/EmailTemplateCard';\nexport { EmailTemplateForm } from './EmailTemplateForm/EmailTemplateForm';\nexport { ErrorEntryCard } from './ErrorEntryCard/ErrorEntryCard';\nexport { FilterAttributeCard } from './FilterAttributeCard/FilterAttributeCard';\nexport { FilterAttributeForm } from './FilterAttributeForm/FilterAttributeForm';\nexport { FormDialog } from './FormDialog/FormDialog';\nexport { GenerateCodesForm } from './GenerateCodesForm/GenerateCodesForm';\nexport { GiftCardCard } from './GiftCardCard/GiftCardCard';\nexport { GiftCardCodeForm } from './GiftCardCodeForm/GiftCardCodeForm';\nexport { GiftCardCodeLogCard } from './GiftCardCodeLogCard/GiftCardCodeLogCard';\nexport { GiftCardCodesForm } from './GiftCardCodesForm/GiftCardCodesForm';\nexport { GiftCardForm } from './GiftCardForm/GiftCardForm';\nexport { ItemCategoryCard } from './ItemCategoryCard/ItemCategoryCard';\nexport { ItemCategoryForm } from './ItemCategoryForm/ItemCategoryForm';\nexport { I18n } from './I18n/I18n';\nexport { I18nEditor } from './I18nEditor/I18nEditor';\nexport { IntegrationCard } from './IntegrationCard/IntegrationCard';\nexport { IntegrationForm } from './IntegrationForm/IntegrationForm';\nexport { ItemCard } from './ItemCard/ItemCard';\nexport { ItemForm } from './ItemForm/ItemForm';\nexport { ItemOptionCard } from './ItemOptionCard/ItemOptionCard';\nexport { ItemOptionForm } from './ItemOptionForm/ItemOptionForm';\nexport { ItemsForm, Item } from './ItemsForm/ItemsForm';\nexport { NativeIntegrationCard } from './NativeIntegrationCard/NativeIntegrationCard';\nexport { NativeIntegrationForm } from './NativeIntegrationForm/NativeIntegrationForm';\nexport { NucleonElement } from './NucleonElement/NucleonElement';\nexport { Pagination } from './Pagination/Pagination';\nexport { PasskeyCard } from './PasskeyCard/PasskeyCard';\nexport { PasskeyForm } from './PasskeyForm/PasskeyForm';\nexport { PaymentCard } from './PaymentCard/PaymentCard';\nexport { ShipmentCard } from './ShipmentCard/ShipmentCard';\nexport { ShippingMethodCard } from './ShippingMethodCard/ShippingMethodCard';\nexport { PaymentMethodCard } from './PaymentMethodCard/PaymentMethodCard';\nexport { PaymentsApi } from './PaymentsApi/PaymentsApi';\nexport { PaymentsApiFraudProtectionCard } from './PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard';\nexport { PaymentsApiFraudProtectionForm } from './PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm';\nexport { PaymentsApiPaymentMethodCard } from './PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard';\nexport { PaymentsApiPaymentMethodForm } from './PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm';\nexport { PaymentsApiPaymentPresetCard } from './PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard';\nexport { PaymentsApiPaymentPresetForm } from './PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm';\nexport { QueryBuilder } from './QueryBuilder/QueryBuilder';\nexport { SignInForm } from './SignInForm/SignInForm';\nexport { Spinner } from './Spinner/Spinner';\nexport { StoreCard } from './StoreCard/StoreCard';\nexport { StoreForm } from './StoreForm/StoreForm';\nexport { StoreShippingMethodForm } from './StoreShippingMethodForm/StoreShippingMethodForm';\nexport { SubscriptionCard } from './SubscriptionCard/SubscriptionCard';\nexport { SubscriptionForm } from './SubscriptionForm/SubscriptionForm';\nexport { SubscriptionSettingsForm } from './SubscriptionSettingsForm/SubscriptionSettingsForm';\nexport { SubscriptionsTable } from './SubscriptionsTable/SubscriptionsTable';\nexport { SwipeActions } from './SwipeActions/SwipeActions';\nexport { Table } from './Table/Table';\nexport { TaxCard } from './TaxCard/TaxCard';\nexport { TaxForm } from './TaxForm/TaxForm';\nexport { TemplateForm } from './TemplateForm/TemplateForm';\nexport { TemplateSetCard } from './TemplateSetCard/TemplateSetCard';\nexport { TemplateSetForm } from './TemplateSetForm/TemplateSetForm';\nexport { TemplateConfigForm } from './TemplateConfigForm/TemplateConfigForm';\nexport { TransactionCard } from './TransactionCard/TransactionCard';\nexport { Transaction } from './Transaction/Transaction';\nexport { TransactionsTable } from './TransactionsTable/TransactionsTable';\nexport { UserCard } from './UserCard/UserCard';\nexport { UserForm } from './UserForm/UserForm';\nexport { UsersTable } from './UsersTable/UsersTable';\nexport { WebhookCard } from './WebhookCard/WebhookCard';\nexport { WebhookForm } from './WebhookForm/WebhookForm';\nexport { WebhookLogCard } from './WebhookLogCard/WebhookLogCard';\nexport { WebhookStatusCard } from './WebhookStatusCard/WebhookStatusCard';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/elements/public/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { AccessRecoveryForm } from './AccessRecoveryForm/AccessRecoveryForm';\nexport { AddressCard } from './AddressCard/AddressCard';\nexport { AddressForm } from './AddressForm/AddressForm';\nexport { AdminSubscriptionCard } from './AdminSubscriptionCard/AdminSubscriptionCard';\nexport { ApiBrowser } from './ApiBrowser/ApiBrowser';\nexport { AppliedCouponCodeCard } from './AppliedCouponCodeCard/AppliedCouponCodeCard';\nexport { AppliedCouponCodeForm } from './AppliedCouponCodeForm/AppliedCouponCodeForm';\nexport { AppliedTaxCard } from './AppliedTaxCard/AppliedTaxCard';\nexport { AttributeCard } from './AttributeCard/AttributeCard';\nexport { AttributeForm } from './AttributeForm/AttributeForm';\nexport { BillingAddressCard } from './BillingAddressCard/BillingAddressCard';\nexport { CancellationForm } from './CancellationForm/CancellationForm';\nexport { CartCard } from './CartCard/CartCard';\nexport { CartForm } from './CartForm/CartForm';\nexport { ClientCard } from './ClientCard/ClientCard';\nexport { ClientForm } from './ClientForm/ClientForm';\nexport { CollectionPage } from './CollectionPage/CollectionPage';\nexport { CollectionPages } from './CollectionPages/CollectionPages';\nexport { CopyToClipboard } from './CopyToClipboard/CopyToClipboard';\nexport { CouponCard } from './CouponCard/CouponCard';\nexport { CouponCodeForm } from './CouponCodeForm/CouponCodeForm';\nexport { CouponCodesForm } from './CouponCodesForm/CouponCodesForm';\nexport { CouponDetailCard } from './CouponDetailCard/index';\nexport { CouponForm } from './CouponForm/CouponForm';\nexport { Customer } from './Customer/Customer';\nexport { CustomerApi } from './CustomerApi/CustomerApi';\nexport { CustomerCard } from './CustomerCard/CustomerCard';\nexport { CustomerForm } from './CustomerForm/CustomerForm';\nexport { CustomerPortal } from './CustomerPortal/CustomerPortal';\nexport { CustomerPortalSettings } from './CustomerPortalSettings/CustomerPortalSettings';\nexport { CustomerPortalSettingsForm } from './CustomerPortalSettingsForm/CustomerPortalSettingsForm';\nexport { CustomersTable } from './CustomersTable/CustomersTable';\nexport { CustomFieldCard } from './CustomFieldCard/CustomFieldCard';\nexport { CustomFieldForm } from './CustomFieldForm/CustomFieldForm';\nexport { DiscountBuilder } from './DiscountBuilder/DiscountBuilder';\nexport { DiscountCard } from './DiscountCard/DiscountCard';\nexport { DiscountDetailCard } from './DiscountDetailCard/DiscountDetailCard';\nexport { ReportForm } from './ReportForm/ReportForm';\nexport { ReportsTable } from './ReportsTable/ReportsTable';\nexport { Donation } from './Donation/Donation';\nexport { DownloadableCard } from './DownloadableCard/DownloadableCard';\nexport { DownloadableForm } from './DownloadableForm/DownloadableForm';\nexport { EmailTemplateCard } from './EmailTemplateCard/EmailTemplateCard';\nexport { EmailTemplateForm } from './EmailTemplateForm/EmailTemplateForm';\nexport { ErrorEntryCard } from './ErrorEntryCard/ErrorEntryCard';\nexport { FilterAttributeCard } from './FilterAttributeCard/FilterAttributeCard';\nexport { FilterAttributeForm } from './FilterAttributeForm/FilterAttributeForm';\nexport { FormDialog } from './FormDialog/FormDialog';\nexport { GenerateCodesForm } from './GenerateCodesForm/GenerateCodesForm';\nexport { GiftCardCard } from './GiftCardCard/GiftCardCard';\nexport { GiftCardCodeForm } from './GiftCardCodeForm/GiftCardCodeForm';\nexport { GiftCardCodeLogCard } from './GiftCardCodeLogCard/GiftCardCodeLogCard';\nexport { GiftCardCodesForm } from './GiftCardCodesForm/GiftCardCodesForm';\nexport { GiftCardForm } from './GiftCardForm/GiftCardForm';\nexport { ItemCategoryCard } from './ItemCategoryCard/ItemCategoryCard';\nexport { ItemCategoryForm } from './ItemCategoryForm/ItemCategoryForm';\nexport { I18n } from './I18n/I18n';\nexport { I18nEditor } from './I18nEditor/I18nEditor';\nexport { IntegrationCard } from './IntegrationCard/IntegrationCard';\nexport { IntegrationForm } from './IntegrationForm/IntegrationForm';\nexport { ItemCard } from './ItemCard/ItemCard';\nexport { ItemForm } from './ItemForm/ItemForm';\nexport { ItemOptionCard } from './ItemOptionCard/ItemOptionCard';\nexport { ItemOptionForm } from './ItemOptionForm/ItemOptionForm';\nexport { ItemsForm, Item } from './ItemsForm/ItemsForm';\nexport { NativeIntegrationCard } from './NativeIntegrationCard/NativeIntegrationCard';\nexport { NativeIntegrationForm } from './NativeIntegrationForm/NativeIntegrationForm';\nexport { NucleonElement } from './NucleonElement/NucleonElement';\nexport { Pagination } from './Pagination/Pagination';\nexport { PasskeyCard } from './PasskeyCard/PasskeyCard';\nexport { PasskeyForm } from './PasskeyForm/PasskeyForm';\nexport { PaymentCard } from './PaymentCard/PaymentCard';\nexport { ShipmentCard } from './ShipmentCard/ShipmentCard';\nexport { ShippingMethodCard } from './ShippingMethodCard/ShippingMethodCard';\nexport { PaymentMethodCard } from './PaymentMethodCard/PaymentMethodCard';\nexport { PaymentsApi } from './PaymentsApi/PaymentsApi';\nexport { PaymentsApiFraudProtectionCard } from './PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard';\nexport { PaymentsApiFraudProtectionForm } from './PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm';\nexport { PaymentsApiPaymentMethodCard } from './PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard';\nexport { PaymentsApiPaymentMethodForm } from './PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm';\nexport { PaymentsApiPaymentPresetCard } from './PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard';\nexport { PaymentsApiPaymentPresetForm } from './PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm';\nexport { QueryBuilder } from './QueryBuilder/QueryBuilder';\nexport { SignInForm } from './SignInForm/SignInForm';\nexport { Spinner } from './Spinner/Spinner';\nexport { StoreCard } from './StoreCard/StoreCard';\nexport { StoreForm } from './StoreForm/StoreForm';\nexport { StoreShippingMethodForm } from './StoreShippingMethodForm/StoreShippingMethodForm';\nexport { SubscriptionCard } from './SubscriptionCard/SubscriptionCard';\nexport { SubscriptionForm } from './SubscriptionForm/SubscriptionForm';\nexport { SubscriptionSettingsForm } from './SubscriptionSettingsForm/SubscriptionSettingsForm';\nexport { SubscriptionsTable } from './SubscriptionsTable/SubscriptionsTable';\nexport { SwipeActions } from './SwipeActions/SwipeActions';\nexport { Table } from './Table/Table';\nexport { TaxCard } from './TaxCard/TaxCard';\nexport { TaxForm } from './TaxForm/TaxForm';\nexport { TemplateForm } from './TemplateForm/TemplateForm';\nexport { TemplateSetCard } from './TemplateSetCard/TemplateSetCard';\nexport { TemplateSetForm } from './TemplateSetForm/TemplateSetForm';\nexport { TemplateConfigForm } from './TemplateConfigForm/TemplateConfigForm';\nexport { TransactionCard } from './TransactionCard/TransactionCard';\nexport { Transaction } from './Transaction/Transaction';\nexport { TransactionsTable } from './TransactionsTable/TransactionsTable';\nexport { UserCard } from './UserCard/UserCard';\nexport { UserForm } from './UserForm/UserForm';\nexport { UsersTable } from './UsersTable/UsersTable';\nexport { WebhookCard } from './WebhookCard/WebhookCard';\nexport { WebhookForm } from './WebhookForm/WebhookForm';\nexport { WebhookLogCard } from './WebhookLogCard/WebhookLogCard';\nexport { WebhookStatusCard } from './WebhookStatusCard/WebhookStatusCard';\n"]}
@@ -13,6 +13,7 @@ export interface RequestEventInit<TSource extends HTMLElement> extends RequestSe
13
13
  resolve: (response: Response) => void;
14
14
  reject: (error: Error) => void;
15
15
  }
16
+ /** @deprecated – use `FetchEvent` instead. */
16
17
  export declare class RequestEvent<TSource extends HTMLElement = HTMLElement> extends CustomEvent<RequestEventPayload<TSource>> {
17
18
  static emit<TSource extends HTMLElement>(params: RequestSendInit<TSource>): Promise<Response>;
18
19
  constructor({ source, resolve, reject, init }: RequestEventInit<TSource>);
@@ -3,6 +3,7 @@ export class UnhandledRequestError extends Error {
3
3
  super('Unhandled request detected. Please add a request handler to connect this component to a backend.');
4
4
  }
5
5
  }
6
+ /** @deprecated – use `FetchEvent` instead. */
6
7
  export class RequestEvent extends CustomEvent {
7
8
  static emit(params) {
8
9
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/events/request.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C;QACE,KAAK,CACH,kGAAkG,CACnG,CAAC;IACJ,CAAC;CACF;AAiBD,MAAM,OAAO,YAAwD,SAAQ,WAE5E;IACQ,MAAM,CAAC,IAAI,CAChB,MAAgC;QAEhC,OAAO,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAc,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;YAC5E,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;gBAAE,MAAM,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAA6B;QAC7E,KAAK,CAAC,SAAS,EAAE;YACf,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;YACb,MAAM,EAAE;gBACN,MAAM;gBACN,MAAM,EAAE,KAAK,EAAE,KAAsB,EAAiB,EAAE;oBACtD,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBAChC,IAAI,CAAC,cAAc,EAAE,CAAC;oBAEtB,IAAI;wBACF,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;qBAC/B;oBAAC,OAAO,GAAG,EAAE;wBACZ,MAAM,CAAC,GAAG,CAAC,CAAC;qBACb;gBACH,CAAC;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["export class UnhandledRequestError extends Error {\n constructor() {\n super(\n 'Unhandled request detected. Please add a request handler to connect this component to a backend.'\n );\n }\n}\n\nexport interface RequestEventPayload<TSource extends HTMLElement> {\n source: TSource;\n handle: (fetch: Window['fetch']) => Promise<void>;\n}\n\nexport interface RequestSendInit<TSource extends HTMLElement> {\n source: TSource;\n init: Parameters<Window['fetch']>;\n}\n\nexport interface RequestEventInit<TSource extends HTMLElement> extends RequestSendInit<TSource> {\n resolve: (response: Response) => void;\n reject: (error: Error) => void;\n}\n\nexport class RequestEvent<TSource extends HTMLElement = HTMLElement> extends CustomEvent<\n RequestEventPayload<TSource>\n> {\n public static emit<TSource extends HTMLElement>(\n params: RequestSendInit<TSource>\n ): Promise<Response> {\n return new Promise<Response>((resolve, reject) => {\n const event = new RequestEvent<HTMLElement>({ resolve, reject, ...params });\n if (params.source.dispatchEvent(event)) reject(new UnhandledRequestError());\n });\n }\n\n public constructor({ source, resolve, reject, init }: RequestEventInit<TSource>) {\n super('request', {\n cancelable: true,\n composed: true,\n bubbles: true,\n detail: {\n source,\n handle: async (fetch: Window['fetch']): Promise<void> => {\n this.stopImmediatePropagation();\n this.preventDefault();\n\n try {\n resolve(await fetch(...init));\n } catch (err) {\n reject(err);\n }\n },\n },\n });\n }\n}\n"]}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/events/request.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C;QACE,KAAK,CACH,kGAAkG,CACnG,CAAC;IACJ,CAAC;CACF;AAiBD,8CAA8C;AAC9C,MAAM,OAAO,YAAwD,SAAQ,WAE5E;IACQ,MAAM,CAAC,IAAI,CAChB,MAAgC;QAEhC,OAAO,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAc,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;YAC5E,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;gBAAE,MAAM,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAA6B;QAC7E,KAAK,CAAC,SAAS,EAAE;YACf,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;YACb,MAAM,EAAE;gBACN,MAAM;gBACN,MAAM,EAAE,KAAK,EAAE,KAAsB,EAAiB,EAAE;oBACtD,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBAChC,IAAI,CAAC,cAAc,EAAE,CAAC;oBAEtB,IAAI;wBACF,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;qBAC/B;oBAAC,OAAO,GAAG,EAAE;wBACZ,MAAM,CAAC,GAAG,CAAC,CAAC;qBACb;gBACH,CAAC;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["export class UnhandledRequestError extends Error {\n constructor() {\n super(\n 'Unhandled request detected. Please add a request handler to connect this component to a backend.'\n );\n }\n}\n\nexport interface RequestEventPayload<TSource extends HTMLElement> {\n source: TSource;\n handle: (fetch: Window['fetch']) => Promise<void>;\n}\n\nexport interface RequestSendInit<TSource extends HTMLElement> {\n source: TSource;\n init: Parameters<Window['fetch']>;\n}\n\nexport interface RequestEventInit<TSource extends HTMLElement> extends RequestSendInit<TSource> {\n resolve: (response: Response) => void;\n reject: (error: Error) => void;\n}\n\n/** @deprecated – use `FetchEvent` instead. */\nexport class RequestEvent<TSource extends HTMLElement = HTMLElement> extends CustomEvent<\n RequestEventPayload<TSource>\n> {\n public static emit<TSource extends HTMLElement>(\n params: RequestSendInit<TSource>\n ): Promise<Response> {\n return new Promise<Response>((resolve, reject) => {\n const event = new RequestEvent<HTMLElement>({ resolve, reject, ...params });\n if (params.source.dispatchEvent(event)) reject(new UnhandledRequestError());\n });\n }\n\n public constructor({ source, resolve, reject, init }: RequestEventInit<TSource>) {\n super('request', {\n cancelable: true,\n composed: true,\n bubbles: true,\n detail: {\n source,\n handle: async (fetch: Window['fetch']): Promise<void> => {\n this.stopImmediatePropagation();\n this.preventDefault();\n\n try {\n resolve(await fetch(...init));\n } catch (err) {\n reject(err);\n }\n },\n },\n });\n }\n}\n"]}
@@ -1727,6 +1727,10 @@ input::-webkit-date-and-time-value{
1727
1727
  background-color: var(--lumo-contrast-20pct, hsla(214, 53%, 23%, 0.16));
1728
1728
  }
1729
1729
 
1730
+ .hover-bg-contrast:hover {
1731
+ background-color: var(--lumo-contrast, hsl(214, 35%, 15%));
1732
+ }
1733
+
1730
1734
  .hover-bg-primary-10:hover {
1731
1735
  background-color: var(--lumo-primary-color-10pct, hsla(214, 90%, 52%, 0.1));
1732
1736
  }
@@ -1744,6 +1748,10 @@ input::-webkit-date-and-time-value{
1744
1748
  }
1745
1749
  }
1746
1750
 
1751
+ .focus-bg-primary:focus {
1752
+ background-color: var(--lumo-primary-color, hsl(214, 90%, 52%));
1753
+ }
1754
+
1747
1755
  .fill-current {
1748
1756
  fill: currentColor;
1749
1757
  }
@@ -2102,7 +2110,15 @@ input::-webkit-date-and-time-value{
2102
2110
  }
2103
2111
  }
2104
2112
 
2113
+ .focus-within-text-primary-contrast:focus-within {
2114
+ color: var(--lumo-primary-contrast-color, #fff);
2115
+ }
2116
+
2105
2117
  @media (hover: hover) {
2118
+ .hover-text-base:hover {
2119
+ color: var(--lumo-base-color, #fff);
2120
+ }
2121
+
2106
2122
  .hover-text-contrast-80:hover {
2107
2123
  color: var(--lumo-contrast-80pct, hsla(214, 41%, 17%, 0.83));
2108
2124
  }