@foxy.io/elements 1.18.0-beta.20 → 1.18.0-beta.22

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 (337) hide show
  1. package/README.md +6 -1
  2. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  3. package/dist/cdn/foxy-address-card.js +1 -1
  4. package/dist/cdn/foxy-address-form.js +1 -1
  5. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  6. package/dist/cdn/foxy-api-browser.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  8. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  9. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-card.js +1 -1
  11. package/dist/cdn/foxy-attribute-form.js +1 -1
  12. package/dist/cdn/foxy-cancellation-form.js +1 -1
  13. package/dist/cdn/foxy-cart-card.js +1 -1
  14. package/dist/cdn/foxy-cart-form.js +1 -1
  15. package/dist/cdn/foxy-collection-page.js +1 -1
  16. package/dist/cdn/foxy-collection-pages.js +1 -1
  17. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  18. package/dist/cdn/foxy-coupon-card.js +1 -1
  19. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  20. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  21. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  22. package/dist/cdn/foxy-coupon-form.js +1 -1
  23. package/dist/cdn/foxy-custom-field-card.js +1 -1
  24. package/dist/cdn/foxy-custom-field-form.js +1 -1
  25. package/dist/cdn/foxy-customer-card.js +1 -1
  26. package/dist/cdn/foxy-customer-form.js +1 -1
  27. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  28. package/dist/cdn/foxy-customer-portal.js +1 -1
  29. package/dist/cdn/foxy-customer.js +1 -1
  30. package/dist/cdn/foxy-customers-table.js +1 -1
  31. package/dist/cdn/foxy-discount-builder.js +1 -1
  32. package/dist/cdn/foxy-discount-card.js +1 -1
  33. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  34. package/dist/cdn/foxy-donation.js +1 -1
  35. package/dist/cdn/foxy-email-template-card.js +1 -1
  36. package/dist/cdn/foxy-email-template-form.js +1 -1
  37. package/dist/cdn/foxy-error-entry-card.js +1 -1
  38. package/dist/cdn/foxy-form-dialog.js +1 -1
  39. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  40. package/dist/cdn/foxy-gift-card-card.js +1 -1
  41. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  42. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  43. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  44. package/dist/cdn/foxy-gift-card-form.js +1 -1
  45. package/dist/cdn/foxy-i18n-editor.js +2 -2
  46. package/dist/cdn/foxy-i18n.js +1 -1
  47. package/dist/cdn/foxy-integration-card.js +1 -1
  48. package/dist/cdn/foxy-integration-form.js +1 -1
  49. package/dist/cdn/foxy-item-card.js +1 -1
  50. package/dist/cdn/foxy-item-category-card.js +1 -1
  51. package/dist/cdn/foxy-item-category-form.js +1 -1
  52. package/dist/cdn/foxy-item-form.js +1 -1
  53. package/dist/cdn/foxy-item-option-card.js +1 -1
  54. package/dist/cdn/foxy-item-option-form.js +1 -1
  55. package/dist/cdn/foxy-items-form.js +1 -1
  56. package/dist/cdn/foxy-pagination.js +1 -1
  57. package/dist/cdn/foxy-payment-card.js +1 -1
  58. package/dist/cdn/foxy-payment-method-card.js +1 -1
  59. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  60. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  61. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  62. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  63. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  64. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  65. package/dist/cdn/foxy-query-builder.js +1 -1
  66. package/dist/cdn/foxy-report-form.js +2 -2
  67. package/dist/cdn/foxy-reports-table.js +5 -5
  68. package/dist/cdn/foxy-shipment-card.js +1 -1
  69. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  70. package/dist/cdn/foxy-sign-in-form.js +1 -1
  71. package/dist/cdn/foxy-spinner.js +1 -1
  72. package/dist/cdn/foxy-store-form.js +1 -1
  73. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  74. package/dist/cdn/foxy-subscription-card.js +1 -1
  75. package/dist/cdn/foxy-subscription-form.js +1 -1
  76. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  77. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  78. package/dist/cdn/foxy-table.js +1 -1
  79. package/dist/cdn/foxy-tax-card.js +1 -1
  80. package/dist/cdn/foxy-tax-form.js +1 -1
  81. package/dist/cdn/foxy-template-config-form.js +1 -1
  82. package/dist/cdn/foxy-template-form.js +1 -1
  83. package/dist/cdn/foxy-template-set-card.js +1 -1
  84. package/dist/cdn/foxy-template-set-form.js +1 -1
  85. package/dist/cdn/foxy-transaction-card.js +1 -1
  86. package/dist/cdn/foxy-transaction.js +1 -1
  87. package/dist/cdn/foxy-transactions-table.js +7 -7
  88. package/dist/cdn/foxy-user-form.js +1 -1
  89. package/dist/cdn/foxy-users-table.js +1 -1
  90. package/dist/cdn/foxy-webhook-card.js +1 -1
  91. package/dist/cdn/foxy-webhook-form.js +1 -1
  92. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  93. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  94. package/dist/cdn/{shared-39b184de.js → shared-08156595.js} +1 -1
  95. package/dist/cdn/shared-0821cfdc.js +1 -0
  96. package/dist/cdn/{shared-23bf6ee6.js → shared-08e27fe9.js} +3 -3
  97. package/dist/cdn/{shared-68e0cf30.js → shared-0ce006b9.js} +1 -1
  98. package/dist/cdn/shared-1000b848.js +1 -0
  99. package/dist/cdn/{shared-d384d6a3.js → shared-101d1234.js} +2 -2
  100. package/dist/cdn/{shared-7d658c02.js → shared-1c94a156.js} +1 -1
  101. package/dist/cdn/{shared-3ca1e8e4.js → shared-2092d86f.js} +1 -1
  102. package/dist/cdn/shared-21679ebd.js +1 -0
  103. package/dist/cdn/{shared-dbd4a5e8.js → shared-2add595d.js} +1 -1
  104. package/dist/cdn/{shared-1e94e6dd.js → shared-2cc638ad.js} +1 -1
  105. package/dist/cdn/{shared-0d4f9b06.js → shared-39c10b22.js} +1 -1
  106. package/dist/cdn/{shared-e99fa3d6.js → shared-404aa9cc.js} +1 -1
  107. package/dist/cdn/{shared-17c1eab2.js → shared-4849ef5b.js} +1 -1
  108. package/dist/cdn/shared-486d7bb5.js +1 -0
  109. package/dist/cdn/{shared-0f649dc6.js → shared-4f9d2417.js} +5 -5
  110. package/dist/cdn/{shared-413415b0.js → shared-5378bd8c.js} +1 -1
  111. package/dist/cdn/{shared-a90a5235.js → shared-5a4829e3.js} +1 -1
  112. package/dist/cdn/{shared-90c7dbdb.js → shared-5b177708.js} +1 -1
  113. package/dist/cdn/{shared-5b3ae513.js → shared-5ea18e60.js} +1 -1
  114. package/dist/cdn/{shared-ae588315.js → shared-62a54a6c.js} +1 -1
  115. package/dist/cdn/{shared-2f6e33b6.js → shared-62c088b7.js} +1 -1
  116. package/dist/cdn/{shared-5c6eb602.js → shared-639c666f.js} +1 -1
  117. package/dist/cdn/{shared-21689ac0.js → shared-6581241a.js} +1 -1
  118. package/dist/cdn/{shared-df462496.js → shared-6cb1015f.js} +1 -1
  119. package/dist/cdn/{shared-179ff8af.js → shared-71d8d167.js} +1 -1
  120. package/dist/cdn/{shared-cdc183c5.js → shared-71f2ef1f.js} +1 -1
  121. package/dist/cdn/{shared-9d7bbdd8.js → shared-744cf66b.js} +1 -1
  122. package/dist/cdn/{shared-a343ec6b.js → shared-7d4fb1a2.js} +1 -1
  123. package/dist/cdn/{shared-5ada1ccb.js → shared-80fc2b6a.js} +1 -1
  124. package/dist/cdn/{shared-034c6aeb.js → shared-83596b46.js} +1 -1
  125. package/dist/cdn/shared-868065de.js +1 -0
  126. package/dist/cdn/{shared-2b2002ac.js → shared-88c4cfec.js} +1 -1
  127. package/dist/cdn/{shared-cf784db1.js → shared-8dd0af4d.js} +1 -1
  128. package/dist/cdn/{shared-776f948d.js → shared-988ec916.js} +1 -1
  129. package/dist/cdn/{shared-c379590f.js → shared-9bdacf65.js} +1 -1
  130. package/dist/cdn/{shared-a41f2200.js → shared-9f436277.js} +1 -1
  131. package/dist/cdn/shared-a0c8faf2.js +1 -0
  132. package/dist/cdn/{shared-bae9da44.js → shared-a37abe4c.js} +2 -2
  133. package/dist/cdn/{shared-ea6c8bae.js → shared-a41234b4.js} +1 -1
  134. package/dist/cdn/{shared-6cc53630.js → shared-af226a9a.js} +1 -1
  135. package/dist/cdn/{shared-13982611.js → shared-b40cf0dd.js} +1 -1
  136. package/dist/cdn/{shared-9d511d7e.js → shared-bb0e33c3.js} +1 -1
  137. package/dist/cdn/{shared-b48e5aaf.js → shared-bc814810.js} +1 -1
  138. package/dist/cdn/{shared-88c7755d.js → shared-bd252323.js} +1 -1
  139. package/dist/cdn/{shared-869df7ed.js → shared-be66c2e7.js} +1 -1
  140. package/dist/cdn/{shared-e06b70cc.js → shared-c774d080.js} +1 -1
  141. package/dist/cdn/{shared-e94165e9.js → shared-c95c17e6.js} +1 -1
  142. package/dist/cdn/shared-cba08e1c.js +1 -0
  143. package/dist/cdn/{shared-7fb8ecc5.js → shared-d518bd55.js} +1 -1
  144. package/dist/cdn/{shared-004f1a77.js → shared-d61b3e4f.js} +1 -1
  145. package/dist/cdn/{shared-d4a652b7.js → shared-d8dc97f0.js} +1 -1
  146. package/dist/cdn/{shared-bf47ead0.js → shared-de036570.js} +1 -1
  147. package/dist/cdn/{shared-1db07286.js → shared-ed0dee03.js} +1 -1
  148. package/dist/cdn/shared-f7e4cd67.js +1 -0
  149. package/dist/cdn/{shared-8eb4c8d7.js → shared-f80f402a.js} +1 -1
  150. package/dist/cdn/translations/cart-card/en.json +3 -3
  151. package/dist/cdn/translations/gift-card-code-form/en.json +6 -3
  152. package/dist/cdn/translations/gift-card-code-log-card/en.json +6 -3
  153. package/dist/cdn/translations/integration-form/en.json +13 -15
  154. package/dist/cdn/translations/payments-api-fraud-protection-card/en.json +0 -2
  155. package/dist/cdn/translations/payments-api-payment-method-card/en.json +0 -2
  156. package/dist/cdn/translations/payments-api-payment-preset-form/en.json +2 -2
  157. package/dist/cdn/translations/template-set-form/en.json +10 -0
  158. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +10 -5
  159. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  160. package/dist/elements/internal/InternalControl/InternalControl.js +2 -2
  161. package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
  162. package/dist/elements/internal/InternalDetails/InternalDetails.js +3 -3
  163. package/dist/elements/internal/InternalDetails/InternalDetails.js.map +1 -1
  164. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js +1 -1
  165. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -1
  166. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +1 -1
  167. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +3 -2
  168. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
  169. package/dist/elements/private/Group/Group.js +1 -1
  170. package/dist/elements/private/Group/Group.js.map +1 -1
  171. package/dist/elements/private/Warning/Warning.js +1 -3
  172. package/dist/elements/private/Warning/Warning.js.map +1 -1
  173. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.d.ts +12 -0
  174. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js +12 -0
  175. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js.map +1 -1
  176. package/dist/elements/public/AdminSubscriptionCard/index.d.ts +1 -0
  177. package/dist/elements/public/AdminSubscriptionCard/index.js +1 -0
  178. package/dist/elements/public/AdminSubscriptionCard/index.js.map +1 -1
  179. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.d.ts +2 -2
  180. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js +7 -8
  181. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js.map +1 -1
  182. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.d.ts +23 -4
  183. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js +19 -0
  184. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js.map +1 -1
  185. package/dist/elements/public/AppliedCouponCodeForm/types.d.ts +12 -0
  186. package/dist/elements/public/AppliedCouponCodeForm/types.js.map +1 -1
  187. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.d.ts +1 -1
  188. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js +2 -2
  189. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js.map +1 -1
  190. package/dist/elements/public/AttributeCard/AttributeCard.js +28 -14
  191. package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
  192. package/dist/elements/public/CartCard/CartCard.d.ts +7 -2
  193. package/dist/elements/public/CartCard/CartCard.js +16 -9
  194. package/dist/elements/public/CartCard/CartCard.js.map +1 -1
  195. package/dist/elements/public/CartForm/CartForm.d.ts +106 -1
  196. package/dist/elements/public/CartForm/CartForm.js +167 -37
  197. package/dist/elements/public/CartForm/CartForm.js.map +1 -1
  198. package/dist/elements/public/CartForm/index.d.ts +2 -0
  199. package/dist/elements/public/CartForm/index.js +2 -0
  200. package/dist/elements/public/CartForm/index.js.map +1 -1
  201. package/dist/elements/public/CartForm/types.d.ts +64 -0
  202. package/dist/elements/public/CartForm/types.js.map +1 -1
  203. package/dist/elements/public/CouponDetailCard/CouponDetailCard.d.ts +1 -1
  204. package/dist/elements/public/CouponDetailCard/CouponDetailCard.js +2 -2
  205. package/dist/elements/public/CouponDetailCard/CouponDetailCard.js.map +1 -1
  206. package/dist/elements/public/CouponForm/CouponForm.js +13 -9
  207. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  208. package/dist/elements/public/CustomFieldCard/CustomFieldCard.d.ts +1 -1
  209. package/dist/elements/public/CustomFieldCard/CustomFieldCard.js +2 -2
  210. package/dist/elements/public/CustomFieldCard/CustomFieldCard.js.map +1 -1
  211. package/dist/elements/public/CustomFieldCard/TwoLineCard.d.ts +6 -12
  212. package/dist/elements/public/CustomFieldCard/TwoLineCard.js +5 -35
  213. package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
  214. package/dist/elements/public/DiscountBuilder/DiscountBuilder.js +4 -4
  215. package/dist/elements/public/DiscountBuilder/DiscountBuilder.js.map +1 -1
  216. package/dist/elements/public/DiscountCard/DiscountCard.d.ts +1 -1
  217. package/dist/elements/public/DiscountCard/DiscountCard.js +2 -2
  218. package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
  219. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.d.ts +1 -1
  220. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js +2 -2
  221. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js.map +1 -1
  222. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.d.ts +1 -1
  223. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +2 -2
  224. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -1
  225. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +10 -2
  226. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  227. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.d.ts +13 -2
  228. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js +66 -76
  229. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js.map +1 -1
  230. package/dist/elements/public/GiftCardCodeLogCard/index.d.ts +1 -2
  231. package/dist/elements/public/GiftCardCodeLogCard/index.js +1 -2
  232. package/dist/elements/public/GiftCardCodeLogCard/index.js.map +1 -1
  233. package/dist/elements/public/GiftCardForm/GiftCardForm.js +3 -3
  234. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  235. package/dist/elements/public/I18n/format/price.js +1 -0
  236. package/dist/elements/public/I18n/format/price.js.map +1 -1
  237. package/dist/elements/public/I18nEditor/I18nEditor.d.ts +9 -0
  238. package/dist/elements/public/I18nEditor/I18nEditor.js +13 -4
  239. package/dist/elements/public/I18nEditor/I18nEditor.js.map +1 -1
  240. package/dist/elements/public/IntegrationForm/IntegrationForm.d.ts +35 -0
  241. package/dist/elements/public/IntegrationForm/IntegrationForm.js +156 -164
  242. package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -1
  243. package/dist/elements/public/IntegrationForm/index.d.ts +1 -0
  244. package/dist/elements/public/IntegrationForm/index.js +1 -0
  245. package/dist/elements/public/IntegrationForm/index.js.map +1 -1
  246. package/dist/elements/public/ItemCard/ItemCard.js +14 -15
  247. package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
  248. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +1 -1
  249. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +2 -2
  250. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -1
  251. package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +1 -1
  252. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +2 -2
  253. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
  254. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +23 -2
  255. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +35 -19
  256. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -1
  257. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.d.ts +2 -1
  258. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js +2 -1
  259. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js.map +1 -1
  260. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +41 -3
  261. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +142 -84
  262. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -1
  263. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.d.ts +2 -3
  264. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js +2 -3
  265. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js.map +1 -1
  266. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +15 -0
  267. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -1
  268. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +23 -3
  269. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +34 -20
  270. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -1
  271. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.d.ts +2 -1
  272. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js +2 -1
  273. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js.map +1 -1
  274. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +70 -3
  275. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +314 -263
  276. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
  277. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +2 -0
  278. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +2 -0
  279. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -1
  280. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +29 -0
  281. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -1
  282. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +1 -1
  283. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +2 -2
  284. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -1
  285. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +40 -1
  286. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +93 -74
  287. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -1
  288. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +14 -0
  289. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -1
  290. package/dist/elements/public/ReportForm/ReportForm.js +4 -1
  291. package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
  292. package/dist/elements/public/StoreForm/StoreForm.d.ts +153 -1
  293. package/dist/elements/public/StoreForm/StoreForm.js +191 -27
  294. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  295. package/dist/elements/public/StoreForm/index.d.ts +1 -0
  296. package/dist/elements/public/StoreForm/index.js +1 -0
  297. package/dist/elements/public/StoreForm/index.js.map +1 -1
  298. package/dist/elements/public/StoreForm/types.d.ts +94 -0
  299. package/dist/elements/public/StoreForm/types.js.map +1 -1
  300. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +1 -1
  301. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +1 -1
  302. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
  303. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +50 -1
  304. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +49 -0
  305. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -1
  306. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js +1 -1
  307. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js.map +1 -1
  308. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.d.ts +1 -0
  309. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js +1 -0
  310. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js.map +1 -1
  311. package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +33 -1
  312. package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -1
  313. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +4 -1
  314. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
  315. package/dist/elements/public/TemplateForm/TemplateForm.js +10 -2
  316. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
  317. package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +1 -1
  318. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +2 -2
  319. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -1
  320. package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +49 -8
  321. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +100 -64
  322. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -1
  323. package/dist/elements/public/TemplateSetForm/index.d.ts +1 -0
  324. package/dist/elements/public/TemplateSetForm/index.js +1 -0
  325. package/dist/elements/public/TemplateSetForm/index.js.map +1 -1
  326. package/dist/elements/public/TemplateSetForm/types.d.ts +22 -0
  327. package/dist/elements/public/TemplateSetForm/types.js.map +1 -1
  328. package/dist/mixins/themeable.js +19 -12
  329. package/dist/mixins/themeable.js.map +1 -1
  330. package/package.json +2 -1
  331. package/dist/cdn/shared-11ffd643.js +0 -1
  332. package/dist/cdn/shared-1351c1e3.js +0 -1
  333. package/dist/cdn/shared-2f9b7791.js +0 -1
  334. package/dist/cdn/shared-79d6a262.js +0 -1
  335. package/dist/cdn/shared-888d690a.js +0 -1
  336. package/dist/cdn/shared-b7636a23.js +0 -1
  337. package/dist/cdn/shared-fafafc09.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateSetCard.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateSetCard/TemplateSetCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,WAAW,EAAE,0CAAuC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,mBAAmB,CAAC;AAC/B,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,eAAgB,SAAQ,IAAU;IAC7C,MAAM;QACJ,OAAO,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,WAAW,EAAE;YACxC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,IAAI,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { TwoLineCard } from '../CustomFieldCard/TwoLineCard';\nimport { html } from 'lit-html';\n\nconst NS = 'template-set-card';\nconst Base = TranslatableMixin(TwoLineCard, NS);\n\n/**\n * Card element representing a template set (`fx:template_set`).\n *\n * @slot title:before\n * @slot title:after\n *\n * @slot subtitle:before\n * @slot subtitle:after\n *\n * @element foxy-template-set-card\n * @since 1.21.0\n */\nexport class TemplateSetCard extends Base<Data> {\n render(): TemplateResult {\n return super.render({\n title: data => html`${data.description}`,\n subtitle: data => html`${data.code}`,\n });\n }\n}\n"]}
