@foxy.io/elements 1.28.0 → 1.29.0-beta.2

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 (380) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +5 -5
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  5. package/dist/cdn/foxy-admin-subscription-form.js +1 -0
  6. package/dist/cdn/foxy-api-browser.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  8. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  9. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-card.js +1 -1
  11. package/dist/cdn/foxy-attribute-form.js +1 -1
  12. package/dist/cdn/foxy-billing-address-card.js +1 -1
  13. package/dist/cdn/foxy-cancellation-form.js +1 -1
  14. package/dist/cdn/foxy-cart-card.js +1 -1
  15. package/dist/cdn/foxy-cart-form.js +57 -1
  16. package/dist/cdn/foxy-client-card.js +1 -1
  17. package/dist/cdn/foxy-client-form.js +1 -1
  18. package/dist/cdn/foxy-collection-page.js +1 -1
  19. package/dist/cdn/foxy-collection-pages.js +1 -1
  20. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  21. package/dist/cdn/foxy-coupon-card.js +1 -1
  22. package/dist/cdn/foxy-coupon-code-card.js +1 -1
  23. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  24. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  25. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  26. package/dist/cdn/foxy-coupon-form.js +1 -1
  27. package/dist/cdn/foxy-custom-field-card.js +1 -1
  28. package/dist/cdn/foxy-custom-field-form.js +1 -1
  29. package/dist/cdn/foxy-customer-api.js +1 -1
  30. package/dist/cdn/foxy-customer-card.js +1 -1
  31. package/dist/cdn/foxy-customer-form.js +1 -1
  32. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  33. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  34. package/dist/cdn/foxy-customer-portal.js +2 -2
  35. package/dist/cdn/foxy-customer.js +4 -4
  36. package/dist/cdn/foxy-customers-table.js +1 -1
  37. package/dist/cdn/foxy-discount-builder.js +1 -1
  38. package/dist/cdn/foxy-discount-card.js +1 -1
  39. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  40. package/dist/cdn/foxy-donation.js +1 -1
  41. package/dist/cdn/foxy-downloadable-card.js +1 -1
  42. package/dist/cdn/foxy-downloadable-form.js +1 -1
  43. package/dist/cdn/foxy-email-template-card.js +1 -1
  44. package/dist/cdn/foxy-email-template-form.js +1 -1
  45. package/dist/cdn/foxy-error-entry-card.js +1 -1
  46. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  47. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  48. package/dist/cdn/foxy-form-dialog.js +1 -1
  49. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  50. package/dist/cdn/foxy-gift-card-card.js +1 -1
  51. package/dist/cdn/foxy-gift-card-code-card.js +1 -1
  52. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  53. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  54. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  55. package/dist/cdn/foxy-gift-card-form.js +1 -1
  56. package/dist/cdn/foxy-i18n-editor.js +2 -2
  57. package/dist/cdn/foxy-i18n.js +1 -1
  58. package/dist/cdn/foxy-integration-card.js +1 -1
  59. package/dist/cdn/foxy-integration-form.js +1 -1
  60. package/dist/cdn/foxy-item-card.js +1 -1
  61. package/dist/cdn/foxy-item-category-card.js +1 -1
  62. package/dist/cdn/foxy-item-category-form.js +1 -1
  63. package/dist/cdn/foxy-item-form.js +3 -3
  64. package/dist/cdn/foxy-item-option-card.js +1 -1
  65. package/dist/cdn/foxy-item-option-form.js +1 -1
  66. package/dist/cdn/foxy-items-form.js +1 -1
  67. package/dist/cdn/foxy-native-integration-card.js +1 -1
  68. package/dist/cdn/foxy-native-integration-form.js +1 -1
  69. package/dist/cdn/foxy-nucleon-element.js +1 -1
  70. package/dist/cdn/foxy-pagination.js +1 -1
  71. package/dist/cdn/foxy-passkey-card.js +1 -1
  72. package/dist/cdn/foxy-passkey-form.js +1 -1
  73. package/dist/cdn/foxy-payment-card-embed.js +1 -1
  74. package/dist/cdn/foxy-payment-card.js +1 -1
  75. package/dist/cdn/foxy-payment-method-card.js +1 -1
  76. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  77. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  78. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  80. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  81. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  82. package/dist/cdn/foxy-payments-api.js +1 -1
  83. package/dist/cdn/foxy-query-builder.js +1 -1
  84. package/dist/cdn/foxy-report-form.js +2 -2
  85. package/dist/cdn/foxy-reports-table.js +5 -5
  86. package/dist/cdn/foxy-shipment-card.js +1 -1
  87. package/dist/cdn/foxy-shipping-container-card.js +1 -1
  88. package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
  89. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  90. package/dist/cdn/foxy-shipping-service-card.js +1 -1
  91. package/dist/cdn/foxy-sign-in-form.js +1 -1
  92. package/dist/cdn/foxy-spinner.js +2 -2
  93. package/dist/cdn/foxy-store-card.js +1 -1
  94. package/dist/cdn/foxy-store-form.js +1 -1
  95. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  96. package/dist/cdn/foxy-subscription-card.js +1 -1
  97. package/dist/cdn/foxy-subscription-form.js +1 -1
  98. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  99. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  100. package/dist/cdn/foxy-table.js +1 -1
  101. package/dist/cdn/foxy-tax-card.js +1 -1
  102. package/dist/cdn/foxy-tax-form.js +1 -1
  103. package/dist/cdn/foxy-template-config-form.js +1 -1
  104. package/dist/cdn/foxy-template-form.js +1 -1
  105. package/dist/cdn/foxy-template-set-card.js +1 -1
  106. package/dist/cdn/foxy-template-set-form.js +1 -1
  107. package/dist/cdn/foxy-transaction-card.js +1 -1
  108. package/dist/cdn/foxy-transaction.js +1 -1
  109. package/dist/cdn/foxy-transactions-table.js +7 -7
  110. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  111. package/dist/cdn/foxy-user-card.js +1 -1
  112. package/dist/cdn/foxy-user-form.js +1 -1
  113. package/dist/cdn/foxy-users-table.js +1 -1
  114. package/dist/cdn/foxy-webhook-card.js +1 -1
  115. package/dist/cdn/foxy-webhook-form.js +1 -1
  116. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  117. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  118. package/dist/cdn/{shared-c2128988.js → shared-01b2cad8.js} +1 -1
  119. package/dist/cdn/{shared-fad783a0.js → shared-021c7a22.js} +1 -1
  120. package/dist/cdn/{shared-f2335b72.js → shared-075796e2.js} +2 -2
  121. package/dist/cdn/{shared-fee535ca.js → shared-0b01f721.js} +1 -1
  122. package/dist/cdn/{shared-701157ac.js → shared-0f6e4584.js} +1 -1
  123. package/dist/cdn/{shared-414a0c9b.js → shared-10325cda.js} +1 -1
  124. package/dist/cdn/{shared-9f44b81f.js → shared-10b5e78f.js} +1 -1
  125. package/dist/cdn/{shared-042969fe.js → shared-12a7a15d.js} +1 -1
  126. package/dist/cdn/{shared-9ee719e6.js → shared-12ac8cc6.js} +1 -1
  127. package/dist/cdn/{shared-57e4bcb0.js → shared-1cf1e1a4.js} +1 -1
  128. package/dist/cdn/{shared-7004839c.js → shared-2099544a.js} +2 -2
  129. package/dist/cdn/{shared-cbeb8587.js → shared-24d71d01.js} +1 -1
  130. package/dist/cdn/shared-292ba15e.js +1 -0
  131. package/dist/cdn/{shared-850e441a.js → shared-2a71795e.js} +1 -1
  132. package/dist/cdn/{shared-c0e56e97.js → shared-2d723710.js} +1 -1
  133. package/dist/cdn/{shared-58095d4b.js → shared-2fc671cd.js} +1 -1
  134. package/dist/cdn/{shared-cfdd6c21.js → shared-30221a16.js} +1 -1
  135. package/dist/cdn/{shared-e4cc1191.js → shared-303b428e.js} +1 -1
  136. package/dist/cdn/{shared-44b101d0.js → shared-339bbd50.js} +1 -1
  137. package/dist/cdn/{shared-cf9c48f9.js → shared-39a33102.js} +1 -1
  138. package/dist/cdn/{shared-0ed41a9e.js → shared-3e03c988.js} +1 -1
  139. package/dist/cdn/{shared-66084f2e.js → shared-3fa791ca.js} +1 -1
  140. package/dist/cdn/{shared-a28c9952.js → shared-4993a79d.js} +1 -1
  141. package/dist/cdn/shared-4c2d43e6.js +1 -0
  142. package/dist/cdn/{shared-ecec6a10.js → shared-522a172d.js} +1 -1
  143. package/dist/cdn/{shared-f300193c.js → shared-558bc894.js} +1 -1
  144. package/dist/cdn/{shared-b44cf5a9.js → shared-5c05ac06.js} +1 -1
  145. package/dist/cdn/shared-61f4e91a.js +1 -0
  146. package/dist/cdn/{shared-ec696e1b.js → shared-634b670e.js} +1 -1
  147. package/dist/cdn/{shared-25c57c74.js → shared-644ee296.js} +1 -1
  148. package/dist/cdn/shared-6474675f.js +1 -0
  149. package/dist/cdn/{shared-24586cfb.js → shared-6a4e81ad.js} +1 -1
  150. package/dist/cdn/{shared-bb35ee61.js → shared-6ac0d05e.js} +1 -1
  151. package/dist/cdn/{shared-7063f5af.js → shared-6d645dc5.js} +1 -1
  152. package/dist/cdn/shared-6e355777.js +1 -0
  153. package/dist/cdn/shared-7026fb08.js +1 -0
  154. package/dist/cdn/shared-70a5fad6.js +1 -0
  155. package/dist/cdn/{shared-a79dbeb9.js → shared-72c61f43.js} +1 -1
  156. package/dist/cdn/{shared-484b31eb.js → shared-72f41a65.js} +1 -1
  157. package/dist/cdn/shared-77051754.js +1 -0
  158. package/dist/cdn/{shared-789e3185.js → shared-77c4acdd.js} +1 -1
  159. package/dist/cdn/{shared-1708eb3c.js → shared-797ba64a.js} +1 -1
  160. package/dist/cdn/shared-7b8ad9c1.js +1 -0
  161. package/dist/cdn/shared-7ce91c80.js +1 -0
  162. package/dist/cdn/{shared-b3681c71.js → shared-7fd9a30f.js} +1 -1
  163. package/dist/cdn/{shared-ba5c9c0b.js → shared-81d3a9ae.js} +1 -1
  164. package/dist/cdn/{shared-80b9cb48.js → shared-876a4341.js} +1 -1
  165. package/dist/cdn/shared-8c1df97c.js +1 -0
  166. package/dist/cdn/{shared-add044d3.js → shared-8f7a31e0.js} +2 -2
  167. package/dist/cdn/{shared-49d678ad.js → shared-91f5e0b3.js} +1 -1
  168. package/dist/cdn/{shared-059680a0.js → shared-9a90a24e.js} +1 -1
  169. package/dist/cdn/shared-9db46672.js +1 -0
  170. package/dist/cdn/{shared-23061fb2.js → shared-a036e345.js} +1 -1
  171. package/dist/cdn/{shared-baaa1e47.js → shared-a159ccff.js} +1 -1
  172. package/dist/cdn/shared-a6273e4a.js +1 -0
  173. package/dist/cdn/{shared-f91d5706.js → shared-abea5e34.js} +1 -1
  174. package/dist/cdn/{shared-ae200b9f.js → shared-acdcae7e.js} +1 -1
  175. package/dist/cdn/{shared-80c6f97e.js → shared-aefac46b.js} +1 -1
  176. package/dist/cdn/{shared-fd410dee.js → shared-b6814728.js} +2 -2
  177. package/dist/cdn/{shared-293f9c07.js → shared-b731dfc5.js} +1 -1
  178. package/dist/cdn/{shared-2782886e.js → shared-b98b8d02.js} +1 -1
  179. package/dist/cdn/{shared-32cac4bd.js → shared-bdd4fbbb.js} +3 -3
  180. package/dist/cdn/shared-c286c5ad.js +1 -0
  181. package/dist/cdn/shared-cbb0e610.js +1 -0
  182. package/dist/cdn/{shared-4761504a.js → shared-cc79152c.js} +1 -1
  183. package/dist/cdn/{shared-2e6bda84.js → shared-d464d078.js} +1 -1
  184. package/dist/cdn/shared-d4810405.js +1 -0
  185. package/dist/cdn/{shared-41d57c3b.js → shared-d6010c96.js} +1 -1
  186. package/dist/cdn/{shared-c4f5b03b.js → shared-df00a537.js} +1 -1
  187. package/dist/cdn/{shared-db108ddb.js → shared-e2a61f69.js} +1 -1
  188. package/dist/cdn/{shared-59d8b64e.js → shared-e5d37737.js} +1 -1
  189. package/dist/cdn/{shared-a4e0a78b.js → shared-e6e84ff5.js} +1 -1
  190. package/dist/cdn/{shared-fbfa45bb.js → shared-ee36b83f.js} +1 -1
  191. package/dist/cdn/{shared-6d1556a0.js → shared-f1d2b5bb.js} +1 -1
  192. package/dist/cdn/{shared-aac73acd.js → shared-f22f22ae.js} +1 -1
  193. package/dist/cdn/{shared-ae462b8e.js → shared-f5366dda.js} +1 -1
  194. package/dist/cdn/{shared-a5c48bf4.js → shared-f7a1193f.js} +1 -1
  195. package/dist/cdn/{shared-a05fe56c.js → shared-fa9e5c7f.js} +1 -1
  196. package/dist/cdn/{shared-a08d509a.js → shared-fb56178f.js} +1 -1
  197. package/dist/cdn/{shared-5c1e607b.js → shared-fe77f6f6.js} +1 -1
  198. package/dist/cdn/{shared-bba917bf.js → shared-ff63a551.js} +1 -1
  199. package/dist/cdn/{shared-4b209827.js → shared-ffd3690b.js} +1 -1
  200. package/dist/cdn/translations/address-form/en.json +3 -3
  201. package/dist/cdn/translations/admin-subscription-form/en.json +1840 -0
  202. package/dist/cdn/translations/api-browser/en.json +2 -5
  203. package/dist/cdn/translations/cart-form/en.json +598 -169
  204. package/dist/cdn/translations/customer/en.json +3 -3
  205. package/dist/cdn/translations/item-form/en.json +0 -1
  206. package/dist/cdn/translations/transaction/en.json +0 -1
  207. package/dist/elements/internal/InternalCalendar/InternalCalendar.js +2 -1
  208. package/dist/elements/internal/InternalCalendar/InternalCalendar.js.map +1 -1
  209. package/dist/elements/internal/InternalCard/InternalCard.js +1 -1
  210. package/dist/elements/internal/InternalCard/InternalCard.js.map +1 -1
  211. package/dist/elements/internal/InternalControl/InternalControl.d.ts +1 -0
  212. package/dist/elements/internal/InternalControl/InternalControl.js +10 -7
  213. package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
  214. package/dist/elements/internal/InternalDateControl/InternalDateControl.d.ts +4 -1
  215. package/dist/elements/internal/InternalDateControl/InternalDateControl.js +36 -3
  216. package/dist/elements/internal/InternalDateControl/InternalDateControl.js.map +1 -1
  217. package/dist/elements/internal/InternalDateControl/getMonthNames.d.ts +1 -0
  218. package/dist/elements/internal/InternalDateControl/getMonthNames.js +7 -0
  219. package/dist/elements/internal/InternalDateControl/getMonthNames.js.map +1 -0
  220. package/dist/elements/internal/InternalDateControl/getWeekdayLongNames.d.ts +1 -0
  221. package/dist/elements/internal/InternalDateControl/getWeekdayLongNames.js +8 -0
  222. package/dist/elements/internal/InternalDateControl/getWeekdayLongNames.js.map +1 -0
  223. package/dist/elements/internal/InternalDateControl/getWeekdayShortNames.d.ts +1 -0
  224. package/dist/elements/internal/InternalDateControl/getWeekdayShortNames.js +8 -0
  225. package/dist/elements/internal/InternalDateControl/getWeekdayShortNames.js.map +1 -0
  226. package/dist/elements/internal/InternalDateControl/index.d.ts +1 -0
  227. package/dist/elements/internal/InternalDateControl/index.js +1 -0
  228. package/dist/elements/internal/InternalDateControl/index.js.map +1 -1
  229. package/dist/elements/internal/InternalDateControl/vaadinStyles.d.ts +1 -0
  230. package/dist/elements/internal/InternalDateControl/vaadinStyles.js +73 -0
  231. package/dist/elements/internal/InternalDateControl/vaadinStyles.js.map +1 -0
  232. package/dist/elements/internal/InternalForm/InternalForm.d.ts +2 -0
  233. package/dist/elements/internal/InternalForm/InternalForm.js +26 -29
  234. package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
  235. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.d.ts +3 -0
  236. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +128 -1
  237. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
  238. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +4 -1
  239. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +93 -1
  240. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
  241. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.d.ts +11 -1
  242. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js +115 -20
  243. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js.map +1 -1
  244. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js +0 -4
  245. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js.map +1 -1
  246. package/dist/elements/internal/InternalResourcePickerControl/index.d.ts +2 -0
  247. package/dist/elements/internal/InternalResourcePickerControl/index.js +2 -0
  248. package/dist/elements/internal/InternalResourcePickerControl/index.js.map +1 -1
  249. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +4 -1
  250. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +70 -2
  251. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
  252. package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.d.ts +8 -0
  253. package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js +28 -0
  254. package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js.map +1 -0
  255. package/dist/elements/internal/InternalSummaryControl/index.d.ts +4 -0
  256. package/dist/elements/internal/InternalSummaryControl/index.js +6 -0
  257. package/dist/elements/internal/InternalSummaryControl/index.js.map +1 -0
  258. package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.d.ts +7 -0
  259. package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js +75 -0
  260. package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js.map +1 -0
  261. package/dist/elements/internal/InternalSwitchControl/index.d.ts +4 -0
  262. package/dist/elements/internal/InternalSwitchControl/index.js +6 -0
  263. package/dist/elements/internal/InternalSwitchControl/index.js.map +1 -0
  264. package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +4 -1
  265. package/dist/elements/internal/InternalTextControl/InternalTextControl.js +74 -1
  266. package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
  267. package/dist/elements/private/Dialog/Dialog.js +1 -1
  268. package/dist/elements/private/Dialog/Dialog.js.map +1 -1
  269. package/dist/elements/public/AddressForm/AddressForm.d.ts +1 -1
  270. package/dist/elements/public/AddressForm/AddressForm.js +5 -5
  271. package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
  272. package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.d.ts +14 -0
  273. package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js +109 -0
  274. package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js.map +1 -0
  275. package/dist/elements/public/AdminSubscriptionForm/index.d.ts +13 -0
  276. package/dist/elements/public/AdminSubscriptionForm/index.js +15 -0
  277. package/dist/elements/public/AdminSubscriptionForm/index.js.map +1 -0
  278. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/InternalAdminSubscriptionFormError.d.ts +5 -0
  279. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/InternalAdminSubscriptionFormError.js +17 -0
  280. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/InternalAdminSubscriptionFormError.js.map +1 -0
  281. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/index.d.ts +3 -0
  282. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/index.js +5 -0
  283. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/index.js.map +1 -0
  284. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/InternalAdminSubscriptionFormLoadInCartAction.d.ts +8 -0
  285. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/InternalAdminSubscriptionFormLoadInCartAction.js +40 -0
  286. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/InternalAdminSubscriptionFormLoadInCartAction.js.map +1 -0
  287. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/index.d.ts +4 -0
  288. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/index.js +6 -0
  289. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/index.js.map +1 -0
  290. package/dist/elements/public/AdminSubscriptionForm/types.d.ts +5 -0
  291. package/dist/elements/public/AdminSubscriptionForm/types.js +2 -0
  292. package/dist/elements/public/AdminSubscriptionForm/types.js.map +1 -0
  293. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js +4 -1
  294. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js.map +1 -1
  295. package/dist/elements/public/AttributeCard/AttributeCard.js +3 -4
  296. package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
  297. package/dist/elements/public/CartForm/CartForm.d.ts +18 -35
  298. package/dist/elements/public/CartForm/CartForm.js +265 -501
  299. package/dist/elements/public/CartForm/CartForm.js.map +1 -1
  300. package/dist/elements/public/CartForm/index.d.ts +10 -5
  301. package/dist/elements/public/CartForm/index.js +10 -5
  302. package/dist/elements/public/CartForm/index.js.map +1 -1
  303. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.d.ts +33 -0
  304. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.js +293 -0
  305. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.js.map +1 -0
  306. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.d.ts +7 -0
  307. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.js +9 -0
  308. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.js.map +1 -0
  309. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.d.ts +1 -0
  310. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.js +58 -0
  311. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.js.map +1 -0
  312. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.d.ts +11 -0
  313. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.js +2 -0
  314. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.js.map +1 -0
  315. package/dist/elements/public/CartForm/internal/{InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.d.ts → InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.d.ts} +1 -1
  316. package/dist/elements/public/CartForm/internal/{InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js → InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.js} +5 -5
  317. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.js.map +1 -0
  318. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.d.ts +4 -0
  319. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.js +6 -0
  320. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.js.map +1 -0
  321. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.d.ts +6 -0
  322. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.js +35 -0
  323. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.js.map +1 -0
  324. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.d.ts +4 -0
  325. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.js +6 -0
  326. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.js.map +1 -0
  327. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/types.d.ts +5 -0
  328. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/types.js +2 -0
  329. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/types.js.map +1 -0
  330. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.d.ts +13 -0
  331. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.js +68 -0
  332. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.js.map +1 -0
  333. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.d.ts +6 -0
  334. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.js +8 -0
  335. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.js.map +1 -0
  336. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.d.ts +5 -0
  337. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.js +2 -0
  338. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.js.map +1 -0
  339. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.d.ts +9 -0
  340. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.js +91 -0
  341. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.js.map +1 -0
  342. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.d.ts +5 -0
  343. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.js +7 -0
  344. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.js.map +1 -0
  345. package/dist/elements/public/CartForm/types.d.ts +11 -1
  346. package/dist/elements/public/CartForm/types.js.map +1 -1
  347. package/dist/elements/public/CustomFieldCard/TwoLineCard.js +1 -1
  348. package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
  349. package/dist/elements/public/FormDialog/FormDialog.d.ts +2 -0
  350. package/dist/elements/public/FormDialog/FormDialog.js +9 -6
  351. package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
  352. package/dist/elements/public/index.d.ts +1 -0
  353. package/dist/elements/public/index.defined.d.ts +1 -0
  354. package/dist/elements/public/index.defined.js +1 -0
  355. package/dist/elements/public/index.defined.js.map +1 -1
  356. package/dist/elements/public/index.js +1 -0
  357. package/dist/elements/public/index.js.map +1 -1
  358. package/dist/mixins/themeable.js +18 -6
  359. package/dist/mixins/themeable.js.map +1 -1
  360. package/package.json +1 -1
  361. package/dist/cdn/shared-004fc193.js +0 -1
  362. package/dist/cdn/shared-08d018f5.js +0 -1
  363. package/dist/cdn/shared-0da6e42c.js +0 -1
  364. package/dist/cdn/shared-0e038fda.js +0 -1
  365. package/dist/cdn/shared-1d8edd03.js +0 -1
  366. package/dist/cdn/shared-365c8437.js +0 -1
  367. package/dist/cdn/shared-421708b0.js +0 -1
  368. package/dist/cdn/shared-57266e2a.js +0 -1
  369. package/dist/cdn/shared-5cb6aca6.js +0 -1
  370. package/dist/cdn/shared-6740ee7a.js +0 -1
  371. package/dist/cdn/shared-7af96c0a.js +0 -1
  372. package/dist/cdn/shared-824d0804.js +0 -1
  373. package/dist/cdn/shared-8f0251e9.js +0 -1
  374. package/dist/cdn/shared-b42c6fe3.js +0 -1
  375. package/dist/cdn/shared-b6376c8f.js +0 -1
  376. package/dist/cdn/shared-d82f9e35.js +0 -1
  377. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js.map +0 -1
  378. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.d.ts +0 -4
  379. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js +0 -6
  380. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/index.ts"],"names":[],"mappings":"AAAA,uDAAoD;AAEpD,OAAO,EAAE,kCAAkC,EAAE,gDAA6C;AAE1F,cAAc,CAAC,MAAM,CACnB,6CAA6C,EAC7C,kCAAkC,CACnC,CAAC;AAEF,OAAO,EAAE,kCAAkC,EAAE,CAAC","sourcesContent":["import '../../../../internal/InternalControl/index';\n\nimport { InternalAdminSubscriptionFormError } from './InternalAdminSubscriptionFormError';\n\ncustomElements.define(\n 'foxy-internal-admin-subscription-form-error',\n InternalAdminSubscriptionFormError\n);\n\nexport { InternalAdminSubscriptionFormError };\n"]}
