@foxy.io/elements 1.26.0 → 1.27.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +1 -1
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  5. package/dist/cdn/foxy-api-browser.js +1 -1
  6. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  8. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  9. package/dist/cdn/foxy-attribute-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-form.js +1 -1
  11. package/dist/cdn/foxy-billing-address-card.js +1 -1
  12. package/dist/cdn/foxy-cancellation-form.js +1 -1
  13. package/dist/cdn/foxy-cart-card.js +1 -1
  14. package/dist/cdn/foxy-cart-form.js +1 -1
  15. package/dist/cdn/foxy-client-card.js +1 -1
  16. package/dist/cdn/foxy-client-form.js +1 -1
  17. package/dist/cdn/foxy-collection-page.js +1 -1
  18. package/dist/cdn/foxy-collection-pages.js +1 -1
  19. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  20. package/dist/cdn/foxy-coupon-card.js +1 -1
  21. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  22. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  23. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  24. package/dist/cdn/foxy-coupon-form.js +1 -1
  25. package/dist/cdn/foxy-custom-field-card.js +1 -1
  26. package/dist/cdn/foxy-custom-field-form.js +1 -1
  27. package/dist/cdn/foxy-customer-api.js +1 -1
  28. package/dist/cdn/foxy-customer-card.js +1 -1
  29. package/dist/cdn/foxy-customer-form.js +1 -1
  30. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  31. package/dist/cdn/foxy-customer-portal.js +2 -2
  32. package/dist/cdn/foxy-customer.js +3 -3
  33. package/dist/cdn/foxy-customers-table.js +1 -1
  34. package/dist/cdn/foxy-discount-builder.js +1 -1
  35. package/dist/cdn/foxy-discount-card.js +1 -1
  36. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  37. package/dist/cdn/foxy-donation.js +1 -1
  38. package/dist/cdn/foxy-downloadable-card.js +1 -1
  39. package/dist/cdn/foxy-downloadable-form.js +1 -1
  40. package/dist/cdn/foxy-email-template-card.js +1 -1
  41. package/dist/cdn/foxy-email-template-form.js +1 -1
  42. package/dist/cdn/foxy-error-entry-card.js +1 -1
  43. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  44. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  45. package/dist/cdn/foxy-form-dialog.js +1 -1
  46. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  47. package/dist/cdn/foxy-gift-card-card.js +1 -1
  48. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  49. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  50. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  51. package/dist/cdn/foxy-gift-card-form.js +1 -1
  52. package/dist/cdn/foxy-i18n-editor.js +2 -2
  53. package/dist/cdn/foxy-i18n.js +1 -1
  54. package/dist/cdn/foxy-integration-card.js +1 -1
  55. package/dist/cdn/foxy-integration-form.js +1 -1
  56. package/dist/cdn/foxy-item-card.js +1 -1
  57. package/dist/cdn/foxy-item-category-card.js +1 -1
  58. package/dist/cdn/foxy-item-category-form.js +1 -1
  59. package/dist/cdn/foxy-item-form.js +4 -4
  60. package/dist/cdn/foxy-item-option-card.js +1 -1
  61. package/dist/cdn/foxy-item-option-form.js +1 -1
  62. package/dist/cdn/foxy-items-form.js +1 -1
  63. package/dist/cdn/foxy-native-integration-card.js +1 -1
  64. package/dist/cdn/foxy-native-integration-form.js +1 -1
  65. package/dist/cdn/foxy-nucleon-element.js +1 -1
  66. package/dist/cdn/foxy-pagination.js +1 -1
  67. package/dist/cdn/foxy-passkey-card.js +1 -1
  68. package/dist/cdn/foxy-passkey-form.js +1 -1
  69. package/dist/cdn/foxy-payment-card.js +1 -1
  70. package/dist/cdn/foxy-payment-method-card.js +1 -1
  71. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  72. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  73. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  74. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  75. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  76. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  77. package/dist/cdn/foxy-payments-api.js +1 -1
  78. package/dist/cdn/foxy-query-builder.js +1 -1
  79. package/dist/cdn/foxy-report-form.js +11 -11
  80. package/dist/cdn/foxy-reports-table.js +1 -1
  81. package/dist/cdn/foxy-shipment-card.js +1 -1
  82. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  83. package/dist/cdn/foxy-sign-in-form.js +1 -1
  84. package/dist/cdn/foxy-spinner.js +2 -2
  85. package/dist/cdn/foxy-store-card.js +1 -1
  86. package/dist/cdn/foxy-store-form.js +1 -1
  87. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  88. package/dist/cdn/foxy-subscription-card.js +1 -1
  89. package/dist/cdn/foxy-subscription-form.js +1 -5
  90. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  91. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  92. package/dist/cdn/foxy-swipe-actions.js +1 -1
  93. package/dist/cdn/foxy-table.js +1 -1
  94. package/dist/cdn/foxy-tax-card.js +1 -1
  95. package/dist/cdn/foxy-tax-form.js +1 -1
  96. package/dist/cdn/foxy-template-config-form.js +1 -1
  97. package/dist/cdn/foxy-template-form.js +1 -1
  98. package/dist/cdn/foxy-template-set-card.js +1 -1
  99. package/dist/cdn/foxy-template-set-form.js +1 -1
  100. package/dist/cdn/foxy-transaction-card.js +1 -1
  101. package/dist/cdn/foxy-transaction.js +1 -1
  102. package/dist/cdn/foxy-transactions-table.js +7 -7
  103. package/dist/cdn/foxy-user-card.js +1 -1
  104. package/dist/cdn/foxy-user-form.js +1 -1
  105. package/dist/cdn/foxy-users-table.js +1 -1
  106. package/dist/cdn/foxy-webhook-card.js +1 -1
  107. package/dist/cdn/foxy-webhook-form.js +1 -1
  108. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  109. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  110. package/dist/cdn/{shared-2787655b.js → shared-030f561a.js} +1 -1
  111. package/dist/cdn/shared-0cbb19f4.js +2 -0
  112. package/dist/cdn/{shared-38499b40.js → shared-0cf90158.js} +1 -1
  113. package/dist/cdn/{shared-b06b1473.js → shared-1024766f.js} +1 -1
  114. package/dist/cdn/{shared-360e1c8e.js → shared-12390d6f.js} +1 -1
  115. package/dist/cdn/{shared-942ef1fc.js → shared-12ad8924.js} +2 -2
  116. package/dist/cdn/shared-150f5214.js +1 -0
  117. package/dist/cdn/shared-2062c274.js +1 -0
  118. package/dist/cdn/{shared-f3b35364.js → shared-22ba9566.js} +1 -1
  119. package/dist/cdn/{shared-69c67952.js → shared-2376abfc.js} +7 -7
  120. package/dist/cdn/{shared-76812651.js → shared-26f4b6bf.js} +1 -1
  121. package/dist/cdn/{shared-f7365ea5.js → shared-2920b595.js} +1 -1
  122. package/dist/cdn/{shared-d7be11de.js → shared-2bf89a21.js} +1 -1
  123. package/dist/cdn/{shared-550f9cae.js → shared-331a223c.js} +2 -2
  124. package/dist/cdn/{shared-6da29a49.js → shared-33d8cbfb.js} +1 -1
  125. package/dist/cdn/{shared-213c60d3.js → shared-352c79a6.js} +1 -1
  126. package/dist/cdn/{shared-cadbb2e3.js → shared-37e1a834.js} +1 -1
  127. package/dist/cdn/shared-3f19b914.js +20 -0
  128. package/dist/cdn/{shared-d2dc8486.js → shared-405a290e.js} +1 -1
  129. package/dist/cdn/shared-40bece2b.js +1 -0
  130. package/dist/cdn/{shared-2d40129d.js → shared-4482e7b9.js} +6 -6
  131. package/dist/cdn/{shared-19732959.js → shared-44bb85d8.js} +1 -1
  132. package/dist/cdn/{shared-2b68c60f.js → shared-497ebb8c.js} +1 -1
  133. package/dist/cdn/{shared-60e167ae.js → shared-4cec4de0.js} +1 -1
  134. package/dist/cdn/{shared-51318b75.js → shared-510a9e1b.js} +1 -1
  135. package/dist/cdn/{shared-f9180815.js → shared-51c4a6dd.js} +1 -1
  136. package/dist/cdn/shared-5ba87b6d.js +11 -0
  137. package/dist/cdn/{shared-c37707da.js → shared-5df32007.js} +1 -1
  138. package/dist/cdn/{shared-eaceb493.js → shared-5dfec3b7.js} +1 -1
  139. package/dist/cdn/shared-651c44fa.js +6 -0
  140. package/dist/cdn/{shared-ac62d098.js → shared-655e7c5f.js} +1 -1
  141. package/dist/cdn/shared-6d41c9a9.js +1 -0
  142. package/dist/cdn/{shared-be8c90cc.js → shared-6e508e5b.js} +11 -22
  143. package/dist/cdn/{shared-f1ee9bf9.js → shared-6ed07856.js} +1 -1
  144. package/dist/cdn/{shared-5407617a.js → shared-7039733e.js} +1 -1
  145. package/dist/cdn/{shared-be5ef71d.js → shared-74adbf9e.js} +1 -1
  146. package/dist/cdn/{shared-d7910e16.js → shared-7ea4cb27.js} +1 -1
  147. package/dist/cdn/{shared-8ed04343.js → shared-83fc5dca.js} +1 -1
  148. package/dist/cdn/{shared-bb05cfed.js → shared-8438d4ca.js} +1 -1
  149. package/dist/cdn/{shared-50a3cb63.js → shared-882e7191.js} +1 -1
  150. package/dist/cdn/shared-8ab2ba91.js +425 -0
  151. package/dist/cdn/{shared-31b7a6ad.js → shared-8b80db13.js} +1 -1
  152. package/dist/cdn/shared-966feb65.js +1 -0
  153. package/dist/cdn/{shared-aa4f6a25.js → shared-97d63da6.js} +1 -1
  154. package/dist/cdn/{shared-d3bf9ac0.js → shared-9803aa7c.js} +2 -2
  155. package/dist/cdn/{shared-11c2efc8.js → shared-99940888.js} +1 -1
  156. package/dist/cdn/shared-99f0fee6.js +1 -0
  157. package/dist/cdn/shared-9adc47da.js +113 -0
  158. package/dist/cdn/{shared-b23c903e.js → shared-9f570db0.js} +1 -1
  159. package/dist/cdn/{shared-bc113435.js → shared-9fd64015.js} +1 -1
  160. package/dist/cdn/{shared-6a7f96c4.js → shared-a0435ec6.js} +1 -1
  161. package/dist/cdn/{shared-d519a301.js → shared-a0c6a159.js} +2 -2
  162. package/dist/cdn/{shared-16b391d9.js → shared-a19e1dff.js} +1 -1
  163. package/dist/cdn/{shared-ee54f718.js → shared-a5ecd56e.js} +1 -1
  164. package/dist/cdn/{shared-7d24a3f1.js → shared-a9f76cae.js} +1 -1
  165. package/dist/cdn/{shared-927fa880.js → shared-ae459232.js} +4 -4
  166. package/dist/cdn/{shared-1f8ae298.js → shared-bbc0cdd6.js} +1 -1
  167. package/dist/cdn/{shared-1c07b1be.js → shared-bf695fe7.js} +1 -1
  168. package/dist/cdn/{shared-4721aeb1.js → shared-cd8c3429.js} +1 -1
  169. package/dist/cdn/{shared-d28b95c6.js → shared-cfed658c.js} +2 -2
  170. package/dist/cdn/shared-d0374d0c.js +1 -0
  171. package/dist/cdn/{shared-55f58244.js → shared-d244dd07.js} +1 -1
  172. package/dist/cdn/{shared-de59c42c.js → shared-d9f65ee0.js} +4 -4
  173. package/dist/cdn/{shared-df8380e1.js → shared-db98729a.js} +1 -1
  174. package/dist/cdn/{shared-7f33a83a.js → shared-dc73b9a5.js} +1 -1
  175. package/dist/cdn/{shared-902b0773.js → shared-e40937c5.js} +1 -1
  176. package/dist/cdn/{shared-e8621807.js → shared-f0269599.js} +1 -1
  177. package/dist/cdn/shared-f1afbd7b.js +1 -0
  178. package/dist/cdn/{shared-dc8c202b.js → shared-f53d078e.js} +1 -1
  179. package/dist/cdn/{shared-533c0d6a.js → shared-f588b5c2.js} +1 -1
  180. package/dist/cdn/{shared-8d51eaa6.js → shared-f5d4dda0.js} +1 -1
  181. package/dist/cdn/{shared-87f81b69.js → shared-f94fa366.js} +1 -1
  182. package/dist/cdn/shared-fd0a4026.js +1 -0
  183. package/dist/cdn/translations/access-recovery-form/en.json +5 -2
  184. package/dist/cdn/translations/address-card/en.json +1 -1
  185. package/dist/cdn/translations/address-form/en.json +86 -26
  186. package/dist/cdn/translations/admin-subscription-card/en.json +1 -1
  187. package/dist/cdn/translations/applied-coupon-code-card/en.json +1 -1
  188. package/dist/cdn/translations/applied-coupon-code-form/en.json +2 -1
  189. package/dist/cdn/translations/applied-tax-card/en.json +1 -1
  190. package/dist/cdn/translations/attribute-card/en.json +1 -1
  191. package/dist/cdn/translations/attribute-form/en.json +36 -17
  192. package/dist/cdn/translations/billing-address-card/en.json +1 -1
  193. package/dist/cdn/translations/cancellation-form/en.json +2 -1
  194. package/dist/cdn/translations/cart-card/en.json +1 -1
  195. package/dist/cdn/translations/cart-form/en.json +51 -29
  196. package/dist/cdn/translations/client-card/en.json +1 -1
  197. package/dist/cdn/translations/client-form/en.json +2 -1
  198. package/dist/cdn/translations/coupon-card/en.json +1 -1
  199. package/dist/cdn/translations/coupon-code-form/en.json +70 -13
  200. package/dist/cdn/translations/coupon-codes-form/en.json +3 -2
  201. package/dist/cdn/translations/coupon-form/en.json +77 -16
  202. package/dist/cdn/translations/custom-field-card/en.json +1 -1
  203. package/dist/cdn/translations/custom-field-form/en.json +34 -14
  204. package/dist/cdn/translations/customer/en.json +142 -67
  205. package/dist/cdn/translations/customer-card/en.json +1 -1
  206. package/dist/cdn/translations/customer-form/en.json +2 -1
  207. package/dist/cdn/translations/customer-portal/en.json +106 -38
  208. package/dist/cdn/translations/customers-table/en.json +2 -1
  209. package/dist/cdn/translations/discount-card/en.json +1 -1
  210. package/dist/cdn/translations/downloadable-card/en.json +1 -1
  211. package/dist/cdn/translations/downloadable-form/en.json +2 -1
  212. package/dist/cdn/translations/email-template-card/en.json +1 -1
  213. package/dist/cdn/translations/email-template-form/en.json +2 -1
  214. package/dist/cdn/translations/filter-attribute-card/en.json +1 -1
  215. package/dist/cdn/translations/filter-attribute-form/en.json +2 -1
  216. package/dist/cdn/translations/generate-codes-form/en.json +2 -1
  217. package/dist/cdn/translations/gift-card-card/en.json +1 -1
  218. package/dist/cdn/translations/gift-card-code-form/en.json +55 -24
  219. package/dist/cdn/translations/gift-card-code-log-card/en.json +1 -1
  220. package/dist/cdn/translations/gift-card-codes-form/en.json +3 -2
  221. package/dist/cdn/translations/gift-card-form/en.json +67 -29
  222. package/dist/cdn/translations/i18n-editor/en.json +2 -1
  223. package/dist/cdn/translations/integration-card/en.json +1 -1
  224. package/dist/cdn/translations/integration-form/en.json +2 -1
  225. package/dist/cdn/translations/item-card/en.json +1 -1
  226. package/dist/cdn/translations/item-category-card/en.json +1 -1
  227. package/dist/cdn/translations/item-category-form/en.json +3 -2
  228. package/dist/cdn/translations/item-form/en.json +44 -23
  229. package/dist/cdn/translations/item-option-form/en.json +2 -1
  230. package/dist/cdn/translations/native-integration-card/en.json +1 -1
  231. package/dist/cdn/translations/native-integration-form/en.json +2 -1
  232. package/dist/cdn/translations/passkey-card/en.json +1 -1
  233. package/dist/cdn/translations/passkey-form/en.json +2 -1
  234. package/dist/cdn/translations/payment-card/en.json +1 -1
  235. package/dist/cdn/translations/payment-method-card/en.json +1 -1
  236. package/dist/cdn/translations/payments-api-fraud-protection-card/en.json +1 -1
  237. package/dist/cdn/translations/payments-api-fraud-protection-form/en.json +2 -1
  238. package/dist/cdn/translations/payments-api-payment-method-card/en.json +1 -1
  239. package/dist/cdn/translations/payments-api-payment-method-form/en.json +2 -1
  240. package/dist/cdn/translations/payments-api-payment-preset-card/en.json +1 -1
  241. package/dist/cdn/translations/payments-api-payment-preset-form/en.json +2 -1
  242. package/dist/cdn/translations/report-form/en.json +2 -1
  243. package/dist/cdn/translations/reports-table/en.json +2 -1
  244. package/dist/cdn/translations/shared/en.json +4 -0
  245. package/dist/cdn/translations/shared/es.json +3 -0
  246. package/dist/cdn/translations/shipment-card/en.json +1 -1
  247. package/dist/cdn/translations/shipping-method-card/en.json +1 -1
  248. package/dist/cdn/translations/sign-in-form/en.json +2 -1
  249. package/dist/cdn/translations/spinner/en.json +1 -1
  250. package/dist/cdn/translations/store-card/en.json +1 -1
  251. package/dist/cdn/translations/store-form/en.json +2 -1
  252. package/dist/cdn/translations/store-shipping-method-form/en.json +3 -2
  253. package/dist/cdn/translations/subscription-card/en.json +1 -1
  254. package/dist/cdn/translations/subscription-form/en.json +9 -17
  255. package/dist/cdn/translations/subscription-settings-form/en.json +2 -1
  256. package/dist/cdn/translations/subscriptions-table/en.json +2 -1
  257. package/dist/cdn/translations/tax-card/en.json +1 -1
  258. package/dist/cdn/translations/tax-form/en.json +2 -1
  259. package/dist/cdn/translations/template-config-form/en.json +2 -1
  260. package/dist/cdn/translations/template-form/en.json +2 -1
  261. package/dist/cdn/translations/template-set-card/en.json +1 -1
  262. package/dist/cdn/translations/template-set-form/en.json +4 -2
  263. package/dist/cdn/translations/transaction/en.json +209 -88
  264. package/dist/cdn/translations/transaction-card/en.json +1 -1
  265. package/dist/cdn/translations/transactions-table/en.json +2 -1
  266. package/dist/cdn/translations/user-card/en.json +1 -1
  267. package/dist/cdn/translations/user-form/en.json +56 -21
  268. package/dist/cdn/translations/users-table/en.json +58 -22
  269. package/dist/cdn/translations/webhook-card/en.json +1 -1
  270. package/dist/cdn/translations/webhook-form/en.json +4 -3
  271. package/dist/cdn/translations/webhook-log-card/en.json +1 -1
  272. package/dist/cdn/translations/webhook-status-card/en.json +1 -1
  273. package/dist/elements/internal/InternalForm/InternalForm.js +10 -3
  274. package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
  275. package/dist/elements/internal/InternalSourceControl/InternalSourceControl.d.ts +1 -0
  276. package/dist/elements/internal/InternalSourceControl/InternalSourceControl.js +19 -4
  277. package/dist/elements/internal/InternalSourceControl/InternalSourceControl.js.map +1 -1
  278. package/dist/elements/public/AddressForm/AddressForm.d.ts +13 -24
  279. package/dist/elements/public/AddressForm/AddressForm.js +76 -275
  280. package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
  281. package/dist/elements/public/AddressForm/index.d.ts +3 -6
  282. package/dist/elements/public/AddressForm/index.js +3 -6
  283. package/dist/elements/public/AddressForm/index.js.map +1 -1
  284. package/dist/elements/public/AddressForm/types.d.ts +4 -15
  285. package/dist/elements/public/AddressForm/types.js.map +1 -1
  286. package/dist/elements/public/AttributeForm/AttributeForm.d.ts +15 -25
  287. package/dist/elements/public/AttributeForm/AttributeForm.js +35 -238
  288. package/dist/elements/public/AttributeForm/AttributeForm.js.map +1 -1
  289. package/dist/elements/public/AttributeForm/index.d.ts +3 -7
  290. package/dist/elements/public/AttributeForm/index.js +3 -7
  291. package/dist/elements/public/AttributeForm/index.js.map +1 -1
  292. package/dist/elements/public/AttributeForm/types.d.ts +4 -7
  293. package/dist/elements/public/AttributeForm/types.js.map +1 -1
  294. package/dist/elements/public/CouponCodeForm/CouponCodeForm.d.ts +19 -21
  295. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js +47 -178
  296. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js.map +1 -1
  297. package/dist/elements/public/CouponCodeForm/index.d.ts +5 -6
  298. package/dist/elements/public/CouponCodeForm/index.js +5 -6
  299. package/dist/elements/public/CouponCodeForm/index.js.map +1 -1
  300. package/dist/elements/public/CouponCodeForm/types.d.ts +11 -4
  301. package/dist/elements/public/CouponCodeForm/types.js.map +1 -1
  302. package/dist/elements/public/CouponForm/CouponForm.d.ts +2 -1
  303. package/dist/elements/public/CouponForm/CouponForm.js +4 -0
  304. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  305. package/dist/elements/public/CouponForm/types.d.ts +3 -0
  306. package/dist/elements/public/CouponForm/types.js.map +1 -1
  307. package/dist/elements/public/CustomFieldForm/CustomFieldForm.d.ts +27 -36
  308. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js +40 -221
  309. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js.map +1 -1
  310. package/dist/elements/public/CustomFieldForm/index.d.ts +3 -7
  311. package/dist/elements/public/CustomFieldForm/index.js +3 -7
  312. package/dist/elements/public/CustomFieldForm/index.js.map +1 -1
  313. package/dist/elements/public/CustomFieldForm/types.d.ts +4 -7
  314. package/dist/elements/public/CustomFieldForm/types.js.map +1 -1
  315. package/dist/elements/public/CustomerForm/CustomerForm.d.ts +0 -1
  316. package/dist/elements/public/CustomerForm/CustomerForm.js +5 -8
  317. package/dist/elements/public/CustomerForm/CustomerForm.js.map +1 -1
  318. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +12 -29
  319. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +27 -276
  320. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  321. package/dist/elements/public/GiftCardCodeForm/index.d.ts +5 -9
  322. package/dist/elements/public/GiftCardCodeForm/index.js +5 -9
  323. package/dist/elements/public/GiftCardCodeForm/index.js.map +1 -1
  324. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js +17 -6
  325. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js.map +1 -1
  326. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.d.ts +0 -1
  327. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js +0 -1
  328. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js.map +1 -1
  329. package/dist/elements/public/GiftCardCodeForm/types.d.ts +6 -4
  330. package/dist/elements/public/GiftCardCodeForm/types.js.map +1 -1
  331. package/dist/elements/public/SubscriptionForm/SubscriptionForm.d.ts +3 -0
  332. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +88 -78
  333. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
  334. package/dist/elements/public/SubscriptionForm/index.d.ts +0 -2
  335. package/dist/elements/public/SubscriptionForm/index.js +0 -8
  336. package/dist/elements/public/SubscriptionForm/index.js.map +1 -1
  337. package/dist/elements/public/UserForm/UserForm.d.ts +15 -12
  338. package/dist/elements/public/UserForm/UserForm.js +64 -172
  339. package/dist/elements/public/UserForm/UserForm.js.map +1 -1
  340. package/dist/elements/public/UserForm/index.d.ts +3 -5
  341. package/dist/elements/public/UserForm/index.js +3 -5
  342. package/dist/elements/public/UserForm/index.js.map +1 -1
  343. package/dist/elements/public/UserForm/types.d.ts +3 -1
  344. package/dist/elements/public/UserForm/types.js.map +1 -1
  345. package/dist/elements/public/UsersTable/UsersTable.js +1 -1
  346. package/dist/elements/public/UsersTable/UsersTable.js.map +1 -1
  347. package/dist/elements/public/UsersTable/roles.js.map +1 -0
  348. package/dist/mixins/themeable.js +38 -8
  349. package/dist/mixins/themeable.js.map +1 -1
  350. package/dist/mixins/translatable.d.ts +6 -0
  351. package/dist/mixins/translatable.js +26 -8
  352. package/dist/mixins/translatable.js.map +1 -1
  353. package/package.json +1 -1
  354. package/dist/cdn/shared-027a9660.js +0 -1
  355. package/dist/cdn/shared-0838fad0.js +0 -1
  356. package/dist/cdn/shared-132b2b71.js +0 -2
  357. package/dist/cdn/shared-1e3d7d40.js +0 -1
  358. package/dist/cdn/shared-6d34289d.js +0 -1
  359. package/dist/cdn/shared-9f039798.js +0 -1
  360. package/dist/cdn/shared-a26d7f7a.js +0 -25
  361. package/dist/cdn/shared-a502026c.js +0 -1
  362. package/dist/cdn/shared-c36477d7.js +0 -531
  363. package/dist/cdn/shared-e7dffedb.js +0 -1
  364. package/dist/cdn/shared-f2eb454c.js +0 -1
  365. package/dist/elements/public/UserForm/roles.js.map +0 -1
  366. /package/dist/elements/public/{UserForm → UsersTable}/roles.d.ts +0 -0
  367. /package/dist/elements/public/{UserForm → UsersTable}/roles.js +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "spinner": {
3
3
  "loading_busy": "Loading",
4
- "loading_error": "Failed to load",
4
+ "loading_error": "Unknown error",
5
5
  "loading_empty": "No data"
6
6
  }