1
+ {"version":3,"file":"TemplateSetCard.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateSetCard/TemplateSetCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,WAAW,EAAE,0CAAuC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,mBAAmB,CAAC;AAC/B,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,eAAgB,SAAQ,IAAU;IAC7C,UAAU;QACR,OAAO,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,WAAW,EAAE;YACxC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,IAAI,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { TwoLineCard } from '../CustomFieldCard/TwoLineCard';\nimport { html } from 'lit-html';\n\nconst NS = 'template-set-card';\nconst Base = TranslatableMixin(TwoLineCard, NS);\n\n/**\n * Card element representing a template set (`fx:template_set`).\n *\n * @slot title:before\n * @slot title:after\n *\n * @slot subtitle:before\n * @slot subtitle:after\n *\n * @element foxy-template-set-card\n * @since 1.21.0\n */\nexport class TemplateSetCard extends Base<Data> {\n renderBody(): TemplateResult {\n return super.renderBody({\n title: data => html`${data.description}`,\n subtitle: data => html`${data.code}`,\n });\n }\n}\n"]}
@@ -1,26 +1,67 @@
1
- import type { CSSResultArray, PropertyDeclarations } from 'lit-element';
2
- import type { PaymentsApiPaymentPresetForm } from '../PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm';
3
- import type { TemplateConfigForm } from '../TemplateConfigForm/TemplateConfigForm';
1
+ import type { PropertyDeclarations } from 'lit-element';
2
+ import type { Data, Templates } from './types';
4
3
  import type { TemplateResult } from 'lit-html';
