@foxy.io/elements 1.16.0-beta.5 → 1.16.0-beta.8

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 (310) 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-api-browser.js +5 -0
  5. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  6. package/dist/cdn/foxy-attribute-card.js +1 -1
  7. package/dist/cdn/foxy-attribute-form.js +1 -1
  8. package/dist/cdn/foxy-cancellation-form.js +1 -1
  9. package/dist/cdn/foxy-collection-page.js +1 -1
  10. package/dist/cdn/foxy-collection-pages.js +1 -1
  11. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  12. package/dist/cdn/foxy-coupon-card.js +1 -1
  13. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  14. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  15. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  16. package/dist/cdn/foxy-coupon-form.js +1 -1
  17. package/dist/cdn/foxy-custom-field-card.js +1 -1
  18. package/dist/cdn/foxy-custom-field-form.js +1 -1
  19. package/dist/cdn/foxy-customer-api.js +1 -1
  20. package/dist/cdn/foxy-customer-card.js +1 -1
  21. package/dist/cdn/foxy-customer-form.js +1 -1
  22. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  23. package/dist/cdn/foxy-customer-portal.js +1 -1
  24. package/dist/cdn/foxy-customer.js +1 -1
  25. package/dist/cdn/foxy-customers-table.js +1 -1
  26. package/dist/cdn/foxy-discount-builder.js +1 -1
  27. package/dist/cdn/foxy-discount-card.js +1 -1
  28. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  29. package/dist/cdn/foxy-donation.js +1 -1
  30. package/dist/cdn/foxy-email-template-form.js +1 -1
  31. package/dist/cdn/foxy-error-entry-card.js +1 -1
  32. package/dist/cdn/foxy-form-dialog.js +1 -1
  33. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  34. package/dist/cdn/foxy-gift-card-card.js +1 -1
  35. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  36. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  37. package/dist/cdn/foxy-gift-card-form.js +1 -1
  38. package/dist/cdn/foxy-i18n.js +1 -1
  39. package/dist/cdn/foxy-item-card.js +1 -1
  40. package/dist/cdn/foxy-item-form.js +1 -1
  41. package/dist/cdn/foxy-item-option-card.js +1 -1
  42. package/dist/cdn/foxy-item-option-form.js +1 -1
  43. package/dist/cdn/foxy-items-form.js +1 -1
  44. package/dist/cdn/foxy-nucleon-element.js +1 -1
  45. package/dist/cdn/foxy-pagination.js +1 -1
  46. package/dist/cdn/foxy-payment-card.js +1 -1
  47. package/dist/cdn/foxy-payment-method-card.js +1 -1
  48. package/dist/cdn/foxy-query-builder.js +1 -1
  49. package/dist/cdn/foxy-report-form.js +1 -1
  50. package/dist/cdn/foxy-reports-table.js +3 -3
  51. package/dist/cdn/foxy-shipment-card.js +2 -2
  52. package/dist/cdn/foxy-sign-in-form.js +1 -1
  53. package/dist/cdn/foxy-spinner.js +1 -1
  54. package/dist/cdn/foxy-subscription-card.js +1 -1
  55. package/dist/cdn/foxy-subscription-form.js +4 -4
  56. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  57. package/dist/cdn/foxy-swipe-actions.js +1 -1
  58. package/dist/cdn/foxy-table.js +1 -1
  59. package/dist/cdn/foxy-tax-card.js +1 -1
  60. package/dist/cdn/foxy-tax-form.js +1 -1
  61. package/dist/cdn/foxy-template-config-form.js +1 -1
  62. package/dist/cdn/foxy-template-form.js +1 -1
  63. package/dist/cdn/foxy-transaction-card.js +1 -1
  64. package/dist/cdn/foxy-transaction.js +2 -2
  65. package/dist/cdn/foxy-transactions-table.js +1 -1
  66. package/dist/cdn/foxy-user-form.js +1 -1
  67. package/dist/cdn/foxy-users-table.js +1 -1
  68. package/dist/cdn/foxy-webhook-card.js +1 -0
  69. package/dist/cdn/foxy-webhook-form.js +467 -0
  70. package/dist/cdn/foxy-webhook-log-card.js +1 -0
  71. package/dist/cdn/foxy-webhook-status-card.js +1 -0
  72. package/dist/cdn/{shared-99065f2a.js → shared-0eb966c5.js} +1 -1
  73. package/dist/cdn/{shared-f3f9f752.js → shared-107acd1f.js} +1 -1
  74. package/dist/cdn/{shared-bbfdfee2.js → shared-15d04c73.js} +2 -2
  75. package/dist/cdn/{shared-9a089d49.js → shared-21f6c806.js} +1 -1
  76. package/dist/cdn/{shared-f3b35364.js → shared-22ba9566.js} +1 -1
  77. package/dist/cdn/{shared-1b064836.js → shared-25ef9e09.js} +1 -1
  78. package/dist/cdn/{shared-b8f492a4.js → shared-3474279e.js} +1 -1
  79. package/dist/cdn/shared-39b61999.js +1 -0
  80. package/dist/cdn/{shared-007660a6.js → shared-3b318016.js} +1 -1
  81. package/dist/cdn/{shared-38f8a319.js → shared-3e14ffe1.js} +7 -7
  82. package/dist/cdn/{shared-2bb49907.js → shared-40315eea.js} +1 -1
  83. package/dist/cdn/{shared-96df3c85.js → shared-40c5712e.js} +1 -1
  84. package/dist/cdn/{shared-35de1004.js → shared-4764b995.js} +1 -1
  85. package/dist/cdn/shared-567c8c48.js +1 -0
  86. package/dist/cdn/{shared-06014421.js → shared-58a9174f.js} +1 -1
  87. package/dist/cdn/shared-5cb2c769.js +1 -0
  88. package/dist/cdn/{shared-22103348.js → shared-5e228fca.js} +1 -1
  89. package/dist/cdn/shared-67651931.js +1 -0
  90. package/dist/cdn/shared-6a0012d6.js +1 -0
  91. package/dist/cdn/{shared-3026cee0.js → shared-6eb57269.js} +1 -1
  92. package/dist/cdn/{shared-757bb517.js → shared-73cfd096.js} +1 -1
  93. package/dist/cdn/{shared-f7bddf72.js → shared-78a2c66f.js} +1 -1
  94. package/dist/cdn/{shared-5e75308a.js → shared-78adab3d.js} +1 -1
  95. package/dist/cdn/{shared-4e63d6e0.js → shared-7a084a40.js} +1 -1
  96. package/dist/cdn/{shared-ea9af4b0.js → shared-855a1983.js} +3 -3
  97. package/dist/cdn/shared-85618a7a.js +1 -0
  98. package/dist/cdn/{shared-fe8ec1f9.js → shared-85d4b53e.js} +1 -1
  99. package/dist/cdn/{shared-60e98fbf.js → shared-8c41299f.js} +1 -1
  100. package/dist/cdn/{shared-a8e21a41.js → shared-95b0cdf1.js} +1 -1
  101. package/dist/cdn/{shared-f3655f42.js → shared-968add7f.js} +1 -1
  102. package/dist/cdn/{shared-d3bf9ac0.js → shared-9803aa7c.js} +2 -2
  103. package/dist/cdn/{shared-11c2efc8.js → shared-99940888.js} +1 -1
  104. package/dist/cdn/{shared-9d7aaf7a.js → shared-9e0387e6.js} +2 -2
  105. package/dist/cdn/{shared-d519a301.js → shared-a0c6a159.js} +2 -2
  106. package/dist/cdn/{shared-b4a4a92b.js → shared-a2f5defb.js} +1 -1
  107. package/dist/cdn/{shared-e090608c.js → shared-abfe9262.js} +1 -1
  108. package/dist/cdn/{shared-5097c880.js → shared-addf6302.js} +1 -1
  109. package/dist/cdn/{shared-e59c65e3.js → shared-af60799b.js} +4 -4
  110. package/dist/cdn/{shared-25e9c276.js → shared-c0deb4cf.js} +1 -1
  111. package/dist/cdn/{shared-bc94606b.js → shared-c6ed5394.js} +1 -1
  112. package/dist/cdn/{shared-c4f0a219.js → shared-c9757355.js} +1 -1
  113. package/dist/cdn/{shared-92d6f937.js → shared-cea659c8.js} +1 -1
  114. package/dist/cdn/{shared-3ffd77da.js → shared-d08fcc29.js} +3 -3
  115. package/dist/cdn/{shared-7f33a83a.js → shared-dc73b9a5.js} +1 -1
  116. package/dist/cdn/{shared-34998df6.js → shared-e0a54dfc.js} +1 -1
  117. package/dist/cdn/{shared-0479553e.js → shared-e1c1e8e2.js} +1 -1
  118. package/dist/cdn/shared-e21c712d.js +1 -0
  119. package/dist/cdn/{shared-c3c424cd.js → shared-e6be392d.js} +1 -1
  120. package/dist/cdn/{shared-7f3ca8e7.js → shared-e9967127.js} +5 -5
  121. package/dist/cdn/shared-eb0e1f48.js +1 -0
  122. package/dist/cdn/{shared-368a2f85.js → shared-eb1d4a32.js} +1 -1
  123. package/dist/cdn/{shared-7819b0b0.js → shared-f2a561f7.js} +1 -1
  124. package/dist/cdn/{shared-e6f3e9f0.js → shared-f9f9ed5b.js} +1 -1
  125. package/dist/cdn/translations/api-browser/en.json +28 -0
  126. package/dist/cdn/translations/webhook-card/en.json +7 -0
  127. package/dist/cdn/translations/webhook-form/en.json +101 -0
  128. package/dist/cdn/translations/webhook-log-card/en.json +8 -0
  129. package/dist/cdn/translations/webhook-status-card/en.json +11 -0
  130. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.d.ts +30 -0
  131. package/dist/elements/internal/{InternalCollectionCard/InternalCollectionCard.js → InternalAsyncDetailsControl/InternalAsyncDetailsControl.js} +57 -45
  132. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js.map +1 -0
  133. package/dist/elements/internal/InternalAsyncDetailsControl/index.d.ts +7 -0
  134. package/dist/elements/internal/InternalAsyncDetailsControl/index.js +9 -0
  135. package/dist/elements/internal/InternalAsyncDetailsControl/index.js.map +1 -0
  136. package/dist/elements/internal/InternalCard/InternalCard.d.ts +14 -6
  137. package/dist/elements/internal/InternalCard/InternalCard.js +18 -8
  138. package/dist/elements/internal/InternalCard/InternalCard.js.map +1 -1
  139. package/dist/elements/internal/InternalCreateControl/InternalCreateControl.d.ts +22 -0
  140. package/dist/elements/internal/{InternalForm/internal/InternalCreateControl → InternalCreateControl}/InternalCreateControl.js +18 -5
  141. package/dist/elements/internal/InternalCreateControl/InternalCreateControl.js.map +1 -0
  142. package/dist/elements/internal/{InternalForm/internal/InternalCreateControl → InternalCreateControl}/index.d.ts +1 -1
  143. package/dist/elements/internal/{InternalForm/internal/InternalCreateControl → InternalCreateControl}/index.js +1 -1
  144. package/dist/elements/internal/InternalCreateControl/index.js.map +1 -0
  145. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.d.ts +8 -0
  146. package/dist/elements/internal/{InternalForm/internal/InternalDeleteControl → InternalDeleteControl}/InternalDeleteControl.js +9 -2
  147. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js.map +1 -0
  148. package/dist/elements/internal/{InternalForm/internal/InternalDeleteControl → InternalDeleteControl}/index.d.ts +2 -2
  149. package/dist/elements/internal/{InternalForm/internal/InternalDeleteControl → InternalDeleteControl}/index.js +2 -2
  150. package/dist/elements/internal/InternalDeleteControl/index.js.map +1 -0
  151. package/dist/elements/internal/InternalDetails/InternalDetails.d.ts +22 -0
  152. package/dist/elements/internal/{InternalCollapsibleCard/InternalCollapsibleCard.js → InternalDetails/InternalDetails.js} +14 -6
  153. package/dist/elements/internal/InternalDetails/InternalDetails.js.map +1 -0
  154. package/dist/elements/internal/InternalDetails/index.d.ts +6 -0
  155. package/dist/elements/internal/InternalDetails/index.js +8 -0
  156. package/dist/elements/internal/InternalDetails/index.js.map +1 -0
  157. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js +1 -1
  158. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js.map +1 -1
  159. package/dist/elements/internal/InternalForm/InternalForm.d.ts +1 -3
  160. package/dist/elements/internal/InternalForm/InternalForm.js +1 -2
  161. package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
  162. package/dist/elements/internal/InternalForm/index.d.ts +2 -2
  163. package/dist/elements/internal/InternalForm/index.js +2 -2
  164. package/dist/elements/internal/InternalForm/index.js.map +1 -1
  165. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.d.ts +7 -2
  166. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +29 -29
  167. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
  168. package/dist/elements/internal/InternalFrequencyControl/index.d.ts +2 -3
  169. package/dist/elements/internal/InternalFrequencyControl/index.js +3 -4
  170. package/dist/elements/internal/InternalFrequencyControl/index.js.map +1 -1
  171. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.d.ts +17 -0
  172. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js +51 -0
  173. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -0
  174. package/dist/elements/internal/InternalRadioGroupControl/index.d.ts +6 -0
  175. package/dist/elements/internal/InternalRadioGroupControl/index.js +8 -0
  176. package/dist/elements/internal/InternalRadioGroupControl/index.js.map +1 -0
  177. package/dist/elements/internal/InternalRadioGroupControl/types.d.ts +6 -0
  178. package/dist/elements/internal/InternalRadioGroupControl/types.js +2 -0
  179. package/dist/elements/internal/InternalRadioGroupControl/types.js.map +1 -0
  180. package/dist/elements/public/ApiBrowser/ApiBrowser.d.ts +31 -0
  181. package/dist/elements/public/ApiBrowser/ApiBrowser.js +215 -0
  182. package/dist/elements/public/ApiBrowser/ApiBrowser.js.map +1 -0
  183. package/dist/elements/public/ApiBrowser/index.d.ts +9 -0
  184. package/dist/elements/public/ApiBrowser/index.js +11 -0
  185. package/dist/elements/public/ApiBrowser/index.js.map +1 -0
  186. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.d.ts +25 -0
  187. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js +285 -0
  188. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js.map +1 -0
  189. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.d.ts +10 -0
  190. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.js +12 -0
  191. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.js.map +1 -0
  192. package/dist/elements/public/ApiBrowser/types.d.ts +10 -0
  193. package/dist/elements/public/ApiBrowser/types.js +2 -0
  194. package/dist/elements/public/ApiBrowser/types.js.map +1 -0
  195. package/dist/elements/public/ItemCard/ItemCard.d.ts +3 -3
  196. package/dist/elements/public/ItemCard/ItemCard.js +8 -5
  197. package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
  198. package/dist/elements/public/ItemForm/ItemForm.js +8 -8
  199. package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
  200. package/dist/elements/public/ItemForm/index.d.ts +1 -1
  201. package/dist/elements/public/ItemForm/index.js +1 -1
  202. package/dist/elements/public/ItemForm/index.js.map +1 -1
  203. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js +2 -2
  204. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js.map +1 -1
  205. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.d.ts +1 -1
  206. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js +1 -1
  207. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js.map +1 -1
  208. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js +2 -2
  209. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js.map +1 -1
  210. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.d.ts +1 -1
  211. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js +1 -1
  212. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js.map +1 -1
  213. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js +2 -2
  214. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js.map +1 -1
  215. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.d.ts +1 -1
  216. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js +1 -1
  217. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js.map +1 -1
  218. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js +2 -2
  219. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js.map +1 -1
  220. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.d.ts +1 -1
  221. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js +1 -1
  222. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js.map +1 -1
  223. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js +2 -2
  224. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js.map +1 -1
  225. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.d.ts +1 -1
  226. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js +1 -1
  227. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js.map +1 -1
  228. package/dist/elements/public/ShipmentCard/ShipmentCard.d.ts +3 -3
  229. package/dist/elements/public/ShipmentCard/ShipmentCard.js +7 -4
  230. package/dist/elements/public/ShipmentCard/ShipmentCard.js.map +1 -1
  231. package/dist/elements/public/ShipmentCard/index.d.ts +1 -1
  232. package/dist/elements/public/ShipmentCard/index.js +1 -1
  233. package/dist/elements/public/ShipmentCard/index.js.map +1 -1
  234. package/dist/elements/public/Transaction/Transaction.js +12 -12
  235. package/dist/elements/public/Transaction/Transaction.js.map +1 -1
  236. package/dist/elements/public/Transaction/index.d.ts +1 -1
  237. package/dist/elements/public/Transaction/index.js +1 -1
  238. package/dist/elements/public/Transaction/index.js.map +1 -1
  239. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js +2 -2
  240. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js.map +1 -1
  241. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.d.ts +1 -1
  242. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.js +1 -1
  243. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.js.map +1 -1
  244. package/dist/elements/public/WebhookCard/WebhookCard.d.ts +10 -0
  245. package/dist/elements/public/WebhookCard/WebhookCard.js +30 -0
  246. package/dist/elements/public/WebhookCard/WebhookCard.js.map +1 -0
  247. package/dist/elements/public/WebhookCard/index.d.ts +5 -0
  248. package/dist/elements/public/WebhookCard/index.js +7 -0
  249. package/dist/elements/public/WebhookCard/index.js.map +1 -0
  250. package/dist/elements/public/WebhookCard/types.d.ts +3 -0
  251. package/dist/elements/public/WebhookCard/types.js +2 -0
  252. package/dist/elements/public/WebhookCard/types.js.map +1 -0
  253. package/dist/elements/public/WebhookForm/WebhookForm.d.ts +14 -0
  254. package/dist/elements/public/WebhookForm/WebhookForm.js +68 -0
  255. package/dist/elements/public/WebhookForm/WebhookForm.js.map +1 -0
  256. package/dist/elements/public/WebhookForm/index.d.ts +10 -0
  257. package/dist/elements/public/WebhookForm/index.js +12 -0
  258. package/dist/elements/public/WebhookForm/index.js.map +1 -0
  259. package/dist/elements/public/WebhookForm/types.d.ts +3 -0
  260. package/dist/elements/public/WebhookForm/types.js +2 -0
  261. package/dist/elements/public/WebhookForm/types.js.map +1 -0
  262. package/dist/elements/public/WebhookLogCard/WebhookLogCard.d.ts +10 -0
  263. package/dist/elements/public/WebhookLogCard/WebhookLogCard.js +23 -0
  264. package/dist/elements/public/WebhookLogCard/WebhookLogCard.js.map +1 -0
  265. package/dist/elements/public/WebhookLogCard/index.d.ts +4 -0
  266. package/dist/elements/public/WebhookLogCard/index.js +6 -0
  267. package/dist/elements/public/WebhookLogCard/index.js.map +1 -0
  268. package/dist/elements/public/WebhookLogCard/types.d.ts +3 -0
  269. package/dist/elements/public/WebhookLogCard/types.js +2 -0
  270. package/dist/elements/public/WebhookLogCard/types.js.map +1 -0
  271. package/dist/elements/public/WebhookStatusCard/WebhookStatusCard.d.ts +10 -0
  272. package/dist/elements/public/WebhookStatusCard/WebhookStatusCard.js +35 -0
  273. package/dist/elements/public/WebhookStatusCard/WebhookStatusCard.js.map +1 -0
  274. package/dist/elements/public/WebhookStatusCard/index.d.ts +4 -0
  275. package/dist/elements/public/WebhookStatusCard/index.js +6 -0
  276. package/dist/elements/public/WebhookStatusCard/index.js.map +1 -0
  277. package/dist/elements/public/WebhookStatusCard/types.d.ts +3 -0
  278. package/dist/elements/public/WebhookStatusCard/types.js +2 -0
  279. package/dist/elements/public/WebhookStatusCard/types.js.map +1 -0
  280. package/dist/elements/public/index.d.ts +5 -0
  281. package/dist/elements/public/index.defined.d.ts +5 -0
  282. package/dist/elements/public/index.defined.js +5 -0
  283. package/dist/elements/public/index.defined.js.map +1 -1
  284. package/dist/elements/public/index.js +5 -0
  285. package/dist/elements/public/index.js.map +1 -1
  286. package/dist/mixins/themeable.js +232 -64
  287. package/dist/mixins/themeable.js.map +1 -1
  288. package/package.json +2 -2
  289. package/dist/cdn/shared-1ddccf4d.js +0 -1
  290. package/dist/cdn/shared-518902c8.js +0 -1
  291. package/dist/cdn/shared-874bbae5.js +0 -1
  292. package/dist/cdn/shared-9d4835ed.js +0 -1
  293. package/dist/cdn/shared-cad5fe82.js +0 -1
  294. package/dist/cdn/shared-ce2aab66.js +0 -1
  295. package/dist/elements/internal/InternalCollapsibleCard/InternalCollapsibleCard.d.ts +0 -16
  296. package/dist/elements/internal/InternalCollapsibleCard/InternalCollapsibleCard.js.map +0 -1
  297. package/dist/elements/internal/InternalCollapsibleCard/index.d.ts +0 -5
  298. package/dist/elements/internal/InternalCollapsibleCard/index.js +0 -7
  299. package/dist/elements/internal/InternalCollapsibleCard/index.js.map +0 -1
  300. package/dist/elements/internal/InternalCollectionCard/InternalCollectionCard.d.ts +0 -13
  301. package/dist/elements/internal/InternalCollectionCard/InternalCollectionCard.js.map +0 -1
  302. package/dist/elements/internal/InternalCollectionCard/index.d.ts +0 -7
  303. package/dist/elements/internal/InternalCollectionCard/index.js +0 -9
  304. package/dist/elements/internal/InternalCollectionCard/index.js.map +0 -1
  305. package/dist/elements/internal/InternalForm/internal/InternalCreateControl/InternalCreateControl.d.ts +0 -13
  306. package/dist/elements/internal/InternalForm/internal/InternalCreateControl/InternalCreateControl.js.map +0 -1
  307. package/dist/elements/internal/InternalForm/internal/InternalCreateControl/index.js.map +0 -1
  308. package/dist/elements/internal/InternalForm/internal/InternalDeleteControl/InternalDeleteControl.d.ts +0 -6
  309. package/dist/elements/internal/InternalForm/internal/InternalDeleteControl/InternalDeleteControl.js.map +0 -1
  310. package/dist/elements/internal/InternalForm/internal/InternalDeleteControl/index.js.map +0 -1