7
7
  }
@@ -57,7 +57,7 @@
57
57
  "date": "{{value, date}}",
58
58
  "spinner": {
59
59
  "loading_busy": "Loading",
60
- "loading_error": "Failed to load",
60
+ "loading_error": "Unknown error",
61
61
  "loading_empty": "No data"
62
62
  }
63
63
  }
@@ -75,7 +75,7 @@
75
75
  "date": "{{value, date}}",
76
76
  "spinner": {
77
77
  "loading_busy": "Loading",
78
- "loading_error": "Failed to load",
78
+ "loading_error": "Unknown error",
79
79
  "loading_empty": "No data"
80
80
  }
81
81
  }
@@ -95,7 +95,8 @@
95
95
  "create": "Create"
96
96
  },
97
97
  "spinner": {
98
+ "refresh": "Refresh",
98
99
  "loading_busy": "Loading",
99
- "loading_error": "Failed to load"
100
+ "loading_error": "Unknown error"
100
101
  }
101
102
  }
@@ -2,7 +2,7 @@
2
2
  "date": "{{value, date}}",
3
3
  "spinner": {
4
4
  "loading_busy": "Loading",
5
- "loading_error": "Failed to load",
5
+ "loading_error": "Unknown error",
6
6
  "loading_empty": "No data"
7
7
  }
