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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +5 -5
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  5. package/dist/cdn/foxy-admin-subscription-form.js +1 -0
  6. package/dist/cdn/foxy-api-browser.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  8. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  9. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-card.js +1 -1
  11. package/dist/cdn/foxy-attribute-form.js +1 -1
  12. package/dist/cdn/foxy-billing-address-card.js +1 -1
  13. package/dist/cdn/foxy-cancellation-form.js +1 -1
  14. package/dist/cdn/foxy-cart-card.js +1 -1
  15. package/dist/cdn/foxy-cart-form.js +57 -1
  16. package/dist/cdn/foxy-client-card.js +1 -1
  17. package/dist/cdn/foxy-client-form.js +1 -1
  18. package/dist/cdn/foxy-collection-page.js +1 -1
  19. package/dist/cdn/foxy-collection-pages.js +1 -1
  20. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  21. package/dist/cdn/foxy-coupon-card.js +1 -1
  22. package/dist/cdn/foxy-coupon-code-card.js +1 -1
  23. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  24. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  25. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  26. package/dist/cdn/foxy-coupon-form.js +1 -1
  27. package/dist/cdn/foxy-custom-field-card.js +1 -1
  28. package/dist/cdn/foxy-custom-field-form.js +1 -1
  29. package/dist/cdn/foxy-customer-api.js +1 -1
  30. package/dist/cdn/foxy-customer-card.js +1 -1
  31. package/dist/cdn/foxy-customer-form.js +1 -1
  32. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  33. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  34. package/dist/cdn/foxy-customer-portal.js +2 -2
  35. package/dist/cdn/foxy-customer.js +4 -4
  36. package/dist/cdn/foxy-customers-table.js +1 -1
  37. package/dist/cdn/foxy-discount-builder.js +1 -1
  38. package/dist/cdn/foxy-discount-card.js +1 -1
  39. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  40. package/dist/cdn/foxy-donation.js +1 -1
  41. package/dist/cdn/foxy-downloadable-card.js +1 -1
  42. package/dist/cdn/foxy-downloadable-form.js +1 -1
  43. package/dist/cdn/foxy-email-template-card.js +1 -1
  44. package/dist/cdn/foxy-email-template-form.js +1 -1
  45. package/dist/cdn/foxy-error-entry-card.js +1 -1
  46. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  47. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  48. package/dist/cdn/foxy-form-dialog.js +1 -1
  49. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  50. package/dist/cdn/foxy-gift-card-card.js +1 -1
  51. package/dist/cdn/foxy-gift-card-code-card.js +1 -1
  52. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  53. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  54. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  55. package/dist/cdn/foxy-gift-card-form.js +1 -1
  56. package/dist/cdn/foxy-i18n-editor.js +2 -2
  57. package/dist/cdn/foxy-i18n.js +1 -1
  58. package/dist/cdn/foxy-integration-card.js +1 -1
  59. package/dist/cdn/foxy-integration-form.js +1 -1
  60. package/dist/cdn/foxy-item-card.js +1 -1
  61. package/dist/cdn/foxy-item-category-card.js +1 -1
  62. package/dist/cdn/foxy-item-category-form.js +1 -1
  63. package/dist/cdn/foxy-item-form.js +3 -3
  64. package/dist/cdn/foxy-item-option-card.js +1 -1
  65. package/dist/cdn/foxy-item-option-form.js +1 -1
  66. package/dist/cdn/foxy-items-form.js +1 -1
  67. package/dist/cdn/foxy-native-integration-card.js +1 -1
  68. package/dist/cdn/foxy-native-integration-form.js +1 -1
  69. package/dist/cdn/foxy-nucleon-element.js +1 -1
  70. package/dist/cdn/foxy-pagination.js +1 -1
  71. package/dist/cdn/foxy-passkey-card.js +1 -1
  72. package/dist/cdn/foxy-passkey-form.js +1 -1
  73. package/dist/cdn/foxy-payment-card-embed.js +1 -1
  74. package/dist/cdn/foxy-payment-card.js +1 -1
  75. package/dist/cdn/foxy-payment-method-card.js +1 -1
  76. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  77. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  78. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  80. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  81. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  82. package/dist/cdn/foxy-payments-api.js +1 -1
  83. package/dist/cdn/foxy-query-builder.js +1 -1
  84. package/dist/cdn/foxy-report-form.js +2 -2
  85. package/dist/cdn/foxy-reports-table.js +5 -5
  86. package/dist/cdn/foxy-shipment-card.js +1 -1
  87. package/dist/cdn/foxy-shipping-container-card.js +1 -1
  88. package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
  89. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  90. package/dist/cdn/foxy-shipping-service-card.js +1 -1
  91. package/dist/cdn/foxy-sign-in-form.js +1 -1
  92. package/dist/cdn/foxy-spinner.js +2 -2
  93. package/dist/cdn/foxy-store-card.js +1 -1
  94. package/dist/cdn/foxy-store-form.js +1 -1
  95. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  96. package/dist/cdn/foxy-subscription-card.js +1 -1
  97. package/dist/cdn/foxy-subscription-form.js +1 -1
  98. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  99. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  100. package/dist/cdn/foxy-table.js +1 -1
  101. package/dist/cdn/foxy-tax-card.js +1 -1
  102. package/dist/cdn/foxy-tax-form.js +1 -1
  103. package/dist/cdn/foxy-template-config-form.js +1 -1
  104. package/dist/cdn/foxy-template-form.js +1 -1
  105. package/dist/cdn/foxy-template-set-card.js +1 -1
  106. package/dist/cdn/foxy-template-set-form.js +1 -1
  107. package/dist/cdn/foxy-transaction-card.js +1 -1
  108. package/dist/cdn/foxy-transaction.js +1 -1
  109. package/dist/cdn/foxy-transactions-table.js +7 -7
  110. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  111. package/dist/cdn/foxy-user-card.js +1 -1
  112. package/dist/cdn/foxy-user-form.js +1 -1
  113. package/dist/cdn/foxy-users-table.js +1 -1
  114. package/dist/cdn/foxy-webhook-card.js +1 -1
  115. package/dist/cdn/foxy-webhook-form.js +1 -1
  116. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  117. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  118. package/dist/cdn/{shared-c2128988.js → shared-01b2cad8.js} +1 -1
  119. package/dist/cdn/{shared-fad783a0.js → shared-021c7a22.js} +1 -1
  120. package/dist/cdn/{shared-f2335b72.js → shared-075796e2.js} +2 -2
  121. package/dist/cdn/{shared-fee535ca.js → shared-0b01f721.js} +1 -1
  122. package/dist/cdn/{shared-701157ac.js → shared-0f6e4584.js} +1 -1
  123. package/dist/cdn/{shared-414a0c9b.js → shared-10325cda.js} +1 -1
  124. package/dist/cdn/{shared-9f44b81f.js → shared-10b5e78f.js} +1 -1
  125. package/dist/cdn/{shared-042969fe.js → shared-12a7a15d.js} +1 -1
  126. package/dist/cdn/{shared-9ee719e6.js → shared-12ac8cc6.js} +1 -1
  127. package/dist/cdn/{shared-57e4bcb0.js → shared-1cf1e1a4.js} +1 -1
  128. package/dist/cdn/{shared-7004839c.js → shared-2099544a.js} +2 -2
  129. package/dist/cdn/{shared-cbeb8587.js → shared-24d71d01.js} +1 -1
  130. package/dist/cdn/shared-292ba15e.js +1 -0
  131. package/dist/cdn/{shared-850e441a.js → shared-2a71795e.js} +1 -1
  132. package/dist/cdn/{shared-c0e56e97.js → shared-2d723710.js} +1 -1
  133. package/dist/cdn/{shared-58095d4b.js → shared-2fc671cd.js} +1 -1
  134. package/dist/cdn/{shared-cfdd6c21.js → shared-30221a16.js} +1 -1
  135. package/dist/cdn/{shared-e4cc1191.js → shared-303b428e.js} +1 -1
  136. package/dist/cdn/{shared-44b101d0.js → shared-339bbd50.js} +1 -1
  137. package/dist/cdn/{shared-cf9c48f9.js → shared-39a33102.js} +1 -1
  138. package/dist/cdn/{shared-0ed41a9e.js → shared-3e03c988.js} +1 -1
  139. package/dist/cdn/{shared-66084f2e.js → shared-3fa791ca.js} +1 -1
  140. package/dist/cdn/{shared-a28c9952.js → shared-4993a79d.js} +1 -1
  141. package/dist/cdn/shared-4c2d43e6.js +1 -0
  142. package/dist/cdn/{shared-ecec6a10.js → shared-522a172d.js} +1 -1
  143. package/dist/cdn/{shared-f300193c.js → shared-558bc894.js} +1 -1
  144. package/dist/cdn/{shared-b44cf5a9.js → shared-5c05ac06.js} +1 -1
  145. package/dist/cdn/shared-61f4e91a.js +1 -0
  146. package/dist/cdn/{shared-ec696e1b.js → shared-634b670e.js} +1 -1
  147. package/dist/cdn/{shared-25c57c74.js → shared-644ee296.js} +1 -1
  148. package/dist/cdn/shared-6474675f.js +1 -0
  149. package/dist/cdn/{shared-24586cfb.js → shared-6a4e81ad.js} +1 -1
  150. package/dist/cdn/{shared-bb35ee61.js → shared-6ac0d05e.js} +1 -1
  151. package/dist/cdn/{shared-7063f5af.js → shared-6d645dc5.js} +1 -1
  152. package/dist/cdn/shared-6e355777.js +1 -0
  153. package/dist/cdn/shared-7026fb08.js +1 -0
  154. package/dist/cdn/shared-70a5fad6.js +1 -0
  155. package/dist/cdn/{shared-a79dbeb9.js → shared-72c61f43.js} +1 -1
  156. package/dist/cdn/{shared-484b31eb.js → shared-72f41a65.js} +1 -1
  157. package/dist/cdn/shared-77051754.js +1 -0
  158. package/dist/cdn/{shared-789e3185.js → shared-77c4acdd.js} +1 -1
  159. package/dist/cdn/{shared-1708eb3c.js → shared-797ba64a.js} +1 -1
  160. package/dist/cdn/shared-7b8ad9c1.js +1 -0
  161. package/dist/cdn/shared-7ce91c80.js +1 -0
  162. package/dist/cdn/{shared-b3681c71.js → shared-7fd9a30f.js} +1 -1
  163. package/dist/cdn/{shared-ba5c9c0b.js → shared-81d3a9ae.js} +1 -1
  164. package/dist/cdn/{shared-80b9cb48.js → shared-876a4341.js} +1 -1
  165. package/dist/cdn/shared-8c1df97c.js +1 -0
  166. package/dist/cdn/{shared-add044d3.js → shared-8f7a31e0.js} +2 -2
  167. package/dist/cdn/{shared-49d678ad.js → shared-91f5e0b3.js} +1 -1
  168. package/dist/cdn/{shared-059680a0.js → shared-9a90a24e.js} +1 -1
  169. package/dist/cdn/shared-9db46672.js +1 -0
  170. package/dist/cdn/{shared-23061fb2.js → shared-a036e345.js} +1 -1
  171. package/dist/cdn/{shared-baaa1e47.js → shared-a159ccff.js} +1 -1
  172. package/dist/cdn/shared-a6273e4a.js +1 -0
  173. package/dist/cdn/{shared-f91d5706.js → shared-abea5e34.js} +1 -1
  174. package/dist/cdn/{shared-ae200b9f.js → shared-acdcae7e.js} +1 -1
  175. package/dist/cdn/{shared-80c6f97e.js → shared-aefac46b.js} +1 -1
  176. package/dist/cdn/{shared-fd410dee.js → shared-b6814728.js} +2 -2
  177. package/dist/cdn/{shared-293f9c07.js → shared-b731dfc5.js} +1 -1
  178. package/dist/cdn/{shared-2782886e.js → shared-b98b8d02.js} +1 -1
  179. package/dist/cdn/{shared-32cac4bd.js → shared-bdd4fbbb.js} +3 -3
  180. package/dist/cdn/shared-c286c5ad.js +1 -0
  181. package/dist/cdn/shared-cbb0e610.js +1 -0
  182. package/dist/cdn/{shared-4761504a.js → shared-cc79152c.js} +1 -1
  183. package/dist/cdn/{shared-2e6bda84.js → shared-d464d078.js} +1 -1
  184. package/dist/cdn/shared-d4810405.js +1 -0
  185. package/dist/cdn/{shared-41d57c3b.js → shared-d6010c96.js} +1 -1
  186. package/dist/cdn/{shared-c4f5b03b.js → shared-df00a537.js} +1 -1
  187. package/dist/cdn/{shared-db108ddb.js → shared-e2a61f69.js} +1 -1
  188. package/dist/cdn/{shared-59d8b64e.js → shared-e5d37737.js} +1 -1
  189. package/dist/cdn/{shared-a4e0a78b.js → shared-e6e84ff5.js} +1 -1
  190. package/dist/cdn/{shared-fbfa45bb.js → shared-ee36b83f.js} +1 -1
  191. package/dist/cdn/{shared-6d1556a0.js → shared-f1d2b5bb.js} +1 -1
  192. package/dist/cdn/{shared-aac73acd.js → shared-f22f22ae.js} +1 -1
  193. package/dist/cdn/{shared-ae462b8e.js → shared-f5366dda.js} +1 -1
  194. package/dist/cdn/{shared-a5c48bf4.js → shared-f7a1193f.js} +1 -1
  195. package/dist/cdn/{shared-a05fe56c.js → shared-fa9e5c7f.js} +1 -1
  196. package/dist/cdn/{shared-a08d509a.js → shared-fb56178f.js} +1 -1
  197. package/dist/cdn/{shared-5c1e607b.js → shared-fe77f6f6.js} +1 -1
  198. package/dist/cdn/{shared-bba917bf.js → shared-ff63a551.js} +1 -1
  199. package/dist/cdn/{shared-4b209827.js → shared-ffd3690b.js} +1 -1
  200. package/dist/cdn/translations/address-form/en.json +3 -3
  201. package/dist/cdn/translations/admin-subscription-form/en.json +1840 -0
  202. package/dist/cdn/translations/api-browser/en.json +2 -5
  203. package/dist/cdn/translations/cart-form/en.json +598 -169
  204. package/dist/cdn/translations/customer/en.json +3 -3
  205. package/dist/cdn/translations/item-form/en.json +0 -1
  206. package/dist/cdn/translations/transaction/en.json +0 -1
  207. package/dist/elements/internal/InternalCalendar/InternalCalendar.js +2 -1
  208. package/dist/elements/internal/InternalCalendar/InternalCalendar.js.map +1 -1
  209. package/dist/elements/internal/InternalCard/InternalCard.js +1 -1
  210. package/dist/elements/internal/InternalCard/InternalCard.js.map +1 -1
  211. package/dist/elements/internal/InternalControl/InternalControl.d.ts +1 -0
  212. package/dist/elements/internal/InternalControl/InternalControl.js +10 -7
  213. package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
  214. package/dist/elements/internal/InternalDateControl/InternalDateControl.d.ts +4 -1
  215. package/dist/elements/internal/InternalDateControl/InternalDateControl.js +36 -3
  216. package/dist/elements/internal/InternalDateControl/InternalDateControl.js.map +1 -1
  217. package/dist/elements/internal/InternalDateControl/getMonthNames.d.ts +1 -0
  218. package/dist/elements/internal/InternalDateControl/getMonthNames.js +7 -0
  219. package/dist/elements/internal/InternalDateControl/getMonthNames.js.map +1 -0
  220. package/dist/elements/internal/InternalDateControl/getWeekdayLongNames.d.ts +1 -0
  221. package/dist/elements/internal/InternalDateControl/getWeekdayLongNames.js +8 -0
  222. package/dist/elements/internal/InternalDateControl/getWeekdayLongNames.js.map +1 -0
  223. package/dist/elements/internal/InternalDateControl/getWeekdayShortNames.d.ts +1 -0
  224. package/dist/elements/internal/InternalDateControl/getWeekdayShortNames.js +8 -0
  225. package/dist/elements/internal/InternalDateControl/getWeekdayShortNames.js.map +1 -0
  226. package/dist/elements/internal/InternalDateControl/index.d.ts +1 -0
  227. package/dist/elements/internal/InternalDateControl/index.js +1 -0
  228. package/dist/elements/internal/InternalDateControl/index.js.map +1 -1
  229. package/dist/elements/internal/InternalDateControl/vaadinStyles.d.ts +1 -0
  230. package/dist/elements/internal/InternalDateControl/vaadinStyles.js +73 -0
  231. package/dist/elements/internal/InternalDateControl/vaadinStyles.js.map +1 -0
  232. package/dist/elements/internal/InternalForm/InternalForm.d.ts +2 -0
  233. package/dist/elements/internal/InternalForm/InternalForm.js +26 -29
  234. package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
  235. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.d.ts +3 -0
  236. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +128 -1
  237. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
  238. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +4 -1
  239. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +93 -1
  240. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
  241. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.d.ts +11 -1
  242. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js +115 -20
  243. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js.map +1 -1
  244. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js +0 -4
  245. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js.map +1 -1
  246. package/dist/elements/internal/InternalResourcePickerControl/index.d.ts +2 -0
  247. package/dist/elements/internal/InternalResourcePickerControl/index.js +2 -0
  248. package/dist/elements/internal/InternalResourcePickerControl/index.js.map +1 -1
  249. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +4 -1
  250. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +70 -2
  251. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
  252. package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.d.ts +8 -0
  253. package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js +28 -0
  254. package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js.map +1 -0
  255. package/dist/elements/internal/InternalSummaryControl/index.d.ts +4 -0
  256. package/dist/elements/internal/InternalSummaryControl/index.js +6 -0
  257. package/dist/elements/internal/InternalSummaryControl/index.js.map +1 -0
  258. package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.d.ts +7 -0
  259. package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js +75 -0
  260. package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js.map +1 -0
  261. package/dist/elements/internal/InternalSwitchControl/index.d.ts +4 -0
  262. package/dist/elements/internal/InternalSwitchControl/index.js +6 -0
  263. package/dist/elements/internal/InternalSwitchControl/index.js.map +1 -0
  264. package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +4 -1
  265. package/dist/elements/internal/InternalTextControl/InternalTextControl.js +74 -1
  266. package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
  267. package/dist/elements/private/Dialog/Dialog.js +1 -1
  268. package/dist/elements/private/Dialog/Dialog.js.map +1 -1
  269. package/dist/elements/public/AddressForm/AddressForm.d.ts +1 -1
  270. package/dist/elements/public/AddressForm/AddressForm.js +5 -5
  271. package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
  272. package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.d.ts +14 -0
  273. package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js +109 -0
  274. package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js.map +1 -0
  275. package/dist/elements/public/AdminSubscriptionForm/index.d.ts +13 -0
  276. package/dist/elements/public/AdminSubscriptionForm/index.js +15 -0
  277. package/dist/elements/public/AdminSubscriptionForm/index.js.map +1 -0
  278. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/InternalAdminSubscriptionFormError.d.ts +5 -0
  279. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/InternalAdminSubscriptionFormError.js +17 -0
  280. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/InternalAdminSubscriptionFormError.js.map +1 -0
  281. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/index.d.ts +3 -0
  282. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/index.js +5 -0
  283. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/index.js.map +1 -0
  284. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/InternalAdminSubscriptionFormLoadInCartAction.d.ts +8 -0
  285. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/InternalAdminSubscriptionFormLoadInCartAction.js +40 -0
  286. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/InternalAdminSubscriptionFormLoadInCartAction.js.map +1 -0
  287. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/index.d.ts +4 -0
  288. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/index.js +6 -0
  289. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/index.js.map +1 -0
  290. package/dist/elements/public/AdminSubscriptionForm/types.d.ts +5 -0
  291. package/dist/elements/public/AdminSubscriptionForm/types.js +2 -0
  292. package/dist/elements/public/AdminSubscriptionForm/types.js.map +1 -0
  293. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js +4 -1
  294. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js.map +1 -1
  295. package/dist/elements/public/AttributeCard/AttributeCard.js +3 -4
  296. package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
  297. package/dist/elements/public/CartForm/CartForm.d.ts +18 -35
  298. package/dist/elements/public/CartForm/CartForm.js +265 -501
  299. package/dist/elements/public/CartForm/CartForm.js.map +1 -1
  300. package/dist/elements/public/CartForm/index.d.ts +10 -5
  301. package/dist/elements/public/CartForm/index.js +10 -5
  302. package/dist/elements/public/CartForm/index.js.map +1 -1
  303. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.d.ts +33 -0
  304. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.js +293 -0
  305. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.js.map +1 -0
  306. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.d.ts +7 -0
  307. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.js +9 -0
  308. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.js.map +1 -0
  309. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.d.ts +1 -0
  310. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.js +58 -0
  311. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.js.map +1 -0
  312. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.d.ts +11 -0
  313. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.js +2 -0
  314. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.js.map +1 -0
  315. package/dist/elements/public/CartForm/internal/{InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.d.ts → InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.d.ts} +1 -1
  316. package/dist/elements/public/CartForm/internal/{InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js → InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.js} +5 -5
  317. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.js.map +1 -0
  318. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.d.ts +4 -0
  319. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.js +6 -0
  320. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.js.map +1 -0
  321. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.d.ts +6 -0
  322. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.js +35 -0
  323. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.js.map +1 -0
  324. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.d.ts +4 -0
  325. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.js +6 -0
  326. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.js.map +1 -0
  327. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/types.d.ts +5 -0
  328. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/types.js +2 -0
  329. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/types.js.map +1 -0
  330. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.d.ts +13 -0
  331. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.js +68 -0
  332. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.js.map +1 -0
  333. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.d.ts +6 -0
  334. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.js +8 -0
  335. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.js.map +1 -0
  336. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.d.ts +5 -0
  337. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.js +2 -0
  338. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.js.map +1 -0
  339. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.d.ts +9 -0
  340. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.js +91 -0
  341. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.js.map +1 -0
  342. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.d.ts +5 -0
  343. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.js +7 -0
  344. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.js.map +1 -0
  345. package/dist/elements/public/CartForm/types.d.ts +11 -1
  346. package/dist/elements/public/CartForm/types.js.map +1 -1
  347. package/dist/elements/public/CustomFieldCard/TwoLineCard.js +1 -1
  348. package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
  349. package/dist/elements/public/FormDialog/FormDialog.d.ts +2 -0
  350. package/dist/elements/public/FormDialog/FormDialog.js +9 -6
  351. package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
  352. package/dist/elements/public/index.d.ts +1 -0
  353. package/dist/elements/public/index.defined.d.ts +1 -0
  354. package/dist/elements/public/index.defined.js +1 -0
  355. package/dist/elements/public/index.defined.js.map +1 -1
  356. package/dist/elements/public/index.js +1 -0
  357. package/dist/elements/public/index.js.map +1 -1
  358. package/dist/mixins/themeable.js +18 -6
  359. package/dist/mixins/themeable.js.map +1 -1
  360. package/package.json +1 -1
  361. package/dist/cdn/shared-004fc193.js +0 -1
  362. package/dist/cdn/shared-08d018f5.js +0 -1
  363. package/dist/cdn/shared-0da6e42c.js +0 -1
  364. package/dist/cdn/shared-0e038fda.js +0 -1
  365. package/dist/cdn/shared-1d8edd03.js +0 -1
  366. package/dist/cdn/shared-365c8437.js +0 -1
  367. package/dist/cdn/shared-421708b0.js +0 -1
  368. package/dist/cdn/shared-57266e2a.js +0 -1
  369. package/dist/cdn/shared-5cb6aca6.js +0 -1
  370. package/dist/cdn/shared-6740ee7a.js +0 -1
  371. package/dist/cdn/shared-7af96c0a.js +0 -1
  372. package/dist/cdn/shared-824d0804.js +0 -1
  373. package/dist/cdn/shared-8f0251e9.js +0 -1
  374. package/dist/cdn/shared-b42c6fe3.js +0 -1
  375. package/dist/cdn/shared-b6376c8f.js +0 -1
  376. package/dist/cdn/shared-d82f9e35.js +0 -1
  377. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js.map +0 -1
  378. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.d.ts +0 -4
  379. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js +0 -6
  380. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js.map +0 -1
