@foxy.io/elements 1.13.0 → 1.14.0-beta.12

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 (180) hide show
  1. package/README.md +1 -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-applied-tax-card.js +1 -1
  6. package/dist/cdn/foxy-attribute-card.js +1 -1
  7. package/dist/cdn/foxy-attribute-form.js +1 -1
  8. package/dist/cdn/foxy-cancellation-form.js +1 -1
  9. package/dist/cdn/foxy-collection-page.js +1 -1
  10. package/dist/cdn/foxy-collection-pages.js +1 -1
  11. package/dist/cdn/foxy-custom-field-card.js +1 -1
  12. package/dist/cdn/foxy-custom-field-form.js +1 -1
  13. package/dist/cdn/foxy-customer-api.js +1 -1
  14. package/dist/cdn/foxy-customer-card.js +1 -1
  15. package/dist/cdn/foxy-customer-form.js +1 -1
  16. package/dist/cdn/foxy-customer-portal-settings.js +18 -18
  17. package/dist/cdn/foxy-customer-portal.js +18 -15
  18. package/dist/cdn/foxy-customer.js +4 -4
  19. package/dist/cdn/foxy-customers-table.js +1 -1
  20. package/dist/cdn/foxy-discount-card.js +1 -1
  21. package/dist/cdn/foxy-donation.js +1 -1
  22. package/dist/cdn/foxy-email-template-form.js +1 -0
  23. package/dist/cdn/foxy-error-entry-card.js +1 -1
  24. package/dist/cdn/foxy-form-dialog.js +1 -1
  25. package/dist/cdn/foxy-i18n.js +1 -1
  26. package/dist/cdn/foxy-items-form.js +1 -1
  27. package/dist/cdn/foxy-nucleon-element.js +1 -1
  28. package/dist/cdn/foxy-payment-card.js +1 -1
  29. package/dist/cdn/foxy-payment-method-card.js +1 -1
  30. package/dist/cdn/foxy-query-builder.js +1 -1
  31. package/dist/cdn/foxy-sign-in-form.js +1 -1
  32. package/dist/cdn/foxy-spinner.js +2 -2
  33. package/dist/cdn/foxy-subscription-card.js +1 -1
  34. package/dist/cdn/foxy-subscription-form.js +26 -9
  35. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  36. package/dist/cdn/foxy-table.js +1 -1
  37. package/dist/cdn/foxy-tax-card.js +1 -1
  38. package/dist/cdn/foxy-tax-form.js +1 -1
  39. package/dist/cdn/foxy-template-config-form.js +1 -0
  40. package/dist/cdn/foxy-template-form.js +1 -0
  41. package/dist/cdn/foxy-transaction-card.js +1 -1
  42. package/dist/cdn/foxy-transactions-table.js +1 -1
  43. package/dist/cdn/foxy-user-form.js +1 -1
  44. package/dist/cdn/foxy-users-table.js +1 -1
  45. package/dist/cdn/{shared-d4dad105.js → shared-00563cb0.js} +1 -1
  46. package/dist/cdn/shared-07134f93.js +14 -0
  47. package/dist/cdn/{shared-b0b1d248.js → shared-07abcd7b.js} +1 -1
  48. package/dist/cdn/shared-0ced76a0.js +358 -0
  49. package/dist/cdn/{shared-f4119f12.js → shared-16f72e27.js} +1 -1
  50. package/dist/cdn/shared-1761daef.js +15 -0
  51. package/dist/cdn/{shared-5fedf5e4.js → shared-200f613b.js} +2 -2
  52. package/dist/cdn/{shared-4059f633.js → shared-218ba06e.js} +1 -1
  53. package/dist/cdn/{shared-f2cf6cfb.js → shared-322e60b1.js} +1 -1
  54. package/dist/cdn/{shared-e9920617.js → shared-34b2c1e2.js} +1 -1
  55. package/dist/cdn/shared-35dbd2c5.js +1 -0
  56. package/dist/cdn/{shared-cf248335.js → shared-44cfc617.js} +1 -1
  57. package/dist/cdn/{shared-45d647e4.js → shared-46ee137f.js} +1 -1
  58. package/dist/cdn/{shared-f0199313.js → shared-593f7e2c.js} +1 -1
  59. package/dist/cdn/shared-59e44f29.js +1 -0
  60. package/dist/cdn/{shared-f47647ac.js → shared-5c8b531d.js} +1 -1
  61. package/dist/cdn/{shared-91a9e922.js → shared-5f54e916.js} +4 -4
  62. package/dist/cdn/{shared-cd700eac.js → shared-60126eee.js} +1 -1
  63. package/dist/cdn/{shared-17968c53.js → shared-63eaded9.js} +3 -3
  64. package/dist/cdn/shared-6b7602c7.js +1 -0
  65. package/dist/cdn/{shared-98ee7fad.js → shared-6d45a07b.js} +1 -1
  66. package/dist/cdn/{shared-145cc9eb.js → shared-7a42073a.js} +5 -5
  67. package/dist/cdn/{shared-b77179fd.js → shared-8a7bee0d.js} +1 -1
  68. package/dist/cdn/{shared-a99dea97.js → shared-91e768be.js} +1 -1
  69. package/dist/cdn/{shared-84fa75d9.js → shared-9221e6b2.js} +1 -1
  70. package/dist/cdn/{shared-2860a3d3.js → shared-94b0ae99.js} +2 -2
  71. package/dist/cdn/shared-9a40309d.js +1 -0
  72. package/dist/cdn/shared-a46edf4b.js +1 -0
  73. package/dist/cdn/{shared-54702b33.js → shared-b0f0e8b5.js} +1 -1
  74. package/dist/cdn/shared-b5147166.js +314 -0
  75. package/dist/cdn/{shared-ed4ed7a5.js → shared-b710881a.js} +2 -2
  76. package/dist/cdn/{shared-3ae39e52.js → shared-bb824ab4.js} +3 -3
  77. package/dist/cdn/{shared-67157a25.js → shared-bc2bfe52.js} +1 -1
  78. package/dist/cdn/{shared-d9159fe1.js → shared-ce1da35d.js} +1 -1
  79. package/dist/cdn/shared-d01d809a.js +1 -0
  80. package/dist/cdn/shared-d8ffb279.js +264 -0
  81. package/dist/cdn/shared-df573cea.js +12 -0
  82. package/dist/cdn/{shared-036a8b21.js → shared-e5cbf291.js} +1 -1
  83. package/dist/cdn/{shared-e5de8675.js → shared-e7f8ffe9.js} +1 -1
  84. package/dist/cdn/{shared-54c485d2.js → shared-ec861f31.js} +21 -21
  85. package/dist/cdn/{shared-e0248713.js → shared-f0a83bd6.js} +1 -1
  86. package/dist/cdn/shared-f1dc1c6c.js +1 -0
  87. package/dist/cdn/{shared-747b0842.js → shared-ff79f3f9.js} +1 -1
  88. package/dist/cdn/translations/shared/de.json +94 -0
  89. package/dist/cdn/translations/shared/en.json +93 -0
  90. package/dist/cdn/translations/shared/es.json +93 -0
  91. package/dist/elements/private/Checkbox/Checkbox.d.ts +3 -1
  92. package/dist/elements/private/Checkbox/Checkbox.js +45 -12
  93. package/dist/elements/private/Checkbox/Checkbox.js.map +1 -1
  94. package/dist/elements/private/Choice/Choice.js +9 -9
  95. package/dist/elements/private/Choice/Choice.js.map +1 -1
  96. package/dist/elements/private/Group/Group.js +1 -1
  97. package/dist/elements/private/Group/Group.js.map +1 -1
  98. package/dist/elements/private/I18N/I18N.js +1 -1
  99. package/dist/elements/private/I18N/I18N.js.map +1 -1
  100. package/dist/elements/public/AddressForm/AddressForm.js +8 -4
  101. package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
  102. package/dist/elements/public/AttributeForm/AttributeForm.js +8 -4
  103. package/dist/elements/public/AttributeForm/AttributeForm.js.map +1 -1
  104. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js +8 -4
  105. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js.map +1 -1
  106. package/dist/elements/public/CustomerForm/CustomerForm.js +8 -4
  107. package/dist/elements/public/CustomerForm/CustomerForm.js.map +1 -1
  108. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLink.d.ts +1 -0
  109. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLink.js +17 -8
  110. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLink.js.map +1 -1
  111. package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js +11 -3
  112. package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js.map +1 -1
  113. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +46 -0
  114. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +350 -0
  115. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -0
  116. package/dist/elements/public/EmailTemplateForm/index.d.ts +9 -0
  117. package/dist/elements/public/EmailTemplateForm/index.js +11 -0
  118. package/dist/elements/public/EmailTemplateForm/index.js.map +1 -0
  119. package/dist/elements/public/EmailTemplateForm/types.d.ts +17 -0
  120. package/dist/elements/public/EmailTemplateForm/types.js +2 -0
  121. package/dist/elements/public/EmailTemplateForm/types.js.map +1 -0
  122. package/dist/elements/public/ItemsForm/ItemsForm.js +2 -2
  123. package/dist/elements/public/ItemsForm/ItemsForm.js.map +1 -1
  124. package/dist/elements/public/ItemsForm/private/Picture.d.ts +1 -0
  125. package/dist/elements/public/ItemsForm/private/Picture.js +2 -0
  126. package/dist/elements/public/ItemsForm/private/Picture.js.map +1 -1
  127. package/dist/elements/public/NucleonElement/serveFromCache.js +1 -0
  128. package/dist/elements/public/NucleonElement/serveFromCache.js.map +1 -1
  129. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +12 -4
  130. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
  131. package/dist/elements/public/TaxForm/TaxForm.js +8 -4
  132. package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
  133. package/dist/elements/public/TemplateConfigForm/CountriesList.d.ts +21 -0
  134. package/dist/elements/public/TemplateConfigForm/CountriesList.js +137 -0
  135. package/dist/elements/public/TemplateConfigForm/CountriesList.js.map +1 -0
  136. package/dist/elements/public/TemplateConfigForm/CountryCard.d.ts +20 -0
  137. package/dist/elements/public/TemplateConfigForm/CountryCard.js +160 -0
  138. package/dist/elements/public/TemplateConfigForm/CountryCard.js.map +1 -0
  139. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.d.ts +88 -0
  140. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +1333 -0
  141. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -0
  142. package/dist/elements/public/TemplateConfigForm/defaults.d.ts +2 -0
  143. package/dist/elements/public/TemplateConfigForm/defaults.js +95 -0
  144. package/dist/elements/public/TemplateConfigForm/defaults.js.map +1 -0
  145. package/dist/elements/public/TemplateConfigForm/index.d.ts +9 -0
  146. package/dist/elements/public/TemplateConfigForm/index.js +11 -0
  147. package/dist/elements/public/TemplateConfigForm/index.js.map +1 -0
  148. package/dist/elements/public/TemplateConfigForm/types.d.ts +150 -0
  149. package/dist/elements/public/TemplateConfigForm/types.js +2 -0
  150. package/dist/elements/public/TemplateConfigForm/types.js.map +1 -0
  151. package/dist/elements/public/TemplateForm/TemplateForm.d.ts +45 -0
  152. package/dist/elements/public/TemplateForm/TemplateForm.js +343 -0
  153. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -0
  154. package/dist/elements/public/TemplateForm/index.d.ts +9 -0
  155. package/dist/elements/public/TemplateForm/index.js +11 -0
  156. package/dist/elements/public/TemplateForm/index.js.map +1 -0
  157. package/dist/elements/public/TemplateForm/types.d.ts +17 -0
  158. package/dist/elements/public/TemplateForm/types.js +2 -0
  159. package/dist/elements/public/TemplateForm/types.js.map +1 -0
  160. package/dist/elements/public/index.d.ts +3 -0
  161. package/dist/elements/public/index.defined.d.ts +3 -0
  162. package/dist/elements/public/index.defined.js +3 -0
  163. package/dist/elements/public/index.defined.js.map +1 -1
  164. package/dist/elements/public/index.js +3 -0
  165. package/dist/elements/public/index.js.map +1 -1
  166. package/dist/mixins/themeable.js +143 -24
  167. package/dist/mixins/themeable.js.map +1 -1
  168. package/dist/mixins/translatable.js +1 -1
  169. package/dist/mixins/translatable.js.map +1 -1
  170. package/package.json +2 -7
  171. package/dist/cdn/shared-296637c5.js +0 -1
  172. package/dist/cdn/shared-4a990126.js +0 -1
  173. package/dist/cdn/shared-50744508.js +0 -15
  174. package/dist/cdn/shared-b98f88c9.js +0 -369
  175. package/dist/cdn/shared-bf09e011.js +0 -572
  176. package/dist/cdn/shared-c0161e6a.js +0 -1
  177. package/dist/cdn/shared-c1e0e11f.js +0 -1
  178. package/dist/cdn/shared-dbcffd8e.js +0 -1
  179. package/dist/cdn/shared-e21a2aac.js +0 -1
  180. package/dist/cdn/shared-e55b6bb7.js +0 -1