@@ -0,0 +1,8 @@
1
+ import type { PropertyDeclarations } from 'lit-element';
2
+ import type { TemplateResult } from 'lit-html';
3
+ import { InternalControl } from '../../../../internal/InternalControl/InternalControl';
4
+ export declare class InternalAdminSubscriptionFormLoadInCartAction extends InternalControl {
5
+ static get properties(): PropertyDeclarations;
6
+ action: 'cancel' | null;
7
+ renderControl(): TemplateResult;
8
+ }
@@ -0,0 +1,40 @@
1
+ import { InternalControl } from "../../../../internal/InternalControl/InternalControl.js";
2
+ import { ifDefined } from 'lit-html/directives/if-defined';
3
+ import { html } from 'lit-html';
4
+ export class InternalAdminSubscriptionFormLoadInCartAction extends InternalControl {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.action = null;
8
+ }
9
+ static get properties() {
10
+ return {
11
+ ...super.properties,
12
+ action: {},
13
+ };
14
+ }
15
+ renderControl() {
16
+ var _a, _b;
17
+ const form = this.nucleon;
18
+ let href;
19
+ try {
20
+ const url = new URL((_b = (_a = form === null || form === void 0 ? void 0 : form.data) === null || _a === void 0 ? void 0 : _a._links['fx:sub_token_url'].href) !== null && _b !== void 0 ? _b : '');
21
+ if (this.action === 'cancel')
22
+ url.searchParams.set('sub_cancel', 'true');
23
+ href = url.toString();
24
+ }
25
+ catch (_c) {
26
+ href = undefined;
27
+ }
28
+ return html `
29
+ <a
30
+ target="_blank"
31
+ class="rounded font-medium text-primary group focus-outline-none focus-ring-2 focus-ring-primary-50"
32
+ href=${ifDefined(href)}
33
+ >
34
+ <foxy-i18n class="transition-opacity group-hover-opacity-80" infer="" key="caption">
35
+ </foxy-i18n>
36
+ </a>
37
+ `;
38
+ }
39
+ }
40
+ //# sourceMappingURL=InternalAdminSubscriptionFormLoadInCartAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalAdminSubscriptionFormLoadInCartAction.js","sourceRoot":"","sources":["../../../../../../src/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/InternalAdminSubscriptionFormLoadInCartAction.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,gEAA6D;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,6CAA8C,SAAQ,eAAe;IAAlF;;QAQE,WAAM,GAAoB,IAAI,CAAC;IAyBjC,CAAC;IAhCC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IAID,aAAa;;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,OAAuC,CAAC;QAC1D,IAAI,IAAwB,CAAC;QAE7B,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,aAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,MAAM,CAAC,kBAAkB,EAAE,IAAI,mCAAI,EAAE,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACzE,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SACvB;QAAC,WAAM;YACN,IAAI,GAAG,SAAS,CAAC;SAClB;QAED,OAAO,IAAI,CAAA;;;;eAIA,SAAS,CAAC,IAAI,CAAC;;;;;KAKzB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { AdminSubscriptionForm } from '../../AdminSubscriptionForm';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\n\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nexport class InternalAdminSubscriptionFormLoadInCartAction extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n action: {},\n };\n }\n\n action: 'cancel' | null = null;\n\n renderControl(): TemplateResult {\n const form = this.nucleon as AdminSubscriptionForm | null;\n let href: string | undefined;\n\n try {\n const url = new URL(form?.data?._links['fx:sub_token_url'].href ?? '');\n if (this.action === 'cancel') url.searchParams.set('sub_cancel', 'true');\n href = url.toString();\n } catch {\n href = undefined;\n }\n\n return html`\n <a\n target=\"_blank\"\n class=\"rounded font-medium text-primary group focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${ifDefined(href)}\n >\n <foxy-i18n class=\"transition-opacity group-hover-opacity-80\" infer=\"\" key=\"caption\">\n </foxy-i18n>\n </a>\n `;\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import '../../../../internal/InternalControl/index';
2
+ import '../../../I18n/index';
3
+ import { InternalAdminSubscriptionFormLoadInCartAction as Action } from './InternalAdminSubscriptionFormLoadInCartAction';
4
+ export { Action as InternalAdminSubscriptionFormLoadInCartAction };
@@ -0,0 +1,6 @@
1
+ import "../../../../internal/InternalControl/index.js";
2
+ import "../../../I18n/index.js";
3
+ import { InternalAdminSubscriptionFormLoadInCartAction as Action } from "./InternalAdminSubscriptionFormLoadInCartAction.js";
4
+ customElements.define('foxy-internal-admin-subscription-form-load-in-cart-action', Action);
5
+ export { Action as InternalAdminSubscriptionFormLoadInCartAction };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/index.ts"],"names":[],"mappings":"AAAA,uDAAoD;AAEpD,gCAA6B;AAE7B,OAAO,EAAE,6CAA6C,IAAI,MAAM,EAAE,2DAAwD;AAE1H,cAAc,CAAC,MAAM,CAAC,2DAA2D,EAAE,MAAM,CAAC,CAAC;AAE3F,OAAO,EAAE,MAAM,IAAI,6CAA6C,EAAE,CAAC","sourcesContent":["import '../../../../internal/InternalControl/index';\n\nimport '../../../I18n/index';\n\nimport { InternalAdminSubscriptionFormLoadInCartAction as Action } from './InternalAdminSubscriptionFormLoadInCartAction';\n\ncustomElements.define('foxy-internal-admin-subscription-form-load-in-cart-action', Action);\n\nexport { Action as InternalAdminSubscriptionFormLoadInCartAction };\n"]}
@@ -0,0 +1,5 @@
1
+ import type { Resource } from '@foxy.io/sdk/core';
2
+ import type { Rels } from '@foxy.io/sdk/backend';
3
+ export declare type Data = Resource<Rels.Subscription, {
4
+ zoom: 'transaction_template';
5
+ }>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/AdminSubscriptionForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nexport type Data = Resource<Rels.Subscription, { zoom: 'transaction_template' }>;\n"]}
@@ -94,7 +94,10 @@ foxy-internal-source-control::part(label),
94
94
 