@@ -28,11 +28,11 @@
28
28
  },
29
29
  "address-form": {
30
30
  "header": {
31
+ "title_default_shipping": "Default shipping address",
32
+ "title_default_billing": "Default billing address",
31
33
  "title_existing": "Customer address #{{ id }}",
32
34
  "title_new": "New customer address",
33
- "subtitle_default_shipping": "Default shipping address",
34
- "subtitle_default_billing": "Default billing address",
35
- "subtitle_custom": "Custom address",
35
+ "subtitle": "",
36
36
  "copy-id": {
37
37
  "failed_to_copy": "Failed to copy",
38
38
  "click_to_copy": "Copy ID",
@@ -42,7 +42,6 @@
42
42
  },
43
43
  "subscription-frequency": {
44
44
  "label": "Subscription frequency",
45
- "helper_text": "",
46
45
  "day": "Day",
47
46
  "day_plural": "Days",
48
47
  "week": "Week",
@@ -138,7 +138,6 @@
138
138
  },
139
139
  "subscription-frequency": {
140
140
  "label": "Subscription frequency",
141
- "helper_text": "",
142
141
  "day": "Day",
143
142
  "day_plural": "Days",
144
143
  "week": "Week",
@@ -130,7 +130,8 @@ export class InternalCalendar extends ThemeableMixin(LitElement) {
130
130
  return html `
131
131
  <label
132
132
  class=${classMap({
133
- 'font-tnum select-none relative flex h-m items-center justify-center rounded': true,
133
+ 'relative flex w-m h-m items-center justify-center rounded-s': true,
134
+ 'font-tnum text-l select-none leading-none': true,
134
135
  'cursor-pointer focus-within-ring-2 focus-within-ring-primary-50': !disabled,
135
136
  'bg-contrast-5 hover-bg-contrast-10': !checked && !disabled,
136
137
  'bg-primary text-primary-contrast': checked && !disabled,
@@ -1 +1 @@
1
- {"version":3,"file":"InternalCalendar.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalCalendar/InternalCalendar.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyDeclarations, TemplateResult, html } from 'lit-element';\n\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { classMap } from '../../../utils/class-map';\nimport { parseDate } from '../../../utils/parse-date';\nimport { serializeDate } from '../../../utils/serialize-date';\n\nexport class InternalCalendar extends ThemeableMixin(LitElement) {\n static get properties(): PropertyDeclarations {\n return {\n checkAvailability: { attribute: false },\n readonly: { type: Boolean, reflect: true },\n disabled: { type: Boolean, reflect: true },\n value: { type: String },\n start: { type: String },\n lang: { type: String },\n };\n }\n\n checkAvailability: (date: Date) => boolean = () => true;\n\n readonly = false;\n\n disabled = false;\n\n value = '';\n\n start = '';\n\n lang = '';\n\n render(): TemplateResult {\n const thisMonth = new Date(this.__startAsDate ?? this.__valueAsDate ?? Date.now());\n const prevMonth = new Date(thisMonth);\n const nextMonth = new Date(thisMonth);\n const lang = this.lang || navigator.language;\n\n prevMonth.setMonth(prevMonth.getMonth() - 1);\n nextMonth.setMonth(nextMonth.getMonth() + 1);\n\n return html`\n <div class=\"text-m text-body font-lumo leading-m\">\n <div class=\"grid p-xs\" style=\"grid-template: auto / max-content auto max-content\">\n <vaadin-button\n data-testid=\"prev\"\n aria-label=${prevMonth.toLocaleString(lang, { year: 'numeric', month: 'long' })}\n theme=\"icon tertiary\"\n class=\"px-xs\"\n ?disabled=${this.disabled}\n @click=${this.__handlePrevButtonClick}\n >\n <iron-icon icon=\"icons:chevron-left\"></iron-icon>\n </vaadin-button>\n\n <span\n data-testid=\"month\"\n class=${classMap({\n 'text-center self-center font-medium': true,\n 'text-disabled': this.disabled,\n })}\n >\n ${thisMonth.toLocaleDateString(lang, { month: 'long', year: 'numeric' })}\n </span>\n\n <vaadin-button\n data-testid=\"next\"\n aria-label=${nextMonth.toLocaleString(lang, { year: 'numeric', month: 'long' })}\n theme=\"icon tertiary\"\n class=\"px-xs\"\n ?disabled=${this.disabled}\n @click=${this.__handleNextButtonClick}\n >\n <iron-icon icon=\"icons:chevron-right\"></iron-icon>\n </vaadin-button>\n </div>\n\n ${this.__renderMonth(thisMonth.getMonth(), thisMonth.getFullYear())}\n </div>\n `;\n }\n\n private get __valueAsDate(): Date | null {\n return parseDate(this.value);\n }\n\n private set __valueAsDate(value: Date | null) {\n this.value = value ? serializeDate(value) : '';\n }\n\n private get __startAsDate(): Date | null {\n return parseDate(this.start);\n }\n\n private set __startAsDate(value: Date | null) {\n this.start = value ? serializeDate(value) : '';\n }\n\n private __renderMonth(month: number, year: number) {\n const lang = this.lang || navigator.language;\n const date = new Date(year, month, 1, 0, 0, 0, 0);\n const items: TemplateResult[] = [];\n\n for (let i = 0; i < 7; ++i) {\n const weekdayDate = new Date();\n while (weekdayDate.getDay() !== i) weekdayDate.setDate(weekdayDate.getDate() + 1);\n\n items.push(html`\n <span\n class=${classMap({\n 'self-center text-xxs uppercase font-medium tracking-wider': true,\n 'text-secondary': !this.disabled,\n 'text-disabled': this.disabled,\n })}\n >\n ${weekdayDate.toLocaleString(lang, { weekday: 'short' })}\n </span>\n `);\n }\n\n while (date.getMonth() === month) {\n const checked =\n date.getFullYear() === this.__valueAsDate?.getFullYear() &&\n date.getMonth() === this.__valueAsDate?.getMonth() &&\n date.getDate() === this.__valueAsDate?.getDate();\n\n items.push(html`\n <div style=\"grid-column: ${date.getDay() + 1}\" data-testclass=\"day-of-month\">\n ${this.__renderDate(date.getDate(), month, year, checked)}\n </div>\n `);\n\n date.setDate(date.getDate() + 1);\n }\n\n return html`\n <form\n data-testid=\"grid\"\n class=\"grid gap-s p-s text-center\"\n style=\"grid-template: auto / repeat(7, 1fr);\"\n >\n ${items}\n </form>\n `;\n }\n\n private __renderDate(date: number, month: number, year: number, checked = false) {\n const disabled =\n this.disabled || this.readonly || !this.checkAvailability(new Date(year, month, date));\n\n return html`\n <label\n class=${classMap({\n 'font-tnum select-none relative flex h-m items-center justify-center rounded': true,\n 'cursor-pointer focus-within-ring-2 focus-within-ring-primary-50': !disabled,\n 'bg-contrast-5 hover-bg-contrast-10': !checked && !disabled,\n 'bg-primary text-primary-contrast': checked && !disabled,\n 'border border-dashed border-contrast-20 text-disabled': !checked && disabled,\n 'border border-dashed border-primary text-primary': checked && disabled,\n })}\n >\n <input\n name=\"date\"\n type=\"radio\"\n value=${date}\n class=\"sr-only\"\n ?disabled=${this.readonly || this.disabled || disabled}\n @change=${() => {\n this.__valueAsDate = new Date(year, month, date);\n this.dispatchEvent(new CustomEvent('change'));\n }}\n />\n\n ${date}\n </label>\n `;\n }\n\n private __handlePrevButtonClick() {\n const currentStart = this.__startAsDate ?? new Date();\n this.__startAsDate = new Date(currentStart.setMonth(currentStart.getMonth() - 1));\n }\n\n private __handleNextButtonClick() {\n const currentStart = this.__startAsDate ?? new Date();\n this.__startAsDate = new Date(currentStart.setMonth(currentStart.getMonth() + 1));\n }\n}\n"]}
1
+ {"version":3,"file":"InternalCalendar.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalCalendar/InternalCalendar.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyDeclarations, TemplateResult, html } from 'lit-element';\n\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { classMap } from '../../../utils/class-map';\nimport { parseDate } from '../../../utils/parse-date';\nimport { serializeDate } from '../../../utils/serialize-date';\n\nexport class InternalCalendar extends ThemeableMixin(LitElement) {\n static get properties(): PropertyDeclarations {\n return {\n checkAvailability: { attribute: false },\n readonly: { type: Boolean, reflect: true },\n disabled: { type: Boolean, reflect: true },\n value: { type: String },\n start: { type: String },\n lang: { type: String },\n };\n }\n\n checkAvailability: (date: Date) => boolean = () => true;\n\n readonly = false;\n\n disabled = false;\n\n value = '';\n\n start = '';\n\n lang = '';\n\n render(): TemplateResult {\n const thisMonth = new Date(this.__startAsDate ?? this.__valueAsDate ?? Date.now());\n const prevMonth = new Date(thisMonth);\n const nextMonth = new Date(thisMonth);\n const lang = this.lang || navigator.language;\n\n prevMonth.setMonth(prevMonth.getMonth() - 1);\n nextMonth.setMonth(nextMonth.getMonth() + 1);\n\n return html`\n <div class=\"text-m text-body font-lumo leading-m\">\n <div class=\"grid p-xs\" style=\"grid-template: auto / max-content auto max-content\">\n <vaadin-button\n data-testid=\"prev\"\n aria-label=${prevMonth.toLocaleString(lang, { year: 'numeric', month: 'long' })}\n theme=\"icon tertiary\"\n class=\"px-xs\"\n ?disabled=${this.disabled}\n @click=${this.__handlePrevButtonClick}\n >\n <iron-icon icon=\"icons:chevron-left\"></iron-icon>\n </vaadin-button>\n\n <span\n data-testid=\"month\"\n class=${classMap({\n 'text-center self-center font-medium': true,\n 'text-disabled': this.disabled,\n })}\n >\n ${thisMonth.toLocaleDateString(lang, { month: 'long', year: 'numeric' })}\n </span>\n\n <vaadin-button\n data-testid=\"next\"\n aria-label=${nextMonth.toLocaleString(lang, { year: 'numeric', month: 'long' })}\n theme=\"icon tertiary\"\n class=\"px-xs\"\n ?disabled=${this.disabled}\n @click=${this.__handleNextButtonClick}\n >\n <iron-icon icon=\"icons:chevron-right\"></iron-icon>\n </vaadin-button>\n </div>\n\n ${this.__renderMonth(thisMonth.getMonth(), thisMonth.getFullYear())}\n </div>\n `;\n }\n\n private get __valueAsDate(): Date | null {\n return parseDate(this.value);\n }\n\n private set __valueAsDate(value: Date | null) {\n this.value = value ? serializeDate(value) : '';\n }\n\n private get __startAsDate(): Date | null {\n return parseDate(this.start);\n }\n\n private set __startAsDate(value: Date | null) {\n this.start = value ? serializeDate(value) : '';\n }\n\n private __renderMonth(month: number, year: number) {\n const lang = this.lang || navigator.language;\n const date = new Date(year, month, 1, 0, 0, 0, 0);\n const items: TemplateResult[] = [];\n\n for (let i = 0; i < 7; ++i) {\n const weekdayDate = new Date();\n while (weekdayDate.getDay() !== i) weekdayDate.setDate(weekdayDate.getDate() + 1);\n\n items.push(html`\n <span\n class=${classMap({\n 'self-center text-xxs uppercase font-medium tracking-wider': true,\n 'text-secondary': !this.disabled,\n 'text-disabled': this.disabled,\n })}\n >\n ${weekdayDate.toLocaleString(lang, { weekday: 'short' })}\n </span>\n `);\n }\n\n while (date.getMonth() === month) {\n const checked =\n date.getFullYear() === this.__valueAsDate?.getFullYear() &&\n date.getMonth() === this.__valueAsDate?.getMonth() &&\n date.getDate() === this.__valueAsDate?.getDate();\n\n items.push(html`\n <div style=\"grid-column: ${date.getDay() + 1}\" data-testclass=\"day-of-month\">\n ${this.__renderDate(date.getDate(), month, year, checked)}\n </div>\n `);\n\n date.setDate(date.getDate() + 1);\n }\n\n return html`\n <form\n data-testid=\"grid\"\n class=\"grid gap-s p-s text-center\"\n style=\"grid-template: auto / repeat(7, 1fr);\"\n >\n ${items}\n </form>\n `;\n }\n\n private __renderDate(date: number, month: number, year: number, checked = false) {\n const disabled =\n this.disabled || this.readonly || !this.checkAvailability(new Date(year, month, date));\n\n return html`\n <label\n class=${classMap({\n 'relative flex w-m h-m items-center justify-center rounded-s': true,\n 'font-tnum text-l select-none leading-none': true,\n 'cursor-pointer focus-within-ring-2 focus-within-ring-primary-50': !disabled,\n 'bg-contrast-5 hover-bg-contrast-10': !checked && !disabled,\n 'bg-primary text-primary-contrast': checked && !disabled,\n 'border border-dashed border-contrast-20 text-disabled': !checked && disabled,\n 'border border-dashed border-primary text-primary': checked && disabled,\n })}\n >\n <input\n name=\"date\"\n type=\"radio\"\n value=${date}\n class=\"sr-only\"\n ?disabled=${this.readonly || this.disabled || disabled}\n @change=${() => {\n this.__valueAsDate = new Date(year, month, date);\n this.dispatchEvent(new CustomEvent('change'));\n }}\n />\n\n ${date}\n </label>\n `;\n }\n\n private __handlePrevButtonClick() {\n const currentStart = this.__startAsDate ?? new Date();\n this.__startAsDate = new Date(currentStart.setMonth(currentStart.getMonth() - 1));\n }\n\n private __handleNextButtonClick() {\n const currentStart = this.__startAsDate ?? new Date();\n this.__startAsDate = new Date(currentStart.setMonth(currentStart.getMonth() + 1));\n }\n}\n"]}
@@ -40,13 +40,13 @@ export class InternalCard extends ThemeableMixin(NucleonElement) {
40
40
  <div
41
41
  class=${classMap({
42
42
  'transition duration-500 ease-in-out absolute inset-0 flex': true,
43
+ 'items-center justify-center': true,
43
44
  'opacity-0 pointer-events-none': this.isBodyReady,
44
45
  })}
45
46
  >
46
47
  <foxy-spinner
47
48
  layout=${spinnerState === 'busy' ? 'no-label' : 'horizontal'}
48
49
  state=${spinnerState}
49
- class="m-auto"
50
50
  infer="spinner"
51
51
  >
52
52
  </foxy-spinner>
@@ -1 +1 @@
1
- {"version":3,"file":"InternalCard.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalCard/InternalCard.ts"],"names":[],"mappings":"AAGA,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;;;;;GAKG;AACH,MAAM,OAAO,YAAiC,SAAQ,cAAc,CAAC,cAAc,CAAQ;IACzF;;;OAGG;IACH,UAAU;QACR,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;IAED,MAAM;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBAC/B,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,MAAM,CAAC;QAEX,OAAO,IAAI,CAAA;;oBAEK,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;;;;;kBAKjB,QAAQ,CAAC;YACf,qCAAqC,EAAE,IAAI;YAC3C,+BAA+B,EAAE,CAAC,IAAI,CAAC,WAAW;SACnD,CAAC;;YAEA,IAAI,CAAC,UAAU,EAAE;;;;kBAIX,QAAQ,CAAC;YACf,2DAA2D,EAAE,IAAI;YACjE,+BAA+B,EAAE,IAAI,CAAC,WAAW;SAClD,CAAC;;;qBAGS,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;oBACpD,YAAY;;;;;;;KAO3B,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACF","sourcesContent":["import type { HALJSONResource as Data } from '../../public/NucleonElement/types';\nimport type { TemplateResult } from 'lit-html';\n\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { NucleonElement } from '../../public/NucleonElement/NucleonElement';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\n/**\n * Internal base element for cards.\n *\n * @since 1.17.0\n * @element foxy-internal-card\n */\nexport class InternalCard<TData extends Data> extends ThemeableMixin(NucleonElement)<TData> {\n /**\n * Invoked together with `.render()` to obtain a template for card contents.\n * When extending `InternalCard`, prefer overriding this method to `.render()`.\n */\n renderBody(): TemplateResult {\n return html``;\n }\n\n render(): TemplateResult {\n const spinnerState = this.in('fail')\n ? 'error'\n : this.in({ idle: 'template' })\n ? 'empty'\n : 'busy';\n\n return html`\n <div\n aria-busy=${this.in('busy')}\n aria-live=\"polite\"\n class=\"relative leading-m text-body text-m font-lumo\"\n >\n <div\n class=${classMap({\n 'transition duration-500 ease-in-out': true,\n 'opacity-0 pointer-events-none': !this.isBodyReady,\n })}\n >\n ${this.renderBody()}\n </div>\n\n <div\n class=${classMap({\n 'transition duration-500 ease-in-out absolute inset-0 flex': true,\n 'opacity-0 pointer-events-none': this.isBodyReady,\n })}\n >\n <foxy-spinner\n layout=${spinnerState === 'busy' ? 'no-label' : 'horizontal'}\n state=${spinnerState}\n class=\"m-auto\"\n infer=\"spinner\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n\n get isBodyReady(): boolean {\n return !!this.data;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalCard.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalCard/InternalCard.ts"],"names":[],"mappings":"AAGA,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;;;;;GAKG;AACH,MAAM,OAAO,YAAiC,SAAQ,cAAc,CAAC,cAAc,CAAQ;IACzF;;;OAGG;IACH,UAAU;QACR,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;IAED,MAAM;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBAC/B,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,MAAM,CAAC;QAEX,OAAO,IAAI,CAAA;;oBAEK,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;;;;;kBAKjB,QAAQ,CAAC;YACf,qCAAqC,EAAE,IAAI;YAC3C,+BAA+B,EAAE,CAAC,IAAI,CAAC,WAAW;SACnD,CAAC;;YAEA,IAAI,CAAC,UAAU,EAAE;;;;kBAIX,QAAQ,CAAC;YACf,2DAA2D,EAAE,IAAI;YACjE,6BAA6B,EAAE,IAAI;YACnC,+BAA+B,EAAE,IAAI,CAAC,WAAW;SAClD,CAAC;;;qBAGS,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;oBACpD,YAAY;;;;;;KAM3B,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACF","sourcesContent":["import type { HALJSONResource as Data } from '../../public/NucleonElement/types';\nimport type { TemplateResult } from 'lit-html';\n\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { NucleonElement } from '../../public/NucleonElement/NucleonElement';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\n/**\n * Internal base element for cards.\n *\n * @since 1.17.0\n * @element foxy-internal-card\n */\nexport class InternalCard<TData extends Data> extends ThemeableMixin(NucleonElement)<TData> {\n /**\n * Invoked together with `.render()` to obtain a template for card contents.\n * When extending `InternalCard`, prefer overriding this method to `.render()`.\n */\n renderBody(): TemplateResult {\n return html``;\n }\n\n render(): TemplateResult {\n const spinnerState = this.in('fail')\n ? 'error'\n : this.in({ idle: 'template' })\n ? 'empty'\n : 'busy';\n\n return html`\n <div\n aria-busy=${this.in('busy')}\n aria-live=\"polite\"\n class=\"relative leading-m text-body text-m font-lumo\"\n >\n <div\n class=${classMap({\n 'transition duration-500 ease-in-out': true,\n 'opacity-0 pointer-events-none': !this.isBodyReady,\n })}\n >\n ${this.renderBody()}\n </div>\n\n <div\n class=${classMap({\n 'transition duration-500 ease-in-out absolute inset-0 flex': true,\n 'items-center justify-center': true,\n 'opacity-0 pointer-events-none': this.isBodyReady,\n })}\n >\n <foxy-spinner\n layout=${spinnerState === 'busy' ? 'no-label' : 'horizontal'}\n state=${spinnerState}\n infer=\"spinner\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n\n get isBodyReady(): boolean {\n return !!this.data;\n }\n}\n"]}
@@ -26,6 +26,7 @@ export declare class InternalControl extends InternalControl_base {
26
26
  nucleon: NucleonElement<any> | null;
27
27
  inferFromElement(key: string, element: HTMLElement): unknown | undefined;
28
28
  applyInferredProperties(context: Map<string, unknown>): void;
29
+ renderLightDom(): void;
29
30
  updated(changes: Map<keyof this, unknown>): void;
30
31
  /**
31
32
  * Renders the control itself. In most cases, you will need to implement
@@ -43,15 +43,18 @@ export class InternalControl extends ConfigurableMixin(TranslatableMixin(Themeab
43
43
  if (((_b = this.nucleon) === null || _b === void 0 ? void 0 : _b.in('idle')) === false)
44
44
  this.disabled = true;
45
45
  }
46
+ renderLightDom() {
47
+ if (typeof this.infer !== 'string')
48
+ return;
49
+ const lightDomTemplate = html `
50
+ <slot name="${this.infer}:before" slot="before"></slot>
51
+ <slot name="${this.infer}:after" slot="after"></slot>
52
+ `;
53
+ render(lightDomTemplate, this);
54
+ }
46
55
  updated(changes) {
47
56
  super.updated(changes);
48
- if (typeof this.infer === 'string') {
49
- const lightDomTemplate = html `
50
- <slot name="${this.infer}:before" slot="before"></slot>
51
- <slot name="${this.infer}:after" slot="after"></slot>
52
- `;
53
- render(lightDomTemplate, this);
54
- }
57
+ this.renderLightDom();
55
58
  }
56
59
  /**
57
60
  * Renders the control itself. In most cases, you will need to implement
@@ -1 +1 @@
1
- {"version":3,"file":"InternalControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalControl/InternalControl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAC7D,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,cAAc,EAAE,sDAAmD;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;;;;;;;GAUG;AACH,MAAM,OAAO,eAAgB,SAAQ,iBAAiB,CACpD,iBAAiB,CAAC,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAC/D;IAFD;;QAcE,wDAAwD;QACxD,YAAO,GAA+B,IAAI,CAAC;IA+C7C,CAAC;IA3DC,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,GAAG,KAAK,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC9B,CAAC;IACJ,CAAC;IAKD,gBAAgB,CAAC,GAAW,EAAE,OAAoB;QAChD,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,YAAY,cAAc;YAAE,OAAO,OAAO,CAAC;QAC3E,OAAO,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,uBAAuB,CAAC,OAA6B;;QACnD,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,SAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAqC,mCAAI,IAAI,CAAC;QACnF,IAAI,OAAA,IAAI,CAAC,OAAO,0CAAE,EAAE,CAAC,MAAM,OAAM,KAAK;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC/D,CAAC;IAED,OAAO,CAAC,OAAiC;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;YAClC,MAAM,gBAAgB,GAAG,IAAI,CAAA;sBACb,IAAI,CAAC,KAAK;sBACV,IAAI,CAAC,KAAK;OACzB,CAAC;YAEF,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;SAChC;IACH,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA,EAAE,CAAC;QAE/B,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE;QACzE,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;KACnD,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { html, LitElement } from 'lit-element';\nimport { InferrableMixin } from '../../../mixins/inferrable';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { NucleonElement } from '../../public/NucleonElement/NucleonElement';\nimport { render } from 'lit-html';\n\n/**\n * An internal base class for any control in a Nucleon form. That control can be as simple as a text field bound\n * to a property or as complex as a query builder, and it infers property values from the\n * parent Nucleon/Configurable/Translatable element, saving the need to manually calculate\n * and bind properties in Lit templates. Each control renders before and after slots in the regular DOM + its\n * own layout in the shadow DOM. When hidden via `hiddencontrols` in the parent,\n * uses `display: none` to hide itself.\n *\n * @element foxy-internal-control\n * @since 1.17.0\n */\nexport class InternalControl extends ConfigurableMixin(\n TranslatableMixin(ThemeableMixin(InferrableMixin(LitElement)))\n) {\n static get inferredProperties(): string[] {\n return [...super.inferredProperties, 'nucleon'];\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n nucleon: { attribute: false },\n };\n }\n\n /** NucleonElement instance this control is bound to. */\n nucleon: NucleonElement<any> | null = null;\n\n inferFromElement(key: string, element: HTMLElement): unknown | undefined {\n if (key === 'nucleon' && element instanceof NucleonElement) return element;\n return super.inferFromElement(key, element);\n }\n\n applyInferredProperties(context: Map<string, unknown>): void {\n super.applyInferredProperties(context);\n\n this.nucleon = (context.get('nucleon') as NucleonElement<any> | undefined) ?? null;\n if (this.nucleon?.in('idle') === false) this.disabled = true;\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n\n if (typeof this.infer === 'string') {\n const lightDomTemplate = html`\n <slot name=\"${this.infer}:before\" slot=\"before\"></slot>\n <slot name=\"${this.infer}:after\" slot=\"after\"></slot>\n `;\n\n render(lightDomTemplate, this);\n }\n }\n\n /**\n * Renders the control itself. In most cases, you will need to implement\n * this method instead of `.render()` in your class to keep the before and after templates/slots.\n */\n renderControl(): TemplateResult {\n return html``;\n }\n\n /**\n * Renders the control (if visible) and the before/after templates/slots.\n * You should probably implement `.renderControl()` method instead of this one in your class.\n */\n render(): TemplateResult {\n if (this.hidden) return html``;\n\n return html`\n ${this.renderTemplateOrSlot('before', this.nucleon)} ${this.renderControl()}\n ${this.renderTemplateOrSlot('after', this.nucleon)}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalControl/InternalControl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAC7D,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,cAAc,EAAE,sDAAmD;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;;;;;;;GAUG;AACH,MAAM,OAAO,eAAgB,SAAQ,iBAAiB,CACpD,iBAAiB,CAAC,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAC/D;IAFD;;QAcE,wDAAwD;QACxD,YAAO,GAA+B,IAAI,CAAC;IAkD7C,CAAC;IA9DC,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,GAAG,KAAK,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC9B,CAAC;IACJ,CAAC;IAKD,gBAAgB,CAAC,GAAW,EAAE,OAAoB;QAChD,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,YAAY,cAAc;YAAE,OAAO,OAAO,CAAC;QAC3E,OAAO,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,uBAAuB,CAAC,OAA6B;;QACnD,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,SAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAqC,mCAAI,IAAI,CAAC;QACnF,IAAI,OAAA,IAAI,CAAC,OAAO,0CAAE,EAAE,CAAC,MAAM,OAAM,KAAK;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC/D,CAAC;IAED,cAAc;QACZ,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO;QAE3C,MAAM,gBAAgB,GAAG,IAAI,CAAA;oBACb,IAAI,CAAC,KAAK;oBACV,IAAI,CAAC,KAAK;KACzB,CAAC;QAEF,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,OAAiC;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA,EAAE,CAAC;QAE/B,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE;QACzE,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;KACnD,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { html, LitElement } from 'lit-element';\nimport { InferrableMixin } from '../../../mixins/inferrable';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { NucleonElement } from '../../public/NucleonElement/NucleonElement';\nimport { render } from 'lit-html';\n\n/**\n * An internal base class for any control in a Nucleon form. That control can be as simple as a text field bound\n * to a property or as complex as a query builder, and it infers property values from the\n * parent Nucleon/Configurable/Translatable element, saving the need to manually calculate\n * and bind properties in Lit templates. Each control renders before and after slots in the regular DOM + its\n * own layout in the shadow DOM. When hidden via `hiddencontrols` in the parent,\n * uses `display: none` to hide itself.\n *\n * @element foxy-internal-control\n * @since 1.17.0\n */\nexport class InternalControl extends ConfigurableMixin(\n TranslatableMixin(ThemeableMixin(InferrableMixin(LitElement)))\n) {\n static get inferredProperties(): string[] {\n return [...super.inferredProperties, 'nucleon'];\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n nucleon: { attribute: false },\n };\n }\n\n /** NucleonElement instance this control is bound to. */\n nucleon: NucleonElement<any> | null = null;\n\n inferFromElement(key: string, element: HTMLElement): unknown | undefined {\n if (key === 'nucleon' && element instanceof NucleonElement) return element;\n return super.inferFromElement(key, element);\n }\n\n applyInferredProperties(context: Map<string, unknown>): void {\n super.applyInferredProperties(context);\n\n this.nucleon = (context.get('nucleon') as NucleonElement<any> | undefined) ?? null;\n if (this.nucleon?.in('idle') === false) this.disabled = true;\n }\n\n renderLightDom(): void {\n if (typeof this.infer !== 'string') return;\n\n const lightDomTemplate = html`\n <slot name=\"${this.infer}:before\" slot=\"before\"></slot>\n <slot name=\"${this.infer}:after\" slot=\"after\"></slot>\n `;\n\n render(lightDomTemplate, this);\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n this.renderLightDom();\n }\n\n /**\n * Renders the control itself. In most cases, you will need to implement\n * this method instead of `.render()` in your class to keep the before and after templates/slots.\n */\n renderControl(): TemplateResult {\n return html``;\n }\n\n /**\n * Renders the control (if visible) and the before/after templates/slots.\n * You should probably implement `.renderControl()` method instead of this one in your class.\n */\n render(): TemplateResult {\n if (this.hidden) return html``;\n\n return html`\n ${this.renderTemplateOrSlot('before', this.nucleon)} ${this.renderControl()}\n ${this.renderTemplateOrSlot('after', this.nucleon)}\n `;\n }\n}\n"]}
@@ -9,6 +9,9 @@ import { InternalEditableControl } from '../InternalEditableControl/InternalEdit
9
9
  export declare class InternalDateControl extends InternalEditableControl {
10
10
  static get properties(): PropertyDeclarations;
11
11
  /** Date format. If `unix`, expects and outputs a UNIX timestamp (number), otherwise defaults to ISO 8601 date. */
12
- format: 'unix' | null;
12
+ format: 'unix' | 'iso-long' | null;
13
+ /** Use summary item layout inside `<foxy-internal-summary-control>`. */
14
+ layout: 'summary-item' | 'standalone' | null;
13
15
  renderControl(): TemplateResult;
16
+ private get __pickerI18n();
14
17
  }
@@ -3,6 +3,9 @@ import { serializeDate } from "../../../utils/serialize-date.js";
3
3
  import { parseDate } from "../../../utils/parse-date.js";
4
4
  import { ifDefined } from 'lit-html/directives/if-defined';
5
5
  import { html } from 'lit-element';
6
+ import { getWeekdayShortNames } from "./getWeekdayShortNames.js";
7
+ import { getWeekdayLongNames } from "./getWeekdayLongNames.js";
8
+ import { getMonthNames } from "./getMonthNames.js";
6
9
  /**
7
10
  * Internal control displaying a basic date picker box.
8
11
  *
@@ -14,19 +17,25 @@ export class InternalDateControl extends InternalEditableControl {
14
17
  super(...arguments);
15
18
  /** Date format. If `unix`, expects and outputs a UNIX timestamp (number), otherwise defaults to ISO 8601 date. */
16
19
  this.format = null;
20
+ /** Use summary item layout inside `<foxy-internal-summary-control>`. */
21
+ this.layout = null;
17
22
  }