5
4
  import type { NucleonV8N } from '../NucleonElement/types';
6
- import type { Data } from './types';
7
5
  import { BooleanSelector } from '@foxy.io/sdk/core';
8
6
  import { InternalForm } from '../../internal/InternalForm/InternalForm';
9
7
  declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
10
8
  defaultNS: string;
11
9
  };
10
+ /**
11
+ * Form element for creating and editing template sets (`fx:template_set`).
12
+ *
13
+ * @slot description:before
14
+ * @slot description:after
15
+ *
16
+ * @slot code:before
17
+ * @slot code:after
18
+ *
19
+ * @slot language:before
20
+ * @slot language:after
21
+ *
22
+ * @slot locale-code:before
23
+ * @slot locale-code:after
24
+ *
25
+ * @slot payment-method-set-uri:before
26
+ * @slot payment-method-set-uri:after
27
+ *
28
+ * @slot language-overrides:before
29
+ * @slot language-overrides:after
30
+ *
31
+ * @slot timestamps:before
32
+ * @slot timestamps:after
33
+ *
34
+ * @slot create:before
35
+ * @slot create:after
36
+ *
37
+ * @slot delete:before
38
+ * @slot delete:after
39
+ *
40
+ * @element foxy-template-set-form
41
+ * @since 1.21.0
42
+ */
12
43
  export declare class TemplateSetForm extends Base<Data> {
13
44
  static get properties(): PropertyDeclarations;
14
- static get styles(): CSSResultArray;
15
45
  static get v8n(): NucleonV8N<Data>;
46
+ /** URL of the store's `fx:payment_method_sets` collection (used to fill the relevant dropdown with options). */
16
47
  paymentMethodSets: string | null;
48
+ /** URL of the `fx:language_strings` property helper (passed through to foxy-i18n-editor). */
17
49
  languageStrings: string | null;
50
+ /** URL of the `fx:locale_codes` property helper (used to fill the relevant dropdown with options). */
18
51
  localeCodes: string | null;
52
+ /** URL of the `fx:languages` property helper (used to fill the relevant dropdown with options). */
19
53
  languages: string | null;
20
- get hiddenSelector(): BooleanSelector;
54
+ /** Template render functions mapped to their name. */
55
+ templates: Templates;
56
+ private readonly __paymentMethodSetLoaderId;
57
+ private readonly __localeCodesLoaderId;
58
+ private readonly __languagesLoaderId;
59
+ get disabledSelector(): BooleanSelector;
21
60
  get readonlySelector(): BooleanSelector;
22
- get templateConfigForm(): TemplateConfigForm | null;
23
- get paymentsApiPaymentPresetForm(): PaymentsApiPaymentPresetForm | null;
61
+ get hiddenSelector(): BooleanSelector;
24
62
  renderBody(): TemplateResult;
63
+ private get __paymentMethodSetLoader();
64
+ private get __localeCodesLoader();
65
+ private get __languagesLoader();
25
66
  }
26
67
  export {};
@@ -1,17 +1,60 @@
1
1
  import { TranslatableMixin } from "../../../mixins/translatable.js";
2
2
  import { BooleanSelector } from '@foxy.io/sdk/core';
3
+ import { ResponsiveMixin } from "../../../mixins/responsive.js";
3
4
  import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
4
5
  import { ifDefined } from 'lit-html/directives/if-defined';
5
- import { html, css } from 'lit-element';
6
+ import { html } from 'lit-element';
6
7
  const NS = 'template-set-form';