95
95
  ${this.in({ idle: { snapshot: 'dirty' } }) || this.in({ idle: 'template' })
96
96
  ? html `
97
- <foxy-internal-submit-control infer="create" theme="tertiary-inline success">
97
+ <foxy-internal-submit-control
98
+ infer=${this.href ? 'submit' : 'create'}
99
+ theme="tertiary-inline success"
100
+ >
98
101
  </foxy-internal-submit-control>
99
102
  `
100
103
  : ''}
@@ -1 +1 @@
1
- {"version":3,"file":"InternalApiBrowserResourceForm.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,8CAA2C;AACvE,OAAO,EAAE,YAAY,EAAE,0DAAuD;AAC9E,OAAO,EAAE,QAAQ,EAAE,0CAAuC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,kBAAkB,GAAG,MAAM,EAAY,CAAC;AAC9C,MAAM,gBAAgB,GAAG,MAAM,EAAY,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,OAAO,8BAA+B,SAAQ,iBAAiB,CAAC,YAAY,CAAO;IAAzF;;QAsDE,oEAAoE;QACpE,SAAI,GAAG,KAAK,CAAC;IAkOf,CAAC;IAxRC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;SACvC,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO;YACL,GAAG,KAAK,CAAC,MAAM;YACf,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,OAAO;YACL,GAAG,KAAK,CAAC,GAAG;YACZ,CAAC,CAAC,EAAE,CAAC,CAAC,OAAQ,CAAS,CAAC,kBAAkB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;SAClF,CAAC;IACJ,CAAC;IAKD,UAAU;QACR,OAAO,IAAI,CAAA;;;gBAGC,IAAI,CAAC,IAAI;kBACP,CAAC,GAAU,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,GAAG,CAAC,aAAmC,CAAC;YACxD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC3B,CAAC;;;kBAGS,QAAQ,CAAC;YACf,wCAAwC,EAAE,IAAI;YAC9C,iCAAiC,EAAE,IAAI;YACvC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI;SAC1B,CAAC;;;;;qEAKyD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM;;;iDAG5C,IAAI,CAAC,aAAa,EAAE;;;cAGvD,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YACzE,CAAC,CAAC,IAAI,CAAA;;;iBAGH;YACH,CAAC,CAAC,EAAE;cACJ,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;YACpF,CAAC,CAAC,IAAI,CAAA;;;;;6BAKS,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;;;;iBAI7B;YACH,CAAC,CAAC,EAAE;cACJ,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAA;;;iBAGH;YACH,CAAC,CAAC,EAAE;;;;UAIR,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE;;KAEzC,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,MAAM,CAAgB,GAAG,IAAiC;;QACxE,IAAI;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5E,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;YAElE,MAAM,IAAI,SAAI,IAAI,CAAC,IAAY,CAAC,gBAAgB,CAAC,mCAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/E,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;SAClE;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,CAAC,cAAc,CAAC,CAAC;SACxB;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,OAAO,IAAI,CAAA;;gBAED,IAAI,CAAC,MAAM;OACpB,CAAC;SACH;QAED,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE/B,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACxB,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAE/D,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEtE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,QAAQ,GAAG,GAAG,QAAQ,GAAG,CAAC;gBAC1B,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACtD;YAED,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;SACrB;QAAC,WAAM;YACN,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;SACtB;QAED,OAAO,IAAI,CAAA;QACP;YACA,IAAI,CAAA,SAAS,QAAQ,SAAS;YAC9B,IAAI,CAAA,8BAA8B,UAAU,SAAS;YACrD,IAAI,CAAA,+BAA+B,MAAM,SAAS;SACnD;KACF,CAAC;IACJ,CAAC;IAEO,YAAY;QAClB,OAAO,IAAI,CAAA;;sBAEO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;;;;wBAIzB,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc;wBACzB,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;;;;YAIlE,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,IAAI,CAAA;;;sBAGI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CACnC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAChD;;;eAGN;YACH,CAAC,CAAC,EAAE;;;KAGX,CAAC;IACJ,CAAC;IAED,IAAY,OAAO;;QACjB,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,aAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,mCAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CACzC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAE,IAAY,CAAC,SAAS,CACxF,CAAC;QAEF,IAAI;YACF,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACrF;QAAC,WAAM;YACN,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;SAC1E;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAY,cAAc;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAW,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE9C,IAAI,OAAO,YAAY,KAAK,QAAQ;YAAE,OAAO,YAAY,CAAC;QAC1D,IAAI,OAAO,UAAU,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC;QAEtD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,IAAY,cAAc,CAAC,QAAgB;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,IAAI;YACF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,OAAO,cAAc,KAAK,QAAQ;gBAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC7C;QAAC,WAAM;YACN,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC/C;IACH,CAAC;IAEO,YAAY,CAAC,KAAa,EAAE,IAAY,EAAE,KAAc;QAC9D,OAAO,IAAI,CAAA;;;;;;;oBAOK,QAAQ,CAAC;YACf,6DAA6D,EAAE,IAAI;YACnE,4BAA4B,EAAE,IAAI;YAClC,kCAAkC,EAAE,IAAI;SACzC,CAAC;qBACO,GAAG,EAAE;YACZ,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;;;;oDAIuC,KAAK,IAAI,IAAI;mDACd,KAAK;;;;;;;;;;;;;;;uBAejC,GAAG,EAAE;YACZ,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;;;;;;;KAOV,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { CSSResultArray, PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../../../NucleonElement/types';\nimport type { Data } from '../../types';\n\nimport { TranslatableMixin } from '../../../../../mixins/translatable';\nimport { InternalForm } from '../../../../internal/InternalForm/InternalForm';\nimport { classMap } from '../../../../../utils/class-map';\nimport { html } from 'lit-html';\nimport { css } from 'lit-element';\n\nconst InvalidValueSymbol = Symbol() as symbol;\nconst ValidValueSymbol = Symbol() as symbol;\n\n/**\n * Internal raw resource JSON editor for use with ApiBrowser.\n *\n * @element foxy-internal-api-browser-resource-form\n * @since 1.17.0\n */\nexport class InternalApiBrowserResourceForm extends TranslatableMixin(InternalForm)<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n open: { type: Boolean, reflect: true },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n ...super.styles,\n css`\n .resource {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(calc(18.75 * var(--lumo-space-m)), 1fr));\n grid-gap: 1px;\n }\n\n .resource > :first-child {\n grid-column-start: 1;\n grid-column-end: -2;\n }\n\n foxy-internal-source-control::part(editor) {\n border-radius: 0;\n max-height: none;\n box-shadow: none;\n border: none;\n }\n\n foxy-internal-source-control::part(label),\n foxy-internal-source-control::part(helper-text) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding-top: 0px;\n margin-top: -1px;\n overflow-x: hidden;\n overflow-y: hidden;\n clip: rect(0px, 0px, 0px, 0px);\n white-space: nowrap;\n border-top-width: 0px;\n }\n `,\n ];\n }\n\n static get v8n(): NucleonV8N<any> {\n return [\n ...super.v8n,\n v => (typeof (v as any)[InvalidValueSymbol] === 'string' ? 'invalid_json' : true),\n ];\n }\n\n /** Same as the \"open\" attribute/property of the details element. */\n open = false;\n\n renderBody(): TemplateResult {\n return html`\n <details\n class=\"select-none rounded-t-l rounded-b-l overflow-hidden border border-contrast-10\"\n ?open=${this.open}\n @toggle=${(evt: Event) => {\n const details = evt.currentTarget as HTMLDetailsElement;\n this.open = details.open;\n }}\n >\n <summary\n class=${classMap({\n 'ring-inset ring-primary-50 rounded-t-l': true,\n 'focus-outline-none focus-ring-2': true,\n 'rounded-b-l': !this.open,\n })}\n >\n <div\n class=\"flex items-center space-x-s p-s pr-m transition-colors cursor-pointer bg-contrast-5 hover-bg-contrast-10\"\n >\n <foxy-copy-to-clipboard infer=\"copy-to-clipboard\" text=${this.href || this.parent}>\n </foxy-copy-to-clipboard>\n\n <span class=\"font-medium truncate\">${this.__renderTitle()}</span>\n <span class=\"flex-1\"></span>\n\n ${this.in({ idle: { snapshot: 'dirty' } }) || this.in({ idle: 'template' })\n ? html`\n <foxy-internal-submit-control infer=\"create\" theme=\"tertiary-inline success\">\n </foxy-internal-submit-control>\n `\n : ''}\n ${this.in({ idle: { snapshot: 'dirty' } }) || this.in({ idle: { template: 'dirty' } })\n ? html`\n <vaadin-button\n data-testid=\"undo\"\n theme=\"tertiary-inline contrast\"\n class=\"px-xs\"\n @click=${() => this.undo()}\n >\n <foxy-i18n infer=\"\" key=\"undo\"></foxy-i18n>\n </vaadin-button>\n `\n : ''}\n ${this.in({ idle: 'snapshot' })\n ? html`\n <foxy-internal-delete-control infer=\"delete\" theme=\"tertiary-inline error\">\n </foxy-internal-delete-control>\n `\n : ''}\n </div>\n </summary>\n\n ${this.open ? this.__renderForm() : ''}\n </details>\n `;\n }\n\n protected async _fetch<TResult = any>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n try {\n const request = args[0] instanceof Request ? args[0] : new Request(...args);\n if (request.method !== 'POST') return await super._fetch(...args);\n\n const body = (this.form as any)[ValidValueSymbol] ?? JSON.stringify(this.form);\n return await super._fetch(request.url, { method: 'POST', body });\n } catch (err) {\n throw ['invalid_json'];\n }\n }\n\n private __renderTitle() {\n if (!this.href) {\n return html`\n <span class=\"text-tertiary\">POST</span>\n <span>${this.parent}</span>\n `;\n }\n\n let pathname = '';\n let identifier = '';\n let search = '';\n\n try {\n const url = new URL(this.href);\n\n pathname = url.pathname;\n if (pathname.startsWith('/')) pathname = pathname.substring(1);\n\n const splitPathname = pathname.split('/');\n pathname = splitPathname.slice(0, splitPathname.length - 1).join('/');\n\n if (splitPathname.length > 1) {\n pathname = `${pathname}/`;\n identifier = splitPathname[splitPathname.length - 1];\n }\n\n search = url.search;\n } catch {\n pathname = this.href;\n }\n\n return html`\n ${[\n html`<span>${pathname}</span>`,\n html`<span class=\"text-primary\">${identifier}</span>`,\n html`<span class=\"text-tertiary\">${search}</span>`,\n ]}\n `;\n }\n\n private __renderForm() {\n return html`\n <div class=\"bg-base\">\n <div class=\"${this.data ? 'resource' : ''} border-t border-contrast-5 bg-contrast-10\">\n <foxy-internal-source-control\n infer=\"editor\"\n class=\"flex-1 bg-base\"\n .getValue=${() => this.__formAsString}\n .setValue=${(newValue: string) => (this.__formAsString = newValue)}\n >\n </foxy-internal-source-control>\n\n ${this.data\n ? html`\n <div class=\"bg-base\">\n <ul class=\"bg-contrast-5 p-xs h-full\">\n ${this.__links.map(([curie, link]) =>\n this.__renderLink(curie, link.href, link.title)\n )}\n </ul>\n </div>\n `\n : ''}\n </div>\n </div>\n `;\n }\n\n private get __links() {\n const linksAsEntries = Object.entries(this.data?._links ?? {});\n const relevantLinks = linksAsEntries.filter(\n ([curie, link]) => curie !== 'self' && !Array.isArray(link) && !(link as any).templated\n );\n\n try {\n relevantLinks.sort(([curie1], [curie2]) => curie1.localeCompare(curie2, this.lang));\n } catch {\n relevantLinks.sort(([curie1], [curie2]) => curie1.localeCompare(curie2));\n }\n\n return relevantLinks;\n }\n\n private get __formAsString() {\n const form = this.form as any;\n const validValue = form[ValidValueSymbol];\n const invalidValue = form[InvalidValueSymbol];\n\n if (typeof invalidValue === 'string') return invalidValue;\n if (typeof validValue === 'string') return validValue;\n\n return JSON.stringify(form, (key, value) => (key.startsWith('_') ? undefined : value), 2);\n }\n\n private set __formAsString(newValue: string) {\n this.undo();\n\n try {\n const parsedNewValue = JSON.parse(newValue);\n if (typeof parsedNewValue === 'object') this.edit(parsedNewValue);\n this.edit({ [ValidValueSymbol]: newValue });\n } catch {\n this.edit({ [InvalidValueSymbol]: newValue });\n }\n }\n\n private __renderLink(curie: string, href: string, title?: string) {\n return html`\n <li\n data-testclass=\"link\"\n class=\"m-xs rounded overflow-hidden transition-colors hover-bg-contrast-5\"\n >\n <foxy-swipe-actions>\n <button\n class=${classMap({\n 'rounded leading-none space-y-xs block text-left w-full py-s': true,\n 'ring-inset ring-primary-50': true,\n 'focus-outline-none focus-ring-2 ': true,\n })}\n @click=${() => {\n const evt = new CustomEvent('navigate:get', { bubbles: true, detail: href });\n this.dispatchEvent(evt);\n }}\n >\n <div class=\"flex items-center\">\n <div class=\"flex-1 space-y-xs px-s min-w-0 text-s\">\n <div class=\"truncate font-medium\">${title || href}</div>\n <div class=\"opacity-75 truncate\">${curie}</div>\n </div>\n\n <iron-icon\n class=\"icon-inline text-xl text-tertiary mr-s flex-shrink-0\"\n icon=\"icons:chevron-right\"\n >\n </iron-icon>\n </div>\n </button>\n\n <div slot=\"action\" class=\"h-full flex\">\n <vaadin-button\n theme=\"secondary success\"\n class=\"h-full rounded-none\"\n @click=${() => {\n const evt = new CustomEvent('navigate:post', { bubbles: true, detail: href });\n this.dispatchEvent(evt);\n }}\n >\n POST\n </vaadin-button>\n </div>\n </foxy-swipe-actions>\n </li>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalApiBrowserResourceForm.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CSSResultArray, PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../../../NucleonElement/types';\nimport type { Data } from '../../types';\n\nimport { TranslatableMixin } from '../../../../../mixins/translatable';\nimport { InternalForm } from '../../../../internal/InternalForm/InternalForm';\nimport { classMap } from '../../../../../utils/class-map';\nimport { html } from 'lit-html';\nimport { css } from 'lit-element';\n\nconst InvalidValueSymbol = Symbol() as symbol;\nconst ValidValueSymbol = Symbol() as symbol;\n\n/**\n * Internal raw resource JSON editor for use with ApiBrowser.\n *\n * @element foxy-internal-api-browser-resource-form\n * @since 1.17.0\n */\nexport class InternalApiBrowserResourceForm extends TranslatableMixin(InternalForm)<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n open: { type: Boolean, reflect: true },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n ...super.styles,\n css`\n .resource {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(calc(18.75 * var(--lumo-space-m)), 1fr));\n grid-gap: 1px;\n }\n\n .resource > :first-child {\n grid-column-start: 1;\n grid-column-end: -2;\n }\n\n foxy-internal-source-control::part(editor) {\n border-radius: 0;\n max-height: none;\n box-shadow: none;\n border: none;\n }\n\n foxy-internal-source-control::part(label),\n foxy-internal-source-control::part(helper-text) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding-top: 0px;\n margin-top: -1px;\n overflow-x: hidden;\n overflow-y: hidden;\n clip: rect(0px, 0px, 0px, 0px);\n white-space: nowrap;\n border-top-width: 0px;\n }\n `,\n ];\n }\n\n static get v8n(): NucleonV8N<any> {\n return [\n ...super.v8n,\n v => (typeof (v as any)[InvalidValueSymbol] === 'string' ? 'invalid_json' : true),\n ];\n }\n\n /** Same as the \"open\" attribute/property of the details element. */\n open = false;\n\n renderBody(): TemplateResult {\n return html`\n <details\n class=\"select-none rounded-t-l rounded-b-l overflow-hidden border border-contrast-10\"\n ?open=${this.open}\n @toggle=${(evt: Event) => {\n const details = evt.currentTarget as HTMLDetailsElement;\n this.open = details.open;\n }}\n >\n <summary\n class=${classMap({\n 'ring-inset ring-primary-50 rounded-t-l': true,\n 'focus-outline-none focus-ring-2': true,\n 'rounded-b-l': !this.open,\n })}\n >\n <div\n class=\"flex items-center space-x-s p-s pr-m transition-colors cursor-pointer bg-contrast-5 hover-bg-contrast-10\"\n >\n <foxy-copy-to-clipboard infer=\"copy-to-clipboard\" text=${this.href || this.parent}>\n </foxy-copy-to-clipboard>\n\n <span class=\"font-medium truncate\">${this.__renderTitle()}</span>\n <span class=\"flex-1\"></span>\n\n ${this.in({ idle: { snapshot: 'dirty' } }) || this.in({ idle: 'template' })\n ? html`\n <foxy-internal-submit-control\n infer=${this.href ? 'submit' : 'create'}\n theme=\"tertiary-inline success\"\n >\n </foxy-internal-submit-control>\n `\n : ''}\n ${this.in({ idle: { snapshot: 'dirty' } }) || this.in({ idle: { template: 'dirty' } })\n ? html`\n <vaadin-button\n data-testid=\"undo\"\n theme=\"tertiary-inline contrast\"\n class=\"px-xs\"\n @click=${() => this.undo()}\n >\n <foxy-i18n infer=\"\" key=\"undo\"></foxy-i18n>\n </vaadin-button>\n `\n : ''}\n ${this.in({ idle: 'snapshot' })\n ? html`\n <foxy-internal-delete-control infer=\"delete\" theme=\"tertiary-inline error\">\n </foxy-internal-delete-control>\n `\n : ''}\n </div>\n </summary>\n\n ${this.open ? this.__renderForm() : ''}\n </details>\n `;\n }\n\n protected async _fetch<TResult = any>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n try {\n const request = args[0] instanceof Request ? args[0] : new Request(...args);\n if (request.method !== 'POST') return await super._fetch(...args);\n\n const body = (this.form as any)[ValidValueSymbol] ?? JSON.stringify(this.form);\n return await super._fetch(request.url, { method: 'POST', body });\n } catch (err) {\n throw ['invalid_json'];\n }\n }\n\n private __renderTitle() {\n if (!this.href) {\n return html`\n <span class=\"text-tertiary\">POST</span>\n <span>${this.parent}</span>\n `;\n }\n\n let pathname = '';\n let identifier = '';\n let search = '';\n\n try {\n const url = new URL(this.href);\n\n pathname = url.pathname;\n if (pathname.startsWith('/')) pathname = pathname.substring(1);\n\n const splitPathname = pathname.split('/');\n pathname = splitPathname.slice(0, splitPathname.length - 1).join('/');\n\n if (splitPathname.length > 1) {\n pathname = `${pathname}/`;\n identifier = splitPathname[splitPathname.length - 1];\n }\n\n search = url.search;\n } catch {\n pathname = this.href;\n }\n\n return html`\n ${[\n html`<span>${pathname}</span>`,\n html`<span class=\"text-primary\">${identifier}</span>`,\n html`<span class=\"text-tertiary\">${search}</span>`,\n ]}\n `;\n }\n\n private __renderForm() {\n return html`\n <div class=\"bg-base\">\n <div class=\"${this.data ? 'resource' : ''} border-t border-contrast-5 bg-contrast-10\">\n <foxy-internal-source-control\n infer=\"editor\"\n class=\"flex-1 bg-base\"\n .getValue=${() => this.__formAsString}\n .setValue=${(newValue: string) => (this.__formAsString = newValue)}\n >\n </foxy-internal-source-control>\n\n ${this.data\n ? html`\n <div class=\"bg-base\">\n <ul class=\"bg-contrast-5 p-xs h-full\">\n ${this.__links.map(([curie, link]) =>\n this.__renderLink(curie, link.href, link.title)\n )}\n </ul>\n </div>\n `\n : ''}\n </div>\n </div>\n `;\n }\n\n private get __links() {\n const linksAsEntries = Object.entries(this.data?._links ?? {});\n const relevantLinks = linksAsEntries.filter(\n ([curie, link]) => curie !== 'self' && !Array.isArray(link) && !(link as any).templated\n );\n\n try {\n relevantLinks.sort(([curie1], [curie2]) => curie1.localeCompare(curie2, this.lang));\n } catch {\n relevantLinks.sort(([curie1], [curie2]) => curie1.localeCompare(curie2));\n }\n\n return relevantLinks;\n }\n\n private get __formAsString() {\n const form = this.form as any;\n const validValue = form[ValidValueSymbol];\n const invalidValue = form[InvalidValueSymbol];\n\n if (typeof invalidValue === 'string') return invalidValue;\n if (typeof validValue === 'string') return validValue;\n\n return JSON.stringify(form, (key, value) => (key.startsWith('_') ? undefined : value), 2);\n }\n\n private set __formAsString(newValue: string) {\n this.undo();\n\n try {\n const parsedNewValue = JSON.parse(newValue);\n if (typeof parsedNewValue === 'object') this.edit(parsedNewValue);\n this.edit({ [ValidValueSymbol]: newValue });\n } catch {\n this.edit({ [InvalidValueSymbol]: newValue });\n }\n }\n\n private __renderLink(curie: string, href: string, title?: string) {\n return html`\n <li\n data-testclass=\"link\"\n class=\"m-xs rounded overflow-hidden transition-colors hover-bg-contrast-5\"\n >\n <foxy-swipe-actions>\n <button\n class=${classMap({\n 'rounded leading-none space-y-xs block text-left w-full py-s': true,\n 'ring-inset ring-primary-50': true,\n 'focus-outline-none focus-ring-2 ': true,\n })}\n @click=${() => {\n const evt = new CustomEvent('navigate:get', { bubbles: true, detail: href });\n this.dispatchEvent(evt);\n }}\n >\n <div class=\"flex items-center\">\n <div class=\"flex-1 space-y-xs px-s min-w-0 text-s\">\n <div class=\"truncate font-medium\">${title || href}</div>\n <div class=\"opacity-75 truncate\">${curie}</div>\n </div>\n\n <iron-icon\n class=\"icon-inline text-xl text-tertiary mr-s flex-shrink-0\"\n icon=\"icons:chevron-right\"\n >\n </iron-icon>\n </div>\n </button>\n\n <div slot=\"action\" class=\"h-full flex\">\n <vaadin-button\n theme=\"secondary success\"\n class=\"h-full rounded-none\"\n @click=${() => {\n const evt = new CustomEvent('navigate:post', { bubbles: true, detail: href });\n this.dispatchEvent(evt);\n }}\n >\n POST\n </vaadin-button>\n </div>\n </foxy-swipe-actions>\n </li>\n `;\n }\n}\n"]}
@@ -62,7 +62,6 @@ export class AttributeCard extends Base {
62
62
  };