@@ -1,21 +1,54 @@
1
1
  {
2
+ "add_country": "Agregar país",
3
+ "add_field": "Agregue campo",
2
4
  "add_or_clause": "Añadir cláusula O",
5
+ "add_region": "Agregar región",
3
6
  "add_value": "Añadir valor",
4
7
  "address1": "Línea de dirección 1",
5
8
  "address2": "Línea de dirección 2",
6
9
  "address_name": "Nombre de la dirección",
7
10
  "address_plural": "Direcciones",
11
+ "allowlist": "Permitir todo excepto",
8
12
  "attribute_plural": "Atributos",
9
13
  "back": "Volver",
10
14
  "backend_developer": "Desarrolladora backend",
11
15
  "backend_developer_explainer": "Administra el código del lado del servidor en PHP, Python, Ruby, etc.",
16
+ "billing": "Facturación",
17
+ "blocklist": "Prohibir todo excepto",
18
+ "cache": "Cache",
12
19
  "cancel": "Cancelar",
20
+ "cart_controls": "Cantidad",
21
+ "cart_type": "Exhibición del carro",
22
+ "cart_type_custom": "Personalizada",
23
+ "cart_type_custom_explainer": "Cree su propio carrito JSONP con la configuración incluida",
24
+ "cart_type_default": "Sidecart",
25
+ "cart_type_default_explainer": "Apariencia predeterminada del carrito en la versión 2.0",
26
+ "cart_type_fullpage": "Full page",
27
+ "cart_type_fullpage_explainer": "Envíe a todos los clientes a un carrito de página completa sin dejar de incluir la funcionalidad de minicart",
28
+ "checked_by_default": "Comprobado de forma predeterminada",
29
+ "checkout_type": "Cuentas",
30
+ "checkout_type_account_only": "Permitir solo cuentas de clientes",
31
+ "checkout_type_default_account": "Permitir ambos, predeterminado para el cliente",
32
+ "checkout_type_default_guest": "Permitir ambos, predeterminado como invitado",
33
+ "checkout_type_guest_only": "Permitir solo invitados",
34
+ "checkout_type_helper_text": "Si selecciona $t(checkout_type_guest_only), su tienda no podrá usar suscripciones.",
13
35
  "city": "Ciudad",
14
36
  "client": "Cliente",
15
37
  "close": "Cerca",
38
+ "close_icon": "Cerrar icono",
16
39
  "company": "Empresa",
40
+ "consent": "Consentimiento",
17
41
  "country": "País",
42
+ "coupon_entry": "Código promocional",
18
43
  "create": "Crear",
44
+ "custom_config": "Configuración personalizada",
45
+ "custom_config_helper_text": "Si tiene valores personalizados que le gustaría poner a disposición de su plantilla twig, puede agregarlos aquí como una cadena JSON válida.",
46
+ "custom_fields": "Campos personalizados",
47
+ "custom_fields_helper_text": "Si tiene información que le gustaría recopilar del cliente en la página de pago, puede agregar campos de formulario personalizados aquí que se agregarán al formulario de pago. Le recomendamos que siga la misma estructura de contenedor HTML utilizada en otros campos de pago para mantener la coherencia. Puede usar la sintaxis de Twig aquí.",
48
+ "custom_footer": "Pie de página personalizado",
49
+ "custom_footer_helper_text": "Cualquier fragmento de JS o script de conversión que necesite agregar al pie de página se puede colocar aquí y se insertará antes de la etiqueta </body>. Puede usar la sintaxis de Twig aquí. Para los scripts de conversión que solo desea mostrar una vez en la página del recibo, use {% if first_receipt_display %} {# contenido del script de conversión aquí #} {% endif %}.",
50
+ "custom_header": "Cabecera personalizada",
51
+ "custom_header_helper_text": "Cualquier CSS o JS que necesite agregar al encabezado se puede colocar aquí y se insertará antes de la etiqueta </head> de sus plantillas. Tenga en cuenta que todas las referencias de archivos de secuencias de comandos deben ser a través de https o ejecutarse a través del sistema de almacenamiento en caché de Foxy. La sintaxis de Twig no está disponible en el encabezado.",
19
52
  "customer": "Cliente",
20
53
  "daily": "Diariamente",
21
54
  "daily_plural": "Cada {{count}} días",
@@ -24,19 +57,36 @@
24
57
  "date_modified": "Última actualización",
25
58
  "day": "día",
26
59
  "day_plural": "Días",
60
+ "default": "Defecto",
27
61
  "default_billing_address": "Dirección de facturación",
28
62
  "default_shipping_address": "Dirección de entrega",
29
63
  "delete": "Eliminar",
30
64
  "delete_prompt": "Este recurso se eliminará de forma permanente. ¿Estás seguro?",
65
+ "description": "Descripción",
31
66
  "designer": "Diseñadora",
32
67
  "designer_explainer": "Administra la apariencia, el arte y la interfaz de usuario.",
68
+ "disabled": "Discapacitada",
69
+ "display_sdta": "Mostrar un acuerdo de transferencia segura de datos a los clientes de la UE",
70
+ "display_sdta_explainer": "Si tiene clientes en la Unión Europea, habilite esta función para que puedan optar por enviar sus datos a nuestros servidores seguros en los Estados Unidos.",
71
+ "display_tos_link": "Mostrar un enlace a Términos y condiciones",
72
+ "display_tos_link_explainer": "Incluya una casilla de verificación para pedirles a sus clientes que acepten sus Términos de servicio.",
33
73
  "email": "Correo electrónico",
74
+ "enable_postcode_lookup": "Ofrecer sugerencias de ciudades y estados según el código postal",
75
+ "enabled": "Activada",
34
76
  "end_date": "Fecha de finalización",
35
77
  "end_subscription": "Finalizar suscripción",
36
78
  "end_subscription_explainer": "Su suscripción permanecerá activa hasta la fecha de finalización seleccionada. Es posible que deba volver a suscribirse si decide reanudar esta suscripción más adelante.",
37
79
  "expires": "Caduca",
38
80
  "field": "Campo",
81
+ "field_plural": "Campos",
39
82
  "first_name": "Nombre",
83
+ "foxycomplete": "Autocompletar ubicación",
84
+ "foxycomplete_combobox": "Caja combo",
85
+ "foxycomplete_combobox_explainer": "Expandir para buscar opciones, escribir para buscar",
86
+ "foxycomplete_disabled": "Deshabilitada",
87
+ "foxycomplete_disabled_explainer": "Deje que los clientes elijan una opción de una lista",
88
+ "foxycomplete_search": "Búsqueda",
89
+ "foxycomplete_search_explainer": "Mostrar un campo de «búsqueda mientras escribe»",
40
90
  "fraud_risk": "Riesgo de fraude: {{ score }}",
41
91
  "frequency": "$t({{units}}, { \"count\": {{count}} })",
42
92
  "frequency_label": "Frecuencia",
@@ -45,6 +95,13 @@
45
95
  "frontend_developer_explainer": "Administra el código del lado del cliente en JS, CSS, HTML, etc.",
46
96
  "full_address": "{{first_name}} {{last_name}}\n{{address1}} {{address2}}\n{{city}} {{region}} {{postal_code}}",
47
97
  "full_name": "{{first_name}} {{last_name}}",
98
+ "ga_account_id": "Account ID",
99
+ "ga_account_id_explainer": "Puede encontrar el ID en la sección Administrador de Analytics en Información de seguimiento > Código de seguimiento.",
100
+ "ga_include_on_site": "Incluir a través de loader.js",
101
+ "ga_include_on_site_explainer": "Habilite Google Analytics en cualquier página donde se incluya el archivo loader.js.",
102
+ "hidden": "Oculta",
103
+ "hidden_fields": "Campos ocultos",
104
+ "html_template": "Plantilla HTML",
48
105
  "invalid_credential_error": "Correo electrónico o contraseña incorrectos. Verifique sus credenciales y vuelva a intentarlo.",
49
106
  "is_defined_false": "No definido",
50
107
  "is_defined_true": "Definido",
@@ -59,6 +116,8 @@
59
116
  "loading_end": "No más datos",
60
117
  "loading_error": "No se pudo cargar",
61
118
  "loading_paused": "En pausa",
119
+ "location_plural": "Ubicaciones",
120
+ "location_url": "Ubicación (URL)",
62
121
  "merchant": "Comerciante",
63
122
  "merchant_explainer": "Maneja artículos, finanzas y esta tienda en general.",
64
123
  "mfa_remember_device": "Confía en este dispositivo",
@@ -74,7 +133,10 @@
74
133
  "new_password": "Nueva contraseña",
75
134
  "new_password_format_error": "La nueva contraseña que ha elegido es demasiado débil. Ingrese una nueva contraseña segura.",
76
135
  "new_password_required_error": "Para mantener su cuenta segura, cambie su contraseña antes de iniciar sesión esta vez.",
136
+ "newsletter_subscribe": "Permitir a las usuarios suscribirse a su boletín",
137
+ "newsletter_subscribe_explainer": "Esto incluye una casilla de verificación en su pago para permitir que los clientes elijan suscribirse a su boletín informativo, disponible en los informes de transacciones, la API y los webhooks.",
77
138
  "next_transaction_date": "Fecha de la próxima transacción",
139
+ "open_icon": "Icono abierto",
78
140
  "operator_equal": "Igual",
79
141
  "operator_greaterthan": "Mas grande que",
80
142
  "operator_greaterthanorequal": "Mayor que o igual",
@@ -83,6 +145,7 @@
83
145
  "operator_lessthan": "Menos que",
84
146
  "operator_lessthanorequal": "Menor o igual",
85
147
  "operator_not": "No es igual",
148
+ "optional": "Opcional",
86
149
  "or": "O",
87
150
  "password": "Contraseña",
88
151
  "payment_method_plural": "Métodos de pago",
@@ -93,6 +156,10 @@
93
156
  "price": "{{amount, price}}",
94
157
  "price_recurring": "{{amount, price}} $t(frequency, { \"count\": \"{{count}}\", \"units\": \"{{units}}\" })",
95
158
  "price_twice_a_month": "{{amount, price}} $t(frequency_twice_a_month)",
159
+ "product_category": "Categoria de producto",
160
+ "product_code": "Código de producto",
161
+ "product_options": "Opciones de productos",
162
+ "product_weight": "Peso de producto",
96
163
  "query_builder_group": "Grupo de filtros",
97
164
  "query_builder_rule": "Filtro",
98
165
  "range_from": "De",
@@ -103,16 +170,31 @@
103
170
  "recover_access_success": "¡Hecho! Consulte su correo electrónico para obtener más instrucciones.",
104
171
  "region": "Region",
105
172
  "request": "Pedido",
173
+ "require_consent": "Requerir consentimiento para continuar",
174
+ "required": "Requerida",
175
+ "same_as_shipping": "La misma que el envío",
106
176
  "save": "Guardar",
177
+ "shipping": "Transporte",
178
+ "show_country_flags": "Mostrar banderas de países",
107
179
  "show_on_receipt": "Mostrar en recibo",
108
180
  "sign_in": "Iniciar sesión",
109
181
  "sign_in_hint": "Por favor, introduzca su correo electrónico y contraseña",
182
+ "sio_account_id": "Write Key",
183
+ "sio_account_id_explainer": "Puede encontrar Write Key en la guía de configuración de su proyecto o en la configuración de la fuente.",
184
+ "skip_csc_for_saved": "Omitir CSC para tarjetas guardadas",
185
+ "skip_csc_for_sso": "Omitir CSC para el inicio de sesión único",
186
+ "sub_enddate": "Fecha de finalización de la suscripción",
187
+ "sub_frequency": "Frecuencia de suscripción",
188
+ "sub_nextdate": "Suscripción próxima fecha",
189
+ "sub_startdate": "Fecha de inicio de la suscripción",
110
190
  "subscription_active": "Próximo pago el {{date, date}}",
111
191
  "subscription_cancelled": "Finalizó el {{date, date}}",
112
192
  "subscription_failed": "Error en el pago el {{date, date}}",
113
193
  "subscription_inactive": "Inactiva",
114
194
  "subscription_plural": "Suscripciones",
115
195
  "subscription_will_be_cancelled": "Finaliza el {{date, date}}",
196
+ "supported_cards": "Tarjetas",
197
+ "supported_cards_disclaimer": "Se aplica solo a las pasarelas de pago donde el cliente ingresa la información de su tarjeta de pago directamente en el proceso de pago de Foxy. Excepciones: Adyen Embedded, Amazon Pay, Apple Pay, Klarna, Square y Stripe.",
116
198
  "tax_apply_to_shipping": "Aplicar al envío",
117
199
  "tax_apply_to_shipping_explainer": "Marque para aplicar este impuesto a los costos de envío",
118
200
  "tax_country": "Impuesto del país",
@@ -129,6 +211,14 @@
129
211
  "tax_union": "Impuesto de la Unión Europea",
130
212
  "tax_use_origin_rates": "Usar tasas impositivas de origen",
131
213
  "tax_use_origin_rates_explainer": "Marque para usar la tasa impositiva de su país independientemente de dónde se encuentren los clientes",
214
+ "template": "Plantilla",
215
+ "template_clipboard": "Desde portapapeles",
216
+ "template_clipboard_explainer": "Pegue la plantilla aquí para usarla",
217
+ "template_default": "Defecto",
218
+ "template_default_explainer": "Usar la plantilla predeterminada",
219
+ "template_url": "Desde URL",
220
+ "template_url_explainer": "Obtener la plantilla de una URL pública",
221
+ "text_template": "Plantilla de texto",
132
222
  "time": "{{value, time}}",
133
223
  "transaction": "Transacción",
134
224
  "transaction_approved": "Aprobado",
@@ -144,6 +234,9 @@
144
234
  "transaction_summary_plural": "{{most_expensive_item.name}} y {{count}} más",
145
235
  "transaction_verified": "Verificado",
146
236
  "transaction_voided": "Anulado",
237
+ "troubleshooting": "Solución de problemas",
238
+ "troubleshooting_debug": "Registrar mensajes de depuración en la consola del navegador",
239
+ "troubleshooting_debug_explainer": "Habilite esta opción para activar las llamadas a console.log() para nuestro JS, lo que puede ayudar a solucionar los problemas de su tienda.",
147
240
  "twice_a_month": "Dos veces al mes",
148
241
  "type": "Tipo",
149
242
  "type_any": "Campo de tipo desconocido",
@@ -3,10 +3,12 @@ import '@vaadin/vaadin-lumo-styles/icons';
3
3
  import { CSSResultArray, LitElement, PropertyDeclarations, TemplateResult } from 'lit-element';
4
4
  declare const Checkbox_base: typeof LitElement & {
5
5
  styles: CSSResultArray;
6
- } & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost>;
6
+ };
7
7
  export declare class Checkbox extends Checkbox_base {
8
8
  static get properties(): PropertyDeclarations;
9
9
  static get styles(): CSSResultArray;
10
+ readonly: boolean;
11
+ disabled: boolean;
10
12
  checked: boolean;
11
13
  render(): TemplateResult;
12
14
  }