7
- const Base = TranslatableMixin(InternalForm, NS);
8
+ const Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));
9
+ /**
10
+ * Form element for creating and editing template sets (`fx:template_set`).
11
+ *
12
+ * @slot description:before
13
+ * @slot description:after
14
+ *
15
+ * @slot code:before
16
+ * @slot code:after
17
+ *
18
+ * @slot language:before
19
+ * @slot language:after
20
+ *
21
+ * @slot locale-code:before
22
+ * @slot locale-code:after
23
+ *
24
+ * @slot payment-method-set-uri:before
25
+ * @slot payment-method-set-uri:after
26
+ *
27
+ * @slot language-overrides:before
28
+ * @slot language-overrides:after
29
+ *
30
+ * @slot timestamps:before
31
+ * @slot timestamps:after
32
+ *
33
+ * @slot create:before
34
+ * @slot create:after
35
+ *
36
+ * @slot delete:before
37
+ * @slot delete:after
38
+ *
39
+ * @element foxy-template-set-form
40
+ * @since 1.21.0
41
+ */
8
42
  export class TemplateSetForm extends Base {
9
43
  constructor() {
10
44
  super(...arguments);
45
+ /** URL of the store's `fx:payment_method_sets` collection (used to fill the relevant dropdown with options). */
11
46
  this.paymentMethodSets = null;
12
- this.languageStrings = 'https://demo.api/hapi/property_helpers/10';
47
+ /** URL of the `fx:language_strings` property helper (passed through to foxy-i18n-editor). */
48
+ this.languageStrings = null;
49
+ /** URL of the `fx:locale_codes` property helper (used to fill the relevant dropdown with options). */
13
50
  this.localeCodes = null;
51
+ /** URL of the `fx:languages` property helper (used to fill the relevant dropdown with options). */
14
52
  this.languages = null;
53
+ /** Template render functions mapped to their name. */
54
+ this.templates = {};
55
+ this.__paymentMethodSetLoaderId = 'paymentMethodSetLoader';
56
+ this.__localeCodesLoaderId = 'localeCodesLoader';
57
+ this.__languagesLoaderId = 'languagesLoader';
15
58
  }
16
59
  static get properties() {
17
60
  return {
@@ -22,20 +65,6 @@ export class TemplateSetForm extends Base {
22
65
  languages: {},
23
66
  };
24
67
  }
25
- static get styles() {
26
- return [
27
- super.styles,
28
- css `vaadin-button::part(label){
29
- flex:1;
30
- padding:0;
31
- }
32
-
33
- .grid-cols-16rem{
34
- grid-template-columns:repeat(auto-fit, minmax(16rem, 1fr));
35
- }
36
- `,
37
- ];
38
- }
39
68
  static get v8n() {
40
69
  return [
41
70
  ({ description: v }) => !!v || 'description:v8n_required',
@@ -46,56 +75,44 @@ export class TemplateSetForm extends Base {
46
75
  ({ locale_code: v }) => !!v || 'locale_code:v8n_required',
47
76
  ];
48
77
  }
49
- get hiddenSelector() {
50
- var _a;
51
- const alwaysHidden = [
52
- 'cart-template-uri:not=content',
53
- 'cart-include-template-uri:not=content',
54
- 'email-template-uri:not=content,template-language',
55
- 'checkout-template-uri:not=content',
56
- 'receipt-template-uri:not=content',
57
- 'config:payment-method-set-uri:delete',
58
- 'config:payment-method-set-uri:create',
59
- 'config:payment-method-set-uri:timestamps',
60
- 'config:payment-method-set-uri:description',
61
- 'config:template-dialog:description',
62
- 'config:template-dialog:delete',
63
- ];
64
- if (((_a = this.data) === null || _a === void 0 ? void 0 : _a.code) === 'DEFAULT')
65
- alwaysHidden.push('delete');
66
- return new BooleanSelector(`${alwaysHidden.join(' ')} ${super.hiddenSelector.toString()}`);
78
+ get disabledSelector() {
79
+ var _a, _b, _c;
80
+ const alwaysDisabled = [];
81
+ if (!((_a = this.__languagesLoader) === null || _a === void 0 ? void 0 : _a.data))
82
+ alwaysDisabled.push('language');
83
+ if (!((_b = this.__localeCodesLoader) === null || _b === void 0 ? void 0 : _b.data))
84
+ alwaysDisabled.push('locale-code');
85
+ if (!((_c = this.__paymentMethodSetLoader) === null || _c === void 0 ? void 0 : _c.data) && this.form.payment_method_set_uri) {
86
+ alwaysDisabled.push('payment-method-set-uri');
87
+ }
88
+ return new BooleanSelector(`${alwaysDisabled.join(' ')} ${super.disabledSelector}`);
67
89
  }
68
90
  get readonlySelector() {
69
91
  var _a;
70
92
  const alwaysReadonly = [];
71
93
  if (((_a = this.data) === null || _a === void 0 ? void 0 : _a.code) === 'DEFAULT')
72
94
  alwaysReadonly.push('code', 'description');
73
- return new BooleanSelector(`${alwaysReadonly.join(' ')} ${super.readonlySelector.toString()}`);
74
- }
75
- get templateConfigForm() {
76
- return this.renderRoot.querySelector('foxy-template-config-form');
95
+ return new BooleanSelector(`${alwaysReadonly.join(' ')} ${super.readonlySelector}`);
77
96
  }
78
- get paymentsApiPaymentPresetForm() {
79
- return this.renderRoot.querySelector('foxy-payments-api-payment-preset-form');
97
+ get hiddenSelector() {
98
+ var _a;
99
+ const alwaysHidden = [];
100
+ if (((_a = this.data) === null || _a === void 0 ? void 0 : _a.code) === 'DEFAULT')
101
+ alwaysHidden.push('delete');
102
+ return new BooleanSelector(`${alwaysHidden.join(' ')} ${super.hiddenSelector}`);
80
103
  }
81
104
  renderBody() {
82
- var _a, _b, _c, _d;
83
- const localeCodesLoader = this.renderRoot.querySelector('#localeCodes');
84
- const localeCodes = localeCodesLoader === null || localeCodesLoader === void 0 ? void 0 : localeCodesLoader.data;
85
- const localeCodeEntries = Object.entries((_a = localeCodes === null || localeCodes === void 0 ? void 0 : localeCodes.values) !== null && _a !== void 0 ? _a : {});
86
- const localeCodeOptions = localeCodeEntries.map(([value, label]) => ({ value, label }));
87
- const languagesLoader = this.renderRoot.querySelector('#languages');
88
- const languages = languagesLoader === null || languagesLoader === void 0 ? void 0 : languagesLoader.data;
89
- const languageEntries = Object.entries((_b = languages === null || languages === void 0 ? void 0 : languages.values) !== null && _b !== void 0 ? _b : {});
90
- const languageOptions = languageEntries.map(([value, label]) => ({ value, label }));
91
- const paymentMethodSetLoader = this.renderRoot.querySelector('#paymentMethodSet');
92
- const paymentMethodSet = paymentMethodSetLoader === null || paymentMethodSetLoader === void 0 ? void 0 : paymentMethodSetLoader.data;
105
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
106
+ const localeCodeEntries = Object.entries((_c = (_b = (_a = this.__localeCodesLoader) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.values) !== null && _c !== void 0 ? _c : {});
107
+ const localeCodes = localeCodeEntries.map(([value, label]) => ({ value, label }));
108
+ const languageEntries = Object.entries((_f = (_e = (_d = this.__languagesLoader) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.values) !== null && _f !== void 0 ? _f : {});
109
+ const languages = languageEntries.map(([value, label]) => ({ value, label }));
93
110
  return html `
94
111
  <foxy-nucleon
95
112
  class="hidden"
96
113
  infer=""
97
- href=${ifDefined((_c = this.languages) !== null && _c !== void 0 ? _c : undefined)}
98
- id="languages"
114
+ href=${ifDefined((_g = this.languages) !== null && _g !== void 0 ? _g : undefined)}
115
+ id=${this.__languagesLoaderId}
99
116
  @update=${() => this.requestUpdate()}
100
117
  >
101
118
  </foxy-nucleon>
@@ -103,8 +120,8 @@ export class TemplateSetForm extends Base {
103
120
  <foxy-nucleon
104
121
  class="hidden"
105
122
  infer=""
106
- href=${ifDefined((_d = this.localeCodes) !== null && _d !== void 0 ? _d : undefined)}
107
- id="localeCodes"
123
+ href=${ifDefined((_h = this.localeCodes) !== null && _h !== void 0 ? _h : undefined)}
124
+ id=${this.__localeCodesLoaderId}
108
125
  @update=${() => this.requestUpdate()}
109
126
  >
110
127
  </foxy-nucleon>
@@ -112,20 +129,21 @@ export class TemplateSetForm extends Base {
112
129
  <foxy-nucleon
113
130
  class="hidden"
114
131
  infer=""
115
- href=${ifDefined(this.form.payment_method_set_uri)}
116
- id="paymentMethodSet"
132
+ href=${ifDefined(this.form.payment_method_set_uri || undefined)}
133
+ id=${this.__paymentMethodSetLoaderId}
117
134
  @update=${() => this.requestUpdate()}
118
135
  >
119
136
  </foxy-nucleon>
120
137
 
121
- <div class="grid grid-cols-16rem gap-m">
138
+ <div class="grid grid-cols-1 gap-m sm-grid-cols-2">
122
139
  <foxy-internal-text-control infer="description"></foxy-internal-text-control>
140
+
123
141
  <foxy-internal-text-control infer="code"></foxy-internal-text-control>
124
142
 
125
- <foxy-internal-select-control infer="language" .options=${languageOptions}>
143
+ <foxy-internal-select-control infer="language" .options=${languages}>
126
144
  </foxy-internal-select-control>
127
145
 
128
- <foxy-internal-select-control infer="locale-code" .options=${localeCodeOptions}>
146
+ <foxy-internal-select-control infer="locale-code" .options=${localeCodes}>
129
147
  </foxy-internal-select-control>
130
148
  </div>
131
149
 
@@ -134,23 +152,41 @@ export class TemplateSetForm extends Base {
134
152
  item-id-path="_links.self.href"
135
153
  infer="payment-method-set-uri"
136
154
  first=${this.paymentMethodSets}
137
- .selectedItem=${paymentMethodSet}
155
+ .selectedItem=${(_j = this.__paymentMethodSetLoader) === null || _j === void 0 ? void 0 : _j.data}
138
156
  >
139
157
  </foxy-internal-async-combo-box-control>
140
158
 
141
- ${this.data && this.languageStrings
159
+ ${this.data &&
160
+ this.languageStrings &&
161
+ !this.hiddenSelector.matches('language-overrides', true)
142
162
  ? html `
163
+ ${this.renderTemplateOrSlot('language-overrides:before')}
164
+
143
165
  <foxy-i18n-editor
144
166
  language-overrides=${this.data._links['fx:language_overrides'].href}
145
167
  selected-language=${this.form.language}
146
- infer="i18n-editor"
168
+ infer="language-overrides"
147
169
  href=${this.languageStrings}
148
170
  >
149
171
  </foxy-i18n-editor>
172
+
173
+ ${this.renderTemplateOrSlot('language-overrides:after')}
150
174
  `
151
175
  : ''}
176
+
177
+ <!-- -->
178
+
152
179
  ${super.renderBody()}
153
180
  `;
154
181
  }
182
+ get __paymentMethodSetLoader() {
183
+ return this.renderRoot.querySelector(`#${this.__paymentMethodSetLoaderId}`);
184
+ }
185
+ get __localeCodesLoader() {
186
+ return this.renderRoot.querySelector(`#${this.__localeCodesLoaderId}`);
187
+ }
188
+ get __languagesLoader() {
189
+ return this.renderRoot.querySelector(`#${this.__languagesLoaderId}`);
190
+ }
155
191
  }
156
192
  //# sourceMappingURL=TemplateSetForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateSetForm.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateSetForm/TemplateSetForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CSSResultArray, PropertyDeclarations } from 'lit-element';\nimport type { PaymentsApiPaymentPresetForm } from '../PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm';\nimport type { TemplateConfigForm } from '../TemplateConfigForm/TemplateConfigForm';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html, css } from 'lit-element';\n\nconst NS = 'template-set-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\nexport class TemplateSetForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n paymentMethodSets: { attribute: 'payment-method-sets' },\n languageStrings: { attribute: 'language-strings' },\n localeCodes: { attribute: 'locale-codes' },\n languages: {},\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n vaadin-button::part(label) {\n flex: 1;\n padding: 0;\n }\n\n .grid-cols-16rem {\n grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));\n }\n `,\n ];\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ description: v }) => !!v || 'description:v8n_required',\n ({ description: v }) => (!!v && v.length <= 100) || 'description:v8n_too_long',\n ({ code: v }) => !!v || 'code:v8n_required',\n ({ code: v }) => (!!v && v.length <= 50) || 'code:v8n_too_long',\n ({ language: v }) => !!v || 'language:v8n_required',\n ({ locale_code: v }) => !!v || 'locale_code:v8n_required',\n ];\n }\n\n paymentMethodSets: string | null = null;\n\n languageStrings: string | null = 'https://demo.api/hapi/property_helpers/10';\n\n localeCodes: string | null = null;\n\n languages: string | null = null;\n\n get hiddenSelector(): BooleanSelector {\n const alwaysHidden = [\n 'cart-template-uri:not=content',\n 'cart-include-template-uri:not=content',\n 'email-template-uri:not=content,template-language',\n 'checkout-template-uri:not=content',\n 'receipt-template-uri:not=content',\n 'config:payment-method-set-uri:delete',\n 'config:payment-method-set-uri:create',\n 'config:payment-method-set-uri:timestamps',\n 'config:payment-method-set-uri:description',\n 'config:template-dialog:description',\n 'config:template-dialog:delete',\n ];\n\n if (this.data?.code === 'DEFAULT') alwaysHidden.push('delete');\n\n return new BooleanSelector(`${alwaysHidden.join(' ')} ${super.hiddenSelector.toString()}`);\n }\n\n get readonlySelector(): BooleanSelector {\n const alwaysReadonly: string[] = [];\n if (this.data?.code === 'DEFAULT') alwaysReadonly.push('code', 'description');\n return new BooleanSelector(`${alwaysReadonly.join(' ')} ${super.readonlySelector.toString()}`);\n }\n\n get templateConfigForm(): TemplateConfigForm | null {\n return this.renderRoot.querySelector('foxy-template-config-form');\n }\n\n get paymentsApiPaymentPresetForm(): PaymentsApiPaymentPresetForm | null {\n return this.renderRoot.querySelector('foxy-payments-api-payment-preset-form');\n }\n\n renderBody(): TemplateResult {\n type LocaleCodesLoader = NucleonElement<Resource<Rels.LocaleCodes>>;\n type LanguagesLoader = NucleonElement<Resource<Rels.Languages>>;\n type PMSetLoader = NucleonElement<Resource<Rels.PaymentMethodSet>>;\n\n const localeCodesLoader = this.renderRoot.querySelector<LocaleCodesLoader>('#localeCodes');\n const localeCodes = localeCodesLoader?.data;\n const localeCodeEntries = Object.entries(localeCodes?.values ?? {});\n const localeCodeOptions = localeCodeEntries.map(([value, label]) => ({ value, label }));\n\n const languagesLoader = this.renderRoot.querySelector<LanguagesLoader>('#languages');\n const languages = languagesLoader?.data;\n const languageEntries = Object.entries(languages?.values ?? {});\n const languageOptions = languageEntries.map(([value, label]) => ({ value, label }));\n\n const paymentMethodSetLoader = this.renderRoot.querySelector<PMSetLoader>('#paymentMethodSet');\n const paymentMethodSet = paymentMethodSetLoader?.data;\n\n return html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.languages ?? undefined)}\n id=\"languages\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.localeCodes ?? undefined)}\n id=\"localeCodes\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.form.payment_method_set_uri)}\n id=\"paymentMethodSet\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <div class=\"grid grid-cols-16rem gap-m\">\n <foxy-internal-text-control infer=\"description\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"code\"></foxy-internal-text-control>\n\n <foxy-internal-select-control infer=\"language\" .options=${languageOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-select-control infer=\"locale-code\" .options=${localeCodeOptions}>\n </foxy-internal-select-control>\n </div>\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-id-path=\"_links.self.href\"\n infer=\"payment-method-set-uri\"\n first=${this.paymentMethodSets}\n .selectedItem=${paymentMethodSet}\n >\n </foxy-internal-async-combo-box-control>\n\n ${this.data && this.languageStrings\n ? html`\n <foxy-i18n-editor\n language-overrides=${this.data._links['fx:language_overrides'].href}\n selected-language=${this.form.language}\n infer=\"i18n-editor\"\n href=${this.languageStrings}\n >\n </foxy-i18n-editor>\n `\n : ''}\n ${super.renderBody()}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"TemplateSetForm.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateSetForm/TemplateSetForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { Data, Templates } from './types';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\nconst NS = 'template-set-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Form element for creating and editing template sets (`fx:template_set`).\n *\n * @slot description:before\n * @slot description:after\n *\n * @slot code:before\n * @slot code:after\n *\n * @slot language:before\n * @slot language:after\n *\n * @slot locale-code:before\n * @slot locale-code:after\n *\n * @slot payment-method-set-uri:before\n * @slot payment-method-set-uri:after\n *\n * @slot language-overrides:before\n * @slot language-overrides:after\n *\n * @slot timestamps:before\n * @slot timestamps:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n * @element foxy-template-set-form\n * @since 1.21.0\n */\nexport class TemplateSetForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n paymentMethodSets: { attribute: 'payment-method-sets' },\n languageStrings: { attribute: 'language-strings' },\n localeCodes: { attribute: 'locale-codes' },\n languages: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ description: v }) => !!v || 'description:v8n_required',\n ({ description: v }) => (!!v && v.length <= 100) || 'description:v8n_too_long',\n ({ code: v }) => !!v || 'code:v8n_required',\n ({ code: v }) => (!!v && v.length <= 50) || 'code:v8n_too_long',\n ({ language: v }) => !!v || 'language:v8n_required',\n ({ locale_code: v }) => !!v || 'locale_code:v8n_required',\n ];\n }\n\n /** URL of the store's `fx:payment_method_sets` collection (used to fill the relevant dropdown with options). */\n paymentMethodSets: string | null = null;\n\n /** URL of the `fx:language_strings` property helper (passed through to foxy-i18n-editor). */\n languageStrings: string | null = null;\n\n /** URL of the `fx:locale_codes` property helper (used to fill the relevant dropdown with options). */\n localeCodes: string | null = null;\n\n /** URL of the `fx:languages` property helper (used to fill the relevant dropdown with options). */\n languages: string | null = null;\n\n /** Template render functions mapped to their name. */\n templates: Templates = {};\n\n private readonly __paymentMethodSetLoaderId = 'paymentMethodSetLoader';\n\n private readonly __localeCodesLoaderId = 'localeCodesLoader';\n\n private readonly __languagesLoaderId = 'languagesLoader';\n\n get disabledSelector(): BooleanSelector {\n const alwaysDisabled: string[] = [];\n\n if (!this.__languagesLoader?.data) alwaysDisabled.push('language');\n if (!this.__localeCodesLoader?.data) alwaysDisabled.push('locale-code');\n if (!this.__paymentMethodSetLoader?.data && this.form.payment_method_set_uri) {\n alwaysDisabled.push('payment-method-set-uri');\n }\n\n return new BooleanSelector(`${alwaysDisabled.join(' ')} ${super.disabledSelector}`);\n }\n\n get readonlySelector(): BooleanSelector {\n const alwaysReadonly: string[] = [];\n if (this.data?.code === 'DEFAULT') alwaysReadonly.push('code', 'description');\n return new BooleanSelector(`${alwaysReadonly.join(' ')} ${super.readonlySelector}`);\n }\n\n get hiddenSelector(): BooleanSelector {\n const alwaysHidden: string[] = [];\n if (this.data?.code === 'DEFAULT') alwaysHidden.push('delete');\n return new BooleanSelector(`${alwaysHidden.join(' ')} ${super.hiddenSelector}`);\n }\n\n renderBody(): TemplateResult {\n const localeCodeEntries = Object.entries(this.__localeCodesLoader?.data?.values ?? {});\n const localeCodes = localeCodeEntries.map(([value, label]) => ({ value, label }));\n\n const languageEntries = Object.entries(this.__languagesLoader?.data?.values ?? {});\n const languages = languageEntries.map(([value, label]) => ({ value, label }));\n\n return html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.languages ?? undefined)}\n id=${this.__languagesLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.localeCodes ?? undefined)}\n id=${this.__localeCodesLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.form.payment_method_set_uri || undefined)}\n id=${this.__paymentMethodSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <div class=\"grid grid-cols-1 gap-m sm-grid-cols-2\">\n <foxy-internal-text-control infer=\"description\"></foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"code\"></foxy-internal-text-control>\n\n <foxy-internal-select-control infer=\"language\" .options=${languages}>\n </foxy-internal-select-control>\n\n <foxy-internal-select-control infer=\"locale-code\" .options=${localeCodes}>\n </foxy-internal-select-control>\n </div>\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-id-path=\"_links.self.href\"\n infer=\"payment-method-set-uri\"\n first=${this.paymentMethodSets}\n .selectedItem=${this.__paymentMethodSetLoader?.data}\n >\n </foxy-internal-async-combo-box-control>\n\n ${this.data &&\n this.languageStrings &&\n !this.hiddenSelector.matches('language-overrides', true)\n ? html`\n ${this.renderTemplateOrSlot('language-overrides:before')}\n\n <foxy-i18n-editor\n language-overrides=${this.data._links['fx:language_overrides'].href}\n selected-language=${this.form.language}\n infer=\"language-overrides\"\n href=${this.languageStrings}\n >\n </foxy-i18n-editor>\n\n ${this.renderTemplateOrSlot('language-overrides:after')}\n `\n : ''}\n\n <!-- -->\n\n ${super.renderBody()}\n `;\n }\n\n private get __paymentMethodSetLoader() {\n type Loader = NucleonElement<Resource<Rels.PaymentMethodSet>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__paymentMethodSetLoaderId}`);\n }\n\n private get __localeCodesLoader() {\n type Loader = NucleonElement<Resource<Rels.LocaleCodes>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__localeCodesLoaderId}`);\n }\n\n private get __languagesLoader() {\n type Loader = NucleonElement<Resource<Rels.Languages>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__languagesLoaderId}`);\n }\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import '../../internal/InternalAsyncComboBoxControl/index';
2
2
  import '../../internal/InternalSelectControl/index';
3
3
  import '../../internal/InternalTextControl/index';
4
+ import '../../internal/InternalSandbox/index';
4
5
  import '../../internal/InternalForm/index';
5
6
  import '../NucleonElement/index';
6
7
  import '../I18nEditor/index';
@@ -1,6 +1,7 @@
1
1
  import "../../internal/InternalAsyncComboBoxControl/index.js";
2
2
  import "../../internal/InternalSelectControl/index.js";
3
3
  import "../../internal/InternalTextControl/index.js";
4
+ import "../../internal/InternalSandbox/index.js";
4
5
  import "../../internal/InternalForm/index.js";
5
6
  import "../NucleonElement/index.js";
6
7
  import "../I18nEditor/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateSetForm/index.ts"],"names":[],"mappings":"AAAA,8DAA2D;AAC3D,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,oCAAiC;AACjC,gCAA6B;AAE7B,OAAO,EAAE,eAAe,EAAE,6BAA0B;AAEpD,cAAc,CAAC,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,CAAC","sourcesContent":["import '../../internal/InternalAsyncComboBoxControl/index';\nimport '../../internal/InternalSelectControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../NucleonElement/index';\nimport '../I18nEditor/index';\n\nimport { TemplateSetForm } from './TemplateSetForm';\n\ncustomElements.define('foxy-template-set-form', TemplateSetForm);\n\nexport { TemplateSetForm };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateSetForm/index.ts"],"names":[],"mappings":"AAAA,8DAA2D;AAC3D,uDAAoD;AACpD,qDAAkD;AAClD,iDAA8C;AAC9C,8CAA2C;AAE3C,oCAAiC;AACjC,gCAA6B;AAE7B,OAAO,EAAE,eAAe,EAAE,6BAA0B;AAEpD,cAAc,CAAC,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,CAAC","sourcesContent":["import '../../internal/InternalAsyncComboBoxControl/index';\nimport '../../internal/InternalSelectControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalSandbox/index';\nimport '../../internal/InternalForm/index';\n\nimport '../NucleonElement/index';\nimport '../I18nEditor/index';\n\nimport { TemplateSetForm } from './TemplateSetForm';\n\ncustomElements.define('foxy-template-set-form', TemplateSetForm);\n\nexport { TemplateSetForm };\n"]}
@@ -1,3 +1,25 @@
1
+ import type { TemplateSetForm } from './TemplateSetForm';
2
+ import type { Renderer } from '../../../mixins/configurable';
1
3
  import type { Resource } from '@foxy.io/sdk/core';
2
4
  import type { Rels } from '@foxy.io/sdk/backend';
3
5
  export declare type Data = Resource<Rels.TemplateSet>;
6
+ export declare type Templates = {
7
+ 'description:before'?: Renderer<TemplateSetForm>;
8
+ 'description:after'?: Renderer<TemplateSetForm>;
9
+ 'code:before'?: Renderer<TemplateSetForm>;
10
+ 'code:after'?: Renderer<TemplateSetForm>;
11
+ 'language:before'?: Renderer<TemplateSetForm>;
12
+ 'language:after'?: Renderer<TemplateSetForm>;
13
+ 'locale-code:before'?: Renderer<TemplateSetForm>;
14
+ 'locale-code:after'?: Renderer<TemplateSetForm>;
15
+ 'payment-method-set-uri:before'?: Renderer<TemplateSetForm>;
16
+ 'payment-method-set-uri:after'?: Renderer<TemplateSetForm>;
17
+ 'language-overrides:before'?: Renderer<TemplateSetForm>;
18
+ 'language-overrides:after'?: Renderer<TemplateSetForm>;
19
+ 'timestamps:before'?: Renderer<TemplateSetForm>;
20
+ 'timestamps:after'?: Renderer<TemplateSetForm>;
21
+ 'create:before'?: Renderer<TemplateSetForm>;
22
+ 'create:after'?: Renderer<TemplateSetForm>;
23
+ 'delete:before'?: Renderer<TemplateSetForm>;
24
+ 'delete:after'?: Renderer<TemplateSetForm>;
25
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateSetForm/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.TemplateSet>;\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateSetForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { TemplateSetForm } from './TemplateSetForm';\nimport type { Renderer } from '../../../mixins/configurable';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nexport type Data = Resource<Rels.TemplateSet>;\n\nexport type Templates = {\n 'description:before'?: Renderer<TemplateSetForm>;\n 'description:after'?: Renderer<TemplateSetForm>;\n 'code:before'?: Renderer<TemplateSetForm>;\n 'code:after'?: Renderer<TemplateSetForm>;\n 'language:before'?: Renderer<TemplateSetForm>;\n 'language:after'?: Renderer<TemplateSetForm>;\n 'locale-code:before'?: Renderer<TemplateSetForm>;\n 'locale-code:after'?: Renderer<TemplateSetForm>;\n 'payment-method-set-uri:before'?: Renderer<TemplateSetForm>;\n 'payment-method-set-uri:after'?: Renderer<TemplateSetForm>;\n 'language-overrides:before'?: Renderer<TemplateSetForm>;\n 'language-overrides:after'?: Renderer<TemplateSetForm>;\n 'timestamps:before'?: Renderer<TemplateSetForm>;\n 'timestamps:after'?: Renderer<TemplateSetForm>;\n 'create:before'?: Renderer<TemplateSetForm>;\n 'create:after'?: Renderer<TemplateSetForm>;\n 'delete:before'?: Renderer<TemplateSetForm>;\n 'delete:after'?: Renderer<TemplateSetForm>;\n};\n"]}
@@ -327,6 +327,21 @@ vaadin-text-area,
327
327
  padding-bottom:0;
328
328
  }
329
329
 
330
+ vaadin-text-area::part(label),
331
+ vaadin-text-field::part(label),
332
+ vaadin-date-picker::part(label),
333
+ vaadin-email-field::part(label),
334
+ vaadin-number-field::part(label),
335
+ vaadin-custom-field::part(label),
336
+ vaadin-integer-field::part(label),
337
+ vaadin-password-field::part(label),
338
+ vaadin-checkbox-group::part(label),
339
+ vaadin-radio-group::part(label),
340
+ vaadin-combo-box::part(label),
341
+ vaadin-date-picker::part(label){
342
+ margin-left:0;
343
+ }
344
+
330
345
  vaadin-time-picker,
331
346
  vaadin-date-time-picker{
332
347
  width:100%;
@@ -837,6 +852,10 @@ input::-webkit-date-and-time-value{
837
852
  height: 100%;
838
853
  }
839
854
 
855
+ :host([sm]) .sm-h-xs {
856
+ height: var(--lumo-size-xs, 1.625rem);
857
+ }
858
+
840
859
  :host([sm]) .sm-h-m {
841
860
  height: var(--lumo-size-m, 2.25rem);
842
861
  }
@@ -1429,18 +1448,10 @@ input::-webkit-date-and-time-value{
1429
1448
  border-bottom-left-radius: var(--lumo-border-radius-l, 0.75em);
1430
1449
  }
1431
1450
 
1432
- .rounded-tl-l {
1433
- border-top-left-radius: var(--lumo-border-radius-l, 0.75em);
1434
- }
1435
-
1436
1451
  .rounded-tl {
1437
1452
  border-top-left-radius: var(--lumo-border-radius, 0.5em);
1438
1453
  }
1439
1454
 
1440
- .rounded-tr-s {
1441
- border-top-right-radius: var(--lumo-border-radius-s, 0.25em);
1442
- }
1443
-
1444
1455
  .rounded-tr {
1445
1456
  border-top-right-radius: var(--lumo-border-radius, 0.5em);
1446
1457
  }
@@ -2073,10 +2084,6 @@ input::-webkit-date-and-time-value{
2073
2084
  color: var(--lumo-tertiary-text-color, hsla(214, 45%, 20%, 0.5));
2074
2085
  }
2075
2086
 
2076
- .underline {
2077
- text-decoration: underline;
2078
- }
2079
-
2080
2087
  @media (hover: hover) {
2081
2088
  .hover-underline:hover {
2082
2089
  text-decoration: underline;
@@ -1 +1 @@
1
- {"version":3,"file":"themeable.js","sourceRoot":"","sources":["../../src/mixins/themeable.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAA0C,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,wBAAqB;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAI/E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,WAAkB,EACkB,EAAE;IACtC,OAAO,MAAM,gBAAiB,SAAQ,WAAW;QAC/C,MAAM,KAAK,MAAM;YACf,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YAEjC,OAAO;gBACL,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA4HF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,cAAc,CACZ,yBAAyB,EACzB,GAAG;;;;;;;;GASF,CACF,CAAC;AAEF,cAAc,CACZ,qCAAqC,EACrC,GAAG;;;;;;;GAOF,CACF,CAAC;AAEF,cAAc,CACZ,qCAAqC,EACrC,GAAG;;;;;;;GAOF,CACF,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,OAAgB,SAAU,SAAQ,mBAAmB,CACzD,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAC5C;CAAG","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport { CSSResult, CSSResultArray, Constructor, LitElement, css } from 'lit-element';\n\nimport { ResponsiveMixin } from './responsive';\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles';\n\ntype Base = Constructor<LitElement> & { styles?: CSSResult | CSSResultArray | CSSStyleSheet };\n\nexport const ThemeableMixin = <TBase extends Base>(\n BaseElement: TBase\n): TBase & { styles: CSSResultArray } => {\n return class ThemeableElement extends BaseElement {\n static get styles(): CSSResultArray {\n const originalCSS = super.styles;\n\n return [\n ...(originalCSS ? (Array.isArray(originalCSS) ? originalCSS : [originalCSS]) : []),\n css`\n @tailwind base;\n\n * {\n -webkit-tap-highlight-color: transparent;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n :host {\n display: block;\n color: var(--lumo-body-text-color);\n line-height: var(--lumo-line-height-m);\n font: normal var(--lumo-font-size-m) var(--lumo-font-family);\n }\n\n details > summary::-webkit-details-marker {\n display: none;\n }\n\n details > summary {\n list-style: none;\n }\n\n vaadin-select {\n margin-top: -4px;\n margin-bottom: -4px;\n }\n\n vaadin-text-area,\n vaadin-text-field,\n vaadin-date-picker,\n vaadin-email-field,\n vaadin-number-field,\n vaadin-custom-field,\n vaadin-integer-field,\n vaadin-password-field,\n vaadin-checkbox-group,\n vaadin-radio-group,\n vaadin-combo-box::part(text-field),\n vaadin-date-picker::part(text-field) {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n vaadin-time-picker,\n vaadin-date-time-picker {\n width: 100%;\n }\n\n vaadin-button,\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(label) {\n margin: 0.1875em var(--lumo-space-m);\n }\n\n .appearance-none {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n }\n\n .appearance-none::-webkit-calendar-picker-indicator,\n .appearance-none::-webkit-outer-spin-button,\n .appearance-none::-webkit-inner-spin-button,\n .appearance-none::-webkit-list-button {\n opacity: 0 !important;\n width: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n\n input::-webkit-date-and-time-value {\n text-align: inherit !important;\n }\n\n @tailwind components;\n\n @tailwind utilities;\n\n @layer utilities {\n .border-radius-overflow-fix {\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n }\n\n @variants sm, md, lg, xl {\n .grid-rows-auto {\n grid-auto-rows: 1fr;\n }\n\n .icon-inline {\n --iron-icon-height: 1em;\n --iron-icon-width: 1em;\n }\n\n .bg-blurred {\n backdrop-filter: blur(25px);\n background: var(--lumo-tint-80pct);\n }\n\n .max-w-modal {\n max-width: 28rem;\n }\n\n .max-w-modal-wide {\n max-width: 50rem;\n }\n\n .w-narrow-modal {\n width: 18rem;\n }\n\n .snap-x-mandatory {\n scroll-snap-type: x mandatory;\n }\n\n .snap-start {\n scroll-snap-align: start;\n }\n }\n }\n `,\n ];\n }\n };\n};\n\nregisterStyles(\n 'vaadin-date-time-picker',\n css`\n vaadin-date-time-picker-custom-field {\n --lumo-text-field-size: auto;\n padding: 0;\n }\n\n vaadin-date-time-picker-custom-field::part(label) {\n padding-bottom: 0.5em;\n }\n `\n);\n\nregisterStyles(\n 'vaadin-date-time-picker-date-picker',\n css`\n :host {\n --lumo-text-field-size: auto;\n }\n vaadin-date-time-picker-date-text-field {\n padding: 0;\n }\n `\n);\n\nregisterStyles(\n 'vaadin-date-time-picker-time-picker',\n css`\n :host {\n --lumo-text-field-size: auto;\n }\n vaadin-date-time-picker-time-text-field {\n padding: 0;\n }\n `\n);\n\n/**\n * One of the base classes for each rel-specific element in the collection\n * providing shared TailwindCSS styles for Shadow DOM content.\n * This class MUST NOT be used on its own (hence the `abstract` keyword) or\n * referenced externally (outside of the package).\n *\n * @deprecated\n */\nexport abstract class Themeable extends ScopedElementsMixin(\n ResponsiveMixin(ThemeableMixin(LitElement))\n) {}\n"]}
1
+ {"version":3,"file":"themeable.js","sourceRoot":"","sources":["../../src/mixins/themeable.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAA0C,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,wBAAqB;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAI/E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,WAAkB,EACkB,EAAE;IACtC,OAAO,MAAM,gBAAiB,SAAQ,WAAW;QAC/C,MAAM,KAAK,MAAM;YACf,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YAEjC,OAAO;gBACL,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA2IF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,cAAc,CACZ,yBAAyB,EACzB,GAAG;;;;;;;;GASF,CACF,CAAC;AAEF,cAAc,CACZ,qCAAqC,EACrC,GAAG;;;;;;;GAOF,CACF,CAAC;AAEF,cAAc,CACZ,qCAAqC,EACrC,GAAG;;;;;;;GAOF,CACF,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,OAAgB,SAAU,SAAQ,mBAAmB,CACzD,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAC5C;CAAG","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport { CSSResult, CSSResultArray, Constructor, LitElement, css } from 'lit-element';\n\nimport { ResponsiveMixin } from './responsive';\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles';\n\ntype Base = Constructor<LitElement> & { styles?: CSSResult | CSSResultArray | CSSStyleSheet };\n\nexport const ThemeableMixin = <TBase extends Base>(\n BaseElement: TBase\n): TBase & { styles: CSSResultArray } => {\n return class ThemeableElement extends BaseElement {\n static get styles(): CSSResultArray {\n const originalCSS = super.styles;\n\n return [\n ...(originalCSS ? (Array.isArray(originalCSS) ? originalCSS : [originalCSS]) : []),\n css`\n @tailwind base;\n\n * {\n -webkit-tap-highlight-color: transparent;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n :host {\n display: block;\n color: var(--lumo-body-text-color);\n line-height: var(--lumo-line-height-m);\n font: normal var(--lumo-font-size-m) var(--lumo-font-family);\n }\n\n details > summary::-webkit-details-marker {\n display: none;\n }\n\n details > summary {\n list-style: none;\n }\n\n vaadin-select {\n margin-top: -4px;\n margin-bottom: -4px;\n }\n\n vaadin-text-area,\n vaadin-text-field,\n vaadin-date-picker,\n vaadin-email-field,\n vaadin-number-field,\n vaadin-custom-field,\n vaadin-integer-field,\n vaadin-password-field,\n vaadin-checkbox-group,\n vaadin-radio-group,\n vaadin-combo-box::part(text-field),\n vaadin-date-picker::part(text-field) {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n vaadin-text-area::part(label),\n vaadin-text-field::part(label),\n vaadin-date-picker::part(label),\n vaadin-email-field::part(label),\n vaadin-number-field::part(label),\n vaadin-custom-field::part(label),\n vaadin-integer-field::part(label),\n vaadin-password-field::part(label),\n vaadin-checkbox-group::part(label),\n vaadin-radio-group::part(label),\n vaadin-combo-box::part(label),\n vaadin-date-picker::part(label) {\n margin-left: 0;\n }\n\n vaadin-time-picker,\n vaadin-date-time-picker {\n width: 100%;\n }\n\n vaadin-button,\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(label) {\n margin: 0.1875em var(--lumo-space-m);\n }\n\n .appearance-none {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n }\n\n .appearance-none::-webkit-calendar-picker-indicator,\n .appearance-none::-webkit-outer-spin-button,\n .appearance-none::-webkit-inner-spin-button,\n .appearance-none::-webkit-list-button {\n opacity: 0 !important;\n width: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n\n input::-webkit-date-and-time-value {\n text-align: inherit !important;\n }\n\n @tailwind components;\n\n @tailwind utilities;\n\n @layer utilities {\n .border-radius-overflow-fix {\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n }\n\n @variants sm, md, lg, xl {\n .grid-rows-auto {\n grid-auto-rows: 1fr;\n }\n\n .icon-inline {\n --iron-icon-height: 1em;\n --iron-icon-width: 1em;\n }\n\n .bg-blurred {\n backdrop-filter: blur(25px);\n background: var(--lumo-tint-80pct);\n }\n\n .max-w-modal {\n max-width: 28rem;\n }\n\n .max-w-modal-wide {\n max-width: 50rem;\n }\n\n .w-narrow-modal {\n width: 18rem;\n }\n\n .snap-x-mandatory {\n scroll-snap-type: x mandatory;\n }\n\n .snap-start {\n scroll-snap-align: start;\n }\n }\n }\n `,\n ];\n }\n };\n};\n\nregisterStyles(\n 'vaadin-date-time-picker',\n css`\n vaadin-date-time-picker-custom-field {\n --lumo-text-field-size: auto;\n padding: 0;\n }\n\n vaadin-date-time-picker-custom-field::part(label) {\n padding-bottom: 0.5em;\n }\n `\n);\n\nregisterStyles(\n 'vaadin-date-time-picker-date-picker',\n css`\n :host {\n --lumo-text-field-size: auto;\n }\n vaadin-date-time-picker-date-text-field {\n padding: 0;\n }\n `\n);\n\nregisterStyles(\n 'vaadin-date-time-picker-time-picker',\n css`\n :host {\n --lumo-text-field-size: auto;\n }\n vaadin-date-time-picker-time-text-field {\n padding: 0;\n }\n `\n);\n\n/**\n * One of the base classes for each rel-specific element in the collection\n * providing shared TailwindCSS styles for Shadow DOM content.\n * This class MUST NOT be used on its own (hence the `abstract` keyword) or\n * referenced externally (outside of the package).\n *\n * @deprecated\n */\nexport abstract class Themeable extends ScopedElementsMixin(\n ResponsiveMixin(ThemeableMixin(LitElement))\n) {}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@foxy.io/elements",
3
3
  "type": "module",
4
- "version": "1.18.0-beta.20",
4
+ "version": "1.18.0-beta.22",
5
5
  "description": "E-commerce web components by Foxy.",
6
6
  "repository": {
7
7
  "type": "git",
@@ -13,6 +13,7 @@
13
13
  "types": "dist/index.d.ts",
14
14
  "scripts": {
15
15
  "wca": "wca analyze \"src/elements/public/*/index.ts\" --outFile custom-elements.json --format json",
16
+ "generate-schemas": "node \"./.scripts/generate-schemas.js\" && prettier \"./src/static/schemas/*.json\" \"./.vscode/settings.json\" --write",
16
17
  "storybook": "wds --watch",
17
18
  "storybook:build": "build-storybook",
18
19
  "lint": "npm run lint:eslint && npm run lint:prettier",
@@ -1 +0,0 @@
1
- import"./shared-b48e5aaf.js";import"./shared-3ca1e8e4.js";import"./shared-2f6e33b6.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./foxy-pagination.js";import"./shared-888d690a.js";import{I as e}from"./shared-0d4f9b06.js";import"./shared-cf784db1.js";import{_ as t}from"./shared-a8ced8bf.js";import{c as i}from"./shared-4e709717.js";import{h as r}from"./shared-7f33a83a.js";let o,a,s,n,l,d,c,h,f,m=e=>e;customElements.define("foxy-internal-async-list-control",class extends e{constructor(){super(...arguments),this.related=[],this.limit=20,this.first="",this.form="",this.item="",this.wide=!1,this.alert=!1,this.hideDeleteButton=!1,this.hideCreateButton=!1,this.getPageHref=null,this.__deletionConfimationCallback=null,this.__cachedCardRenderer=null,this.__itemRenderer=e=>{if(!this.form&&!this.getPageHref||!e.data)return this.__cardRenderer(e);const t=this.disabledSelector.matches("card",!0),l=this.__cardRenderer(e);let d;const c=i({"rounded-t":!e.previous,"rounded-b":!e.next,"focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50":!0,"text-left w-full block transition-colors":!0,"hover-bg-contrast-5":!t});if(this.getPageHref)if(t)d=r(o||(o=m`<div class="${0}">${0}</div>`),c,l);else{const t=this.getPageHref(e.href,e.data);d=r(a||(a=m`<a class="${0}" href="${0}">${0}</a>`),c,t,l)}else{d=r(s||(s=m` <button ?disabled="${0}" class="${0}" @click="${0}">${0}</button> `),t,c,(t=>{const i=t.currentTarget,r=this.__dialog;r.header="header_update",r.href=e.href,r.show(i)}),l)}return this.hideDeleteButton?d:r(n||(n=m` <foxy-swipe-actions class="block"> ${0} <vaadin-button theme="primary error" class="h-full" slot="action" @click="${0}"> <foxy-i18n infer="" key="delete_button_text"></foxy-i18n> </vaadin-button> </foxy-swipe-actions> `),d,(e=>{const t=e.currentTarget;this.renderRoot.querySelector("#confirm").show(t),this.__deletionConfimationCallback=()=>{const e=t.previousElementSibling.querySelector("[href]");null==e||e.delete(),this.__deletionConfimationCallback=null}}))}}static get properties(){return t(t({},super.properties),{},{hideDeleteButton:{type:Boolean,attribute:"hide-delete-button"},hideCreateButton:{type:Boolean,attribute:"hide-create-button"},getPageHref:{attribute:!1},related:{type:Array},first:{type:String},limit:{type:Number},form:{type:String},item:{type:String},wide:{type:Boolean},alert:{type:Boolean}})}renderControl(){let e;try{const t=new URL(this.first);t.searchParams.set("limit",String(this.limit)),e=t.toString()}catch(t){e=this.first}return r(l||(l=m` ${0} ${0} <foxy-pagination first="${0}" infer="pagination"> <foxy-collection-page class="mb-s block divide-y divide-contrast-5 rounded overflow-hidden bg-contrast-5" infer="card" .related="${0}" .item="${0}"> </foxy-collection-page> ${0} </foxy-pagination> `),this.form?r(d||(d=m` <foxy-form-dialog parent="${0}" infer="dialog" id="form" ?wide="${0}" ?alert="${0}" .related="${0}" .form="${0}"> </foxy-form-dialog> ${0} `),e,this.wide,this.alert,this.related,this.form,this.hideDeleteButton?"":r(c||(c=m` <foxy-internal-confirm-dialog message="delete_message" confirm="delete_confirm" cancel="delete_cancel" header="delete_header" theme="error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> `),this.lang,this.ns,(e=>{var t;e.detail.cancelled||null===(t=this.__deletionConfimationCallback)||void 0===t||t.call(this)}))):"",this.label&&"label"!==this.label?r(h||(h=m`<div class="font-medium text-secondary text-s mb-xs">${0}</div>`),this.label):"",e,this.related,this.__itemRenderer,!this.form||this.readonly||this.hideCreateButton?"":r(f||(f=m` <vaadin-button class="mb-s w-full" theme="success" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="" key="create_button_text"></foxy-i18n> </vaadin-button> `),this.disabled,(e=>{e.preventDefault(),e.stopPropagation();const t=this.__dialog,i=e.currentTarget;t.header="header_create",t.href="",t.show(i)})))}get __dialog(){return this.renderRoot.querySelector("#form")}get __cardRenderer(){var e;return(null===(e=this.__cachedCardRenderer)||void 0===e?void 0:e.item)!==this.item&&(this.__cachedCardRenderer={item:this.item,render:"string"==typeof this.item?new Function("ctx",`return ctx.html\`<${this.item} related=\${JSON.stringify(ctx.related)} parent=\${ctx.parent} style="padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)" infer href=\${ctx.href}></${this.item}>\``):this.item}),this.__cachedCardRenderer.render}});
@@ -1 +0,0 @@
1
- import"./foxy-collection-page.js";import"./foxy-form-dialog.js";import"./foxy-pagination.js";import"./shared-888d690a.js";import{I as e}from"./shared-c379590f.js";import"./shared-3ca1e8e4.js";import"./shared-2f6e33b6.js";import{_ as t}from"./shared-a8ced8bf.js";import{L as r,h as i}from"./shared-7f33a83a.js";import{I as s}from"./shared-4f037e43.js";import{T as o}from"./shared-1e94e6dd.js";import{c as n}from"./shared-4e709717.js";let a,l=e=>e;class c extends(o(s(r))){constructor(){super(...arguments),this.summary=null,this.open=!1}static get properties(){return t(t({},super.properties),{},{summary:{type:String},open:{type:Boolean}})}render(){var e;return i(a||(a=l` <details class="w-full border border-contrast-10 rounded-t-l rounded-b-l" ?open="${0}" @toggle="${0}"> <summary class="${0}"> <div class="flex items-center h-m pl-m pr-s"> <div class="flex items-center flex-1"> <foxy-i18n class="flex items-center text-xs tracking-wide uppercase font-bold text-body" infer="" key="${0}"> </foxy-i18n> <slot name="actions"></slot> </div> <iron-icon class="icon-inline text-xl text-body" icon="icons:expand-${0}"> </iron-icon> </div> </summary> <div class="border-t border-contrast-10"> <slot></slot> </div> </details> `),this.open,(e=>{this.open=e.currentTarget.open}),n({"focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50":!0,"transition-colors cursor-pointer hover-bg-contrast-5":!0,"rounded-t-l":!0,"rounded-b-l":!this.open}),null!==(e=this.summary)&&void 0!==e?e:"",this.open?"less":"more")}}customElements.define("foxy-internal-details",c);let d,m,f,h,p=e=>e;customElements.define("foxy-internal-async-details-control",class extends e{constructor(){super(...arguments),this.related=[],this.limit=20,this.first="",this.form="",this.item="",this.open=!1,this.__cachedCardRenderer=null,this.__itemRenderer=e=>{if(!this.form||!e.data)return this.__cardRenderer(e);const t=this.disabledSelector.matches("card",!0);return i(d||(d=p` <button ?disabled="${0}" class="${0}" @click="${0}"> ${0} </button> `),t,n({"focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50":!0,"text-left w-full block transition-colors":!0,"hover-bg-contrast-5":!t}),(t=>{const r=t.currentTarget,i=this.__dialog;i.header="header_update",i.href=e.href,i.show(r)}),this.__cardRenderer(e))}}static get properties(){return t(t({},super.properties),{},{related:{type:Array},first:{type:String},limit:{type:Number},form:{type:String},item:{type:String},open:{type:Boolean}})}renderControl(){let e;try{const t=new URL(this.first);t.searchParams.set("limit",String(this.limit)),e=t.toString()}catch(t){e=this.first}return i(m||(m=p` <foxy-internal-details summary="title" infer="" ?open="${0}" @toggle="${0}"> ${0} <foxy-pagination class="px-m pb-s" first="${0}" infer="pagination"> <foxy-collection-page class="-mx-m block divide-y divide-contrast-10 mb-s" infer="card" .related="${0}" .item="${0}"> </foxy-collection-page> </foxy-pagination> </foxy-internal-details> `),this.open,(e=>this.open=e.currentTarget.open),this.form?i(f||(f=p` <foxy-form-dialog parent="${0}" infer="dialog" id="form" .related="${0}" .form="${0}"> </foxy-form-dialog> ${0} `),e,this.related,this.form,this.readonly?"":i(h||(h=p` <button class="h-xs w-xs rounded-full text-success flex items-center justify-center text-l focus-outline-none focus-ring-2 focus-ring-primary-50" slot="actions" ?disabled="${0}" @click="${0}"> <iron-icon class="icon-inline" icon="icons:add"></iron-icon> </button> `),this.disabled,(e=>{e.preventDefault(),e.stopPropagation();const t=this.__dialog,r=e.currentTarget;t.header="header_create",t.href="",t.show(r)}))):"",e,this.related,this.__itemRenderer)}get __dialog(){return this.renderRoot.querySelector("#form")}get __cardRenderer(){var e;return(null===(e=this.__cachedCardRenderer)||void 0===e?void 0:e.item)!==this.item&&(this.__cachedCardRenderer={item:this.item,render:"string"==typeof this.item?new Function("ctx",`return ctx.html\`<${this.item} related=\${JSON.stringify(ctx.related)} parent=\${ctx.parent} class="p-m" infer href=\${ctx.href}></${this.item}>\``):this.item}),this.__cachedCardRenderer.render}});
@@ -1 +0,0 @@
1
- import{L as e,h as r}from"./shared-7f33a83a.js";import{w as s}from"./shared-1e94e6dd.js";let t,o=e=>e;class n extends e{static get styles(){return s.styles}render(){return r(t||(t=o` <p class="flex text-s border border-contrast-10 rounded-t-l rounded-b-l p-s text-body leading-s"> <iron-icon icon="lumo:error" class="text-error flex-shrink-0 mr-s"></iron-icon> <slot></slot> </p> `))}}function a(e){const[r,s,t]=e.split("-").map((e=>parseInt(e,10)));return[r,s,t].some((e=>"number"!=typeof e||isNaN(e)))?null:new Date(r,s-1,t)}export{n as W,a as p};
@@ -1 +0,0 @@
1
- import{_ as t}from"./shared-a8ced8bf.js";import{C as e}from"./shared-43bcce74.js";import{h as s}from"./shared-7f33a83a.js";import{N as i}from"./shared-181f51bd.js";import{R as r,T as a}from"./shared-1e94e6dd.js";import{c as d}from"./shared-4e709717.js";let l,n,o,h=t=>t;const m=r(e(a(i)));class p extends m{constructor(){super(...arguments),this.templates={},this.lang="",this.ns="",this.__renderTitle=t=>s(l||(l=h` <div data-testid="title"> ${0} <div class="font-semibold truncate"> ${0}&ZeroWidthSpace; </div> ${0} </div> `),this.renderTemplateOrSlot("title:before"),this.data?null==t?void 0:t(this.data):"",this.renderTemplateOrSlot("title:after")),this.__renderSubtitle=t=>s(n||(n=h` <div data-testid="subtitle"> ${0} <div class="text-tertiary truncate text-s sm-text-m"> ${0}&ZeroWidthSpace; </div> ${0} </div> `),this.renderTemplateOrSlot("subtitle:before"),this.data?null==t?void 0:t(this.data):"",this.renderTemplateOrSlot("subtitle:after"))}static get properties(){return t(t({},super.properties),{},{lang:{type:String},ns:{type:String}})}render(t){var e,i;const r=this.hiddenSelector;return s(o||(o=h` <div aria-live="polite" aria-busy="${0}" class="relative text-body text-m font-lumo leading-s sm-flex sm-justify-between"> ${0} ${0} <div class="${0}"> <foxy-spinner data-testid="spinner" class="m-auto" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),!this.data&&this.in("busy"),r.matches("title",!0)?"":this.__renderTitle(null==t?void 0:t.title),r.matches("subtitle",!0)?"":this.__renderSubtitle(null==t?void 0:t.subtitle),d({"transition duration-250 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!!this.data}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(i=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==i?i:"")}}export{p as T};