63
63
  }
64
64
  render() {
65
- var _a, _b;
66
65
  const hiddenSelector = this.hiddenSelector;
67
66
  const isLoaded = this.in({ idle: 'snapshot' });
68
67
  const isEmpty = this.in({ idle: 'template' });
@@ -70,7 +69,7 @@ export class AttributeCard extends Base {
70
69
  <div
71
70
  aria-live="polite"
72
71
  aria-busy=${this.in('busy')}
73
- class="h-s flex flex-col justify-center relative text-body text-m font-lumo leading-xs sm-flex-row sm-items-center sm-justify-between"
72
+ class="relative text-body text-m font-lumo leading-xs sm-flex sm-items-center sm-justify-between"
74
73
  >
75
74
  ${hiddenSelector.matches('name', true) ? '' : this.__renderName()}
76
75
  ${hiddenSelector.matches('value', true) ? '' : this.__renderValue()}
@@ -78,15 +77,15 @@ export class AttributeCard extends Base {
78
77
  <div
79
78
  class=${classMap({
80
79
  'transition duration-250 ease-in-out absolute inset-0 flex': true,
80
+ 'items-center justify-center': true,
81
81
  'opacity-0 pointer-events-none': isLoaded,
82
82
  })}
83
83
  >
84
84
  <foxy-spinner
85
85
  data-testid="spinner"
86
- class="m-auto"
87
86
  state=${this.in('fail') ? 'error' : isEmpty ? 'empty' : 'busy'}
88
87
  lang=${this.lang}
89
- ns="${this.ns} ${(_b = (_a = customElements.get('foxy-spinner')) === null || _a === void 0 ? void 0 : _a.defaultNS) !== null && _b !== void 0 ? _b : ''}"
88
+ ns="${this.ns} spinner"
90
89
  >
91
90
  </foxy-spinner>
92
91
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeCard.js","sourceRoot":"","sources":["../../../../src/elements/public/AttributeCard/AttributeCard.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,cAAc,EAAE,4CAAyC;AAClE,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AACpD,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAE7D,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAC5B,MAAM,IAAI,GAAG,eAAe,CAC1B,iBAAiB,CAAC,iBAAiB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CACzE,CAAC;AAEF;;;;;GAKG;AACH,MAAM,OAAO,aAAc,SAAQ,IAAU;IAA7C;;QACmB,iBAAY,GAAG,GAAG,EAAE;;YACnC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAEtB,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;;;wCAGV,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,EAAE;cAC1C,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,IAAI,CAAA,QAAQ;;;YAG5B,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ;gBACpC,CAAC,CAAC,IAAI,CAAA;;;;eAIH;gBACH,CAAC,CAAC,EAAE;;;UAGN,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;;KAE5C,CAAC;QACJ,CAAC,CAAC;QAEe,kBAAa,GAAG,GAAG,EAAE;;YACpC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAEtB,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;;;;kBAIjC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,EAAE;;;YAGvB,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,IAAI,CAAA,QAAQ;;;UAG7B,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;;KAE7C,CAAC;QACJ,CAAC,CAAC;IAkCJ,CAAC;IAhCC,MAAM;;QACJ,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAA;;;oBAGK,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;;;UAGzB,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE;UAC/D,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE;;;kBAGzD,QAAQ,CAAC;YACf,2DAA2D,EAAE,IAAI;YACjE,+BAA+B,EAAE,QAAQ;SAC1C,CAAC;;;;;oBAKQ,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;mBACvD,IAAI,CAAC,IAAI;kBACV,IAAI,CAAC,EAAE,IAAI,YAAA,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,SAAS,mCAAI,EAAE;;;;;KAK3E,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { Data } from './types';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\n\nconst NS = 'attribute-card';\nconst Base = ResponsiveMixin(\n TranslatableMixin(ConfigurableMixin(ThemeableMixin(NucleonElement)), NS)\n);\n\n/**\n * Basic card displaying an attribute.\n *\n * @element foxy-attribute-card\n * @since 1.2.0\n */\nexport class AttributeCard extends Base<Data> {\n private readonly __renderName = () => {\n const { data } = this;\n\n return html`\n <div>\n ${this.renderTemplateOrSlot('name:before')}\n\n <div class=\"flex items-center space-x-xs font-medium\">\n <div class=\"truncate\" title=${data?.name ?? ''} data-testid=\"name\">\n ${data?.name ?? html`&nbsp;`}\n </div>\n\n ${data && data.visibility !== 'public'\n ? html`\n <div class=\"flex items-center\" style=\"height: 1px\">\n <iron-icon icon=\"icons:lock\" class=\"icon-inline\"></iron-icon>\n </div>\n `\n : ''}\n </div>\n\n ${this.renderTemplateOrSlot('name:after')}\n </div>\n `;\n };\n\n private readonly __renderValue = () => {\n const { data } = this;\n\n return html`\n <div>\n ${this.renderTemplateOrSlot('value:before')}\n\n <div\n class=\"truncate text-secondary text-s sm-text-m\"\n title=${data?.value ?? ''}\n data-testid=\"value\"\n >\n ${data?.value ?? html`&nbsp;`}\n </div>\n\n ${this.renderTemplateOrSlot('value:after')}\n </div>\n `;\n };\n\n render(): TemplateResult {\n const hiddenSelector = this.hiddenSelector;\n const isLoaded = this.in({ idle: 'snapshot' });\n const isEmpty = this.in({ idle: 'template' });\n\n return html`\n <div\n aria-live=\"polite\"\n aria-busy=${this.in('busy')}\n class=\"h-s flex flex-col justify-center relative text-body text-m font-lumo leading-xs sm-flex-row sm-items-center sm-justify-between\"\n >\n ${hiddenSelector.matches('name', true) ? '' : this.__renderName()}\n ${hiddenSelector.matches('value', true) ? '' : this.__renderValue()}\n\n <div\n class=${classMap({\n 'transition duration-250 ease-in-out absolute inset-0 flex': true,\n 'opacity-0 pointer-events-none': isLoaded,\n })}\n >\n <foxy-spinner\n data-testid=\"spinner\"\n class=\"m-auto\"\n state=${this.in('fail') ? 'error' : isEmpty ? 'empty' : 'busy'}\n lang=${this.lang}\n ns=\"${this.ns} ${customElements.get('foxy-spinner')?.defaultNS ?? ''}\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"AttributeCard.js","sourceRoot":"","sources":["../../../../src/elements/public/AttributeCard/AttributeCard.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,cAAc,EAAE,4CAAyC;AAClE,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AACpD,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAE7D,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAC5B,MAAM,IAAI,GAAG,eAAe,CAC1B,iBAAiB,CAAC,iBAAiB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CACzE,CAAC;AAEF;;;;;GAKG;AACH,MAAM,OAAO,aAAc,SAAQ,IAAU;IAA7C;;QACmB,iBAAY,GAAG,GAAG,EAAE;;YACnC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAEtB,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;;;wCAGV,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,EAAE;cAC1C,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,IAAI,CAAA,QAAQ;;;YAG5B,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ;gBACpC,CAAC,CAAC,IAAI,CAAA;;;;eAIH;gBACH,CAAC,CAAC,EAAE;;;UAGN,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;;KAE5C,CAAC;QACJ,CAAC,CAAC;QAEe,kBAAa,GAAG,GAAG,EAAE;;YACpC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAEtB,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;;;;kBAIjC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,EAAE;;;YAGvB,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,IAAI,CAAA,QAAQ;;;UAG7B,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;;KAE7C,CAAC;QACJ,CAAC,CAAC;IAkCJ,CAAC;IAhCC,MAAM;QACJ,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAA;;;oBAGK,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;;;UAGzB,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE;UAC/D,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE;;;kBAGzD,QAAQ,CAAC;YACf,2DAA2D,EAAE,IAAI;YACjE,6BAA6B,EAAE,IAAI;YACnC,+BAA+B,EAAE,QAAQ;SAC1C,CAAC;;;;oBAIQ,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;mBACvD,IAAI,CAAC,IAAI;kBACV,IAAI,CAAC,EAAE;;;;;KAKpB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { Data } from './types';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\n\nconst NS = 'attribute-card';\nconst Base = ResponsiveMixin(\n TranslatableMixin(ConfigurableMixin(ThemeableMixin(NucleonElement)), NS)\n);\n\n/**\n * Basic card displaying an attribute.\n *\n * @element foxy-attribute-card\n * @since 1.2.0\n */\nexport class AttributeCard extends Base<Data> {\n private readonly __renderName = () => {\n const { data } = this;\n\n return html`\n <div>\n ${this.renderTemplateOrSlot('name:before')}\n\n <div class=\"flex items-center space-x-xs font-medium\">\n <div class=\"truncate\" title=${data?.name ?? ''} data-testid=\"name\">\n ${data?.name ?? html`&nbsp;`}\n </div>\n\n ${data && data.visibility !== 'public'\n ? html`\n <div class=\"flex items-center\" style=\"height: 1px\">\n <iron-icon icon=\"icons:lock\" class=\"icon-inline\"></iron-icon>\n </div>\n `\n : ''}\n </div>\n\n ${this.renderTemplateOrSlot('name:after')}\n </div>\n `;\n };\n\n private readonly __renderValue = () => {\n const { data } = this;\n\n return html`\n <div>\n ${this.renderTemplateOrSlot('value:before')}\n\n <div\n class=\"truncate text-secondary text-s sm-text-m\"\n title=${data?.value ?? ''}\n data-testid=\"value\"\n >\n ${data?.value ?? html`&nbsp;`}\n </div>\n\n ${this.renderTemplateOrSlot('value:after')}\n </div>\n `;\n };\n\n render(): TemplateResult {\n const hiddenSelector = this.hiddenSelector;\n const isLoaded = this.in({ idle: 'snapshot' });\n const isEmpty = this.in({ idle: 'template' });\n\n return html`\n <div\n aria-live=\"polite\"\n aria-busy=${this.in('busy')}\n class=\"relative text-body text-m font-lumo leading-xs sm-flex sm-items-center sm-justify-between\"\n >\n ${hiddenSelector.matches('name', true) ? '' : this.__renderName()}\n ${hiddenSelector.matches('value', true) ? '' : this.__renderValue()}\n\n <div\n class=${classMap({\n 'transition duration-250 ease-in-out absolute inset-0 flex': true,\n 'items-center justify-center': true,\n 'opacity-0 pointer-events-none': isLoaded,\n })}\n >\n <foxy-spinner\n data-testid=\"spinner\"\n state=${this.in('fail') ? 'error' : isEmpty ? 'empty' : 'busy'}\n lang=${this.lang}\n ns=\"${this.ns} spinner\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n}\n"]}
@@ -1,7 +1,8 @@
1
1
  import type { PropertyDeclarations } from 'lit-element';
2
- import type { Data } from './types';
3
2
  import type { TemplateResult } from 'lit-html';
4
3
  import type { NucleonV8N } from '../NucleonElement/types';
4
+ import type { Data } from './types';
5
+ import { BooleanSelector } from '@foxy.io/sdk/core';
5
6
  import { InternalForm } from '../../internal/InternalForm/InternalForm';
6
7
  declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
7
8
  defaultNS: string;
@@ -15,12 +16,16 @@ declare const Base: typeof InternalForm & import("lit-element").Constructor<impo
15
16
  export declare class CartForm extends Base<Data> {
16
17
  static get properties(): PropertyDeclarations;
17
18
  static get v8n(): NucleonV8N<Data>;
19
+ /** Payment Card Embed configuration URL. The form will append template set parameter on its own. */
20
+ paymentCardEmbedUrl: string | null;
18
21
  /** URL of the `fx:item_categories` collection for the store. */
19
22
  itemCategories: string | null;
20
23
  /** URL of the `fx:template_sets` collection for the store. */
21
24
  templateSets: string | null;
22
25
  /** URL of the `fx:locale_codes` property helper. */
23
26
  localeCodes: string | null;
27
+ /** URL of the `fx:languages` property helper. */
28
+ languages: string | null;
24
29
  /** URL of the `fx:customers` collection for the store. */
25
30
  customers: string | null;
26
31
  /** URL of the `fx:countries` property helper. */
@@ -29,44 +34,22 @@ export declare class CartForm extends Base<Data> {
29
34
  regions: string | null;
30
35
  /** URL of the `fx:coupons` collection for the store. */
31
36
  coupons: string | null;
32
- private readonly __defaultTemplateSetLoaderId;
33
- private readonly __localeCodesHelperLoaderId;
34
- private readonly __shippingRegionsLoaderId;
35
- private readonly __billingRegionsLoaderId;
36
- private readonly __templateSetLoaderId;
37
- private readonly __countriesHelperLoaderId;
38
- private readonly __discountsLoaderId;
37
+ private readonly __languagesLoaderId;
39
38
  private readonly __customerLoaderId;
40
- private readonly __storeLoaderId;
41
- private readonly __customerTypeGetValue;
42
- private readonly __customerTypeSetValue;
43
- private readonly __customerTypeOptions;
44
- private readonly __customerGetValue;
45
- private readonly __customerSetValue;
46
- private __isGuestMode;
39
+ private readonly __paymentMethodUriGetDisplayValueOptions;
40
+ private readonly __paymentMethodUriSetValue;
41
+ private readonly __paymentMethodUriFilters;
42
+ private readonly __customerUriSetValue;
43
+ private readonly __customerUriOptions;
44
+ get hiddenSelector(): BooleanSelector;
45
+ renderHeaderActions(): TemplateResult;
47
46
  renderBody(): TemplateResult;
48
- private get __defaultTemplateSetHref();
49
- private get __localeCodesHelperHref();
50
- private get __shippingRegionsHref();
51
- private get __billingRegionsHref();
52
- private get __templateSetHref();
53
- private get __customersHref();
54
- private get __countriesHref();
55
- private get __discountsHref();
47
+ private get __paymentMethodUriPlaceholder();
48
+ private get __transactionsWithPaymentsUrl();
49
+ private get __pickerPaymentCardEmbedUrl();
56
50
  private get __customerHref();
57
51
  private get __itemsHref();
58
- private get __storeHref();
59
- private get __defaultTemplateSet();
60
- private get __localeCodesHelper();
61
- private get __shippingRegions();
62
- private get __billingRegions();
63
- private get __templateSet();
64
- private get __discounts();
65
- private get __countriesHelper();
52
+ private get __languageOptions();
66
53
  private get __customer();
67
- private get __store();
68
- private __renderTotalOrder;
69
- private __renderTotals;
70
- private __renderDiscounts;
71
54
  }
72
55
  export {};