8
8
  }
@@ -5,7 +5,7 @@
5
5
  "date": "{{value, date}}",
6
6
  "spinner": {
7
7
  "loading_busy": "Loading",
8
- "loading_error": "Failed to load",
8
+ "loading_error": "Unknown error",
9
9
  "loading_empty": "No data"
10
10
  }
11
11
  }
@@ -46,7 +46,7 @@ export class InternalForm extends Base {
46
46
  <div aria-busy=${this.in('busy')} aria-live="polite" class="relative">
47
47
  <div
48
48
  class=${classMap({
49
- 'grid grid-cols-1 gap-m': true,
49
+ 'space-y-m': true,
50
50
  'transition-opacity': true,
51
51
  'opacity-0 pointer-events-none': isSpinnerVisible,
52
52
  })}
@@ -58,17 +58,24 @@ export class InternalForm extends Base {
58
58
  <div
59
59
  data-testid="spinner"
60
60
  class=${classMap({
61
- 'transition-opacity absolute inset-0 flex': true,
61
+ 'flex flex-col items-center justify-center gap-m': true,
62
+ 'transition-opacity absolute inset-0': true,
62
63
  'opacity-0 pointer-events-none': !isSpinnerVisible,
63
64
  })}
64
65
  >
65
66
  <foxy-spinner
66
67
  layout=${this.in('fail') ? 'vertical' : 'no-label'}
67
- class="m-auto"
68
68
  state=${this.in('fail') ? 'error' : 'busy'}
69
69
  infer="spinner"
70
70
  >
71
71
  </foxy-spinner>
72
+ ${this.href && this.in('fail')
73
+ ? html `
74
+ <vaadin-button theme="small contrast" @click=${() => this.refresh()}>
75
+ <foxy-i18n infer="spinner" key="refresh"></foxy-i18n>
76
+ </vaadin-button>
77
+ `
78
+ : ''}
72
79
  </div>
73
80
  </div>
74
81
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"InternalForm.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalForm/InternalForm.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,cAAc,EAAE,sDAAmD;AAC5E,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,IAAI,GAAG,iBAAiB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,OAAO,YAA4C,SAAQ,IAAW;IAA5E;;QAWE,yFAAyF;QACzF,WAAM,GAAkB,IAAI,CAAC;IA0F/B,CAAC;IAlGC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACzB,CAAC;IACJ,CAAC;IAKD;;;;OAIG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,IAAI;YACd,CAAC,CAAC,IAAI,CAAA;;;SAGH;YACH,CAAC,CAAC,IAAI,CAAA,8EAA8E,CAAC;IACzF,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5F,OAAO,IAAI,CAAA;uBACQ,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;;kBAEpB,QAAQ,CAAC;YACf,wBAAwB,EAAE,IAAI;YAC9B,oBAAoB,EAAE,IAAI;YAC1B,+BAA+B,EAAE,gBAAgB;SAClD,CAAC;;YAEA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE;;;;;kBAKlE,QAAQ,CAAC;YACf,0CAA0C,EAAE,IAAI;YAChD,+BAA+B,EAAE,CAAC,gBAAgB;SACnD,CAAC;;;qBAGS,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;;oBAE1C,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;;;;;;KAMjD,CAAC;IACJ,CAAC;IAED,IAAY,eAAe;QACzB,MAAM,MAAM,GAAI,IAAI,CAAC,WAAmC,CAAC,kBAAkB,CAAC;QAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC;IAEO,oBAAoB,CAAC,GAAW;QACtC,OAAO,IAAI,CAAA;;;;;cAKD,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;;;KAGlC,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,EAAE,GAAG,EAAE,OAAO,EAAU;QAC7C,OAAO,IAAI,CAAA;;;;;;uDAMwC,GAAG,aAAa,OAAO;;;;mBAI3D,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;;;;;KAKxC,CAAC;IACJ,CAAC;;AApGD,8EAA8E;AACvE,+BAAkB,GAAG,QAAQ,CAAC","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { HALJSONResource } from '../../public/NucleonElement/types';\nimport type { TemplateResult } from 'lit-html';\nimport type { Status } from './types';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { NucleonElement } from '../../public/NucleonElement/NucleonElement';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nconst Base = ConfigurableMixin(ThemeableMixin(NucleonElement));\n\n/**\n * An internal base class for any nucleon-powered form. Renders create/delete\n * buttons and timestamps by default, displays a spinner in non-idle states.\n *\n * @element foxy-internal-form\n * @since 1.17.0\n */\nexport class InternalForm<TData extends HALJSONResource> extends Base<TData> {\n /** Validation errors with this prefix will show up at the top of the form. */\n static generalErrorPrefix = 'error:';\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n status: { type: Object },\n };\n }\n\n /** Status message to render at the top of the form. If `null`, the message is hidden. */\n status: null | Status = null;\n\n /**\n * Renders form body. This is the method you should implement in your forms\n * instead of `.render()`. If you'd like to keep the submit button and the timestamps,\n * don't forget to add `super.renderBody()` to your template.\n */\n renderBody(): TemplateResult {\n return this.data\n ? html`\n <foxy-internal-timestamps-control infer=\"timestamps\"></foxy-internal-timestamps-control>\n <foxy-internal-delete-control infer=\"delete\"></foxy-internal-delete-control>\n `\n : html`<foxy-internal-create-control infer=\"create\"></foxy-internal-create-control>`;\n }\n\n /**\n * Renders the entire form. You should probably implement `.renderBody()`\n * instead of this method in your form to keep the spinner and the common layout features.\n */\n render(): TemplateResult {\n const isSpinnerVisible = !this.in('idle') && (!this.in({ busy: 'fetching' }) || !this.data);\n\n return html`\n <div aria-busy=${this.in('busy')} aria-live=\"polite\" class=\"relative\">\n <div\n class=${classMap({\n 'grid grid-cols-1 gap-m': true,\n 'transition-opacity': true,\n 'opacity-0 pointer-events-none': isSpinnerVisible,\n })}\n >\n ${this.__generalErrors.map(err => this.__renderGeneralError(err))}\n ${this.status ? this.__renderStatus(this.status) : ''} ${this.renderBody()}\n </div>\n\n <div\n data-testid=\"spinner\"\n class=${classMap({\n 'transition-opacity absolute inset-0 flex': true,\n 'opacity-0 pointer-events-none': !isSpinnerVisible,\n })}\n >\n <foxy-spinner\n layout=${this.in('fail') ? 'vertical' : 'no-label'}\n class=\"m-auto\"\n state=${this.in('fail') ? 'error' : 'busy'}\n infer=\"spinner\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n\n private get __generalErrors() {\n const prefix = (this.constructor as typeof InternalForm).generalErrorPrefix;\n return this.errors.filter(v => v.startsWith(prefix));\n }\n\n private __renderGeneralError(err: string) {\n return html`\n <foxy-i18n\n class=\"leading-xs text-body rounded bg-error-10 block\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n infer=\"error\"\n key=${err.replace('error:', '')}\n >\n </foxy-i18n>\n `;\n }\n\n private __renderStatus({ key, options }: Status) {\n return html`\n <p\n data-testid=\"status\"\n class=\"leading-xs text-body rounded bg-success-10 flex items-start gap-m\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n <foxy-i18n class=\"flex-1\" infer=\"status\" key=${key} .options=${options}></foxy-i18n>\n <vaadin-button\n class=\"flex-shrink-0\"\n theme=\"success tertiary-inline\"\n @click=${() => (this.status = null)}\n >\n <foxy-i18n class=\"flex-1\" infer=\"status\" key=\"close\"></foxy-i18n>\n </vaadin-button>\n </p>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalForm.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalForm/InternalForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { HALJSONResource } from '../../public/NucleonElement/types';\nimport type { TemplateResult } from 'lit-html';\nimport type { Status } from './types';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { NucleonElement } from '../../public/NucleonElement/NucleonElement';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nconst Base = ConfigurableMixin(ThemeableMixin(NucleonElement));\n\n/**\n * An internal base class for any nucleon-powered form. Renders create/delete\n * buttons and timestamps by default, displays a spinner in non-idle states.\n *\n * @element foxy-internal-form\n * @since 1.17.0\n */\nexport class InternalForm<TData extends HALJSONResource> extends Base<TData> {\n /** Validation errors with this prefix will show up at the top of the form. */\n static generalErrorPrefix = 'error:';\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n status: { type: Object },\n };\n }\n\n /** Status message to render at the top of the form. If `null`, the message is hidden. */\n status: null | Status = null;\n\n /**\n * Renders form body. This is the method you should implement in your forms\n * instead of `.render()`. If you'd like to keep the submit button and the timestamps,\n * don't forget to add `super.renderBody()` to your template.\n */\n renderBody(): TemplateResult {\n return this.data\n ? html`\n <foxy-internal-timestamps-control infer=\"timestamps\"></foxy-internal-timestamps-control>\n <foxy-internal-delete-control infer=\"delete\"></foxy-internal-delete-control>\n `\n : html`<foxy-internal-create-control infer=\"create\"></foxy-internal-create-control>`;\n }\n\n /**\n * Renders the entire form. You should probably implement `.renderBody()`\n * instead of this method in your form to keep the spinner and the common layout features.\n */\n render(): TemplateResult {\n const isSpinnerVisible = !this.in('idle') && (!this.in({ busy: 'fetching' }) || !this.data);\n\n return html`\n <div aria-busy=${this.in('busy')} aria-live=\"polite\" class=\"relative\">\n <div\n class=${classMap({\n 'space-y-m': true,\n 'transition-opacity': true,\n 'opacity-0 pointer-events-none': isSpinnerVisible,\n })}\n >\n ${this.__generalErrors.map(err => this.__renderGeneralError(err))}\n ${this.status ? this.__renderStatus(this.status) : ''} ${this.renderBody()}\n </div>\n\n <div\n data-testid=\"spinner\"\n class=${classMap({\n 'flex flex-col items-center justify-center gap-m': true,\n 'transition-opacity absolute inset-0': true,\n 'opacity-0 pointer-events-none': !isSpinnerVisible,\n })}\n >\n <foxy-spinner\n layout=${this.in('fail') ? 'vertical' : 'no-label'}\n state=${this.in('fail') ? 'error' : 'busy'}\n infer=\"spinner\"\n >\n </foxy-spinner>\n ${this.href && this.in('fail')\n ? html`\n <vaadin-button theme=\"small contrast\" @click=${() => this.refresh()}>\n <foxy-i18n infer=\"spinner\" key=\"refresh\"></foxy-i18n>\n </vaadin-button>\n `\n : ''}\n </div>\n </div>\n `;\n }\n\n private get __generalErrors() {\n const prefix = (this.constructor as typeof InternalForm).generalErrorPrefix;\n return this.errors.filter(v => v.startsWith(prefix));\n }\n\n private __renderGeneralError(err: string) {\n return html`\n <foxy-i18n\n class=\"leading-xs text-body rounded bg-error-10 block\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n infer=\"error\"\n key=${err.replace('error:', '')}\n >\n </foxy-i18n>\n `;\n }\n\n private __renderStatus({ key, options }: Status) {\n return html`\n <p\n data-testid=\"status\"\n class=\"leading-xs text-body rounded bg-success-10 flex items-start gap-m\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n <foxy-i18n class=\"flex-1\" infer=\"status\" key=${key} .options=${options}></foxy-i18n>\n <vaadin-button\n class=\"flex-shrink-0\"\n theme=\"success tertiary-inline\"\n @click=${() => (this.status = null)}\n >\n <foxy-i18n class=\"flex-1\" infer=\"status\" key=\"close\"></foxy-i18n>\n </vaadin-button>\n </p>\n `;\n }\n}\n"]}
@@ -9,6 +9,7 @@ import { InternalEditableControl } from '../InternalEditableControl/InternalEdit
9
9
  export declare class InternalSourceControl extends InternalEditableControl {
10
10
  static get properties(): PropertyDeclarations;
11
11
  static get styles(): CSSResultArray;
12
+ private __isErrorVisible;
12
13
  private __hovered;
13
14
  private __focused;
14
15
  renderControl(): TemplateResult;
@@ -10,12 +10,14 @@ import { repeat } from 'lit-html/directives/repeat';
10
10
  export class InternalSourceControl extends InternalEditableControl {
11
11
  constructor() {
12
12
  super(...arguments);
13
+ this.__isErrorVisible = false;
13
14
  this.__hovered = false;
14
15
  this.__focused = false;
15
16
  }
16
17
  static get properties() {
17
18
  return {
18
19
  ...super.properties,
20
+ __isErrorVisible: { attribute: false },
19
21
  __hovered: { attribute: false },
20
22
  __focused: { attribute: false },
21
23
  };
@@ -110,20 +112,25 @@ textarea::selection{
110
112
  part="editor"
111
113
  >
112
114
  <div
113
- class="h-full transition-colors monospace leading-s text-s p-m text-right border-r ${lineNumbersClass}"
115
+ class="h-full transition-colors monospace leading-s text-s text-right border-r ${lineNumbersClass}"
116
+ style="padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)"
114
117
  >
115
- ${repeat((_a = this._value.split('\n')) !== null && _a !== void 0 ? _a : [], (_, i) => String(i), (_, i) => html `<div>${i + 1}</div>`)}
118
+ ${repeat((_a = this._value.split('\n')) !== null && _a !== void 0 ? _a : [], (_, i) => String(i), (_, i) => html `<div>${i < 9 ? html `<span class="opacity-0">0</span>` : ''}${i < 99 ? html `<span class="opacity-0">0</span>` : ''}<span>${i + 1}<span></div>`)}
116
119
  </div>
117
120
 
118
121
  <textarea
119
122
  placeholder=${this.placeholder}
120
- class="bg-base whitespace-pre leading-s text-s focus-outline-none monospace resize-none p-m block w-full select-text transition-colors ${textAreaClass}"
123
+ class="bg-base whitespace-pre leading-s text-s focus-outline-none monospace resize-none block w-full select-text transition-colors ${textAreaClass}"
124
+ style="padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)"
121
125
  rows="1"
122
126
  .value=${this._value}
123
127
  ?disabled=${this.disabled}
124
128
  ?readonly=${this.readonly}
125
129
  @focus=${() => (this.__focused = true)}
126
- @blur=${() => (this.__focused = false)}
130
+ @blur=${() => {
131
+ this.__focused = false;
132
+ this.__isErrorVisible = true;
133
+ }}
127
134
  @input=${(evt) => {
128
135
  const textarea = evt.currentTarget;
129
136
  this._value = textarea.value;
@@ -135,9 +142,17 @@ textarea::selection{
135
142
  <div
136
143
  class="mt-xs transition-colors leading-xs text-xs ${helperTextClass}"
137
144
  part="helper-text"
145
+ ?hidden=${!this.helperText}
138
146
  >
139
147
  ${this.helperText}
140
148
  </div>
149
+
150
+ <div
151
+ class="mt-xs text-xs leading-xs text-error"
152
+ ?hidden=${!this.__isErrorVisible || !this._errorMessage || this.disabled || this.readonly}
153
+ >
154
+ ${this._errorMessage}
155
+ </div>
141
156
  </label>
142
157
  `;
143
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InternalSourceControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalSourceControl/InternalSourceControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CSSResultArray, PropertyDeclarations, TemplateResult } from 'lit-element';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { html, css } from 'lit-element';\nimport { repeat } from 'lit-html/directives/repeat';\n\n/**\n * Internal control displaying editable source code.\n *\n * @since 1.23.0\n * @element foxy-internal-source-control\n */\nexport class InternalSourceControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __hovered: { attribute: false },\n __focused: { attribute: false },\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 .max-h-16em {\n max-height: 16em;\n }\n\n textarea::selection {\n background: var(--lumo-contrast-10pct);\n }\n `,\n ];\n }\n\n private __hovered = false;\n\n private __focused = false;\n\n renderControl(): TemplateResult {\n let lineNumbersClass: string;\n let helperTextClass: string;\n let containerClass: string;\n let textAreaClass: string;\n let labelClass: string;\n\n if (this.disabled) {\n lineNumbersClass = 'bg-contrast-5 text-disabled';\n helperTextClass = 'text-disabled';\n textAreaClass = 'text-disabled';\n labelClass = 'text-disabled';\n\n if (this.readonly) {\n lineNumbersClass += ' border-dashed border-contrast-20';\n containerClass = 'border-dashed border-contrast-30';\n } else {\n lineNumbersClass += ' border-transparent';\n containerClass = 'border-contrast-10';\n }\n } else if (this.readonly) {\n lineNumbersClass = 'border-dashed border-contrast-30 bg-transparent text-secondary';\n helperTextClass = 'text-secondary';\n containerClass = 'border-dashed border-contrast-30';\n textAreaClass = 'text-secondary';\n labelClass = 'text-secondary';\n if (this.__focused) containerClass += ' ring-2 ring-primary-50';\n } else if (this.__focused) {\n lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';\n helperTextClass = 'text-secondary';\n containerClass = 'border-primary-50 ring-1 ring-primary-50';\n textAreaClass = 'text-body';\n labelClass = 'text-primary';\n } else if (this.__hovered) {\n lineNumbersClass = 'border-transparent bg-contrast-20 text-tertiary';\n helperTextClass = 'text-body';\n containerClass = 'border-contrast-20';\n textAreaClass = 'text-body';\n labelClass = 'text-body';\n } else {\n lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';\n helperTextClass = 'text-secondary';\n containerClass = 'border-contrast-10';\n textAreaClass = 'text-body';\n labelClass = 'text-secondary';\n }\n\n return html`\n <label\n class=\"block h-full\"\n @mouseenter=${() => (this.__hovered = true)}\n @mouseleave=${() => (this.__hovered = false)}\n >\n <div\n class=\"mb-xs transition-colors leading-none text-s font-medium ${labelClass}\"\n part=\"label\"\n >\n ${this.label}\n </div>\n\n <div\n class=\"max-h-16em h-full transition-colors flex-1 flex bg-base rounded overflow-auto border ${containerClass}\"\n part=\"editor\"\n >\n <div\n class=\"h-full transition-colors monospace leading-s text-s p-m text-right border-r ${lineNumbersClass}\"\n >\n ${repeat(\n this._value.split('\\n') ?? [],\n (_, i) => String(i),\n (_, i) => html`<div>${i + 1}</div>`\n )}\n </div>\n\n <textarea\n placeholder=${this.placeholder}\n class=\"bg-base whitespace-pre leading-s text-s focus-outline-none monospace resize-none p-m block w-full select-text transition-colors ${textAreaClass}\"\n rows=\"1\"\n .value=${this._value}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @focus=${() => (this.__focused = true)}\n @blur=${() => (this.__focused = false)}\n @input=${(evt: InputEvent) => {\n const textarea = evt.currentTarget as HTMLTextAreaElement;\n this._value = textarea.value;\n }}\n >\n </textarea>\n </div>\n\n <div\n class=\"mt-xs transition-colors leading-xs text-xs ${helperTextClass}\"\n part=\"helper-text\"\n >\n ${this.helperText}\n </div>\n </label>\n `;\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n this.renderRoot.querySelectorAll('textarea').forEach(textarea => {\n textarea.style.height = 'auto';\n textarea.style.height = `${textarea.scrollHeight}px`;\n textarea.style.overflowY = 'hidden';\n });\n }\n\n protected get _value(): string {\n return (super._value as string | undefined) ?? '';\n }\n\n protected set _value(newValue: string) {\n super._value = newValue as unknown | undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalSourceControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalSourceControl/InternalSourceControl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,uBAAuB;IAAlE;;QAiCU,qBAAgB,GAAG,KAAK,CAAC;QAEzB,cAAS,GAAG,KAAK,CAAC;QAElB,cAAS,GAAG,KAAK,CAAC;IAuI5B,CAAC;IA3KC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,gBAAgB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;YACtC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;YAC/B,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAChC,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO;YACL,GAAG,KAAK,CAAC,MAAM;YACf,GAAG;;;;;;;;;;;;;;;OAgBF;SACF,CAAC;IACJ,CAAC;IAQD,aAAa;;QACX,IAAI,gBAAwB,CAAC;QAC7B,IAAI,eAAuB,CAAC;QAC5B,IAAI,cAAsB,CAAC;QAC3B,IAAI,aAAqB,CAAC;QAC1B,IAAI,UAAkB,CAAC;QAEvB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,gBAAgB,GAAG,6BAA6B,CAAC;YACjD,eAAe,GAAG,eAAe,CAAC;YAClC,aAAa,GAAG,eAAe,CAAC;YAChC,UAAU,GAAG,eAAe,CAAC;YAE7B,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,gBAAgB,IAAI,mCAAmC,CAAC;gBACxD,cAAc,GAAG,kCAAkC,CAAC;aACrD;iBAAM;gBACL,gBAAgB,IAAI,qBAAqB,CAAC;gBAC1C,cAAc,GAAG,oBAAoB,CAAC;aACvC;SACF;aAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YACxB,gBAAgB,GAAG,gEAAgE,CAAC;YACpF,eAAe,GAAG,gBAAgB,CAAC;YACnC,cAAc,GAAG,kCAAkC,CAAC;YACpD,aAAa,GAAG,gBAAgB,CAAC;YACjC,UAAU,GAAG,gBAAgB,CAAC;YAC9B,IAAI,IAAI,CAAC,SAAS;gBAAE,cAAc,IAAI,yBAAyB,CAAC;SACjE;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE;YACzB,gBAAgB,GAAG,iDAAiD,CAAC;YACrE,eAAe,GAAG,gBAAgB,CAAC;YACnC,cAAc,GAAG,0CAA0C,CAAC;YAC5D,aAAa,GAAG,WAAW,CAAC;YAC5B,UAAU,GAAG,cAAc,CAAC;SAC7B;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE;YACzB,gBAAgB,GAAG,iDAAiD,CAAC;YACrE,eAAe,GAAG,WAAW,CAAC;YAC9B,cAAc,GAAG,oBAAoB,CAAC;YACtC,aAAa,GAAG,WAAW,CAAC;YAC5B,UAAU,GAAG,WAAW,CAAC;SAC1B;aAAM;YACL,gBAAgB,GAAG,iDAAiD,CAAC;YACrE,eAAe,GAAG,gBAAgB,CAAC;YACnC,cAAc,GAAG,oBAAoB,CAAC;YACtC,aAAa,GAAG,WAAW,CAAC;YAC5B,UAAU,GAAG,gBAAgB,CAAC;SAC/B;QAED,OAAO,IAAI,CAAA;;;sBAGO,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;sBAC7B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;;;2EAGuB,UAAU;;;YAGzE,IAAI,CAAC,KAAK;;;;wGAIkF,cAAc;;;;6FAIzB,gBAAgB;;;cAG/F,MAAM,OACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,EAAE,EAC7B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EACnB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,CAAA,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,kCAAkC,CAAC,CAAC,CAAC,EAAE,GAC7D,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA,kCAAkC,CAAC,CAAC,CAAC,EACpD,SAAS,CAAC,GAAG,CAAC,cAAc,CAC/B;;;;0BAIa,IAAI,CAAC,WAAW;iJACuG,aAAa;;;qBAGzI,IAAI,CAAC,MAAM;wBACR,IAAI,CAAC,QAAQ;wBACb,IAAI,CAAC,QAAQ;qBAChB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBAC9B,GAAG,EAAE;YACX,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;qBACQ,CAAC,GAAe,EAAE,EAAE;YAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAoC,CAAC;YAC1D,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC/B,CAAC;;;;;;8DAMiD,eAAe;;oBAEzD,CAAC,IAAI,CAAC,UAAU;;YAExB,IAAI,CAAC,UAAU;;;;;oBAKP,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;;YAEvF,IAAI,CAAC,aAAa;;;KAGzB,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,OAAiC;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC9D,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAC/B,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,IAAI,CAAC;YACrD,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAc,MAAM;;QAClB,aAAQ,KAAK,CAAC,MAA6B,mCAAI,EAAE,CAAC;IACpD,CAAC;IAED,IAAc,MAAM,CAAC,QAAgB;QACnC,KAAK,CAAC,MAAM,GAAG,QAA+B,CAAC;IACjD,CAAC;CACF","sourcesContent":["import type { CSSResultArray, PropertyDeclarations, TemplateResult } from 'lit-element';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { html, css } from 'lit-element';\nimport { repeat } from 'lit-html/directives/repeat';\n\n/**\n * Internal control displaying editable source code.\n *\n * @since 1.23.0\n * @element foxy-internal-source-control\n */\nexport class InternalSourceControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __isErrorVisible: { attribute: false },\n __hovered: { attribute: false },\n __focused: { attribute: false },\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 .max-h-16em {\n max-height: 16em;\n }\n\n textarea::selection {\n background: var(--lumo-contrast-10pct);\n }\n `,\n ];\n }\n\n private __isErrorVisible = false;\n\n private __hovered = false;\n\n private __focused = false;\n\n renderControl(): TemplateResult {\n let lineNumbersClass: string;\n let helperTextClass: string;\n let containerClass: string;\n let textAreaClass: string;\n let labelClass: string;\n\n if (this.disabled) {\n lineNumbersClass = 'bg-contrast-5 text-disabled';\n helperTextClass = 'text-disabled';\n textAreaClass = 'text-disabled';\n labelClass = 'text-disabled';\n\n if (this.readonly) {\n lineNumbersClass += ' border-dashed border-contrast-20';\n containerClass = 'border-dashed border-contrast-30';\n } else {\n lineNumbersClass += ' border-transparent';\n containerClass = 'border-contrast-10';\n }\n } else if (this.readonly) {\n lineNumbersClass = 'border-dashed border-contrast-30 bg-transparent text-secondary';\n helperTextClass = 'text-secondary';\n containerClass = 'border-dashed border-contrast-30';\n textAreaClass = 'text-secondary';\n labelClass = 'text-secondary';\n if (this.__focused) containerClass += ' ring-2 ring-primary-50';\n } else if (this.__focused) {\n lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';\n helperTextClass = 'text-secondary';\n containerClass = 'border-primary-50 ring-1 ring-primary-50';\n textAreaClass = 'text-body';\n labelClass = 'text-primary';\n } else if (this.__hovered) {\n lineNumbersClass = 'border-transparent bg-contrast-20 text-tertiary';\n helperTextClass = 'text-body';\n containerClass = 'border-contrast-20';\n textAreaClass = 'text-body';\n labelClass = 'text-body';\n } else {\n lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';\n helperTextClass = 'text-secondary';\n containerClass = 'border-contrast-10';\n textAreaClass = 'text-body';\n labelClass = 'text-secondary';\n }\n\n return html`\n <label\n class=\"block h-full\"\n @mouseenter=${() => (this.__hovered = true)}\n @mouseleave=${() => (this.__hovered = false)}\n >\n <div\n class=\"mb-xs transition-colors leading-none text-s font-medium ${labelClass}\"\n part=\"label\"\n >\n ${this.label}\n </div>\n\n <div\n class=\"max-h-16em h-full transition-colors flex-1 flex bg-base rounded overflow-auto border ${containerClass}\"\n part=\"editor\"\n >\n <div\n class=\"h-full transition-colors monospace leading-s text-s text-right border-r ${lineNumbersClass}\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n ${repeat(\n this._value.split('\\n') ?? [],\n (_, i) => String(i),\n (_, i) =>\n html`<div>${i < 9 ? html`<span class=\"opacity-0\">0</span>` : ''}${\n i < 99 ? html`<span class=\"opacity-0\">0</span>` : ''\n }<span>${i + 1}<span></div>`\n )}\n </div>\n\n <textarea\n placeholder=${this.placeholder}\n class=\"bg-base whitespace-pre leading-s text-s focus-outline-none monospace resize-none block w-full select-text transition-colors ${textAreaClass}\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n rows=\"1\"\n .value=${this._value}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @focus=${() => (this.__focused = true)}\n @blur=${() => {\n this.__focused = false;\n this.__isErrorVisible = true;\n }}\n @input=${(evt: InputEvent) => {\n const textarea = evt.currentTarget as HTMLTextAreaElement;\n this._value = textarea.value;\n }}\n >\n </textarea>\n </div>\n\n <div\n class=\"mt-xs transition-colors leading-xs text-xs ${helperTextClass}\"\n part=\"helper-text\"\n ?hidden=${!this.helperText}\n >\n ${this.helperText}\n </div>\n\n <div\n class=\"mt-xs text-xs leading-xs text-error\"\n ?hidden=${!this.__isErrorVisible || !this._errorMessage || this.disabled || this.readonly}\n >\n ${this._errorMessage}\n </div>\n </label>\n `;\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n this.renderRoot.querySelectorAll('textarea').forEach(textarea => {\n textarea.style.height = 'auto';\n textarea.style.height = `${textarea.scrollHeight}px`;\n textarea.style.overflowY = 'hidden';\n });\n }\n\n protected get _value(): string {\n return (super._value as string | undefined) ?? '';\n }\n\n protected set _value(newValue: string) {\n super._value = newValue as unknown | undefined;\n }\n}\n"]}
@@ -1,13 +1,11 @@
1
- import { Data, Templates } from './types';
2
- import { ScopedElementsMap } from '@open-wc/scoped-elements';
3
- import { TemplateResult } from 'lit-html';
4
- import { NucleonElement } from '../NucleonElement/NucleonElement';
5
- import { NucleonV8N } from '../NucleonElement/types';
6
- declare const Base: typeof NucleonElement & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
1
+ import type { Data, Templates } from './types';
2
+ import type { TemplateResult } from 'lit-html';
3
+ import type { NucleonV8N } from '../NucleonElement/types';
4
+ import { BooleanSelector } from '@foxy.io/sdk/core';
5
+ import { InternalForm } from '../../internal/InternalForm/InternalForm';
6
+ declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
7
7
  defaultNS: string;
8
- } & {
9
- styles: import("lit-element").CSSResultArray;
10
- } & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost> & import("@open-wc/dedupe-mixin").Constructor<import("@open-wc/scoped-elements/src/types").ScopedElementsHost>;
8
+ };
11
9
  /**
12
10
  * Basic form displaying customer address.
13
11
  *
@@ -57,22 +55,13 @@ declare const Base: typeof NucleonElement & import("lit-element").Constructor<im
57
55
  * @since 1.2.0
58
56
  */
59
57
  export declare class AddressForm extends Base<Data> {
60
- static get scopedElements(): ScopedElementsMap;
61
58
  static get v8n(): NucleonV8N<Data>;
62
59
  templates: Templates;
63
- private readonly __getValidator;
64
- private readonly __bindField;
65
- private readonly __maybeRenderCountry;
66
- private readonly __maybeRenderRegion;
67
- private readonly __maybeRenderTextField;
68
- private readonly __renderTimestamps;
69
- private readonly __renderAction;
70
- connectedCallback(): void;
71
- render(): TemplateResult;
72
- disconnectedCallback(): void;
73
- private __handleKeyDown;
74
- private __getErrorMessage;
75
- private __handleActionClick;
76
- private __handleConfirmHide;
60
+ private __countrySetValue;
61
+ get readonlySelector(): BooleanSelector;
62
+ get disabledSelector(): BooleanSelector;
63
+ renderBody(): TemplateResult;
64
+ private get __countryOptions();
65
+ private get __regionOptions();
77
66
  }
78
67
  export {};