@@ -0,0 +1,285 @@
1
+ import { TranslatableMixin } from "../../../../../mixins/translatable.js";
2
+ import { InternalForm } from "../../../../internal/InternalForm/InternalForm.js";
3
+ import { classMap } from "../../../../../utils/class-map.js";
4
+ import { html } from 'lit-html';
5
+ import { css } from 'lit-element';
6
+ const InvalidValueSymbol = Symbol();
7
+ const ValidValueSymbol = Symbol();
8
+ export class InternalApiBrowserResourceForm extends TranslatableMixin(InternalForm) {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.open = false;
12
+ }
13
+ static get properties() {
14
+ return {
15
+ ...super.properties,
16
+ open: { type: Boolean },
17
+ };
18
+ }
19
+ static get styles() {
20
+ return [
21
+ ...super.styles,
22
+ css `.monospace{
23
+ font-family:monospace;
24
+ }
25
+
26
+ .resize-none{
27
+ resize:none;
28
+ }
29
+
30
+ .resource{
31
+ display:grid;
32
+ grid-template-columns:repeat(auto-fill, minmax(calc(18.75 * var(--lumo-space-m)), 1fr));
33
+ grid-gap:1px;
34
+ }
35
+
36
+ .resource > :first-child{
37
+ grid-column-start:1;
38
+ grid-column-end:-2;
39
+ }
40
+
41
+ textarea::selection{
42
+ background:var(--lumo-contrast-10pct);
43
+ }
44
+ `,
45
+ ];
46
+ }
47
+ static get v8n() {
48
+ return [
49
+ ...super.v8n,
50
+ v => (typeof v[InvalidValueSymbol] === 'string' ? 'invalid_json' : true),
51
+ ];
52
+ }
53
+ renderBody() {
54
+ return html `
55
+ <details
56
+ class="select-none rounded-t-l rounded-b-l overflow-hidden border border-contrast-10"
57
+ ?open=${this.open}
58
+ @toggle=${(evt) => {
59
+ const details = evt.currentTarget;
60
+ this.open = details.open;
61
+ }}
62
+ >
63
+ <summary
64
+ class=${classMap({
65
+ 'ring-inset ring-primary-50 rounded-t-l': true,
66
+ 'focus-outline-none focus-ring-2': true,
67
+ 'rounded-b-l': !this.open,
68
+ })}
69
+ >
70
+ <div
71
+ class="flex items-center space-x-s p-s pr-m transition-colors cursor-pointer bg-contrast-5 hover-bg-contrast-10"
72
+ >
73
+ <foxy-copy-to-clipboard infer="copy-to-clipboard" text=${this.href || this.parent}>
74
+ </foxy-copy-to-clipboard>
75
+
76
+ <span class="font-semibold truncate">${this.__renderTitle()}</span>
77
+ <span class="flex-1"></span>
78
+
79
+ ${this.in({ idle: { snapshot: 'dirty' } }) || this.in({ idle: 'template' })
80
+ ? html `
81
+ <foxy-internal-create-control infer="create" theme="tertiary-inline success">
82
+ </foxy-internal-create-control>
83
+ `
84
+ : ''}
85
+ ${this.in({ idle: { snapshot: 'dirty' } }) || this.in({ idle: { template: 'dirty' } })
86
+ ? html `
87
+ <vaadin-button
88
+ theme="tertiary-inline contrast"
89
+ class="px-xs"
90
+ @click=${() => this.undo()}
91
+ >
92
+ <foxy-i18n infer="" key="undo"></foxy-i18n>
93
+ </vaadin-button>
94
+ `
95
+ : ''}
96
+ ${this.in({ idle: 'snapshot' })
97
+ ? html `
98
+ <foxy-internal-delete-control infer="delete" theme="tertiary-inline error">
99
+ </foxy-internal-delete-control>
100
+ `
101
+ : ''}
102
+ </div>
103
+ </summary>
104
+
105
+ ${this.open ? this.__renderForm() : ''}
106
+ </details>
107
+ `;
108
+ }
109
+ updated(changes) {
110
+ super.updated(changes);
111
+ this.__setTextAreaHeight();
112
+ }
113
+ async _fetch(...args) {
114
+ try {
115
+ const request = args[0] instanceof Request ? args[0] : new Request(...args);
116
+ if (request.method !== 'POST')
117
+ return await super._fetch(...args);
118
+ const body = this.form[ValidValueSymbol];
119
+ return await super._fetch(request.url, { method: 'POST', body });
120
+ }
121
+ catch (err) {
122
+ throw ['invalid_json'];
123
+ }
124
+ }
125
+ __setTextAreaHeight() {
126
+ const textarea = this.renderRoot.querySelector('textarea');
127
+ if (textarea) {
128
+ textarea.style.height = 'auto';
129
+ textarea.style.height = `${textarea.scrollHeight}px`;
130
+ textarea.style.overflowY = 'hidden';
131
+ }
132
+ }
133
+ __renderTitle() {
134
+ if (!this.href) {
135
+ return html `
136
+ <span class="text-tertiary">POST</span>
137
+ <span>${this.parent}</span>
138
+ `;
139
+ }
140
+ let pathname = '';
141
+ let identifier = '';
142
+ let search = '';
143
+ try {
144
+ const url = new URL(this.href);
145
+ pathname = url.pathname;
146
+ if (pathname.startsWith('/'))
147
+ pathname = pathname.substring(1);
148
+ const splitPathname = pathname.split('/');
149
+ pathname = splitPathname.slice(0, splitPathname.length - 1).join('/');
150
+ if (splitPathname.length > 1) {
151
+ pathname = `${pathname}/`;
152
+ identifier = splitPathname[splitPathname.length - 1];
153
+ }
154
+ search = url.search;
155
+ }
156
+ catch (_a) {
157
+ pathname = this.href;
158
+ }
159
+ return html `
160
+ ${[
161
+ html `<span>${pathname}</span>`,
162
+ html `<span class="text-primary">${identifier}</span>`,
163
+ html `<span class="text-tertiary">${search}</span>`,
164
+ ]}
165
+ `;
166
+ }
167
+ __renderForm() {
168
+ return html `
169
+ <div class="bg-base">
170
+ <div class="${this.data ? 'resource' : ''} border-t border-contrast-5 bg-contrast-10">
171
+ <div class="flex-1 flex bg-base">
172
+ <div class="monospace bg-contrast-5 leading-s text-s p-m text-tertiary text-right">
173
+ ${this.__formAsString.split('\n').map((_, index) => html `<div>${index + 1}</div>`)}
174
+ </div>
175
+
176
+ <textarea
177
+ class=${classMap({
178
+ 'whitespace-pre leading-s text-s focus-outline-none': true,
179
+ 'monospace resize-none p-m block w-full select-text': true,
180
+ 'bg-error-10': this.errors.length > 0,
181
+ 'bg-base': this.errors.length === 0,
182
+ })}
183
+ .value=${this.__formAsString}
184
+ @input=${(evt) => {
185
+ const textarea = evt.currentTarget;
186
+ this.__formAsString = textarea.value;
187
+ }}
188
+ >
189
+ </textarea>
190
+ </div>
191
+
192
+ ${this.data
193
+ ? html `
194
+ <div class="bg-base">
195
+ <ul class="bg-contrast-5 p-xs h-full">
196
+ ${this.__links.map(([curie, link]) => this.__renderLink(curie, link.href, link.title))}
197
+ </ul>
198
+ </div>
199
+ `
200
+ : ''}
201
+ </div>
202
+ </div>
203
+ `;
204
+ }
205
+ get __links() {
206
+ var _a, _b;
207
+ const linksAsEntries = Object.entries((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._links) !== null && _b !== void 0 ? _b : {});
208
+ const relevantLinks = linksAsEntries.filter(([curie, link]) => curie !== 'self' && !Array.isArray(link) && !link.templated);
209
+ try {
210
+ relevantLinks.sort(([curie1], [curie2]) => curie1.localeCompare(curie2, this.lang));
211
+ }
212
+ catch (_c) {
213
+ relevantLinks.sort(([curie1], [curie2]) => curie1.localeCompare(curie2));
214
+ }
215
+ return relevantLinks;
216
+ }
217
+ get __formAsString() {
218
+ const form = this.form;
219
+ const validValue = form[ValidValueSymbol];
220
+ const invalidValue = form[InvalidValueSymbol];
221
+ if (typeof invalidValue === 'string')
222
+ return invalidValue;
223
+ if (typeof validValue === 'string')
224
+ return validValue;
225
+ return JSON.stringify(form, (key, value) => (key.startsWith('_') ? undefined : value), 2);
226
+ }
227
+ set __formAsString(newValue) {
228
+ this.undo();
229
+ try {
230
+ const parsedNewValue = JSON.parse(newValue);
231
+ if (typeof parsedNewValue === 'object')
232
+ this.edit(parsedNewValue);
233
+ this.edit({ [ValidValueSymbol]: newValue });
234
+ }
235
+ catch (_a) {
236
+ this.edit({ [InvalidValueSymbol]: newValue });
237
+ }
238
+ }
239
+ __renderLink(curie, href, title) {
240
+ return html `
241
+ <li class="m-xs rounded overflow-hidden transition-colors hover-bg-contrast-5">
242
+ <foxy-swipe-actions>
243
+ <button
244
+ class=${classMap({
245
+ 'rounded leading-none space-y-xs block text-left w-full py-s': true,
246
+ 'ring-inset ring-primary-50': true,
247
+ 'focus-outline-none focus-ring-2 ': true,
248
+ })}
249
+ @click=${() => {
250
+ const evt = new CustomEvent('navigate:get', { bubbles: true, detail: href });
251
+ this.dispatchEvent(evt);
252
+ }}
253
+ >
254
+ <div class="flex items-center">
255
+ <div class="flex-1 space-y-xs px-s min-w-0 text-s">
256
+ <div class="truncate font-semibold">${title || href}</div>
257
+ <div class="opacity-75 truncate">${curie}</div>
258
+ </div>
259
+
260
+ <iron-icon
261
+ class="icon-inline text-xl text-tertiary mr-s flex-shrink-0"
262
+ icon="icons:chevron-right"
263
+ >
264
+ </iron-icon>
265
+ </div>
266
+ </button>
267
+
268
+ <div slot="action" class="h-full flex">
269
+ <vaadin-button
270
+ theme="secondary success"
271
+ class="h-full rounded-none"
272
+ @click=${() => {
273
+ const evt = new CustomEvent('navigate:post', { bubbles: true, detail: href });
274
+ this.dispatchEvent(evt);
275
+ }}
276
+ >
277
+ POST
278
+ </vaadin-button>
279
+ </div>
280
+ </foxy-swipe-actions>
281
+ </li>
282
+ `;
283
+ }
284
+ }
285
+ //# sourceMappingURL=InternalApiBrowserResourceForm.js.map
@@ -0,0 +1 @@
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\nexport class InternalApiBrowserResourceForm extends TranslatableMixin(InternalForm)<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n open: { type: Boolean },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n ...super.styles,\n css`\n .monospace {\n font-family: monospace;\n }\n\n .resize-none {\n resize: none;\n }\n\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 textarea::selection {\n background: var(--lumo-contrast-10pct);\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 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-semibold 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-create-control infer=\"create\" theme=\"tertiary-inline success\">\n </foxy-internal-create-control>\n `\n : ''}\n ${this.in({ idle: { snapshot: 'dirty' } }) || this.in({ idle: { template: 'dirty' } })\n ? html`\n <vaadin-button\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 updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n this.__setTextAreaHeight();\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];\n return await super._fetch(request.url, { method: 'POST', body });\n } catch (err) {\n throw ['invalid_json'];\n }\n }\n\n private __setTextAreaHeight() {\n const textarea = this.renderRoot.querySelector<HTMLTextAreaElement>('textarea');\n\n if (textarea) {\n textarea.style.height = 'auto';\n textarea.style.height = `${textarea.scrollHeight}px`;\n textarea.style.overflowY = 'hidden';\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 <div class=\"flex-1 flex bg-base\">\n <div class=\"monospace bg-contrast-5 leading-s text-s p-m text-tertiary text-right\">\n ${this.__formAsString.split('\\n').map((_, index) => html`<div>${index + 1}</div>`)}\n </div>\n\n <textarea\n class=${classMap({\n 'whitespace-pre leading-s text-s focus-outline-none': true,\n 'monospace resize-none p-m block w-full select-text': true,\n 'bg-error-10': this.errors.length > 0,\n 'bg-base': this.errors.length === 0,\n })}\n .value=${this.__formAsString}\n @input=${(evt: InputEvent) => {\n const textarea = evt.currentTarget as HTMLTextAreaElement;\n this.__formAsString = textarea.value;\n }}\n >\n </textarea>\n </div>\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 class=\"m-xs rounded overflow-hidden transition-colors hover-bg-contrast-5\">\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-semibold\">${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"]}
@@ -0,0 +1,10 @@
1
+ import '@vaadin/vaadin-button';
2
+ import '@polymer/iron-icons';
3
+ import '@polymer/iron-icon';
4
+ import '../../../../internal/InternalDeleteControl/index';
5
+ import '../../../../internal/InternalCreateControl/index';
6
+ import '../../../../internal/InternalForm/index';
7
+ import '../../../CopyToClipboard/index';
8
+ import '../../../SwipeActions/index';
9
+ import { InternalApiBrowserResourceForm as Form } from './InternalApiBrowserResourceForm';
10
+ export { Form as InternalApiBrowserResourceForm };
@@ -0,0 +1,12 @@
1
+ import '@vaadin/vaadin-button';
2
+ import '@polymer/iron-icons';
3
+ import '@polymer/iron-icon';
4
+ import "../../../../internal/InternalDeleteControl/index.js";
5
+ import "../../../../internal/InternalCreateControl/index.js";
6
+ import "../../../../internal/InternalForm/index.js";
7
+ import "../../../CopyToClipboard/index.js";
8
+ import "../../../SwipeActions/index.js";
9
+ import { InternalApiBrowserResourceForm as Form } from "./InternalApiBrowserResourceForm.js";
10
+ customElements.define('foxy-internal-api-browser-resource-form', Form);
11
+ export { Form as InternalApiBrowserResourceForm };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,oBAAoB,CAAC;AAE5B,6DAA0D;AAC1D,6DAA0D;AAC1D,oDAAiD;AACjD,2CAAwC;AACxC,wCAAqC;AAErC,OAAO,EAAE,8BAA8B,IAAI,IAAI,EAAE,4CAAyC;AAE1F,cAAc,CAAC,MAAM,CAAC,yCAAyC,EAAE,IAAI,CAAC,CAAC;AAEvE,OAAO,EAAE,IAAI,IAAI,8BAA8B,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-button';\nimport '@polymer/iron-icons';\nimport '@polymer/iron-icon';\n\nimport '../../../../internal/InternalDeleteControl/index';\nimport '../../../../internal/InternalCreateControl/index';\nimport '../../../../internal/InternalForm/index';\nimport '../../../CopyToClipboard/index';\nimport '../../../SwipeActions/index';\n\nimport { InternalApiBrowserResourceForm as Form } from './InternalApiBrowserResourceForm';\n\ncustomElements.define('foxy-internal-api-browser-resource-form', Form);\n\nexport { Form as InternalApiBrowserResourceForm };\n"]}
@@ -0,0 +1,10 @@
1
+ export declare type Link = {
2
+ href: string;
3
+ title: string;
4
+ templated: boolean;
5
+ };
6
+ export declare type Data = {
7
+ _links: Record<PropertyKey, Link> & {
8
+ self: Link;
9
+ };
10
+ };
@@ -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/ApiBrowser/types.ts"],"names":[],"mappings":"","sourcesContent":["export type Link = { href: string; title: string; templated: boolean };\nexport type Data = { _links: Record<PropertyKey, Link> & { self: Link } };\n"]}
@@ -2,10 +2,10 @@ import type { PropertyDeclarations } from 'lit-element';
2
2
  import type { TemplateResult } from 'lit-html';
3
3
  import { Data } from './types';
4
4
  import { InternalCard } from '../../internal/InternalCard/InternalCard';
5
- declare const ItemCard_base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
5
+ declare const Base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
6
6
  defaultNS: string;
7
- };
8
- export declare class ItemCard extends ItemCard_base<Data> {
7
+ } & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost>;
8
+ export declare class ItemCard extends Base<Data> {
9
9
  static get properties(): PropertyDeclarations;
10
10
  private static readonly __placeholder;
11
11
  __currencyDisplay: string;
@@ -2,7 +2,10 @@ import { TranslatableMixin } from "../../../mixins/translatable.js";
2
2
  import { html } from 'lit-html';
3
3
  import { ifDefined } from 'lit-html/directives/if-defined';
4
4
  import { InternalCard } from "../../internal/InternalCard/InternalCard.js";
5
- export class ItemCard extends TranslatableMixin(InternalCard, 'item-card') {
5
+ import { ConfigurableMixin } from "../../../mixins/configurable.js";
6
+ const NS = 'item-card';
7
+ const Base = ConfigurableMixin(TranslatableMixin(InternalCard, NS));
8
+ export class ItemCard extends Base {
6
9
  constructor() {
7
10
  super(...arguments);
8
11
  this.__currencyDisplay = '';
@@ -50,7 +53,7 @@ export class ItemCard extends TranslatableMixin(InternalCard, 'item-card') {
50
53
  currencyDisplay: this.__currencyDisplay,
51
54
  })}
52
55
  key="price"
53
- infer
56
+ infer=""
54
57
  >
55
58
  </foxy-i18n>
56
59
 
@@ -62,7 +65,7 @@ export class ItemCard extends TranslatableMixin(InternalCard, 'item-card') {
62
65
  currencyDisplay: this.__currencyDisplay,
63
66
  })}
64
67
  key="price"
65
- infer
68
+ infer=""
66
69
  >
67
70
  </foxy-i18n>
68
71
  </div>
@@ -97,7 +100,7 @@ export class ItemCard extends TranslatableMixin(InternalCard, 'item-card') {
97
100
  currencyDisplay: this.__currencyDisplay,
98
101
  })}
99
102
  key="price"
100
- infer
103
+ infer=""
101
104
  >
102
105
  </foxy-i18n>
103
106
  </div>
@@ -111,7 +114,7 @@ export class ItemCard extends TranslatableMixin(InternalCard, 'item-card') {
111
114
  : 'text-error'} rounded px-xs"
112
115
  >
113
116
  ${option.weight_mod}
114
- <foxy-i18n key="wgt" infer></foxy-i18n>
117
+ <foxy-i18n key="wgt" infer=""></foxy-i18n>
115
118
  </div>
116
119
  `
117
120
  : ''}