@@ -2,16 +2,20 @@ import '@polymer/iron-icon';
2
2
  import '@vaadin/vaadin-lumo-styles/icons';
3
3
  import { LitElement, css, html, } from 'lit-element';
4
4
  import { CheckboxChangeEvent } from "./CheckboxChangeEvent.js";
5
- import { ConfigurableMixin } from "../../../mixins/configurable.js";
6
5
  import { ThemeableMixin } from "../../../mixins/themeable.js";
7
- export class Checkbox extends ConfigurableMixin(ThemeableMixin(LitElement)) {
6
+ import { classMap } from "../../../utils/class-map.js";
7
+ export class Checkbox extends ThemeableMixin(LitElement) {
8
8
  constructor() {
9
9
  super(...arguments);
10
+ this.readonly = false;
11
+ this.disabled = false;
10
12
  this.checked = false;
11
13
  }
12
14
  static get properties() {
13
15
  return {
14
16
  ...super.properties,
17
+ readonly: { type: Boolean },
18
+ disabled: { type: Boolean },
15
19
  checked: { type: Boolean },
16
20
  };
17
21
  }
@@ -30,23 +34,47 @@ export class Checkbox extends ConfigurableMixin(ThemeableMixin(LitElement)) {
30
34
  ];
31
35
  }
32
36
  render() {
33
- const checked = this.checked;
34
- const ease = 'transition-colors ease-in-out duration-200';
35
- const box = `${ease} ${checked ? 'bg-primary' : 'bg-contrast-20 group-hover-bg-contrast-30'}`;
36
- const dot = `${ease} transform ${checked ? 'scale-100' : 'scale-0'}`;
37
37
  return html `
38
- <label class="flex group cursor-pointer">
38
+ <label
39
+ class=${classMap({
40
+ 'flex group transition-colors': true,
41
+ 'cursor-default': this.disabled || this.readonly,
42
+ 'text-disabled': this.disabled,
43
+ 'text-secondary': this.readonly,
44
+ 'cursor-pointer': !this.disabled,
45
+ })}
46
+ >
39
47
  <div
40
- class="flex-shrink-0 check rounded-s ${box} text-primary-contrast focus-within-shadow-outline"
48
+ class=${classMap({
49
+ 'flex-shrink-0 check transition-colors rounded-s border': true,
50
+ 'focus-within-shadow-outline': true,
51
+ 'bg-primary text-primary-contrast': !this.readonly && this.checked,
52
+ 'border-dashed border-contrast-30': this.readonly,
53
+ 'border-transparent': !this.readonly,
54
+ 'opacity-50': this.disabled,
55
+ 'text-secondary bg-contrast-20': !this.readonly && !this.checked,
56
+ 'group-hover-bg-contrast-30': !this.readonly && !this.checked,
57
+ })}
41
58
  >
42
- <iron-icon icon="lumo:checkmark" class="block w-full h-full ${dot}"></iron-icon>
59
+ <iron-icon
60
+ icon="lumo:checkmark"
61
+ class=${classMap({
62
+ 'block w-full h-full transition-transform transform': true,
63
+ 'scale-100': this.checked,
64
+ 'scale-0': !this.checked,
65
+ })}
66
+ >
67
+ </iron-icon>
68
+
43
69
  <input
44
70
  type="checkbox"
45
71
  class="sr-only"
46
- .checked=${checked}
72
+ .checked=${this.checked}
47
73
  ?disabled=${this.disabled}
48
74
  data-testid="input"
49
75
  @change=${(evt) => {
76
+ if (this.readonly)
77
+ return evt.preventDefault();
50
78
  evt.stopPropagation();
51
79
  this.checked = !this.checked;
52
80
  this.dispatchEvent(new CheckboxChangeEvent(this.checked));
@@ -54,12 +82,17 @@ export class Checkbox extends ConfigurableMixin(ThemeableMixin(LitElement)) {
54
82
  />
55
83
  </div>
56
84
 
57
- <div class="flex-1 font-lumo text-body leading-m -mt-xs ml-m">
85
+ <div class="flex-1 font-lumo leading-m -mt-xs ml-m">
58
86
  <slot></slot>
59
87
  </div>
60
88
  </label>
61
89
 
62
- <div class="font-lumo ${this.disabled ? 'text-tertiary' : 'text-body'} ml-xxl">
90
+ <div
91
+ class=${classMap({
92
+ 'font-lumo ml-xxl transition-colors': true,
93
+ 'text-disabled': this.disabled,
94
+ })}
95
+ >
63
96
  <slot name="content"></slot>
64
97
  </div>
65
98
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../src/elements/private/Checkbox/Checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kCAAkC,CAAC;AAE1C,OAAO,EAEL,UAAU,EAGV,GAAG,EACH,IAAI,GACL,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,iCAA8B;AAC5D,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAE3D,MAAM,OAAO,QAAS,SAAQ,iBAAiB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAA3E;;QAwBE,YAAO,GAAG,KAAK,CAAC;IAsClB,CAAC;IA7DC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO;YACL,KAAK,CAAC,MAAM;YACZ,GAAG;;;;;;;;OASF;SACF,CAAC;IACJ,CAAC;IAID,MAAM;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,IAAI,GAAG,4CAA4C,CAAC;QAC1D,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,2CAA2C,EAAE,CAAC;QAC9F,MAAM,GAAG,GAAG,GAAG,IAAI,cAAc,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAErE,OAAO,IAAI,CAAA;;;iDAGkC,GAAG;;wEAEoB,GAAG;;;;uBAIpD,OAAO;wBACN,IAAI,CAAC,QAAQ;;sBAEf,CAAC,GAAU,EAAE,EAAE;YACvB,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,CAAC;;;;;;;;;8BASiB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW;;;KAGtE,CAAC;IACJ,CAAC;CACF","sourcesContent":["import '@polymer/iron-icon';\nimport '@vaadin/vaadin-lumo-styles/icons';\n\nimport {\n CSSResultArray,\n LitElement,\n PropertyDeclarations,\n TemplateResult,\n css,\n html,\n} from 'lit-element';\n\nimport { CheckboxChangeEvent } from './CheckboxChangeEvent';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { ThemeableMixin } from '../../../mixins/themeable';\n\nexport class Checkbox extends ConfigurableMixin(ThemeableMixin(LitElement)) {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n checked: { type: Boolean },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n .ml-xxl {\n margin-left: calc(var(--lumo-space-m) + 1.125rem);\n }\n\n .check {\n height: 1.125rem;\n width: 1.125rem;\n }\n `,\n ];\n }\n\n checked = false;\n\n render(): TemplateResult {\n const checked = this.checked;\n const ease = 'transition-colors ease-in-out duration-200';\n const box = `${ease} ${checked ? 'bg-primary' : 'bg-contrast-20 group-hover-bg-contrast-30'}`;\n const dot = `${ease} transform ${checked ? 'scale-100' : 'scale-0'}`;\n\n return html`\n <label class=\"flex group cursor-pointer\">\n <div\n class=\"flex-shrink-0 check rounded-s ${box} text-primary-contrast focus-within-shadow-outline\"\n >\n <iron-icon icon=\"lumo:checkmark\" class=\"block w-full h-full ${dot}\"></iron-icon>\n <input\n type=\"checkbox\"\n class=\"sr-only\"\n .checked=${checked}\n ?disabled=${this.disabled}\n data-testid=\"input\"\n @change=${(evt: Event) => {\n evt.stopPropagation();\n this.checked = !this.checked;\n this.dispatchEvent(new CheckboxChangeEvent(this.checked));\n }}\n />\n </div>\n\n <div class=\"flex-1 font-lumo text-body leading-m -mt-xs ml-m\">\n <slot></slot>\n </div>\n </label>\n\n <div class=\"font-lumo ${this.disabled ? 'text-tertiary' : 'text-body'} ml-xxl\">\n <slot name=\"content\"></slot>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../src/elements/private/Checkbox/Checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kCAAkC,CAAC;AAE1C,OAAO,EAEL,UAAU,EAGV,GAAG,EACH,IAAI,GACL,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,iCAA8B;AAC5D,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AAEpD,MAAM,OAAO,QAAS,SAAQ,cAAc,CAAC,UAAU,CAAC;IAAxD;;QA0BE,aAAQ,GAAG,KAAK,CAAC;QAEjB,aAAQ,GAAG,KAAK,CAAC;QAEjB,YAAO,GAAG,KAAK,CAAC;IAkElB,CAAC;IA/FC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO;YACL,KAAK,CAAC,MAAM;YACZ,GAAG;;;;;;;;OASF;SACF,CAAC;IACJ,CAAC;IAQD,MAAM;QACJ,OAAO,IAAI,CAAA;;gBAEC,QAAQ,CAAC;YACf,8BAA8B,EAAE,IAAI;YACpC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YAChD,eAAe,EAAE,IAAI,CAAC,QAAQ;YAC9B,gBAAgB,EAAE,IAAI,CAAC,QAAQ;YAC/B,gBAAgB,EAAE,CAAC,IAAI,CAAC,QAAQ;SACjC,CAAC;;;kBAGQ,QAAQ,CAAC;YACf,wDAAwD,EAAE,IAAI;YAC9D,6BAA6B,EAAE,IAAI;YACnC,kCAAkC,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;YAClE,kCAAkC,EAAE,IAAI,CAAC,QAAQ;YACjD,oBAAoB,EAAE,CAAC,IAAI,CAAC,QAAQ;YACpC,YAAY,EAAE,IAAI,CAAC,QAAQ;YAC3B,+BAA+B,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO;YAChE,4BAA4B,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO;SAC9D,CAAC;;;;oBAIQ,QAAQ,CAAC;YACf,oDAAoD,EAAE,IAAI;YAC1D,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO;SACzB,CAAC;;;;;;;uBAOS,IAAI,CAAC,OAAO;wBACX,IAAI,CAAC,QAAQ;;sBAEf,CAAC,GAAU,EAAE,EAAE;YACvB,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,GAAG,CAAC,cAAc,EAAE,CAAC;YAE/C,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,CAAC;;;;;;;;;;gBAUG,QAAQ,CAAC;YACf,oCAAoC,EAAE,IAAI;YAC1C,eAAe,EAAE,IAAI,CAAC,QAAQ;SAC/B,CAAC;;;;KAIL,CAAC;IACJ,CAAC;CACF","sourcesContent":["import '@polymer/iron-icon';\nimport '@vaadin/vaadin-lumo-styles/icons';\n\nimport {\n CSSResultArray,\n LitElement,\n PropertyDeclarations,\n TemplateResult,\n css,\n html,\n} from 'lit-element';\n\nimport { CheckboxChangeEvent } from './CheckboxChangeEvent';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { classMap } from '../../../utils/class-map';\n\nexport class Checkbox extends ThemeableMixin(LitElement) {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n readonly: { type: Boolean },\n disabled: { type: Boolean },\n checked: { type: Boolean },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n .ml-xxl {\n margin-left: calc(var(--lumo-space-m) + 1.125rem);\n }\n\n .check {\n height: 1.125rem;\n width: 1.125rem;\n }\n `,\n ];\n }\n\n readonly = false;\n\n disabled = false;\n\n checked = false;\n\n render(): TemplateResult {\n return html`\n <label\n class=${classMap({\n 'flex group transition-colors': true,\n 'cursor-default': this.disabled || this.readonly,\n 'text-disabled': this.disabled,\n 'text-secondary': this.readonly,\n 'cursor-pointer': !this.disabled,\n })}\n >\n <div\n class=${classMap({\n 'flex-shrink-0 check transition-colors rounded-s border': true,\n 'focus-within-shadow-outline': true,\n 'bg-primary text-primary-contrast': !this.readonly && this.checked,\n 'border-dashed border-contrast-30': this.readonly,\n 'border-transparent': !this.readonly,\n 'opacity-50': this.disabled,\n 'text-secondary bg-contrast-20': !this.readonly && !this.checked,\n 'group-hover-bg-contrast-30': !this.readonly && !this.checked,\n })}\n >\n <iron-icon\n icon=\"lumo:checkmark\"\n class=${classMap({\n 'block w-full h-full transition-transform transform': true,\n 'scale-100': this.checked,\n 'scale-0': !this.checked,\n })}\n >\n </iron-icon>\n\n <input\n type=\"checkbox\"\n class=\"sr-only\"\n .checked=${this.checked}\n ?disabled=${this.disabled}\n data-testid=\"input\"\n @change=${(evt: Event) => {\n if (this.readonly) return evt.preventDefault();\n\n evt.stopPropagation();\n this.checked = !this.checked;\n this.dispatchEvent(new CheckboxChangeEvent(this.checked));\n }}\n />\n </div>\n\n <div class=\"flex-1 font-lumo leading-m -mt-xs ml-m\">\n <slot></slot>\n </div>\n </label>\n\n <div\n class=${classMap({\n 'font-lumo ml-xxl transition-colors': true,\n 'text-disabled': this.disabled,\n })}\n >\n <slot name=\"content\"></slot>\n </div>\n `;\n }\n}\n"]}
@@ -17,13 +17,13 @@ function radio(readonly, disabled, checked, attrs, label) {
17
17
  const scale = checked ? 'scale-100' : 'scale-0';
18
18
  const color = disabled ? 'text-disabled' : readonly ? 'text-secondary' : 'text-body';
19
19
  const ease = 'transition ease-in-out duration-200';
20
- const dotBg = readonly ? 'bg-contrast-20' : 'bg-tint';
20
+ const dotBg = readonly ? 'bg-contrast-70' : 'bg-tint';
21
21
  const dot = `${ease} ${disabled || readonly ? '' : 'shadow-xs'} transform ${scale} ${dotBg}`;
22
22
  const bg = readonly ? '' : disabled ? disabledBg : enabledBg;
23
- const border = `border ${readonly ? 'border-contrast-20' : 'border-transparent'}`;
23
+ const border = `border ${readonly ? 'border-dashed border-contrast-30' : 'border-transparent'}`;
24
24
  return html `
25
25
  <label class="group flex items-center ${disabled || readonly ? '' : 'cursor-pointer'}">
26
- <div class="item flex items-center justify-center">
26
+ <div class="item flex items-center justify-center flex-shrink-0">
27
27
  <div class="flex radio rounded-full ${border} ${ease} ${bg} focus-within-shadow-outline">
28
28
  <div class="dot m-auto rounded-full ${dot}"></div>
29
29
  <input type="radio" class="sr-only" .checked=${checked} ...=${attrs} />
@@ -39,12 +39,12 @@ function check(readonly, disabled, checked, attrs, label) {
39
39
  const scale = checked ? 'scale-100' : 'scale-0';
40
40
  const color = disabled ? 'text-disabled' : readonly ? 'text-secondary' : 'text-body';
41
41
  const ease = 'transition ease-in-out duration-200';
42
- const dot = `${ease} transform ${scale} ${readonly ? 'text-contrast-20' : 'text-tint'}`;
42
+ const dot = `${ease} transform ${scale} ${readonly ? 'text-contrast-70' : 'text-tint'}`;
43
43
  const bg = readonly ? '' : disabled ? disabledBg : enabledBg;
44
- const border = `border ${readonly ? 'border-contrast-20' : 'border-transparent'}`;
44
+ const border = `border ${readonly ? 'border-dashed border-contrast-30' : 'border-transparent'}`;
45
45
  return html `
46
46
  <label class="group flex items-center ${disabled || readonly ? '' : 'cursor-pointer'}">
47
- <div class="item flex items-center justify-center text-primary-contrast">
47
+ <div class="item flex items-center justify-center flex-shrink-0 text-primary-contrast">
48
48
  <div class="check rounded-s ${border} ${ease} ${bg} focus-within-shadow-outline">
49
49
  <iron-icon icon="lumo:checkmark" class="block w-full h-full ${dot}"></iron-icon>
50
50
  <input type="checkbox" class="sr-only" .checked=${checked} ...=${attrs} />
@@ -192,8 +192,10 @@ export class Choice extends Translatable {
192
192
  'value': other ? VALUE_OTHER : item,
193
193
  'name': multiple ? item : 'choice',
194
194
  'data-testid': `item-${item}`,
195
- '?disabled': disabled || this.readonly,
195
+ '?disabled': disabled,
196
196
  '@change': (evt) => {
197
+ if (this.readonly)
198
+ return evt.preventDefault();
197
199
  const checked = evt.target.checked;
198
200
  const newItem = item === VALUE_OTHER ? this.defaultCustomValue : item;
199
201
  const value = this.value;
@@ -220,11 +222,9 @@ export class Choice extends Translatable {
220
222
  `;
221
223
  return html `
222
224
  <div class="ml-xxl border-t border-contrast-10 ${index ? '' : 'hidden'}"></div>
223
-
224
225
  ${multiple
225
226
  ? check(this.readonly, disabled, checked, attributes, label)
226
227
  : radio(this.readonly, disabled, checked, attributes, label)}
227
-
228
228
  <div class="mr-m ml-xxl">
229
229
  ${item === VALUE_OTHER && otherChecked ? this.__field : ''}
230
230
  ${item !== VALUE_OTHER ? html `<slot name=${item}></slot>` : ''}
@@ -1 +1 @@
1
- {"version":3,"file":"Choice.js","sourceRoot":"","sources":["../../../../src/elements/private/Choice/Choice.ts"],"names":[],"mappings":"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","sourcesContent":["import '@polymer/iron-icon';\nimport '@vaadin/vaadin-lumo-styles/icons';\nimport '@vaadin/vaadin-text-field/vaadin-integer-field';\nimport '@vaadin/vaadin-text-field/vaadin-text-area';\nimport '@vaadin/vaadin-text-field/vaadin-text-field';\n\nimport { CSSResultArray, PropertyDeclarations, TemplateResult, css, html } from 'lit-element';\n\nimport { AttributePart } from 'lit-html';\nimport { ChoiceChangeEvent } from './ChoiceChangeEvent';\nimport { FrequencyInput } from '../FrequencyInput/FrequencyInput';\nimport { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport { Translatable } from '../../../mixins/translatable';\nimport { interpret } from 'xstate';\nimport { machine } from './machine';\nimport { spread } from '@open-wc/lit-helpers/src/spread';\n\nconst VALUE_OTHER = `@foxy.io/elements::other[${(Math.pow(10, 10) * Math.random()).toFixed(0)}]`;\n\nfunction radio(\n readonly: boolean,\n disabled: boolean,\n checked: boolean,\n attrs: (part: AttributePart) => void,\n label: TemplateResult\n) {\n const enabledBg = checked ? 'bg-primary' : 'bg-contrast-20 group-hover-bg-contrast-30';\n const disabledBg = checked ? 'bg-primary-50' : 'bg-contrast-10';\n const scale = checked ? 'scale-100' : 'scale-0';\n const color = disabled ? 'text-disabled' : readonly ? 'text-secondary' : 'text-body';\n const ease = 'transition ease-in-out duration-200';\n const dotBg = readonly ? 'bg-contrast-20' : 'bg-tint';\n const dot = `${ease} ${disabled || readonly ? '' : 'shadow-xs'} transform ${scale} ${dotBg}`;\n const bg = readonly ? '' : disabled ? disabledBg : enabledBg;\n const border = `border ${readonly ? 'border-contrast-20' : 'border-transparent'}`;\n\n return html`\n <label class=\"group flex items-center ${disabled || readonly ? '' : 'cursor-pointer'}\">\n <div class=\"item flex items-center justify-center\">\n <div class=\"flex radio rounded-full ${border} ${ease} ${bg} focus-within-shadow-outline\">\n <div class=\"dot m-auto rounded-full ${dot}\"></div>\n <input type=\"radio\" class=\"sr-only\" .checked=${checked} ...=${attrs} />\n </div>\n </div>\n <div class=\"font-lumo leading-m ${color}\">${label}</div>\n </label>\n `;\n}\n\nfunction check(\n readonly: boolean,\n disabled: boolean,\n checked: boolean,\n attrs: (part: AttributePart) => void,\n label: TemplateResult\n) {\n const enabledBg = checked ? 'bg-primary' : 'bg-contrast-20 group-hover-bg-contrast-30';\n const disabledBg = checked ? 'bg-primary-50' : 'bg-contrast-10';\n const scale = checked ? 'scale-100' : 'scale-0';\n const color = disabled ? 'text-disabled' : readonly ? 'text-secondary' : 'text-body';\n const ease = 'transition ease-in-out duration-200';\n const dot = `${ease} transform ${scale} ${readonly ? 'text-contrast-20' : 'text-tint'}`;\n const bg = readonly ? '' : disabled ? disabledBg : enabledBg;\n const border = `border ${readonly ? 'border-contrast-20' : 'border-transparent'}`;\n\n return html`\n <label class=\"group flex items-center ${disabled || readonly ? '' : 'cursor-pointer'}\">\n <div class=\"item flex items-center justify-center text-primary-contrast\">\n <div class=\"check rounded-s ${border} ${ease} ${bg} focus-within-shadow-outline\">\n <iron-icon icon=\"lumo:checkmark\" class=\"block w-full h-full ${dot}\"></iron-icon>\n <input type=\"checkbox\" class=\"sr-only\" .checked=${checked} ...=${attrs} />\n </div>\n </div>\n <div class=\"font-lumo leading-m ${color}\">${label}</div>\n </label>\n `;\n}\n\nexport class Choice extends Translatable {\n public static get scopedElements(): ScopedElementsMap {\n return {\n 'vaadin-integer-field': customElements.get('vaadin-integer-field'),\n 'vaadin-text-field': customElements.get('vaadin-text-field'),\n 'x-frequency-input': FrequencyInput,\n 'vaadin-text-area': customElements.get('vaadin-text-area'),\n 'iron-icon': customElements.get('iron-icon'),\n };\n }\n\n public static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n :host {\n --item-width: calc((var(--lumo-space-m) * 2) + 1.25rem);\n }\n\n .ml-xxl {\n margin-left: var(--item-width);\n }\n\n .item {\n height: var(--lumo-size-l);\n width: var(--item-width);\n }\n\n .radio {\n height: 1.25rem;\n width: 1.25rem;\n }\n\n .check {\n height: 1.125rem;\n width: 1.125rem;\n }\n\n .dot {\n height: 0.5rem;\n width: 0.5rem;\n }\n `,\n ];\n }\n\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n defaultCustomValue: { type: String, attribute: 'default-custom-value' },\n disabled: { type: Boolean },\n readonly: { type: Boolean },\n custom: { type: Boolean },\n type: { type: String },\n min: { type: Number },\n max: { type: Number },\n value: { type: Array },\n items: { type: Array },\n getText: { attribute: false },\n };\n }\n\n public getText: (value: string) => string = v => v;\n\n private __service = interpret(machine)\n .onChange(() => this.requestUpdate())\n .onTransition(({ changed }) => changed && this.requestUpdate())\n .start();\n\n public get defaultCustomValue(): string {\n return this.__service.state.context.defaultCustomValue;\n }\n\n public set defaultCustomValue(data: string) {\n this.__service.send('SET_DEFAULT_CUSTOM_VALUE', { data });\n }\n\n public get readonly(): boolean {\n return this.__service.state.matches('mutability.readonly');\n }\n\n public set readonly(data: boolean) {\n this.__service.send('SET_READONLY', { data });\n }\n\n public get disabled(): boolean {\n return this.__service.state.matches('interactivity.disabled');\n }\n\n public set disabled(data: boolean) {\n this.__service.send('SET_DISABLED', { data });\n }\n\n public get custom(): boolean {\n return this.__service.state.matches('extension.present');\n }\n\n public set custom(data: boolean) {\n this.__service.send('SET_CUSTOM', { data });\n }\n\n public get type(): 'text' | 'textarea' | 'integer' | 'frequency' {\n return this.__service.state.context.type;\n }\n\n public set type(data: 'text' | 'textarea' | 'integer' | 'frequency') {\n this.__service.send('SET_TYPE', { data });\n }\n\n public get min(): number | null {\n return this.__service.state.context.min;\n }\n\n public set min(data: number | null) {\n this.__service.send('SET_MIN', { data });\n }\n\n public get max(): number | null {\n return this.__service.state.context.max;\n }\n\n public set max(data: number | null) {\n this.__service.send('SET_MAX', { data });\n }\n\n public get value(): null | string | string[] {\n return this.__service.state.context.value;\n }\n\n public set value(data: null | string | string[]) {\n this.__service.send('SET_VALUE', { data });\n }\n\n public get items(): string[] {\n return this.__service.state.context.items;\n }\n\n public set items(data: string[]) {\n this.__service.send('SET_ITEMS', { data });\n }\n\n public render(): TemplateResult {\n const items = this.custom ? [...this.items, VALUE_OTHER] : this.items;\n const multiple = Array.isArray(this.value);\n const otherChecked = this.__service.state.matches('extension.present.selected');\n\n const children = html`\n ${items.map((item, index, array) => {\n const other = this.custom && index === array.length - 1;\n\n const checked = other\n ? otherChecked\n : multiple\n ? !!this.value?.includes(item)\n : item === String(this.value);\n\n const disabled = this.disabled || !this._isI18nReady;\n\n const attributes = spread({\n 'value': other ? VALUE_OTHER : item,\n 'name': multiple ? item : 'choice',\n 'data-testid': `item-${item}`,\n '?disabled': disabled || this.readonly,\n '@change': (evt: Event) => {\n const checked = (evt.target as HTMLInputElement).checked;\n const newItem = item === VALUE_OTHER ? this.defaultCustomValue : item;\n const value = this.value;\n\n if (Array.isArray(value)) {\n if (item === VALUE_OTHER) {\n this.value = checked ? [...value, newItem] : value.slice(0, value.length - 1);\n } else {\n this.value = checked ? [newItem, ...value] : value.filter(v => v !== newItem);\n }\n } else {\n this.value = checked ? newItem : null;\n }\n\n this.dispatchEvent(new ChoiceChangeEvent(this.value));\n },\n });\n\n const label = html`\n <div>\n ${item === VALUE_OTHER\n ? this._t('choice.other').toString()\n : html`<slot name=${`${item}-label`}>${this.getText(item)}</slot>`}\n </div>\n `;\n\n return html`\n <div class=\"ml-xxl border-t border-contrast-10 ${index ? '' : 'hidden'}\"></div>\n\n ${multiple\n ? check(this.readonly, disabled, checked, attributes, label)\n : radio(this.readonly, disabled, checked, attributes, label)}\n\n <div class=\"mr-m ml-xxl\">\n ${item === VALUE_OTHER && otherChecked ? this.__field : ''}\n ${item !== VALUE_OTHER ? html`<slot name=${item}></slot>` : ''}\n </div>\n `;\n })}\n `;\n\n return html`<form>${children}</form> `;\n }\n\n private get __field() {\n const handleInput = (evt: Event) => {\n evt.stopPropagation();\n const customValue = (evt.target as HTMLInputElement).value;\n\n if (Array.isArray(this.value)) {\n this.value = this.value.slice(0, this.value.length - 1).concat(customValue);\n } else {\n this.value = customValue;\n }\n\n this.dispatchEvent(new ChoiceChangeEvent(this.value));\n };\n\n const attributes = spread({\n 'placeholder': this._t('choice.other').toString(),\n 'class': 'w-full mb-m',\n 'value': this.__service.state.context.customValue,\n 'max': this.max,\n 'min': this.min,\n '?disabled': this.disabled,\n '?readonly': this.readonly,\n 'data-testid': 'field',\n '@change': handleInput,\n });\n\n if (this.type === 'frequency') {\n return html`<x-frequency-input ...=${attributes}></x-frequency-input>`;\n } else if (this.type === 'integer') {\n return html`<vaadin-integer-field ...=${attributes} has-controls></vaadin-integer-field>`;\n } else if (this.type === 'textarea') {\n return html`<vaadin-text-area ...=${attributes}></vaadin-text-area>`;\n } else {\n return html`<vaadin-text-field ...=${attributes}></vaadin-text-field>`;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"Choice.js","sourceRoot":"","sources":["../../../../src/elements/private/Choice/Choice.ts"],"names":[],"mappings":"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","sourcesContent":["import '@polymer/iron-icon';\nimport '@vaadin/vaadin-lumo-styles/icons';\nimport '@vaadin/vaadin-text-field/vaadin-integer-field';\nimport '@vaadin/vaadin-text-field/vaadin-text-area';\nimport '@vaadin/vaadin-text-field/vaadin-text-field';\n\nimport { CSSResultArray, PropertyDeclarations, TemplateResult, css, html } from 'lit-element';\n\nimport { AttributePart } from 'lit-html';\nimport { ChoiceChangeEvent } from './ChoiceChangeEvent';\nimport { FrequencyInput } from '../FrequencyInput/FrequencyInput';\nimport { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport { Translatable } from '../../../mixins/translatable';\nimport { interpret } from 'xstate';\nimport { machine } from './machine';\nimport { spread } from '@open-wc/lit-helpers/src/spread';\n\nconst VALUE_OTHER = `@foxy.io/elements::other[${(Math.pow(10, 10) * Math.random()).toFixed(0)}]`;\n\nfunction radio(\n readonly: boolean,\n disabled: boolean,\n checked: boolean,\n attrs: (part: AttributePart) => void,\n label: TemplateResult\n) {\n const enabledBg = checked ? 'bg-primary' : 'bg-contrast-20 group-hover-bg-contrast-30';\n const disabledBg = checked ? 'bg-primary-50' : 'bg-contrast-10';\n const scale = checked ? 'scale-100' : 'scale-0';\n const color = disabled ? 'text-disabled' : readonly ? 'text-secondary' : 'text-body';\n const ease = 'transition ease-in-out duration-200';\n const dotBg = readonly ? 'bg-contrast-70' : 'bg-tint';\n const dot = `${ease} ${disabled || readonly ? '' : 'shadow-xs'} transform ${scale} ${dotBg}`;\n const bg = readonly ? '' : disabled ? disabledBg : enabledBg;\n const border = `border ${readonly ? 'border-dashed border-contrast-30' : 'border-transparent'}`;\n\n return html`\n <label class=\"group flex items-center ${disabled || readonly ? '' : 'cursor-pointer'}\">\n <div class=\"item flex items-center justify-center flex-shrink-0\">\n <div class=\"flex radio rounded-full ${border} ${ease} ${bg} focus-within-shadow-outline\">\n <div class=\"dot m-auto rounded-full ${dot}\"></div>\n <input type=\"radio\" class=\"sr-only\" .checked=${checked} ...=${attrs} />\n </div>\n </div>\n <div class=\"font-lumo leading-m ${color}\">${label}</div>\n </label>\n `;\n}\n\nfunction check(\n readonly: boolean,\n disabled: boolean,\n checked: boolean,\n attrs: (part: AttributePart) => void,\n label: TemplateResult\n) {\n const enabledBg = checked ? 'bg-primary' : 'bg-contrast-20 group-hover-bg-contrast-30';\n const disabledBg = checked ? 'bg-primary-50' : 'bg-contrast-10';\n const scale = checked ? 'scale-100' : 'scale-0';\n const color = disabled ? 'text-disabled' : readonly ? 'text-secondary' : 'text-body';\n const ease = 'transition ease-in-out duration-200';\n const dot = `${ease} transform ${scale} ${readonly ? 'text-contrast-70' : 'text-tint'}`;\n const bg = readonly ? '' : disabled ? disabledBg : enabledBg;\n const border = `border ${readonly ? 'border-dashed border-contrast-30' : 'border-transparent'}`;\n\n return html`\n <label class=\"group flex items-center ${disabled || readonly ? '' : 'cursor-pointer'}\">\n <div class=\"item flex items-center justify-center flex-shrink-0 text-primary-contrast\">\n <div class=\"check rounded-s ${border} ${ease} ${bg} focus-within-shadow-outline\">\n <iron-icon icon=\"lumo:checkmark\" class=\"block w-full h-full ${dot}\"></iron-icon>\n <input type=\"checkbox\" class=\"sr-only\" .checked=${checked} ...=${attrs} />\n </div>\n </div>\n <div class=\"font-lumo leading-m ${color}\">${label}</div>\n </label>\n `;\n}\n\nexport class Choice extends Translatable {\n public static get scopedElements(): ScopedElementsMap {\n return {\n 'vaadin-integer-field': customElements.get('vaadin-integer-field'),\n 'vaadin-text-field': customElements.get('vaadin-text-field'),\n 'x-frequency-input': FrequencyInput,\n 'vaadin-text-area': customElements.get('vaadin-text-area'),\n 'iron-icon': customElements.get('iron-icon'),\n };\n }\n\n public static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n :host {\n --item-width: calc((var(--lumo-space-m) * 2) + 1.25rem);\n }\n .ml-xxl {\n margin-left: var(--item-width);\n }\n .item {\n height: var(--lumo-size-l);\n width: var(--item-width);\n }\n .radio {\n height: 1.25rem;\n width: 1.25rem;\n }\n .check {\n height: 1.125rem;\n width: 1.125rem;\n }\n .dot {\n height: 0.5rem;\n width: 0.5rem;\n }\n `,\n ];\n }\n\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n defaultCustomValue: { type: String, attribute: 'default-custom-value' },\n disabled: { type: Boolean },\n readonly: { type: Boolean },\n custom: { type: Boolean },\n type: { type: String },\n min: { type: Number },\n max: { type: Number },\n value: { type: Array },\n items: { type: Array },\n getText: { attribute: false },\n };\n }\n\n public getText: (value: string) => string = v => v;\n\n private __service = interpret(machine)\n .onChange(() => this.requestUpdate())\n .onTransition(({ changed }) => changed && this.requestUpdate())\n .start();\n\n public get defaultCustomValue(): string {\n return this.__service.state.context.defaultCustomValue;\n }\n\n public set defaultCustomValue(data: string) {\n this.__service.send('SET_DEFAULT_CUSTOM_VALUE', { data });\n }\n\n public get readonly(): boolean {\n return this.__service.state.matches('mutability.readonly');\n }\n\n public set readonly(data: boolean) {\n this.__service.send('SET_READONLY', { data });\n }\n\n public get disabled(): boolean {\n return this.__service.state.matches('interactivity.disabled');\n }\n\n public set disabled(data: boolean) {\n this.__service.send('SET_DISABLED', { data });\n }\n\n public get custom(): boolean {\n return this.__service.state.matches('extension.present');\n }\n\n public set custom(data: boolean) {\n this.__service.send('SET_CUSTOM', { data });\n }\n\n public get type(): 'text' | 'textarea' | 'integer' | 'frequency' {\n return this.__service.state.context.type;\n }\n\n public set type(data: 'text' | 'textarea' | 'integer' | 'frequency') {\n this.__service.send('SET_TYPE', { data });\n }\n\n public get min(): number | null {\n return this.__service.state.context.min;\n }\n\n public set min(data: number | null) {\n this.__service.send('SET_MIN', { data });\n }\n\n public get max(): number | null {\n return this.__service.state.context.max;\n }\n\n public set max(data: number | null) {\n this.__service.send('SET_MAX', { data });\n }\n\n public get value(): null | string | string[] {\n return this.__service.state.context.value;\n }\n\n public set value(data: null | string | string[]) {\n this.__service.send('SET_VALUE', { data });\n }\n\n public get items(): string[] {\n return this.__service.state.context.items;\n }\n\n public set items(data: string[]) {\n this.__service.send('SET_ITEMS', { data });\n }\n\n public render(): TemplateResult {\n const items = this.custom ? [...this.items, VALUE_OTHER] : this.items;\n const multiple = Array.isArray(this.value);\n const otherChecked = this.__service.state.matches('extension.present.selected');\n\n const children = html`\n ${items.map((item, index, array) => {\n const other = this.custom && index === array.length - 1;\n const checked = other\n ? otherChecked\n : multiple\n ? !!this.value?.includes(item)\n : item === String(this.value);\n const disabled = this.disabled || !this._isI18nReady;\n const attributes = spread({\n 'value': other ? VALUE_OTHER : item,\n 'name': multiple ? item : 'choice',\n 'data-testid': `item-${item}`,\n '?disabled': disabled,\n '@change': (evt: Event) => {\n if (this.readonly) return evt.preventDefault();\n\n const checked = (evt.target as HTMLInputElement).checked;\n const newItem = item === VALUE_OTHER ? this.defaultCustomValue : item;\n const value = this.value;\n\n if (Array.isArray(value)) {\n if (item === VALUE_OTHER) {\n this.value = checked ? [...value, newItem] : value.slice(0, value.length - 1);\n } else {\n this.value = checked ? [newItem, ...value] : value.filter(v => v !== newItem);\n }\n } else {\n this.value = checked ? newItem : null;\n }\n\n this.dispatchEvent(new ChoiceChangeEvent(this.value));\n },\n });\n const label = html`\n <div>\n ${item === VALUE_OTHER\n ? this._t('choice.other').toString()\n : html`<slot name=${`${item}-label`}>${this.getText(item)}</slot>`}\n </div>\n `;\n return html`\n <div class=\"ml-xxl border-t border-contrast-10 ${index ? '' : 'hidden'}\"></div>\n ${multiple\n ? check(this.readonly, disabled, checked, attributes, label)\n : radio(this.readonly, disabled, checked, attributes, label)}\n <div class=\"mr-m ml-xxl\">\n ${item === VALUE_OTHER && otherChecked ? this.__field : ''}\n ${item !== VALUE_OTHER ? html`<slot name=${item}></slot>` : ''}\n </div>\n `;\n })}\n `;\n\n return html`<form>${children}</form> `;\n }\n\n private get __field() {\n const handleInput = (evt: Event) => {\n evt.stopPropagation();\n const customValue = (evt.target as HTMLInputElement).value;\n\n if (Array.isArray(this.value)) {\n this.value = this.value.slice(0, this.value.length - 1).concat(customValue);\n } else {\n this.value = customValue;\n }\n\n this.dispatchEvent(new ChoiceChangeEvent(this.value));\n };\n\n const attributes = spread({\n 'placeholder': this._t('choice.other').toString(),\n 'class': 'w-full mb-m',\n 'value': this.__service.state.context.customValue,\n 'max': this.max,\n 'min': this.min,\n '?disabled': this.disabled,\n '?readonly': this.readonly,\n 'data-testid': 'field',\n '@change': handleInput,\n });\n\n if (this.type === 'frequency') {\n return html`<x-frequency-input ...=${attributes}></x-frequency-input>`;\n } else if (this.type === 'integer') {\n return html`<vaadin-integer-field ...=${attributes} has-controls></vaadin-integer-field>`;\n } else if (this.type === 'textarea') {\n return html`<vaadin-text-area ...=${attributes}></vaadin-text-area>`;\n } else {\n return html`<vaadin-text-field ...=${attributes}></vaadin-text-field>`;\n }\n }\n}\n"]}
@@ -15,7 +15,7 @@ export class Group extends LitElement {
15
15
  return Themeable.styles;
16
16
  }
17
17
  render() {
18
- const frameClass = 'border border-contrast-10';
18
+ const frameClass = 'border border-contrast-10 overflow-hidden';
19
19
  return html `
20
20
  <section class="space-y-s font-lumo antialiased">
21
21
  <h3 class=${`text-s font-medium text-secondary leading-none ${this.frame ? '' : 'pl-m'}`}>
@@ -1 +1 @@
1
- {"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../../src/elements/private/Group/Group.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAGV,IAAI,GACL,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,qCAAkC;AAEtD,MAAM,OAAO,KAAM,SAAQ,UAAU;IAArC;;QAYS,UAAK,GAAG,KAAK,CAAC;IAiBvB,CAAC;IA5BQ,MAAM,KAAK,UAAU;QAC1B,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SACzB,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,MAAM;QACtB,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IAIM,MAAM;QACX,MAAM,UAAU,GAAG,2BAA2B,CAAC;QAE/C,OAAO,IAAI,CAAA;;oBAEK,kDAAkD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;;;;8CAIlD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;;;;KAIrE,CAAC;IACJ,CAAC;CACF","sourcesContent":["import {\n CSSResult,\n CSSResultArray,\n LitElement,\n PropertyDeclarations,\n TemplateResult,\n html,\n} from 'lit-element';\n\nimport { Themeable } from '../../../mixins/themeable';\n\nexport class Group extends LitElement {\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n frame: { type: Boolean },\n };\n }\n\n public static get styles(): CSSResult | CSSResultArray {\n return Themeable.styles;\n }\n\n public frame = false;\n\n public render(): TemplateResult {\n const frameClass = 'border border-contrast-10';\n\n return html`\n <section class=\"space-y-s font-lumo antialiased\">\n <h3 class=${`text-s font-medium text-secondary leading-none ${this.frame ? '' : 'pl-m'}`}>\n <slot name=\"header\"></slot>\n </h3>\n\n <div class=\"rounded-t-l rounded-b-l ${this.frame ? frameClass : ''}\">\n <slot></slot>\n </div>\n </section>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../../src/elements/private/Group/Group.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAGV,IAAI,GACL,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,qCAAkC;AAEtD,MAAM,OAAO,KAAM,SAAQ,UAAU;IAArC;;QAYS,UAAK,GAAG,KAAK,CAAC;IAiBvB,CAAC;IA5BQ,MAAM,KAAK,UAAU;QAC1B,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SACzB,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,MAAM;QACtB,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IAIM,MAAM;QACX,MAAM,UAAU,GAAG,2CAA2C,CAAC;QAE/D,OAAO,IAAI,CAAA;;oBAEK,kDAAkD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;;;;8CAIlD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;;;;KAIrE,CAAC;IACJ,CAAC;CACF","sourcesContent":["import {\n CSSResult,\n CSSResultArray,\n LitElement,\n PropertyDeclarations,\n TemplateResult,\n html,\n} from 'lit-element';\n\nimport { Themeable } from '../../../mixins/themeable';\n\nexport class Group extends LitElement {\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n frame: { type: Boolean },\n };\n }\n\n public static get styles(): CSSResult | CSSResultArray {\n return Themeable.styles;\n }\n\n public frame = false;\n\n public render(): TemplateResult {\n const frameClass = 'border border-contrast-10 overflow-hidden';\n\n return html`\n <section class=\"space-y-s font-lumo antialiased\">\n <h3 class=${`text-s font-medium text-secondary leading-none ${this.frame ? '' : 'pl-m'}`}>\n <slot name=\"header\"></slot>\n </h3>\n\n <div class=\"rounded-t-l rounded-b-l ${this.frame ? frameClass : ''}\">\n <slot></slot>\n </div>\n </section>\n `;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { css, html, } from 'lit-element';
1
+ import { css, html } from 'lit-element';
2
2
  import { Translatable } from "../../../mixins/translatable.js";
3
3
  import { Skeleton } from "../Skeleton/Skeleton.js";
4
4
  export class I18N extends Translatable {
@@ -1 +1 @@
1
- {"version":3,"file":"I18N.js","sourceRoot":"","sources":["../../../../src/elements/private/I18N/I18N.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,GAAG,EAEH,IAAI,GAIL,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,wCAAqC;AAC5D,OAAO,EAAE,QAAQ,EAAE,gCAA6B;AAKhD,MAAM,OAAO,IAAK,SAAQ,YAAY;IAAtC;;QA0BS,QAAG,GAAG,EAAE,CAAC;IAelB,CAAC;IAxCQ,MAAM,KAAK,cAAc;QAC9B,OAAO;YACL,YAAY,EAAE,QAAQ;SACvB,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,UAAU;QAC1B,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;YACpC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACvB,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,MAAM;QACtB,OAAO;YACL,KAAK,CAAC,MAAM;YACZ,GAAG;;;OAIF;SACF,CAAC;IACJ,CAAC;IAMD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,cAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,IAAI,CAAA,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;SAC3D;aAAM;YACL,OAAO,IAAI,CAAA,6BAA6B,IAAI,CAAC,GAAG,4BAA4B,CAAC;SAC9E;IACH,CAAC;CACF","sourcesContent":["import { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport { TOptions } from 'i18next';\nimport {\n css,\n CSSResultArray,\n html,\n property,\n TemplateResult,\n PropertyDeclarations,\n} from 'lit-element';\nimport { Translatable } from '../../../mixins/translatable';\nimport { Skeleton } from '../Skeleton/Skeleton';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type I18NOptions = TOptions<any>;\n\nexport class I18N extends Translatable {\n public static get scopedElements(): ScopedElementsMap {\n return {\n 'x-skeleton': Skeleton,\n };\n }\n\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n key: { type: String, reflect: true },\n opts: { type: Object },\n };\n }\n\n public static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n :host {\n display: inline-block;\n }\n `,\n ];\n }\n\n public key = '';\n\n public opts?: I18NOptions;\n\n public get whenReady(): Promise<unknown> {\n return this._whenI18nReady!.then(() => this.updateComplete);\n }\n\n public render(): TemplateResult {\n if (this._isI18nReady) {\n return html`${this._t(this.key, this.opts)}<slot></slot>`;\n } else {\n return html`<x-skeleton class=\"block\">${this.key}<slot></slot></x-skeleton>`;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"I18N.js","sourceRoot":"","sources":["../../../../src/elements/private/I18N/I18N.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAkB,IAAI,EAAwC,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,wCAAqC;AAC5D,OAAO,EAAE,QAAQ,EAAE,gCAA6B;AAKhD,MAAM,OAAO,IAAK,SAAQ,YAAY;IAAtC;;QA0BS,QAAG,GAAG,EAAE,CAAC;IAelB,CAAC;IAxCQ,MAAM,KAAK,cAAc;QAC9B,OAAO;YACL,YAAY,EAAE,QAAQ;SACvB,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,UAAU;QAC1B,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;YACpC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACvB,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,MAAM;QACtB,OAAO;YACL,KAAK,CAAC,MAAM;YACZ,GAAG;;;OAIF;SACF,CAAC;IACJ,CAAC;IAMD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,cAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,IAAI,CAAA,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;SAC3D;aAAM;YACL,OAAO,IAAI,CAAA,6BAA6B,IAAI,CAAC,GAAG,4BAA4B,CAAC;SAC9E;IACH,CAAC;CACF","sourcesContent":["import { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport { TOptions } from 'i18next';\nimport { css, CSSResultArray, html, TemplateResult, PropertyDeclarations } from 'lit-element';\nimport { Translatable } from '../../../mixins/translatable';\nimport { Skeleton } from '../Skeleton/Skeleton';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type I18NOptions = TOptions<any>;\n\nexport class I18N extends Translatable {\n public static get scopedElements(): ScopedElementsMap {\n return {\n 'x-skeleton': Skeleton,\n };\n }\n\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n key: { type: String, reflect: true },\n opts: { type: Object },\n };\n }\n\n public static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n :host {\n display: inline-block;\n }\n `,\n ];\n }\n\n public key = '';\n\n public opts?: I18NOptions;\n\n public get whenReady(): Promise<unknown> {\n return this._whenI18nReady!.then(() => this.updateComplete);\n }\n\n public render(): TemplateResult {\n if (this._isI18nReady) {\n return html`${this._t(this.key, this.opts)}<slot></slot>`;\n } else {\n return html`<x-skeleton class=\"block\">${this.key}<slot></slot></x-skeleton>`;\n }\n }\n}\n"]}
@@ -136,10 +136,14 @@ export class AddressForm extends Base {
136
136
  `;
137
137
  };
138
138
  this.__renderTimestamps = () => {
139
- const items = ['date_modified', 'date_created'].map(field => ({
140
- name: this.t(field),
141
- value: this.data ? this.t('date', { value: new Date(this.data[field]) }) : '',
142
- }));
139
+ const items = ['date_modified', 'date_created'].map(field => {
140
+ var _a;
141
+ return ({
142
+ name: this.t(field),
143
+ value: ((_a = this.data) === null || _a === void 0 ? void 0 : _a[field]) ? this.t('date', { value: new Date(this.data[field]) })
144
+ : '',
145
+ });
146
+ });
143
147
  return html `
144
148
  <div>
145
149
  ${this.renderTemplateOrSlot('timestamps:before')}