18
23
  static get properties() {
19
24
  return {
20
25
  ...super.properties,
21
- format: { type: String },
26
+ format: {},
27
+ layout: {},
22
28
  };
23
29
  }
24
30
  renderControl() {
25
- var _a;
31
+ var _a, _b;
26
32
  let value;
27
33
  if (this.format === 'unix') {
28
34
  value = serializeDate(new Date(((_a = this._value) !== null && _a !== void 0 ? _a : 0) * 1000));
29
35
  }
36
+ else if (this.format === 'iso-long') {
37
+ value = serializeDate(new Date(this._value));
38
+ }
30
39
  else {
31
40
  value = this._value;
32
41
  }
@@ -37,17 +46,22 @@ export class InternalDateControl extends InternalEditableControl {
37
46
  helper-text=${this.helperText}
38
47
  label=${this.label}
39
48
  class="w-full"
49
+ theme=${(_b = this.layout) !== null && _b !== void 0 ? _b : 'standalone'}
40
50
  ?disabled=${this.disabled}
41
51
  ?readonly=${this.readonly}
42
52
  .checkValidity=${this._checkValidity}
43
53
  .value=${value}
54
+ .i18n=${this.__pickerI18n}
44
55
  @keydown=${(evt) => { var _a; return evt.key === 'Enter' && ((_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.submit()); }}
45
56
  @change=${(evt) => {
46
- var _a, _b;
57
+ var _a, _b, _c, _d;
47
58
  const field = evt.currentTarget;
48
59
  if (this.format === 'unix') {
49
60
  this._value = Math.floor(((_b = (_a = parseDate(field.value)) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : 0) / 1000);
50
61
  }
62
+ else if (this.format === 'iso-long') {
63
+ this._value = (_d = (_c = parseDate(field.value)) === null || _c === void 0 ? void 0 : _c.toISOString()) !== null && _d !== void 0 ? _d : null;
64
+ }
51
65
  else {
52
66
  this._value = field.value;
53
67
  }
@@ -56,5 +70,24 @@ export class InternalDateControl extends InternalEditableControl {
56
70
  </vaadin-date-picker>
57
71
  `;
58
72
  }
73
+ get __pickerI18n() {
74
+ return {
75
+ monthNames: getMonthNames(this.lang || 'en'),
76
+ weekdays: getWeekdayLongNames(this.lang || 'en'),
77
+ weekdaysShort: getWeekdayShortNames(this.lang || 'en'),
78
+ firstDayOfWeek: 0,
79
+ week: this.t('week'),
80
+ calendar: this.t('calendar'),
81
+ clear: this.t('clear'),
82
+ today: this.t('today'),
83
+ cancel: this.t('cancel'),
84
+ referenceDate: '',
85
+ parseDate: null,
86
+ formatTitle: (m, y) => m + ' ' + y,
87
+ formatDate: (d) => {
88
+ return this.t('display_value', { value: new Date(d.year, d.month, d.day) });
89
+ },
90
+ };
91
+ }
59
92
  }
60
93
  //# sourceMappingURL=InternalDateControl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InternalDateControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/InternalDateControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,aAAa,EAAE,yCAAsC;AAC9D,OAAO,EAAE,SAAS,EAAE,qCAAkC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,OAAO,mBAAoB,SAAQ,uBAAuB;IAAhE;;QAQE,kHAAkH;QAClH,WAAM,GAAkB,IAAI,CAAC;IAoC/B,CAAC;IA5CC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACzB,CAAC;IACJ,CAAC;IAKD,aAAa;;QACX,IAAI,KAAa,CAAC;QAElB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;YAC1B,KAAK,GAAG,aAAa,CAAC,IAAI,IAAI,CAAC,OAAE,IAAI,CAAC,MAAiB,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;SACxE;aAAM;YACL,KAAK,GAAG,IAAI,CAAC,MAAgB,CAAC;SAC/B;QAED,OAAO,IAAI,CAAA;;wBAES,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;sBAC/B,IAAI,CAAC,WAAW;sBAChB,IAAI,CAAC,UAAU;gBACrB,IAAI,CAAC,KAAK;;oBAEN,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;yBACR,IAAI,CAAC,cAAc;iBAC3B,KAAK;mBACH,CAAC,GAAkB,EAAE,EAAE,WAAC,OAAA,GAAG,CAAC,GAAG,KAAK,OAAO,WAAI,IAAI,CAAC,OAAO,0CAAE,MAAM,GAAE,CAAA,EAAA;kBACtE,CAAC,GAAgB,EAAE,EAAE;;YAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,aAAkC,CAAC;YAErD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;gBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,0CAAE,OAAO,qCAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;aAC3E;iBAAM;gBACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;aAC3B;QACH,CAAC;;;KAGJ,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult, PropertyDeclarations } from 'lit-element';\nimport type { DatePickerElement } from '@vaadin/vaadin-date-picker';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { serializeDate } from '../../../utils/serialize-date';\nimport { parseDate } from '../../../utils/parse-date';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\n/**\n * Internal control displaying a basic date picker box.\n *\n * @since 1.17.0\n * @element foxy-internal-date-control\n */\nexport class InternalDateControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n format: { type: String },\n };\n }\n\n /** Date format. If `unix`, expects and outputs a UNIX timestamp (number), otherwise defaults to ISO 8601 date. */\n format: 'unix' | null = null;\n\n renderControl(): TemplateResult {\n let value: string;\n\n if (this.format === 'unix') {\n value = serializeDate(new Date(((this._value as number) ?? 0) * 1000));\n } else {\n value = this._value as string;\n }\n\n return html`\n <vaadin-date-picker\n error-message=${ifDefined(this._errorMessage)}\n placeholder=${this.placeholder}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${value}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as DatePickerElement;\n\n if (this.format === 'unix') {\n this._value = Math.floor((parseDate(field.value)?.getTime() ?? 0) / 1000);\n } else {\n this._value = field.value;\n }\n }}\n >\n </vaadin-date-picker>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalDateControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/InternalDateControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult, PropertyDeclarations } from 'lit-element';\nimport type { DatePickerElement } from '@vaadin/vaadin-date-picker';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { serializeDate } from '../../../utils/serialize-date';\nimport { parseDate } from '../../../utils/parse-date';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\nimport { getWeekdayShortNames } from './getWeekdayShortNames';\nimport { getWeekdayLongNames } from './getWeekdayLongNames';\nimport { getMonthNames } from './getMonthNames';\n\n/**\n * Internal control displaying a basic date picker box.\n *\n * @since 1.17.0\n * @element foxy-internal-date-control\n */\nexport class InternalDateControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n format: {},\n layout: {},\n };\n }\n\n /** Date format. If `unix`, expects and outputs a UNIX timestamp (number), otherwise defaults to ISO 8601 date. */\n format: 'unix' | 'iso-long' | null = null;\n\n /** Use summary item layout inside `<foxy-internal-summary-control>`. */\n layout: 'summary-item' | 'standalone' | null = null;\n\n renderControl(): TemplateResult {\n let value: string;\n\n if (this.format === 'unix') {\n value = serializeDate(new Date(((this._value as number) ?? 0) * 1000));\n } else if (this.format === 'iso-long') {\n value = serializeDate(new Date(this._value as string));\n } else {\n value = this._value as string;\n }\n\n return html`\n <vaadin-date-picker\n error-message=${ifDefined(this._errorMessage)}\n placeholder=${this.placeholder}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n theme=${this.layout ?? 'standalone'}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${value}\n .i18n=${this.__pickerI18n}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as DatePickerElement;\n\n if (this.format === 'unix') {\n this._value = Math.floor((parseDate(field.value)?.getTime() ?? 0) / 1000);\n } else if (this.format === 'iso-long') {\n this._value = parseDate(field.value)?.toISOString() ?? null;\n } else {\n this._value = field.value;\n }\n }}\n >\n </vaadin-date-picker>\n `;\n }\n\n private get __pickerI18n() {\n return {\n monthNames: getMonthNames(this.lang || 'en'),\n weekdays: getWeekdayLongNames(this.lang || 'en'),\n weekdaysShort: getWeekdayShortNames(this.lang || 'en'),\n firstDayOfWeek: 0,\n week: this.t('week'),\n calendar: this.t('calendar'),\n clear: this.t('clear'),\n today: this.t('today'),\n cancel: this.t('cancel'),\n referenceDate: '',\n parseDate: null,\n formatTitle: (m: string, y: string) => m + ' ' + y,\n formatDate: (d: { day: number; month: number; year: number }) => {\n return this.t('display_value', { value: new Date(d.year, d.month, d.day) });\n },\n };\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare function getMonthNames(lang: string): string[];
@@ -0,0 +1,7 @@
1
+ export function getMonthNames(lang) {
2
+ return new Array(12).fill(new Date()).map((date, i) => {
3
+ date.setMonth(i);
4
+ return date.toLocaleDateString(lang, { month: 'long' });
5
+ });
6
+ }
7
+ //# sourceMappingURL=getMonthNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMonthNames.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/getMonthNames.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,CAAC,EAAE,EAAE;QAC1D,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["export function getMonthNames(lang: string): string[] {\n return new Array(12).fill(new Date()).map((date: Date, i) => {\n date.setMonth(i);\n return date.toLocaleDateString(lang, { month: 'long' });\n });\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare function getWeekdayLongNames(lang: string): string[];
@@ -0,0 +1,8 @@
1
+ export function getWeekdayLongNames(lang) {
2
+ return new Array(7).fill(new Date()).map((date, i) => {
3
+ while (date.getDay() !== i)
4
+ date.setDate(date.getDate() + 1);
5
+ return date.toLocaleDateString(lang, { weekday: 'long' });
6
+ });
7
+ }
8
+ //# sourceMappingURL=getWeekdayLongNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWeekdayLongNames.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/getWeekdayLongNames.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,CAAC,EAAE,EAAE;QACzD,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["export function getWeekdayLongNames(lang: string): string[] {\n return new Array(7).fill(new Date()).map((date: Date, i) => {\n while (date.getDay() !== i) date.setDate(date.getDate() + 1);\n return date.toLocaleDateString(lang, { weekday: 'long' });\n });\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare function getWeekdayShortNames(lang: string): string[];
@@ -0,0 +1,8 @@
1
+ export function getWeekdayShortNames(lang) {
2
+ return new Array(7).fill(new Date()).map((date, i) => {
3
+ while (date.getDay() !== i)
4
+ date.setDate(date.getDate() + 1);
5
+ return date.toLocaleDateString(lang, { weekday: 'short' });
6
+ });
7
+ }
8
+ //# sourceMappingURL=getWeekdayShortNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWeekdayShortNames.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/getWeekdayShortNames.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,CAAC,EAAE,EAAE;QACzD,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["export function getWeekdayShortNames(lang: string): string[] {\n return new Array(7).fill(new Date()).map((date: Date, i) => {\n while (date.getDay() !== i) date.setDate(date.getDate() + 1);\n return date.toLocaleDateString(lang, { weekday: 'short' });\n });\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import '@vaadin/vaadin-date-picker';
2
2
  import '../InternalEditableControl/index';
3
+ import './vaadinStyles';
3
4
  import { InternalDateControl as Control } from './InternalDateControl';
4
5
  export { Control as InternalDateControl };
@@ -1,5 +1,6 @@
1
1
  import '@vaadin/vaadin-date-picker';
2
2
  import "../InternalEditableControl/index.js";
3
+ import "./vaadinStyles.js";
3
4
  import { InternalDateControl as Control } from "./InternalDateControl.js";
4
5
  customElements.define('foxy-internal-date-control', Control);
5
6
  export { Control as InternalDateControl };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/index.ts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AACpC,6CAA0C;AAC1C,OAAO,EAAE,mBAAmB,IAAI,OAAO,EAAE,iCAA8B;AAEvE,cAAc,CAAC,MAAM,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-date-picker';\nimport '../InternalEditableControl/index';\nimport { InternalDateControl as Control } from './InternalDateControl';\n\ncustomElements.define('foxy-internal-date-control', Control);\n\nexport { Control as InternalDateControl };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/index.ts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AACpC,6CAA0C;AAC1C,2BAAwB;AAExB,OAAO,EAAE,mBAAmB,IAAI,OAAO,EAAE,iCAA8B;AAEvE,cAAc,CAAC,MAAM,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-date-picker';\nimport '../InternalEditableControl/index';\nimport './vaadinStyles';\n\nimport { InternalDateControl as Control } from './InternalDateControl';\n\ncustomElements.define('foxy-internal-date-control', Control);\n\nexport { Control as InternalDateControl };\n"]}
@@ -0,0 +1,73 @@
1
+ import { registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles';
2
+ import { css } from 'lit-element';
3
+ registerStyles('vaadin-date-picker-text-field', css `:host([theme~='summary-item'])::before{
4
+ display:none;
5
+ }
6
+
7
+ :host([theme~='summary-item']) .vaadin-text-field-container{
8
+ display:grid;
9
+ grid-template-columns:auto 1fr;
10
+ grid-template-rows:repeat(3, min-content);
11
+ gap:0 var(--lumo-space-m);
12
+ }
13
+
14
+ :host([theme~='summary-item']) [part='label']{
15
+ font:normal var(--lumo-font-size-m) var(--lumo-font-family);
16
+ color:var(--lumo-body-text-color) !important;
17
+ grid-row:1;
18
+ -webkit-text-fill-color:var(--lumo-body-text-color) !important;
19
+ }
20
+
21
+ :host([theme~='summary-item']) [part='helper-text']{
22
+ font:normal var(--lumo-font-size-s) var(--lumo-font-family);
23
+ color:var(--lumo-secondary-text-color) !important;
24
+ grid-row:2;
25
+ }
26
+
27
+ :host([theme~='summary-item']) [part='helper-text']::before{
28
+ display:none;
29
+ }
30
+
31
+ :host([theme~='summary-item']) [part='error-message']{
32
+ font:normal var(--lumo-font-size-s) var(--lumo-font-family);
33
+ color:var(--lumo-error-text-color);
34
+ grid-row:3;
35
+ }
36
+
37
+ :host([theme~='summary-item']) [part='error-message'],
38
+ :host([theme~='summary-item']) [part='helper-text'],
39
+ :host([theme~='summary-item']) [part='label']{
40
+ line-height:var(--lumo-line-height-xs);
41
+ grid-column:1;
42
+ padding:0;
43
+ }
44
+
45
+ :host([theme~='summary-item']) [part='input-field']{
46
+ grid-column:2;
47
+ grid-row:1;
48
+ padding:0;
49
+ background:transparent;
50
+ align-self:start;
51
+ height:1em;
52
+ --lumo-icon-size-m:1rem;
53
+ }
54
+
55
+ :host([theme~='summary-item']) [part='input-field']::after,
56
+ :host([theme~='summary-item'][readonly]) [part='input-field'] slot[name='suffix']{
57
+ display:none;
58
+ }
59
+
60
+ :host([theme~='summary-item']) [part='value']{
61
+ line-height:var(--lumo-line-height-xs);
62
+ text-align:right;
63
+ min-height:auto;
64
+ padding:0;
65
+ margin-right:var(--lumo-space-xs);
66
+ -webkit-mask-image:none;
67
+ }
68
+
69
+ :host([theme~='summary-item'][readonly]) [part='value']{
70
+ margin-right:0;
71
+ }
72
+ `);
73
+ //# sourceMappingURL=vaadinStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaadinStyles.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/vaadinStyles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,cAAc,CACZ,+BAA+B,EAC/B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEF,CACF,CAAC","sourcesContent":["import { registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles';\nimport { css } from 'lit-element';\n\nregisterStyles(\n 'vaadin-date-picker-text-field',\n css`\n :host([theme~='summary-item'])::before {\n display: none;\n }\n\n :host([theme~='summary-item']) .vaadin-text-field-container {\n display: grid;\n grid-template-columns: auto 1fr;\n grid-template-rows: repeat(3, min-content);\n gap: 0 var(--lumo-space-m);\n }\n\n :host([theme~='summary-item']) [part='label'] {\n font: normal var(--lumo-font-size-m) var(--lumo-font-family);\n color: var(--lumo-body-text-color) !important;\n grid-row: 1;\n -webkit-text-fill-color: var(--lumo-body-text-color) !important;\n }\n\n :host([theme~='summary-item']) [part='helper-text'] {\n font: normal var(--lumo-font-size-s) var(--lumo-font-family);\n color: var(--lumo-secondary-text-color) !important;\n grid-row: 2;\n }\n\n :host([theme~='summary-item']) [part='helper-text']::before {\n display: none;\n }\n\n :host([theme~='summary-item']) [part='error-message'] {\n font: normal var(--lumo-font-size-s) var(--lumo-font-family);\n color: var(--lumo-error-text-color);\n grid-row: 3;\n }\n\n :host([theme~='summary-item']) [part='error-message'],\n :host([theme~='summary-item']) [part='helper-text'],\n :host([theme~='summary-item']) [part='label'] {\n line-height: var(--lumo-line-height-xs);\n grid-column: 1;\n padding: 0;\n }\n\n :host([theme~='summary-item']) [part='input-field'] {\n grid-column: 2;\n grid-row: 1;\n padding: 0;\n background: transparent;\n align-self: start;\n height: 1em;\n\n --lumo-icon-size-m: 1rem;\n }\n\n :host([theme~='summary-item']) [part='input-field']::after,\n :host([theme~='summary-item'][readonly]) [part='input-field'] slot[name='suffix'] {\n display: none;\n }\n\n :host([theme~='summary-item']) [part='value'] {\n line-height: var(--lumo-line-height-xs);\n text-align: right;\n min-height: auto;\n padding: 0;\n margin-right: var(--lumo-space-xs);\n -webkit-mask-image: none;\n }\n\n :host([theme~='summary-item'][readonly]) [part='value'] {\n margin-right: 0;\n }\n `\n);\n"]}
@@ -2,6 +2,7 @@ import type { PropertyDeclarations } from 'lit-element';
2
2
  import type { HALJSONResource } from '../../public/NucleonElement/types';
3
3
  import type { TemplateResult } from 'lit-html';
4
4
  import type { Status } from './types';
5
+ import { BooleanSelector } from '@foxy.io/sdk/core';
5
6
  import { NucleonElement } from '../../public/NucleonElement/NucleonElement';
6
7
  declare const Base: typeof NucleonElement & {
7
8
  styles: import("lit-element").CSSResultArray;
@@ -34,6 +35,7 @@ export declare class InternalForm<TData extends HALJSONResource> extends Base<TD
34
35
  get headerSubtitleOptions(): Record<string, unknown>;
35
36
  /** ID that will be written to clipboard when Copy ID button in header is clicked. */
36
37
  get headerCopyIdValue(): string | number;
38
+ get hiddenSelector(): BooleanSelector;
37
39
  /**
38
40
  * Renders optional form header.
39
41
  * - Customize which actions are rendered with `.renderHeaderActions()` method.
@@ -1,7 +1,7 @@
1
+ import { BooleanSelector, getResourceId } from '@foxy.io/sdk/core';
1
2
  import { ConfigurableMixin } from "../../../mixins/configurable.js";
2
3
  import { ThemeableMixin } from "../../../mixins/themeable.js";
3
4
  import { NucleonElement } from "../../public/NucleonElement/NucleonElement.js";
4
- import { getResourceId } from '@foxy.io/sdk/core';
5
5
  import { classMap } from "../../../utils/class-map.js";
6
6
  import { html } from 'lit-html';
7
7
  const Base = ConfigurableMixin(ThemeableMixin(NucleonElement));
@@ -58,6 +58,16 @@ export class InternalForm extends Base {
58
58
  var _a;
59
59
  return this.data ? (_a = getResourceId(this.data._links.self.href)) !== null && _a !== void 0 ? _a : '' : '';
60
60
  }
61
+ get hiddenSelector() {
62
+ const alwaysMatch = [super.hiddenSelector.toString()];
63
+ if (this.href)
64
+ alwaysMatch.unshift('create');
65
+ if (!this.href)
66
+ alwaysMatch.unshift('delete', 'timestamps', 'submit');
67
+ if (!this.in({ idle: { snapshot: 'dirty' } }))
68
+ alwaysMatch.unshift('undo', 'submit');
69
+ return new BooleanSelector(alwaysMatch.join(' ').trim());
70
+ }
61
71
  /**
62
72
  * Renders optional form header.
63
73
  * - Customize which actions are rendered with `.renderHeaderActions()` method.
@@ -130,34 +140,21 @@ export class InternalForm extends Base {
130
140
  * don't forget to add `super.renderBody()` to your template.
131
141
  */
132
142
  renderBody() {
133
- if (this.data) {
134
- const isSnapshotDirty = this.in({ idle: { snapshot: 'dirty' } });
135
- const isDeleteHidden = this.hiddenSelector.matches('delete', true);
136
- const actionClass = classMap({ 'transition-opacity': true, 'opacity-0': !isSnapshotDirty });
137
- return html `
138
- <foxy-internal-timestamps-control infer="timestamps"></foxy-internal-timestamps-control>
139
- ${!isDeleteHidden || isSnapshotDirty
140
- ? html `
141
- <div class="flex gap-s">
142
- <foxy-internal-delete-control infer="delete"></foxy-internal-delete-control>
143
- <div class="w-full"></div>
144
- <foxy-internal-undo-control class=${actionClass} infer="undo">
145
- </foxy-internal-undo-control>
146
- <foxy-internal-submit-control class=${actionClass} infer="submit">
147
- </foxy-internal-submit-control>
148
- </div>
149
- `
150
- : ''}
151
- `;
152
- }
153
- else {
154
- return html `
155
- <div class="flex">
156
- <foxy-internal-submit-control infer="create" theme="primary success" class="ml-auto">
157
- </foxy-internal-submit-control>
158
- </div>
159
- `;
160
- }
143
+ const nested = ['delete', 'undo', 'submit', 'create'];
144
+ return html `
145
+ <foxy-internal-timestamps-control infer="timestamps"></foxy-internal-timestamps-control>
146
+
147
+ <div class="flex gap-m" ?hidden=${nested.every(v => this.hiddenSelector.matches(v, true))}>
148
+ <foxy-internal-delete-control infer="delete"></foxy-internal-delete-control>
149
+
150
+ <div class="w-full"></div>
151
+
152
+ <foxy-internal-undo-control infer="undo"> </foxy-internal-undo-control>
153
+ <foxy-internal-submit-control infer="submit"> </foxy-internal-submit-control>
154
+ <foxy-internal-submit-control infer="create" theme="primary success">
155
+ </foxy-internal-submit-control>
156
+ </div>
157
+ `;
161
158
  }
162
159
  /**
163
160
  * Renders the entire form. You should probably implement `.renderBody()`