@@ -1 +1 @@
1
- {"version":3,"file":"ItemCard.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemCard/ItemCard.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { html } from 'lit-html';\nimport { Data } from './types';\nimport { Resource } from '@foxy.io/sdk/core';\nimport { Rels } from '@foxy.io/sdk/backend';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\n\nexport class ItemCard extends TranslatableMixin(InternalCard, 'item-card')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __currencyDisplay: { attribute: false },\n __currency: { attribute: false },\n };\n }\n\n private static readonly __placeholder =\n 'data:image/svg+xml,%3Csvg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Crect width=\"40\" height=\"40\" fill=\"%23E8E8E8\"/%3E%3Cpath d=\"M31.5143 0H24.5476L0 24.5476V31.5143L11.7046 19.8097L11.9841 17.0782C12.0983 15.9624 13.0131 15.1154 14.1038 15.1154H15.7373V12.1923C15.7373 10.9815 16.6915 10 17.8687 10H21.5143L31.5143 0Z\" fill=\"white\"/%3E%3Cpath d=\"M11.5434 21.3852L0 32.9285V39.8953L11.5822 28.3131C11.172 27.8663 10.9438 27.2444 11.012 26.5782L11.5434 21.3852Z\" fill=\"white\"/%3E%3Cpath d=\"M12.4305 28.879L1.30951 40H8.27631L19.2763 29H13.1316C12.8853 29 12.6495 28.9573 12.4305 28.879Z\" fill=\"white\"/%3E%3Cpath d=\"M28.3113 19.965L28.0159 17.0782C27.9116 16.0591 27.1395 15.2642 26.1754 15.1341L40 1.3095V8.27627L28.3113 19.965Z\" fill=\"white\"/%3E%3Cpath d=\"M20.6905 29L9.69049 40H16.6572L27.9755 28.6817C27.6541 28.8832 27.2756 29 26.8684 29H20.6905Z\" fill=\"white\"/%3E%3Cpath d=\"M28.6572 28C28.9128 27.5952 29.0415 27.1003 28.988 26.5782L28.4426 21.2479L40 9.69053V16.6572L28.6572 28Z\" fill=\"white\"/%3E%3Cpath d=\"M25.0381 40H18.0715L40 18.0715V25.0381L25.0381 40Z\" fill=\"white\"/%3E%3Cpath d=\"M26.4524 40H33.4191L40 33.4191V26.4524L26.4524 40Z\" fill=\"white\"/%3E%3Cpath d=\"M40 40H34.8333L40 34.8333V40Z\" fill=\"white\"/%3E%3Cpath d=\"M16.1666 0H23.1334L0 23.1334V16.1666L16.1666 0Z\" fill=\"white\"/%3E%3Cpath d=\"M14.7524 0H7.78571L0 7.78573V14.7524L14.7524 0Z\" fill=\"white\"/%3E%3Cpath d=\"M0 0H6.37152L0 6.37151V0Z\" fill=\"white\"/%3E%3Cpath d=\"M21.467 11.4615H17.8687C17.4763 11.4615 17.1582 11.7887 17.1582 12.1923V15.1154H22.8418V12.1923C22.8418 11.7887 22.5237 11.4615 22.1313 11.4615H21.467Z\" fill=\"white\"/%3E%3Cpath d=\"M24.7798 15.1154H24.2627V12.1923C24.2627 11.227 23.6562 10.4075 22.8138 10.1148L32.9286 0H39.89L24.7798 15.1154Z\" fill=\"white\"/%3E%3C/svg%3E';\n\n __currencyDisplay = '';\n\n __currency = '';\n\n renderBody(): TemplateResult {\n const quantity = this.data?.quantity ?? 0;\n const price = this.data?.price ?? 0;\n const totalPrice = quantity * price;\n const options = this.data?._embedded?.['fx:item_options'];\n\n return html`\n <div class=\"flex items-start space-x-m leading-m\">\n <div class=\"w-l h-l relative flex-shrink-0\">\n <img\n class=\"relative w-full h-full object-cover rounded\"\n src=${ifDefined(this.data?.image)}\n alt=\"\"\n @error=${(evt: Event) => {\n const img = evt.currentTarget as HTMLImageElement;\n img.src = ItemCard.__placeholder;\n }}\n />\n\n <div class=\"border border-contrast-10 absolute inset-0 rounded\"></div>\n </div>\n\n <div class=\"flex-1\">\n <div class=\"flex-1 h-l flex items-center\">\n <div class=\"flex-1 leading-s\">\n <div class=\"font-semibold text-m\">${this.data?.name}</div>\n <div class=\"text-secondary text-m\">\n ${quantity} &times;\n\n <foxy-i18n\n options=${JSON.stringify({\n amount: `${price} ${this.__currency}`,\n currencyDisplay: this.__currencyDisplay,\n })}\n key=\"price\"\n infer\n >\n </foxy-i18n>\n\n &equals;\n\n <foxy-i18n\n options=${JSON.stringify({\n amount: `${totalPrice} ${this.__currency}`,\n currencyDisplay: this.__currencyDisplay,\n })}\n key=\"price\"\n infer\n >\n </foxy-i18n>\n </div>\n </div>\n\n ${this.data?.subscription_frequency\n ? html`\n <div\n class=\"w-xs h-xs flex items-center justify-center rounded-full bg-contrast-5\"\n >\n <iron-icon icon=\"icons:autorenew\" class=\"icon-inline text-s\"></iron-icon>\n </div>\n `\n : ''}\n </div>\n\n ${options && options.length > 0\n ? html`\n <div class=\"mt-s\">\n ${options.map(\n option => html`\n <div class=\"flex items-center text-m space-x-xs leading-m\">\n <div class=\"flex-1 text-tertiary\">${option.name}: ${option.value}</div>\n ${option.price_mod\n ? html`\n <div\n class=\"${option.price_mod > 0\n ? 'text-success'\n : 'text-error'} rounded px-xs\"\n >\n <foxy-i18n\n options=${JSON.stringify({\n amount: `${option.price_mod} ${this.__currency}`,\n currencyDisplay: this.__currencyDisplay,\n })}\n key=\"price\"\n infer\n >\n </foxy-i18n>\n </div>\n `\n : ''}\n ${option.weight_mod\n ? html`\n <div\n class=\"${option.price_mod > 0\n ? 'text-success'\n : 'text-error'} rounded px-xs\"\n >\n ${option.weight_mod}\n <foxy-i18n key=\"wgt\" infer></foxy-i18n>\n </div>\n `\n : ''}\n </div>\n `\n )}\n </div>\n `\n : ''}\n </div>\n </div>\n `;\n }\n\n protected async _sendGet(): Promise<Data> {\n type Transaction = Resource<Rels.Transaction>;\n type Store = Resource<Rels.Store>;\n\n const item = await super._sendGet();\n const [transaction, store] = await Promise.all([\n super._fetch<Transaction>(item._links['fx:transaction'].href),\n super._fetch<Store>(item._links['fx:store'].href),\n ]);\n\n this.__currency = transaction.currency_code;\n this.__currencyDisplay = store.use_international_currency_symbol ? 'code' : 'symbol';\n\n return item;\n }\n}\n"]}
1
+ {"version":3,"file":"ItemCard.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemCard/ItemCard.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { html } from 'lit-html';\nimport { Data } from './types';\nimport { Resource } from '@foxy.io/sdk/core';\nimport { Rels } from '@foxy.io/sdk/backend';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\n\nconst NS = 'item-card';\nconst Base = ConfigurableMixin(TranslatableMixin(InternalCard, NS));\n\nexport class ItemCard extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __currencyDisplay: { attribute: false },\n __currency: { attribute: false },\n };\n }\n\n private static readonly __placeholder =\n 'data:image/svg+xml,%3Csvg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Crect width=\"40\" height=\"40\" fill=\"%23E8E8E8\"/%3E%3Cpath d=\"M31.5143 0H24.5476L0 24.5476V31.5143L11.7046 19.8097L11.9841 17.0782C12.0983 15.9624 13.0131 15.1154 14.1038 15.1154H15.7373V12.1923C15.7373 10.9815 16.6915 10 17.8687 10H21.5143L31.5143 0Z\" fill=\"white\"/%3E%3Cpath d=\"M11.5434 21.3852L0 32.9285V39.8953L11.5822 28.3131C11.172 27.8663 10.9438 27.2444 11.012 26.5782L11.5434 21.3852Z\" fill=\"white\"/%3E%3Cpath d=\"M12.4305 28.879L1.30951 40H8.27631L19.2763 29H13.1316C12.8853 29 12.6495 28.9573 12.4305 28.879Z\" fill=\"white\"/%3E%3Cpath d=\"M28.3113 19.965L28.0159 17.0782C27.9116 16.0591 27.1395 15.2642 26.1754 15.1341L40 1.3095V8.27627L28.3113 19.965Z\" fill=\"white\"/%3E%3Cpath d=\"M20.6905 29L9.69049 40H16.6572L27.9755 28.6817C27.6541 28.8832 27.2756 29 26.8684 29H20.6905Z\" fill=\"white\"/%3E%3Cpath d=\"M28.6572 28C28.9128 27.5952 29.0415 27.1003 28.988 26.5782L28.4426 21.2479L40 9.69053V16.6572L28.6572 28Z\" fill=\"white\"/%3E%3Cpath d=\"M25.0381 40H18.0715L40 18.0715V25.0381L25.0381 40Z\" fill=\"white\"/%3E%3Cpath d=\"M26.4524 40H33.4191L40 33.4191V26.4524L26.4524 40Z\" fill=\"white\"/%3E%3Cpath d=\"M40 40H34.8333L40 34.8333V40Z\" fill=\"white\"/%3E%3Cpath d=\"M16.1666 0H23.1334L0 23.1334V16.1666L16.1666 0Z\" fill=\"white\"/%3E%3Cpath d=\"M14.7524 0H7.78571L0 7.78573V14.7524L14.7524 0Z\" fill=\"white\"/%3E%3Cpath d=\"M0 0H6.37152L0 6.37151V0Z\" fill=\"white\"/%3E%3Cpath d=\"M21.467 11.4615H17.8687C17.4763 11.4615 17.1582 11.7887 17.1582 12.1923V15.1154H22.8418V12.1923C22.8418 11.7887 22.5237 11.4615 22.1313 11.4615H21.467Z\" fill=\"white\"/%3E%3Cpath d=\"M24.7798 15.1154H24.2627V12.1923C24.2627 11.227 23.6562 10.4075 22.8138 10.1148L32.9286 0H39.89L24.7798 15.1154Z\" fill=\"white\"/%3E%3C/svg%3E';\n\n __currencyDisplay = '';\n\n __currency = '';\n\n renderBody(): TemplateResult {\n const quantity = this.data?.quantity ?? 0;\n const price = this.data?.price ?? 0;\n const totalPrice = quantity * price;\n const options = this.data?._embedded?.['fx:item_options'];\n\n return html`\n <div class=\"flex items-start space-x-m leading-m\">\n <div class=\"w-l h-l relative flex-shrink-0\">\n <img\n class=\"relative w-full h-full object-cover rounded\"\n src=${ifDefined(this.data?.image)}\n alt=\"\"\n @error=${(evt: Event) => {\n const img = evt.currentTarget as HTMLImageElement;\n img.src = ItemCard.__placeholder;\n }}\n />\n\n <div class=\"border border-contrast-10 absolute inset-0 rounded\"></div>\n </div>\n\n <div class=\"flex-1\">\n <div class=\"flex-1 h-l flex items-center\">\n <div class=\"flex-1 leading-s\">\n <div class=\"font-semibold text-m\">${this.data?.name}</div>\n <div class=\"text-secondary text-m\">\n ${quantity} &times;\n\n <foxy-i18n\n options=${JSON.stringify({\n amount: `${price} ${this.__currency}`,\n currencyDisplay: this.__currencyDisplay,\n })}\n key=\"price\"\n infer=\"\"\n >\n </foxy-i18n>\n\n &equals;\n\n <foxy-i18n\n options=${JSON.stringify({\n amount: `${totalPrice} ${this.__currency}`,\n currencyDisplay: this.__currencyDisplay,\n })}\n key=\"price\"\n infer=\"\"\n >\n </foxy-i18n>\n </div>\n </div>\n\n ${this.data?.subscription_frequency\n ? html`\n <div\n class=\"w-xs h-xs flex items-center justify-center rounded-full bg-contrast-5\"\n >\n <iron-icon icon=\"icons:autorenew\" class=\"icon-inline text-s\"></iron-icon>\n </div>\n `\n : ''}\n </div>\n\n ${options && options.length > 0\n ? html`\n <div class=\"mt-s\">\n ${options.map(\n option => html`\n <div class=\"flex items-center text-m space-x-xs leading-m\">\n <div class=\"flex-1 text-tertiary\">${option.name}: ${option.value}</div>\n ${option.price_mod\n ? html`\n <div\n class=\"${option.price_mod > 0\n ? 'text-success'\n : 'text-error'} rounded px-xs\"\n >\n <foxy-i18n\n options=${JSON.stringify({\n amount: `${option.price_mod} ${this.__currency}`,\n currencyDisplay: this.__currencyDisplay,\n })}\n key=\"price\"\n infer=\"\"\n >\n </foxy-i18n>\n </div>\n `\n : ''}\n ${option.weight_mod\n ? html`\n <div\n class=\"${option.price_mod > 0\n ? 'text-success'\n : 'text-error'} rounded px-xs\"\n >\n ${option.weight_mod}\n <foxy-i18n key=\"wgt\" infer=\"\"></foxy-i18n>\n </div>\n `\n : ''}\n </div>\n `\n )}\n </div>\n `\n : ''}\n </div>\n </div>\n `;\n }\n\n protected async _sendGet(): Promise<Data> {\n type Transaction = Resource<Rels.Transaction>;\n type Store = Resource<Rels.Store>;\n\n const item = await super._sendGet();\n const [transaction, store] = await Promise.all([\n super._fetch<Transaction>(item._links['fx:transaction'].href),\n super._fetch<Store>(item._links['fx:store'].href),\n ]);\n\n this.__currency = transaction.currency_code;\n this.__currencyDisplay = store.use_international_currency_symbol ? 'code' : 'symbol';\n\n return item;\n }\n}\n"]}
@@ -43,32 +43,32 @@ export class ItemForm extends TranslatableMixin(InternalForm, 'item-form') {
43
43
 
44
44
  ${this.data
45
45
  ? html `
46
- <foxy-internal-collection-card
46
+ <foxy-internal-async-details-control
47
47
  infer="discount-details"
48
48
  first=${this.data._links['fx:discount_details'].href}
49
49
  limit="5"
50
50
  item="foxy-discount-detail-card"
51
51
  >
52
- </foxy-internal-collection-card>
52
+ </foxy-internal-async-details-control>
53
53
 
54
- <foxy-internal-collection-card
54
+ <foxy-internal-async-details-control
55
55
  infer="coupon-details"
56
56
  first=${this.data._links['fx:coupon_details'].href}
57
57
  limit="5"
58
58
  item="foxy-coupon-detail-card"
59
59
  >
60
- </foxy-internal-collection-card>
60
+ </foxy-internal-async-details-control>
61
61
 
62
- <foxy-internal-collection-card
62
+ <foxy-internal-async-details-control
63
63
  infer="attributes"
64
64
  first=${this.data._links['fx:attributes'].href}
65
65
  limit="5"
66
66
  item="foxy-attribute-card"
67
67
  form="foxy-attribute-form"
68
68
  >
69
- </foxy-internal-collection-card>
69
+ </foxy-internal-async-details-control>
70
70
 
71
- <foxy-internal-collection-card
71
+ <foxy-internal-async-details-control
72
72
  related=${JSON.stringify([
73
73
  this.data._links['fx:transaction'].href,
74
74
  this.data._links['fx:shipment'],
@@ -80,7 +80,7 @@ export class ItemForm extends TranslatableMixin(InternalForm, 'item-form') {
80
80
  item="foxy-item-option-card"
81
81
  form="foxy-item-option-form"
82
82
  >
83
- </foxy-internal-collection-card>
83
+ </foxy-internal-async-details-control>
84
84
  `
85
85
  : ''}
86
86
  ${super.renderBody()}
@@ -1 +1 @@
1
- {"version":3,"file":"ItemForm.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemForm/ItemForm.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAIhC,MAAM,OAAO,QAAS,SAAQ,iBAAiB,CAAC,YAAY,EAAE,WAAW,CAAO;IAAhF;;QAoBE,sBAAiB,GAAG,EAAE,CAAC;QAEvB,mBAAc,GAAG,EAAE,CAAC;QAEpB,YAAO,GAAG,EAAE,CAAC;QAEL,gBAAW,GAAG,EAAE,CAAC;IAyE3B,CAAC;IAlGC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE;YACpE,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE;YAC9D,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,OAAO;YACL,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB;YAC3C,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,mBAAmB;YAChE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,oBAAoB;YAC9E,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,oBAAoB;YAC3E,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,4BAA4B;SACvF,CAAC;IACJ,CAAC;IAUD,UAAU;QACR,OAAO,IAAI,CAAA;;;;;;;;;;;;;;QAcP,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,IAAI,CAAA;;;sBAGQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI;;;;;;;;sBAQ5C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI;;;;;;;;sBAQ1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI;;;;;;;;wBAQpC,IAAI,CAAC,SAAS,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI;gBACvC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC/B,IAAI,CAAC,WAAW;aACjB,CAAC;;sBAEM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI;;;;;;WAMnD;YACH,CAAC,CAAC,EAAE;QACJ,KAAK,CAAC,UAAU,EAAE;KACrB,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,QAAQ;QAGtB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,MAAM,CAAc,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC;QAExF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;QAEvD,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import type { 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 { html } from 'lit-html';\nimport { Resource } from '@foxy.io/sdk/core';\nimport { Rels } from '@foxy.io/sdk/backend';\n\nexport class ItemForm extends TranslatableMixin(InternalForm, 'item-form')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n customerAddresses: { type: String, attribute: 'customer-addresses' },\n itemCategories: { type: String, attribute: 'item-categories' },\n coupons: { type: String },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => (!!v && v.length <= 255) || 'name:v8n_too_long',\n ({ price: v }) => (typeof v === 'number' && !isNaN(v)) || 'price:v8n_required',\n ({ price: v }) => (typeof v === 'number' && v >= 0) || 'price:v8n_negative',\n ({ quantity: v }) => (typeof v === 'number' && v >= 1) || 'quantity:v8n_less_than_one',\n ];\n }\n\n customerAddresses = '';\n\n itemCategories = '';\n\n coupons = '';\n\n private __itemsLink = '';\n\n renderBody(): TemplateResult {\n return html`\n <foxy-internal-text-control infer=\"name\"></foxy-internal-text-control>\n\n <div class=\"grid grid-cols-2 gap-m\">\n <foxy-internal-number-control infer=\"price\"></foxy-internal-number-control>\n <foxy-internal-integer-control infer=\"quantity\"></foxy-internal-integer-control>\n </div>\n\n <foxy-internal-item-form-subscription-control></foxy-internal-item-form-subscription-control>\n <foxy-internal-item-form-line-item-discount-control></foxy-internal-item-form-line-item-discount-control>\n <foxy-internal-item-form-cart-control></foxy-internal-item-form-cart-control>\n <foxy-internal-item-form-shipping-control></foxy-internal-item-form-shipping-control>\n <foxy-internal-item-form-inventory-control></foxy-internal-item-form-inventory-control>\n\n ${this.data\n ? html`\n <foxy-internal-collection-card\n infer=\"discount-details\"\n first=${this.data._links['fx:discount_details'].href}\n limit=\"5\"\n item=\"foxy-discount-detail-card\"\n >\n </foxy-internal-collection-card>\n\n <foxy-internal-collection-card\n infer=\"coupon-details\"\n first=${this.data._links['fx:coupon_details'].href}\n limit=\"5\"\n item=\"foxy-coupon-detail-card\"\n >\n </foxy-internal-collection-card>\n\n <foxy-internal-collection-card\n infer=\"attributes\"\n first=${this.data._links['fx:attributes'].href}\n limit=\"5\"\n item=\"foxy-attribute-card\"\n form=\"foxy-attribute-form\"\n >\n </foxy-internal-collection-card>\n\n <foxy-internal-collection-card\n related=${JSON.stringify([\n this.data._links['fx:transaction'].href,\n this.data._links['fx:shipment'],\n this.__itemsLink,\n ])}\n infer=\"item-options\"\n first=${this.data._links['fx:item_options'].href}\n limit=\"5\"\n item=\"foxy-item-option-card\"\n form=\"foxy-item-option-form\"\n >\n </foxy-internal-collection-card>\n `\n : ''}\n ${super.renderBody()}\n `;\n }\n\n protected async _sendGet(): Promise<Data> {\n type Transaction = Resource<Rels.Transaction>;\n\n const item = await super._sendGet();\n const transaction = await super._fetch<Transaction>(item._links['fx:transaction'].href);\n\n this.__itemsLink = transaction._links['fx:items'].href;\n\n return item;\n }\n}\n"]}
1
+ {"version":3,"file":"ItemForm.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemForm/ItemForm.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAIhC,MAAM,OAAO,QAAS,SAAQ,iBAAiB,CAAC,YAAY,EAAE,WAAW,CAAO;IAAhF;;QAoBE,sBAAiB,GAAG,EAAE,CAAC;QAEvB,mBAAc,GAAG,EAAE,CAAC;QAEpB,YAAO,GAAG,EAAE,CAAC;QAEL,gBAAW,GAAG,EAAE,CAAC;IAyE3B,CAAC;IAlGC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE;YACpE,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE;YAC9D,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,OAAO;YACL,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB;YAC3C,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,mBAAmB;YAChE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,oBAAoB;YAC9E,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,oBAAoB;YAC3E,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,4BAA4B;SACvF,CAAC;IACJ,CAAC;IAUD,UAAU;QACR,OAAO,IAAI,CAAA;;;;;;;;;;;;;;QAcP,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,IAAI,CAAA;;;sBAGQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI;;;;;;;;sBAQ5C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI;;;;;;;;sBAQ1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI;;;;;;;;wBAQpC,IAAI,CAAC,SAAS,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI;gBACvC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC/B,IAAI,CAAC,WAAW;aACjB,CAAC;;sBAEM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI;;;;;;WAMnD;YACH,CAAC,CAAC,EAAE;QACJ,KAAK,CAAC,UAAU,EAAE;KACrB,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,QAAQ;QAGtB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,MAAM,CAAc,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC;QAExF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;QAEvD,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import type { 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 { html } from 'lit-html';\nimport { Resource } from '@foxy.io/sdk/core';\nimport { Rels } from '@foxy.io/sdk/backend';\n\nexport class ItemForm extends TranslatableMixin(InternalForm, 'item-form')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n customerAddresses: { type: String, attribute: 'customer-addresses' },\n itemCategories: { type: String, attribute: 'item-categories' },\n coupons: { type: String },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => (!!v && v.length <= 255) || 'name:v8n_too_long',\n ({ price: v }) => (typeof v === 'number' && !isNaN(v)) || 'price:v8n_required',\n ({ price: v }) => (typeof v === 'number' && v >= 0) || 'price:v8n_negative',\n ({ quantity: v }) => (typeof v === 'number' && v >= 1) || 'quantity:v8n_less_than_one',\n ];\n }\n\n customerAddresses = '';\n\n itemCategories = '';\n\n coupons = '';\n\n private __itemsLink = '';\n\n renderBody(): TemplateResult {\n return html`\n <foxy-internal-text-control infer=\"name\"></foxy-internal-text-control>\n\n <div class=\"grid grid-cols-2 gap-m\">\n <foxy-internal-number-control infer=\"price\"></foxy-internal-number-control>\n <foxy-internal-integer-control infer=\"quantity\"></foxy-internal-integer-control>\n </div>\n\n <foxy-internal-item-form-subscription-control></foxy-internal-item-form-subscription-control>\n <foxy-internal-item-form-line-item-discount-control></foxy-internal-item-form-line-item-discount-control>\n <foxy-internal-item-form-cart-control></foxy-internal-item-form-cart-control>\n <foxy-internal-item-form-shipping-control></foxy-internal-item-form-shipping-control>\n <foxy-internal-item-form-inventory-control></foxy-internal-item-form-inventory-control>\n\n ${this.data\n ? html`\n <foxy-internal-async-details-control\n infer=\"discount-details\"\n first=${this.data._links['fx:discount_details'].href}\n limit=\"5\"\n item=\"foxy-discount-detail-card\"\n >\n </foxy-internal-async-details-control>\n\n <foxy-internal-async-details-control\n infer=\"coupon-details\"\n first=${this.data._links['fx:coupon_details'].href}\n limit=\"5\"\n item=\"foxy-coupon-detail-card\"\n >\n </foxy-internal-async-details-control>\n\n <foxy-internal-async-details-control\n infer=\"attributes\"\n first=${this.data._links['fx:attributes'].href}\n limit=\"5\"\n item=\"foxy-attribute-card\"\n form=\"foxy-attribute-form\"\n >\n </foxy-internal-async-details-control>\n\n <foxy-internal-async-details-control\n related=${JSON.stringify([\n this.data._links['fx:transaction'].href,\n this.data._links['fx:shipment'],\n this.__itemsLink,\n ])}\n infer=\"item-options\"\n first=${this.data._links['fx:item_options'].href}\n limit=\"5\"\n item=\"foxy-item-option-card\"\n form=\"foxy-item-option-form\"\n >\n </foxy-internal-async-details-control>\n `\n : ''}\n ${super.renderBody()}\n `;\n }\n\n protected async _sendGet(): Promise<Data> {\n type Transaction = Resource<Rels.Transaction>;\n\n const item = await super._sendGet();\n const transaction = await super._fetch<Transaction>(item._links['fx:transaction'].href);\n\n this.__itemsLink = transaction._links['fx:items'].href;\n\n return item;\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import '../../internal/InternalIntegerControl/index';
2
- import '../../internal/InternalCollectionCard/index';
2
+ import '../../internal/InternalAsyncDetailsControl/index';
3
3
  import '../../internal/InternalNumberControl/index';
4
4
  import '../../internal/InternalTextControl/index';
5
5
  import '../../internal/InternalForm/index';
@@ -1,5 +1,5 @@
1
1
  import "../../internal/InternalIntegerControl/index.js";
2
- import "../../internal/InternalCollectionCard/index.js";
2
+ import "../../internal/InternalAsyncDetailsControl/index.js";
3
3
  import "../../internal/InternalNumberControl/index.js";
4
4
  import "../../internal/InternalTextControl/index.js";
5
5
  import "../../internal/InternalForm/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemForm/index.ts"],"names":[],"mappings":"AAAA,wDAAqD;AACrD,wDAAqD;AACrD,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,wCAAqC;AACrC,sCAAmC;AACnC,oCAAiC;AACjC,oCAAiC;AACjC,mCAAgC;AAChC,mCAAgC;AAChC,gCAA6B;AAE7B,qEAAkE;AAClE,iEAA8D;AAC9D,8DAA2D;AAC3D,6DAA0D;AAC1D,yDAAsD;AAEtD,OAAO,EAAE,QAAQ,EAAE,sBAAmB;AAEtC,cAAc,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,CAAC","sourcesContent":["import '../../internal/InternalIntegerControl/index';\nimport '../../internal/InternalCollectionCard/index';\nimport '../../internal/InternalNumberControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../DiscountDetailCard/index';\nimport '../CouponDetailCard/index';\nimport '../ItemOptionCard/index';\nimport '../ItemOptionForm/index';\nimport '../AttributeCard/index';\nimport '../AttributeForm/index';\nimport '../CouponCard/index';\n\nimport './internal/InternalItemFormLineItemDiscountControl/index';\nimport './internal/InternalItemFormSubscriptionControl/index';\nimport './internal/InternalItemFormInventoryControl/index';\nimport './internal/InternalItemFormShippingControl/index';\nimport './internal/InternalItemFormCartControl/index';\n\nimport { ItemForm } from './ItemForm';\n\ncustomElements.define('foxy-item-form', ItemForm);\n\nexport { ItemForm };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemForm/index.ts"],"names":[],"mappings":"AAAA,wDAAqD;AACrD,6DAA0D;AAC1D,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,wCAAqC;AACrC,sCAAmC;AACnC,oCAAiC;AACjC,oCAAiC;AACjC,mCAAgC;AAChC,mCAAgC;AAChC,gCAA6B;AAE7B,qEAAkE;AAClE,iEAA8D;AAC9D,8DAA2D;AAC3D,6DAA0D;AAC1D,yDAAsD;AAEtD,OAAO,EAAE,QAAQ,EAAE,sBAAmB;AAEtC,cAAc,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,CAAC","sourcesContent":["import '../../internal/InternalIntegerControl/index';\nimport '../../internal/InternalAsyncDetailsControl/index';\nimport '../../internal/InternalNumberControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../DiscountDetailCard/index';\nimport '../CouponDetailCard/index';\nimport '../ItemOptionCard/index';\nimport '../ItemOptionForm/index';\nimport '../AttributeCard/index';\nimport '../AttributeForm/index';\nimport '../CouponCard/index';\n\nimport './internal/InternalItemFormLineItemDiscountControl/index';\nimport './internal/InternalItemFormSubscriptionControl/index';\nimport './internal/InternalItemFormInventoryControl/index';\nimport './internal/InternalItemFormShippingControl/index';\nimport './internal/InternalItemFormCartControl/index';\n\nimport { ItemForm } from './ItemForm';\n\ncustomElements.define('foxy-item-form', ItemForm);\n\nexport { ItemForm };\n"]}
@@ -7,7 +7,7 @@ export class InternalItemFormCartControl extends InternalControl {
7
7
  }
8
8
  renderControl() {
9
9
  return html `
10
- <foxy-internal-collapsible-card summary="title" lang=${this.lang} ns=${this.ns}>
10
+ <foxy-internal-details summary="title" lang=${this.lang} ns=${this.ns}>
11
11
  <div class="grid grid-cols-2 gap-m p-m">
12
12
  <foxy-internal-date-control class="col-span-2" infer="expires" format="unix">
13
13
  </foxy-internal-date-control>
@@ -16,7 +16,7 @@ export class InternalItemFormCartControl extends InternalControl {
16
16
  <foxy-internal-integer-control infer="quantity-min"></foxy-internal-integer-control>
17
17
  <foxy-internal-integer-control infer="quantity-max"></foxy-internal-integer-control>
18
18
  </div>
19
- </foxy-internal-collapsible-card>
19
+ </foxy-internal-details>
20
20
  `;
21
21
  }
22
22
  }