@foxy.io/elements 1.16.0-beta.6 → 1.16.0-beta.7

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 (229) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +1 -1
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-api-browser.js +5 -0
  5. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  6. package/dist/cdn/foxy-attribute-card.js +1 -1
  7. package/dist/cdn/foxy-attribute-form.js +1 -1
  8. package/dist/cdn/foxy-cancellation-form.js +1 -1
  9. package/dist/cdn/foxy-collection-page.js +1 -1
  10. package/dist/cdn/foxy-collection-pages.js +1 -1
  11. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  12. package/dist/cdn/foxy-coupon-card.js +1 -1
  13. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  14. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  15. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  16. package/dist/cdn/foxy-coupon-form.js +1 -1
  17. package/dist/cdn/foxy-custom-field-card.js +1 -1
  18. package/dist/cdn/foxy-custom-field-form.js +1 -1
  19. package/dist/cdn/foxy-customer-api.js +1 -1
  20. package/dist/cdn/foxy-customer-card.js +1 -1
  21. package/dist/cdn/foxy-customer-form.js +1 -1
  22. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  23. package/dist/cdn/foxy-customer-portal.js +1 -1
  24. package/dist/cdn/foxy-customer.js +1 -1
  25. package/dist/cdn/foxy-customers-table.js +1 -1
  26. package/dist/cdn/foxy-discount-builder.js +1 -1
  27. package/dist/cdn/foxy-discount-card.js +1 -1
  28. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  29. package/dist/cdn/foxy-donation.js +1 -1
  30. package/dist/cdn/foxy-email-template-form.js +1 -1
  31. package/dist/cdn/foxy-error-entry-card.js +1 -1
  32. package/dist/cdn/foxy-form-dialog.js +1 -1
  33. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  34. package/dist/cdn/foxy-gift-card-card.js +1 -1
  35. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  36. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  37. package/dist/cdn/foxy-gift-card-form.js +1 -1
  38. package/dist/cdn/foxy-i18n.js +1 -1
  39. package/dist/cdn/foxy-item-card.js +1 -1
  40. package/dist/cdn/foxy-item-form.js +1 -1
  41. package/dist/cdn/foxy-item-option-card.js +1 -1
  42. package/dist/cdn/foxy-item-option-form.js +1 -1
  43. package/dist/cdn/foxy-items-form.js +1 -1
  44. package/dist/cdn/foxy-nucleon-element.js +1 -1
  45. package/dist/cdn/foxy-pagination.js +1 -1
  46. package/dist/cdn/foxy-payment-card.js +1 -1
  47. package/dist/cdn/foxy-payment-method-card.js +1 -1
  48. package/dist/cdn/foxy-query-builder.js +1 -1
  49. package/dist/cdn/foxy-report-form.js +1 -1
  50. package/dist/cdn/foxy-reports-table.js +1 -1
  51. package/dist/cdn/foxy-shipment-card.js +2 -2
  52. package/dist/cdn/foxy-sign-in-form.js +1 -1
  53. package/dist/cdn/foxy-spinner.js +1 -1
  54. package/dist/cdn/foxy-subscription-card.js +1 -1
  55. package/dist/cdn/foxy-subscription-form.js +1 -1
  56. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  57. package/dist/cdn/foxy-swipe-actions.js +1 -1
  58. package/dist/cdn/foxy-table.js +1 -1
  59. package/dist/cdn/foxy-tax-card.js +1 -1
  60. package/dist/cdn/foxy-tax-form.js +1 -1
  61. package/dist/cdn/foxy-template-config-form.js +1 -1
  62. package/dist/cdn/foxy-template-form.js +1 -1
  63. package/dist/cdn/foxy-transaction-card.js +1 -1
  64. package/dist/cdn/foxy-transaction.js +2 -2
  65. package/dist/cdn/foxy-transactions-table.js +1 -1
  66. package/dist/cdn/foxy-user-form.js +1 -1
  67. package/dist/cdn/foxy-users-table.js +1 -1
  68. package/dist/cdn/foxy-webhook-card.js +1 -1
  69. package/dist/cdn/foxy-webhook-form.js +7 -7
  70. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  71. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  72. package/dist/cdn/shared-01a36c73.js +1 -0
  73. package/dist/cdn/{shared-16b54a16.js → shared-079141d8.js} +1 -1
  74. package/dist/cdn/{shared-e0e3bdc1.js → shared-0c468500.js} +1 -1
  75. package/dist/cdn/{shared-99065f2a.js → shared-0eb966c5.js} +1 -1
  76. package/dist/cdn/{shared-dd0fd816.js → shared-13a60e89.js} +1 -1
  77. package/dist/cdn/{shared-803a0366.js → shared-15e064b7.js} +1 -1
  78. package/dist/cdn/{shared-db34c00a.js → shared-198e7e30.js} +1 -1
  79. package/dist/cdn/{shared-0af1128f.js → shared-209bcce9.js} +1 -1
  80. package/dist/cdn/{shared-f3b35364.js → shared-22ba9566.js} +1 -1
  81. package/dist/cdn/{shared-ea0ac28c.js → shared-242babd5.js} +5 -5
  82. package/dist/cdn/{shared-1b064836.js → shared-25ef9e09.js} +1 -1
  83. package/dist/cdn/{shared-b65bb8ec.js → shared-3641bc33.js} +1 -1
  84. package/dist/cdn/{shared-9ad10520.js → shared-3aaa2bd1.js} +1 -1
  85. package/dist/cdn/{shared-30a41bea.js → shared-3f1f5801.js} +1 -1
  86. package/dist/cdn/{shared-2bb49907.js → shared-40315eea.js} +1 -1
  87. package/dist/cdn/{shared-96df3c85.js → shared-40c5712e.js} +1 -1
  88. package/dist/cdn/shared-567c8c48.js +1 -0
  89. package/dist/cdn/{shared-8f7f868c.js → shared-572bfe87.js} +1 -1
  90. package/dist/cdn/{shared-06014421.js → shared-58a9174f.js} +1 -1
  91. package/dist/cdn/{shared-28f78e36.js → shared-6366d131.js} +1 -1
  92. package/dist/cdn/{shared-0f2e2799.js → shared-64a2a826.js} +1 -1
  93. package/dist/cdn/{shared-3026cee0.js → shared-6eb57269.js} +1 -1
  94. package/dist/cdn/{shared-c76687b7.js → shared-741c109e.js} +1 -1
  95. package/dist/cdn/{shared-5f934d4e.js → shared-78f0bdad.js} +1 -1
  96. package/dist/cdn/shared-801b74d4.js +1 -0
  97. package/dist/cdn/{shared-eeecd876.js → shared-8be45bd7.js} +1 -1
  98. package/dist/cdn/{shared-d33bf73b.js → shared-8e973f80.js} +1 -1
  99. package/dist/cdn/{shared-a89fd2f0.js → shared-9418c6bb.js} +1 -1
  100. package/dist/cdn/{shared-3138e990.js → shared-9509bb93.js} +1 -1
  101. package/dist/cdn/shared-964c9ca9.js +1 -0
  102. package/dist/cdn/{shared-f3655f42.js → shared-968add7f.js} +1 -1
  103. package/dist/cdn/{shared-d3bf9ac0.js → shared-9803aa7c.js} +2 -2
  104. package/dist/cdn/{shared-11c2efc8.js → shared-99940888.js} +1 -1
  105. package/dist/cdn/{shared-dc545318.js → shared-9bd21899.js} +1 -1
  106. package/dist/cdn/{shared-9a91c68f.js → shared-9ce24b40.js} +1 -1
  107. package/dist/cdn/{shared-d519a301.js → shared-a0c6a159.js} +2 -2
  108. package/dist/cdn/{shared-eba18a6f.js → shared-a13bbf00.js} +1 -1
  109. package/dist/cdn/{shared-634813cb.js → shared-a1fb450b.js} +1 -1
  110. package/dist/cdn/{shared-bcfaeb2c.js → shared-a740808f.js} +1 -1
  111. package/dist/cdn/{shared-6b4564c6.js → shared-a7facb5b.js} +3 -3
  112. package/dist/cdn/{shared-6c9541a9.js → shared-a95d3bdd.js} +1 -1
  113. package/dist/cdn/{shared-6e80f6b9.js → shared-b31902a6.js} +2 -2
  114. package/dist/cdn/{shared-bebc774a.js → shared-bd0a55e6.js} +1 -1
  115. package/dist/cdn/{shared-0cab3007.js → shared-c0c55e07.js} +1 -1
  116. package/dist/cdn/{shared-8d8d637f.js → shared-c65ae0ed.js} +3 -3
  117. package/dist/cdn/{shared-7f33a83a.js → shared-dc73b9a5.js} +1 -1
  118. package/dist/cdn/shared-e0437bb4.js +1 -0
  119. package/dist/cdn/{shared-0479553e.js → shared-e1c1e8e2.js} +1 -1
  120. package/dist/cdn/{shared-65f1f0a5.js → shared-e5e7d3bd.js} +1 -1
  121. package/dist/cdn/{shared-4c35a2b7.js → shared-ef9fc547.js} +1 -1
  122. package/dist/cdn/{shared-012b606d.js → shared-f046baf7.js} +3 -3
  123. package/dist/cdn/{shared-e6f3e9f0.js → shared-f9f9ed5b.js} +1 -1
  124. package/dist/cdn/{shared-180ca311.js → shared-fd1913ad.js} +7 -7
  125. package/dist/cdn/translations/api-browser/en.json +22 -0
  126. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.d.ts +30 -0
  127. package/dist/elements/internal/{InternalCollectionCard/InternalCollectionCard.js → InternalAsyncDetailsControl/InternalAsyncDetailsControl.js} +57 -45
  128. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js.map +1 -0
  129. package/dist/elements/internal/InternalAsyncDetailsControl/index.d.ts +7 -0
  130. package/dist/elements/internal/InternalAsyncDetailsControl/index.js +9 -0
  131. package/dist/elements/internal/InternalAsyncDetailsControl/index.js.map +1 -0
  132. package/dist/elements/internal/{InternalDetailsControl/InternalDetailsControl.d.ts → InternalDetails/InternalDetails.d.ts} +3 -3
  133. package/dist/elements/internal/{InternalDetailsControl/InternalDetailsControl.js → InternalDetails/InternalDetails.js} +3 -3
  134. package/dist/elements/internal/InternalDetails/InternalDetails.js.map +1 -0
  135. package/dist/elements/internal/{InternalDetailsControl → InternalDetails}/index.d.ts +2 -2
  136. package/dist/elements/internal/InternalDetails/index.js +8 -0
  137. package/dist/elements/internal/InternalDetails/index.js.map +1 -0
  138. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.d.ts +10 -4
  139. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js +9 -1
  140. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -1
  141. package/dist/elements/internal/InternalRadioGroupControl/types.d.ts +6 -0
  142. package/dist/elements/internal/InternalRadioGroupControl/types.js +2 -0
  143. package/dist/elements/internal/InternalRadioGroupControl/types.js.map +1 -0
  144. package/dist/elements/public/ApiBrowser/ApiBrowser.d.ts +23 -0
  145. package/dist/elements/public/ApiBrowser/ApiBrowser.js +204 -0
  146. package/dist/elements/public/ApiBrowser/ApiBrowser.js.map +1 -0
  147. package/dist/elements/public/ApiBrowser/index.d.ts +9 -0
  148. package/dist/elements/public/ApiBrowser/index.js +11 -0
  149. package/dist/elements/public/ApiBrowser/index.js.map +1 -0
  150. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.d.ts +25 -0
  151. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js +276 -0
  152. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js.map +1 -0
  153. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.d.ts +8 -0
  154. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.js +10 -0
  155. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.js.map +1 -0
  156. package/dist/elements/public/ApiBrowser/types.d.ts +10 -0
  157. package/dist/elements/public/ApiBrowser/types.js +2 -0
  158. package/dist/elements/public/ApiBrowser/types.js.map +1 -0
  159. package/dist/elements/public/ItemForm/ItemForm.js +8 -8
  160. package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
  161. package/dist/elements/public/ItemForm/index.d.ts +1 -1
  162. package/dist/elements/public/ItemForm/index.js +1 -1
  163. package/dist/elements/public/ItemForm/index.js.map +1 -1
  164. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js +2 -2
  165. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js.map +1 -1
  166. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.d.ts +1 -1
  167. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js +1 -1
  168. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js.map +1 -1
  169. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js +2 -2
  170. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js.map +1 -1
  171. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.d.ts +1 -1
  172. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js +1 -1
  173. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js.map +1 -1
  174. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js +2 -2
  175. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js.map +1 -1
  176. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.d.ts +1 -1
  177. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js +1 -1
  178. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js.map +1 -1
  179. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js +2 -2
  180. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js.map +1 -1
  181. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.d.ts +1 -1
  182. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js +1 -1
  183. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js.map +1 -1
  184. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js +2 -2
  185. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js.map +1 -1
  186. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.d.ts +1 -1
  187. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js +1 -1
  188. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js.map +1 -1
  189. package/dist/elements/public/ShipmentCard/ShipmentCard.js +2 -2
  190. package/dist/elements/public/ShipmentCard/ShipmentCard.js.map +1 -1
  191. package/dist/elements/public/ShipmentCard/index.d.ts +1 -1
  192. package/dist/elements/public/ShipmentCard/index.js +1 -1
  193. package/dist/elements/public/ShipmentCard/index.js.map +1 -1
  194. package/dist/elements/public/Transaction/Transaction.js +12 -12
  195. package/dist/elements/public/Transaction/Transaction.js.map +1 -1
  196. package/dist/elements/public/Transaction/index.d.ts +1 -1
  197. package/dist/elements/public/Transaction/index.js +1 -1
  198. package/dist/elements/public/Transaction/index.js.map +1 -1
  199. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js +2 -2
  200. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js.map +1 -1
  201. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.d.ts +1 -1
  202. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.js +1 -1
  203. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.js.map +1 -1
  204. package/dist/elements/public/WebhookForm/WebhookForm.js +4 -4
  205. package/dist/elements/public/WebhookForm/WebhookForm.js.map +1 -1
  206. package/dist/elements/public/WebhookForm/index.d.ts +1 -1
  207. package/dist/elements/public/WebhookForm/index.js +1 -1
  208. package/dist/elements/public/WebhookForm/index.js.map +1 -1
  209. package/dist/elements/public/index.d.ts +1 -0
  210. package/dist/elements/public/index.defined.d.ts +1 -0
  211. package/dist/elements/public/index.defined.js +1 -0
  212. package/dist/elements/public/index.defined.js.map +1 -1
  213. package/dist/elements/public/index.js +1 -0
  214. package/dist/elements/public/index.js.map +1 -1
  215. package/dist/mixins/themeable.js +192 -64
  216. package/dist/mixins/themeable.js.map +1 -1
  217. package/package.json +1 -1
  218. package/dist/cdn/shared-9d4835ed.js +0 -1
  219. package/dist/cdn/shared-dcb80bcf.js +0 -1
  220. package/dist/cdn/shared-dd43ab46.js +0 -1
  221. package/dist/cdn/shared-fe347acc.js +0 -1
  222. package/dist/elements/internal/InternalCollectionCard/InternalCollectionCard.d.ts +0 -13
  223. package/dist/elements/internal/InternalCollectionCard/InternalCollectionCard.js.map +0 -1
  224. package/dist/elements/internal/InternalCollectionCard/index.d.ts +0 -7
  225. package/dist/elements/internal/InternalCollectionCard/index.js +0 -9
  226. package/dist/elements/internal/InternalCollectionCard/index.js.map +0 -1
  227. package/dist/elements/internal/InternalDetailsControl/InternalDetailsControl.js.map +0 -1
  228. package/dist/elements/internal/InternalDetailsControl/index.js +0 -8
  229. package/dist/elements/internal/InternalDetailsControl/index.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import{I as e,_ as t}from"./shared-2eee69db.js";import{F as a}from"./shared-db34c00a.js";import{E as s,C as i,T as r}from"./shared-b65bb8ec.js";import"./shared-eeecd876.js";import"./shared-65f1f0a5.js";import{a as n}from"./shared-30a41bea.js";import"./shared-0f2e2799.js";import{h as l,P as o}from"./shared-16b54a16.js";import{d,P as h,A as u,L as c,c as p,h as m}from"./shared-7f33a83a.js";import"./shared-dd0fd816.js";import{p as v}from"./shared-bcfaeb2c.js";import{a as g,x as b}from"./shared-6b4564c6.js";import{P as f,Q as _,T as y,U as x,V as w,W as E,X as T,Y as k,b as S,Z as $,$ as A,a0 as V,a1 as C,a2 as I,a3 as M,a4 as z,m as F,a5 as L}from"./shared-3026cee0.js";import{s as P}from"./shared-11c2efc8.js";import{i as j}from"./shared-f3655f42.js";var q={raise:f,send:_,sendParent:y,sendUpdate:x,log:w,cancel:E,start:T,stop:k,assign:S,after:$,done:A,respond:V,forwardTo:C,escalate:I,choose:M,pure:z};const H=l`<dom-module id="lumo-text-area" theme-for="vaadin-text-area">
1
+ import{I as e,_ as t}from"./shared-2eee69db.js";import{F as a}from"./shared-198e7e30.js";import{E as s,C as i,T as r}from"./shared-3641bc33.js";import"./shared-8be45bd7.js";import"./shared-e5e7d3bd.js";import{a as l}from"./shared-3f1f5801.js";import"./shared-64a2a826.js";import{h as n,P as o}from"./shared-079141d8.js";import{d,P as h,A as u,L as c,c as p,h as m}from"./shared-dc73b9a5.js";import"./shared-13a60e89.js";import{p as v}from"./shared-a740808f.js";import{a as g,x as b}from"./shared-a7facb5b.js";import{Q as _,T as f,U as y,V as x,W as w,X as E,Y as T,Z as k,b as S,$,a0 as A,a1 as V,a2 as C,a3 as I,a4 as M,a5 as z,m as F,a6 as L}from"./shared-6eb57269.js";import{s as j}from"./shared-99940888.js";import{i as q}from"./shared-968add7f.js";var P={raise:_,send:f,sendParent:y,sendUpdate:x,log:w,cancel:E,start:T,stop:k,assign:S,after:$,done:A,respond:V,forwardTo:C,escalate:I,choose:M,pure:z};const H=d((e=>t=>{const{element:a,name:s,strings:i}=t.committer;if(2!==i.length||""!==i[0]||""!==i[1])throw new Error("live directive bindings must not contain any static values");if(t.committer.parts.length>1)throw new Error("live directive must be the only directive for an attribute or property");if(t instanceof h)a[s]!==e&&t.setValue(e);else{if(!(t instanceof u))throw new Error("live directive can only be used on attributes or properties");a.getAttribute(s)!==e&&t.setValue(e)}})),O=n`<dom-module id="lumo-text-area" theme-for="vaadin-text-area">
2
2
  <template>
3
3
  <style include="lumo-text-field">
4
4
  [part="input-field"],
@@ -56,13 +56,13 @@ import{I as e,_ as t}from"./shared-2eee69db.js";import{F as a}from"./shared-db34
56
56
  }
57
57
  </style>
58
58
  </template>
59
- </dom-module>`;document.head.appendChild(H.content);
59
+ </dom-module>`;document.head.appendChild(O.content);
60
60
  /**
61
61
  @license
62
62
  Copyright (c) 2017 Vaadin Ltd.
63
63
  This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
64
64
  */
65
- class O extends(s(n(i(r(o))))){static get template(){return l`
65
+ class U extends(s(l(i(r(o))))){static get template(){return n`
66
66
  <style include="vaadin-text-field-shared-styles">
67
67
  .vaadin-text-area-container {
68
68
  flex: auto;
@@ -131,7 +131,7 @@ class O extends(s(n(i(r(o))))){static get template(){return l`
131
131
  <div part="error-message" id="[[_errorId]]" aria-live="assertive" aria-hidden\$="[[_getErrorMessageAriaHidden(invalid, errorMessage, _errorId)]]">[[errorMessage]]</div>
132
132
 
133
133
  </div>
134
- `}static get is(){return"vaadin-text-area"}static get version(){return"2.9.2"}static get properties(){return{pattern:{type:String}}}static get observers(){return["_textAreaValueChanged(value)"]}ready(){super.ready(),this._updateHeight(),this.addEventListener("animationend",this._onAnimationEnd),this._inputField=this.root.querySelector("[part=input-field]"),this._inputField.addEventListener("wheel",(e=>{const t=this._inputField.scrollTop;this._inputField.scrollTop+=e.deltaY,t!==this._inputField.scrollTop&&(e.preventDefault(),this.__scrollPositionUpdated())})),this.__scrollPositionUpdated()}__scrollPositionUpdated(){this.updateStyles({"--_text-area-vertical-scroll-position":this._inputField.scrollTop+"px"})}_onAnimationEnd(e){0===e.animationName.indexOf("vaadin-text-area-appear")&&this._updateHeight()}get _slottedTagName(){return"textarea"}_textAreaValueChanged(e){this._updateHeight()}_updateHeight(){const e=this.root.querySelector("[part=input-field]"),t=e.scrollTop,a=this.inputElement,s=this.value?this.value.length:0;if(this._oldValueLength>=s){const t=getComputedStyle(e).height,s=getComputedStyle(a).width;e.style.display="block",e.style.height=t,a.style.maxWidth=s,a.style.height="auto"}this._oldValueLength=s;const i=a.scrollHeight;i>a.clientHeight&&(a.style.height=i+"px"),a.style.removeProperty("max-width"),e.style.removeProperty("display"),e.style.removeProperty("height"),e.scrollTop=t,this._dispatchIronResizeEventIfNeeded("InputHeight",i)}checkValidity(){if(!super.checkValidity())return!1;if(!this.pattern||!this.inputElement.value)return!0;try{const e=this.inputElement.value.match(this.pattern);return!!e&&e[0]===e.input}catch(e){return!0}}}customElements.define(O.is,O);class U extends CustomEvent{constructor(e){super("change",{detail:e})}}const N=l`<dom-module id="lumo-custom-field" theme-for="vaadin-custom-field">
134
+ `}static get is(){return"vaadin-text-area"}static get version(){return"2.9.2"}static get properties(){return{pattern:{type:String}}}static get observers(){return["_textAreaValueChanged(value)"]}ready(){super.ready(),this._updateHeight(),this.addEventListener("animationend",this._onAnimationEnd),this._inputField=this.root.querySelector("[part=input-field]"),this._inputField.addEventListener("wheel",(e=>{const t=this._inputField.scrollTop;this._inputField.scrollTop+=e.deltaY,t!==this._inputField.scrollTop&&(e.preventDefault(),this.__scrollPositionUpdated())})),this.__scrollPositionUpdated()}__scrollPositionUpdated(){this.updateStyles({"--_text-area-vertical-scroll-position":this._inputField.scrollTop+"px"})}_onAnimationEnd(e){0===e.animationName.indexOf("vaadin-text-area-appear")&&this._updateHeight()}get _slottedTagName(){return"textarea"}_textAreaValueChanged(e){this._updateHeight()}_updateHeight(){const e=this.root.querySelector("[part=input-field]"),t=e.scrollTop,a=this.inputElement,s=this.value?this.value.length:0;if(this._oldValueLength>=s){const t=getComputedStyle(e).height,s=getComputedStyle(a).width;e.style.display="block",e.style.height=t,a.style.maxWidth=s,a.style.height="auto"}this._oldValueLength=s;const i=a.scrollHeight;i>a.clientHeight&&(a.style.height=i+"px"),a.style.removeProperty("max-width"),e.style.removeProperty("display"),e.style.removeProperty("height"),e.scrollTop=t,this._dispatchIronResizeEventIfNeeded("InputHeight",i)}checkValidity(){if(!super.checkValidity())return!1;if(!this.pattern||!this.inputElement.value)return!0;try{const e=this.inputElement.value.match(this.pattern);return!!e&&e[0]===e.input}catch(e){return!0}}}customElements.define(U.is,U);class N extends CustomEvent{constructor(e){super("change",{detail:e})}}const D=n`<dom-module id="lumo-custom-field" theme-for="vaadin-custom-field">
135
135
  <template>
136
136
  <style include="lumo-required-field">
137
137
  :host {
@@ -255,12 +255,12 @@ class O extends(s(n(i(r(o))))){static get template(){return l`
255
255
  }
256
256
  </style>
257
257
  </template>
258
- </dom-module>`;document.head.appendChild(N.content);const D=e=>class extends e{static get properties(){return{inputs:{type:Array,readOnly:!0},i18n:{type:Object,value:()=>({parseValue:function(e){return e.split("\t")},formatValue:function(e){return e.join("\t")}})},__errorId:String,__labelId:String,__helperTextId:String,__hasSlottedHelper:Boolean}}connectedCallback(){super.connectedCallback(),this.__observer&&this.__observer.connect()}disconnectedCallback(){super.disconnectedCallback(),this.__observer&&this.__observer.disconnect()}ready(){super.ready(),this.__setInputsFromSlot(),this.__observer=new a(this.$.slot,(()=>{this.__setInputsFromSlot()})),this.$.helperSlot.addEventListener("slotchange",this.__onHelperSlotChange.bind(this)),this.__onHelperSlotChange();const e=/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor);this.addEventListener("keydown",(t=>{if(9===t.keyCode){if("slot"===t.target.parentElement.localName&&!t.defaultPrevented&&e){const e=t.target.parentElement;e.setAttribute("tabindex",-1),setTimeout((()=>e.removeAttribute("tabindex")))}this.inputs.indexOf(t.target)<this.inputs.length-1&&!t.shiftKey||this.inputs.indexOf(t.target)>0&&t.shiftKey?this.dispatchEvent(new CustomEvent("internal-tab")):this.__setValue()}})),this.addEventListener("focusin",(()=>this.setAttribute("focused",""))),this.addEventListener("focusout",(e=>{const t=this.getRootNode().activeElement;this.inputs.some((e=>t===e||e.shadowRoot&&e.shadowRoot.contains(t)))||this.removeAttribute("focused")}));var t=D._uniqueId=1+D._uniqueId||1;this.__errorId=`${this.constructor.is}-error-${t}`,this.__labelId=`${this.constructor.is}-label-${t}`,this.__helperTextId=`${this.constructor.is}-helper-${t}`}focus(){this.inputs&&this.inputs[0]&&this.inputs[0].focus()}__updateValue(e){e&&e.stopPropagation(),this.__setValue(),this.validate(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!1,detail:{value:this.value}}))}__setValue(){this.__settingValue=!0,this.value=this.i18n.formatValue.apply(this,[this.inputs.map((e=>e.value))]),this.__settingValue=!1}__queryAllAssignedElements(e){const t=[];let a;return"SLOT"===e.tagName?a=e.assignedNodes({flatten:!0}).filter((e=>e.nodeType===Node.ELEMENT_NODE)):(t.push(e),a=Array.from(e.children)),a.forEach((e=>t.push(...this.__queryAllAssignedElements(e)))),t}__getInputsFromSlot(){return this.__queryAllAssignedElements(this.$.slot).filter((e=>e.validate||e.checkValidity))}__setInputsFromSlot(){this._setInputs(this.__getInputsFromSlot()),this.__setValue()}__valueChanged(e,t){if(this.__settingValue||!this.inputs)return;const a=this.i18n.parseValue(e);a&&0!=a.length?(this.inputs.forEach(((e,t)=>e.value=a[t])),void 0!==t&&this.validate()):console.warn("Value parser has not provided values array")}__onHelperSlotChange(){const e=this.$.helperSlot.assignedNodes({flatten:!0});this.__hasSlottedHelper=e.filter((e=>3!==e.nodeType)).length>0,this.__hasSlottedHelper?this.setAttribute("has-helper","slotted"):""!==this.helperText&&null!==this.helperText||this.removeAttribute("has-helper")}}
258
+ </dom-module>`;document.head.appendChild(D.content);const B=e=>class extends e{static get properties(){return{inputs:{type:Array,readOnly:!0},i18n:{type:Object,value:()=>({parseValue:function(e){return e.split("\t")},formatValue:function(e){return e.join("\t")}})},__errorId:String,__labelId:String,__helperTextId:String,__hasSlottedHelper:Boolean}}connectedCallback(){super.connectedCallback(),this.__observer&&this.__observer.connect()}disconnectedCallback(){super.disconnectedCallback(),this.__observer&&this.__observer.disconnect()}ready(){super.ready(),this.__setInputsFromSlot(),this.__observer=new a(this.$.slot,(()=>{this.__setInputsFromSlot()})),this.$.helperSlot.addEventListener("slotchange",this.__onHelperSlotChange.bind(this)),this.__onHelperSlotChange();const e=/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor);this.addEventListener("keydown",(t=>{if(9===t.keyCode){if("slot"===t.target.parentElement.localName&&!t.defaultPrevented&&e){const e=t.target.parentElement;e.setAttribute("tabindex",-1),setTimeout((()=>e.removeAttribute("tabindex")))}this.inputs.indexOf(t.target)<this.inputs.length-1&&!t.shiftKey||this.inputs.indexOf(t.target)>0&&t.shiftKey?this.dispatchEvent(new CustomEvent("internal-tab")):this.__setValue()}})),this.addEventListener("focusin",(()=>this.setAttribute("focused",""))),this.addEventListener("focusout",(e=>{const t=this.getRootNode().activeElement;this.inputs.some((e=>t===e||e.shadowRoot&&e.shadowRoot.contains(t)))||this.removeAttribute("focused")}));var t=B._uniqueId=1+B._uniqueId||1;this.__errorId=`${this.constructor.is}-error-${t}`,this.__labelId=`${this.constructor.is}-label-${t}`,this.__helperTextId=`${this.constructor.is}-helper-${t}`}focus(){this.inputs&&this.inputs[0]&&this.inputs[0].focus()}__updateValue(e){e&&e.stopPropagation(),this.__setValue(),this.validate(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!1,detail:{value:this.value}}))}__setValue(){this.__settingValue=!0,this.value=this.i18n.formatValue.apply(this,[this.inputs.map((e=>e.value))]),this.__settingValue=!1}__queryAllAssignedElements(e){const t=[];let a;return"SLOT"===e.tagName?a=e.assignedNodes({flatten:!0}).filter((e=>e.nodeType===Node.ELEMENT_NODE)):(t.push(e),a=Array.from(e.children)),a.forEach((e=>t.push(...this.__queryAllAssignedElements(e)))),t}__getInputsFromSlot(){return this.__queryAllAssignedElements(this.$.slot).filter((e=>e.validate||e.checkValidity))}__setInputsFromSlot(){this._setInputs(this.__getInputsFromSlot()),this.__setValue()}__valueChanged(e,t){if(this.__settingValue||!this.inputs)return;const a=this.i18n.parseValue(e);a&&0!=a.length?(this.inputs.forEach(((e,t)=>e.value=a[t])),void 0!==t&&this.validate()):console.warn("Value parser has not provided values array")}__onHelperSlotChange(){const e=this.$.helperSlot.assignedNodes({flatten:!0});this.__hasSlottedHelper=e.filter((e=>3!==e.nodeType)).length>0,this.__hasSlottedHelper?this.setAttribute("has-helper","slotted"):""!==this.helperText&&null!==this.helperText||this.removeAttribute("has-helper")}}
259
259
  /**
260
260
  @license
261
261
  Copyright (c) 2018 Vaadin Ltd.
262
262
  This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
263
- */;class B extends(s(D(r(o)))){static get template(){return l`
263
+ */;class R extends(s(B(r(o)))){static get template(){return n`
264
264
  <style>
265
265
  :host {
266
266
  display: inline-flex;
@@ -299,4 +299,4 @@ This program is available under Apache License Version 2.0, available at https:/
299
299
  </div>
300
300
  <div part="error-message" id="[[__errorId]]" aria-live="assertive" aria-hidden\$="[[__getErrorMessageAriaHidden(invalid, errorMessage, __errorId)]]">[[errorMessage]]</div>
301
301
  </div>
302
- `}static get is(){return"vaadin-custom-field"}static get version(){return"1.3.0"}static get properties(){return{label:{type:String,value:"",observer:"_labelChanged"},name:String,required:{type:Boolean,reflectToAttribute:!0},value:{type:String,observer:"__valueChanged",notify:!0},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1,observer:"__invalidChanged"},errorMessage:{type:String,value:"",observer:"__errorMessageChanged"},helperText:{type:String,value:"",observer:"__helperTextChanged"}}}static get observers(){return["__getActiveErrorId(invalid, errorMessage, __errorId, helperText, __helperTextId, __hasSlottedHelper)","__getActiveLabelId(label, __labelId)","__toggleHasValue(value)"]}__invalidChanged(e){this.__setOrToggleAttribute("aria-invalid",e,this)}__errorMessageChanged(e){this.__setOrToggleAttribute("has-error-message",!!e,this)}__helperTextChanged(e){this.__setOrToggleAttribute("has-helper",!!e,this)}__toggleHasValue(e){null!==e&&""!==e.trim()?this.setAttribute("has-value",""):this.removeAttribute("has-value")}_labelChanged(e){""!==e&&null!=e?this.setAttribute("has-label",""):this.removeAttribute("has-label")}validate(){return!(this.invalid=!this.checkValidity())}checkValidity(){return!(this.inputs.filter((e=>!(e.validate||e.checkValidity).call(e))).length||this.required&&!this.value.trim())}__setOrToggleAttribute(e,t,a){e&&a&&a.hasAttribute(e)===!t&&(t?a.setAttribute(e,"boolean"==typeof t?"":t):a.removeAttribute(e))}__getActiveErrorId(e,t,a,s,i,r){const n=[];(s||r)&&n.push(i),t&&e&&n.push(a),n.length>0?this.setAttribute("aria-describedby",n.join(" ")):this.removeAttribute("aria-describedby")}__getActiveLabelId(e,t){this.__setOrToggleAttribute("aria-labelledby",e?t:void 0,this)}__getErrorMessageAriaHidden(e,t,a){return(!(t&&e?a:void 0)).toString()}}customElements.define(B.is,B);class R extends CustomEvent{constructor(e){super("change",{detail:e})}}class Y extends R{}const W=d((e=>t=>{const{element:a,name:s,strings:i}=t.committer;if(2!==i.length||""!==i[0]||""!==i[1])throw new Error("live directive bindings must not contain any static values");if(t.committer.parts.length>1)throw new Error("live directive must be the only directive for an attribute or property");if(t instanceof h)a[s]!==e&&t.setValue(e);else{if(!(t instanceof u))throw new Error("live directive can only be used on attributes or properties");a.getAttribute(s)!==e&&t.setValue(e)}}));let X,K,G=e=>e;class Q extends(g(e(c))){constructor(){super(...arguments),this.label="",this.value="",this.disabled=!1,this.readonly=!1,this.errorMessage="",this.__i18n={formatValue:e=>e.join(""),parseValue:e=>{const{count:t,units:a}=v(e);return[t.toString(),a]}},this.__getItems=F((e=>{const t=v(e).count;return[{value:"d",label:this.t("day",{count:t})},{value:"w",label:this.t("week",{count:t})},{value:"m",label:this.t("month",{count:t})},{value:"y",label:this.t("year",{count:t})}]}))}static get properties(){return t(t({},super.properties),{},{checkValidity:{attribute:!1},errorMessage:{type:String,attribute:"error-message"},disabled:{type:Boolean,reflect:!0},readonly:{type:Boolean,reflect:!0},label:{type:String},value:{type:String}})}static get styles(){return p(X||(X=G`:host{display:block}vaadin-custom-field{width:100%;font-size:0;line-height:0;padding-top:0!important}vaadin-custom-field::part(label){padding-bottom:var(--lumo-space-s)}vaadin-custom-field::part(error-message)[aria-hidden=false]{padding-top:var(--lumo-space-xs)}vaadin-combo-box,vaadin-integer-field{width:calc(50% - (var(--lumo-space-s)/ 2))}vaadin-integer-field{margin-right:var(--lumo-space-s);padding:0}vaadin-combo-box::part(text-field){padding:0}`))}render(){return m(K||(K=G` <vaadin-custom-field data-testid="field" .i18n="${0}" .label="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" .errorMessage="${0}" .checkValidity="${0}" @change="${0}"> <vaadin-integer-field data-testid="value" min="1" max="999" has-controls prevent-invalid-input ?invalid="${0}" ?disabled="${0}" ?readonly="${0}"> </vaadin-integer-field> <vaadin-combo-box data-testid="units" item-value-path="value" item-label-path="label" .items="${0}" ?invalid="${0}" ?disabled="${0}" ?readonly="${0}"> </vaadin-combo-box> </vaadin-custom-field> `),this.__i18n,this.label,W(this.value),this.disabled,this.readonly,this.errorMessage,this.checkValidity,this.__handleChange,!this.checkValidity(),this.disabled,this.readonly,this.__getItems(this.value),!this.checkValidity(),this.disabled,this.readonly)}updated(e){super.updated(e);const t=this.renderRoot.firstElementChild;t.value!==this.value&&(t.value=this.value)}checkValidity(){return!0}__handleChange(e){const t=e.target;this.value=t.value,this.dispatchEvent(new Y(this.value))}}const Z=L({id:"choice",type:"parallel",context:{defaultCustomValue:"",customValue:null,custom:!1,items:[],value:null,type:"text",min:null,max:null},states:{mutability:{initial:"editable",states:{editable:{},readonly:{}},on:{SET_READONLY:[{target:".editable",cond:"isPayloadFalsey"},{target:".readonly",cond:"isPayloadTruthy"}]}},interactivity:{initial:"enabled",states:{enabled:{},disabled:{}},on:{SET_DISABLED:[{target:".enabled",cond:"isPayloadFalsey"},{target:".disabled",cond:"isPayloadTruthy"}]}},selection:{initial:"unknown",states:{unknown:{always:[{target:"multiple",cond:"isValueArray"},{target:"single"}]},none:{},single:{},multiple:{}}},extension:{initial:"unknown",states:{unknown:{always:[{target:"present",cond:"hasCustom"},{target:"absent"}]},absent:{},present:{initial:"unknown",states:{unknown:{always:[{target:"selected",cond:"hasCustomValue"},{target:"available"}]},available:{on:{SET_TYPE:{actions:"setType"}}},selected:{initial:"unknown",states:{unknown:{always:[{target:"integer",cond:"showsIntegerField"},{target:"textarea",cond:"showsTextarea"},{target:"frequency",cond:"showsFrequency"},{target:"text"}]},text:{},frequency:{},textarea:{},integer:{type:"parallel",states:{min:{initial:"unknown",states:{unknown:{always:[{target:"custom",cond:"hasMinConstraint"},{target:"none"}]},none:{},custom:{}}},max:{initial:"unknown",states:{unknown:{always:[{target:"custom",cond:"hasMaxConstraint"},{target:"none"}]},none:{},custom:{}}}}}}}}}}}},on:{SET_DEFAULT_CUSTOM_VALUE:{actions:"setDefaultCustomValue"},SET_CUSTOM:{actions:"setCustom",target:[".selection.unknown",".extension.unknown"]},SET_VALUE:{actions:"setValue",target:[".selection.unknown",".extension.unknown"]},SET_ITEMS:{actions:"setItems",target:[".selection.unknown",".extension.unknown"]},SET_TYPE:{actions:"setType",target:".extension.unknown"},SET_MIN:{actions:"setMin",target:".extension.unknown"},SET_MAX:{actions:"setMax",target:".extension.unknown"}}},{guards:{isPayloadFalsey:(e,t)=>!t.data,isPayloadTruthy:(e,t)=>!!t.data,isValueArray:e=>Array.isArray(e.value),showsIntegerField:e=>"integer"===e.type,showsFrequency:e=>"frequency"===e.type,showsTextarea:e=>"textarea"===e.type,hasMinConstraint:e=>"number"==typeof e.min,hasMaxConstraint:e=>"number"==typeof e.max,hasCustomValue:e=>"string"==typeof e.customValue,hasCustom:e=>e.custom},actions:{setDefaultCustomValue:q.assign({defaultCustomValue:(e,t)=>t.data}),setValue:q.assign({value:(e,t)=>t.data,customValue:(e,t)=>Array.isArray(t.data)?t.data.find((t=>!e.items.includes(t))):e.items.includes(t.data)?null:t.data}),setCustom:q.assign({custom:(e,t)=>t.data}),setItems:q.assign({items:(e,t)=>t.data}),setType:q.assign({type:(e,t)=>t.data}),setMin:q.assign({min:(e,t)=>t.data}),setMax:q.assign({max:(e,t)=>t.data})}});let J,ee,te,ae,se,ie,re,ne,le,oe,de,he,ue,ce=e=>e;const pe=`@foxy.io/elements::other[${(Math.pow(10,10)*Math.random()).toFixed(0)}]`;class me extends b{constructor(){super(...arguments),this.getText=e=>e,this.__service=j(Z).onChange((()=>this.requestUpdate())).onTransition((({changed:e})=>e&&this.requestUpdate())).start()}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-text-field":customElements.get("vaadin-text-field"),"x-frequency-input":Q,"vaadin-text-area":customElements.get("vaadin-text-area"),"iron-icon":customElements.get("iron-icon")}}static get styles(){return[super.styles,p(te||(te=ce`:host{--item-width:calc((var(--lumo-space-m) * 2) + 1.25rem)}.ml-xxl{margin-left:var(--item-width)}.item{height:var(--lumo-size-l);width:var(--item-width)}.radio{height:1.25rem;width:1.25rem}.check{height:1.125rem;width:1.125rem}.dot{height:.5rem;width:.5rem}`))]}static get properties(){return t(t({},super.properties),{},{defaultCustomValue:{type:String,attribute:"default-custom-value"},disabled:{type:Boolean},readonly:{type:Boolean},custom:{type:Boolean},type:{type:String},min:{type:Number},max:{type:Number},value:{type:Array},items:{type:Array},getText:{attribute:!1}})}get defaultCustomValue(){return this.__service.state.context.defaultCustomValue}set defaultCustomValue(e){this.__service.send("SET_DEFAULT_CUSTOM_VALUE",{data:e})}get readonly(){return this.__service.state.matches("mutability.readonly")}set readonly(e){this.__service.send("SET_READONLY",{data:e})}get disabled(){return this.__service.state.matches("interactivity.disabled")}set disabled(e){this.__service.send("SET_DISABLED",{data:e})}get custom(){return this.__service.state.matches("extension.present")}set custom(e){this.__service.send("SET_CUSTOM",{data:e})}get type(){return this.__service.state.context.type}set type(e){this.__service.send("SET_TYPE",{data:e})}get min(){return this.__service.state.context.min}set min(e){this.__service.send("SET_MIN",{data:e})}get max(){return this.__service.state.context.max}set max(e){this.__service.send("SET_MAX",{data:e})}get value(){return this.__service.state.context.value}set value(e){this.__service.send("SET_VALUE",{data:e})}get items(){return this.__service.state.context.items}set items(e){this.__service.send("SET_ITEMS",{data:e})}render(){const e=this.custom?[...this.items,pe]:this.items,t=Array.isArray(this.value),a=this.__service.state.matches("extension.present.selected"),s=m(ae||(ae=ce` ${0} `),e.map(((e,s,i)=>{var r;const n=this.custom&&s===i.length-1,l=n?a:t?!!(null===(r=this.value)||void 0===r?void 0:r.includes(e)):e===String(this.value),o=this.disabled||!this._isI18nReady,d=P({value:n?pe:e,name:t?e:"choice","data-testid":`item-${e}`,"?disabled":o,"@change":t=>{if(this.readonly)return t.preventDefault();const a=t.target.checked,s=e===pe?this.defaultCustomValue:e,i=this.value;Array.isArray(i)?this.value=e===pe?a?[...i,s]:i.slice(0,i.length-1):a?[s,...i]:i.filter((e=>e!==s)):this.value=a?s:null,this.dispatchEvent(new U(this.value))}}),h=m(se||(se=ce` <div> ${0} </div> `),e===pe?this._t("choice.other").toString():m(ie||(ie=ce`<slot name="${0}">${0}</slot>`),`${e}-label`,this.getText(e)));return m(re||(re=ce` <div class="ml-xxl border-t border-contrast-10 ${0}"></div> ${0} <div class="mr-m ml-xxl"> ${0} ${0} </div> `),s?"":"hidden",t?function(e,t,a,s,i){const r="transition ease-in-out duration-200",n=`${r} transform ${a?"scale-100":"scale-0"} ${e?"text-contrast-70":"text-tint"}`;return m(ee||(ee=ce` <label class="group flex items-center ${0}"> <div class="item flex items-center justify-center flex-shrink-0 text-primary-contrast"> <div class="check rounded-s ${0} ${0} ${0} focus-within-shadow-outline"> <iron-icon icon="lumo:checkmark" class="block w-full h-full ${0}"></iron-icon> <input type="checkbox" class="sr-only" .checked="${0}" ...="${0}"> </div> </div> <div class="font-lumo leading-m ${0}">${0}</div> </label> `),t||e?"":"cursor-pointer","border "+(e?"border-dashed border-contrast-30":"border-transparent"),r,e?"":t?a?"bg-primary-50":"bg-contrast-10":a?"bg-primary":"bg-contrast-20 group-hover-bg-contrast-30",n,a,s,t?"text-disabled":e?"text-secondary":"text-body",i)}(this.readonly,o,l,d,h):function(e,t,a,s,i){const r="transition ease-in-out duration-200",n=`${r} ${t||e?"":"shadow-xs"} transform ${a?"scale-100":"scale-0"} ${e?"bg-contrast-70":"bg-tint"}`;return m(J||(J=ce` <label class="group flex items-center ${0}"> <div class="item flex items-center justify-center flex-shrink-0"> <div class="flex radio rounded-full ${0} ${0} ${0} focus-within-shadow-outline"> <div class="dot m-auto rounded-full ${0}"></div> <input type="radio" class="sr-only" .checked="${0}" ...="${0}"> </div> </div> <div class="font-lumo leading-m ${0}">${0}</div> </label> `),t||e?"":"cursor-pointer","border "+(e?"border-dashed border-contrast-30":"border-transparent"),r,e?"":t?a?"bg-primary-50":"bg-contrast-10":a?"bg-primary":"bg-contrast-20 group-hover-bg-contrast-30",n,a,s,t?"text-disabled":e?"text-secondary":"text-body",i)}(this.readonly,o,l,d,h),e===pe&&a?this.__field:"",e!==pe?m(ne||(ne=ce`<slot name="${0}"></slot>`),e):"")})));return m(le||(le=ce`<form>${0}</form> `),s)}get __field(){const e=P({placeholder:this._t("choice.other").toString(),class:"w-full mb-m",value:this.__service.state.context.customValue,max:this.max,min:this.min,ns:this.ns,"?disabled":this.disabled,"?readonly":this.readonly,"data-testid":"field","@change":e=>{e.stopPropagation();const t=e.target.value;Array.isArray(this.value)?this.value=this.value.slice(0,this.value.length-1).concat(t):this.value=t,this.dispatchEvent(new U(this.value))}});return"frequency"===this.type?m(oe||(oe=ce`<x-frequency-input ...="${0}"></x-frequency-input>`),e):"integer"===this.type?m(de||(de=ce`<vaadin-integer-field ...="${0}" has-controls></vaadin-integer-field>`),e):"textarea"===this.type?m(he||(he=ce`<vaadin-text-area ...="${0}"></vaadin-text-area>`),e):m(ue||(ue=ce`<vaadin-text-field ...="${0}"></vaadin-text-field>`),e)}}export{me as C,R as D,Q as F,B as a,U as b,q as c};
302
+ `}static get is(){return"vaadin-custom-field"}static get version(){return"1.3.0"}static get properties(){return{label:{type:String,value:"",observer:"_labelChanged"},name:String,required:{type:Boolean,reflectToAttribute:!0},value:{type:String,observer:"__valueChanged",notify:!0},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1,observer:"__invalidChanged"},errorMessage:{type:String,value:"",observer:"__errorMessageChanged"},helperText:{type:String,value:"",observer:"__helperTextChanged"}}}static get observers(){return["__getActiveErrorId(invalid, errorMessage, __errorId, helperText, __helperTextId, __hasSlottedHelper)","__getActiveLabelId(label, __labelId)","__toggleHasValue(value)"]}__invalidChanged(e){this.__setOrToggleAttribute("aria-invalid",e,this)}__errorMessageChanged(e){this.__setOrToggleAttribute("has-error-message",!!e,this)}__helperTextChanged(e){this.__setOrToggleAttribute("has-helper",!!e,this)}__toggleHasValue(e){null!==e&&""!==e.trim()?this.setAttribute("has-value",""):this.removeAttribute("has-value")}_labelChanged(e){""!==e&&null!=e?this.setAttribute("has-label",""):this.removeAttribute("has-label")}validate(){return!(this.invalid=!this.checkValidity())}checkValidity(){return!(this.inputs.filter((e=>!(e.validate||e.checkValidity).call(e))).length||this.required&&!this.value.trim())}__setOrToggleAttribute(e,t,a){e&&a&&a.hasAttribute(e)===!t&&(t?a.setAttribute(e,"boolean"==typeof t?"":t):a.removeAttribute(e))}__getActiveErrorId(e,t,a,s,i,r){const l=[];(s||r)&&l.push(i),t&&e&&l.push(a),l.length>0?this.setAttribute("aria-describedby",l.join(" ")):this.removeAttribute("aria-describedby")}__getActiveLabelId(e,t){this.__setOrToggleAttribute("aria-labelledby",e?t:void 0,this)}__getErrorMessageAriaHidden(e,t,a){return(!(t&&e?a:void 0)).toString()}}customElements.define(R.is,R);class Y extends CustomEvent{constructor(e){super("change",{detail:e})}}class W extends Y{}let X,K,G=e=>e;class Q extends(g(e(c))){constructor(){super(...arguments),this.label="",this.value="",this.disabled=!1,this.readonly=!1,this.errorMessage="",this.__i18n={formatValue:e=>e.join(""),parseValue:e=>{const{count:t,units:a}=v(e);return[t.toString(),a]}},this.__getItems=F((e=>{const t=v(e).count;return[{value:"d",label:this.t("day",{count:t})},{value:"w",label:this.t("week",{count:t})},{value:"m",label:this.t("month",{count:t})},{value:"y",label:this.t("year",{count:t})}]}))}static get properties(){return t(t({},super.properties),{},{checkValidity:{attribute:!1},errorMessage:{type:String,attribute:"error-message"},disabled:{type:Boolean,reflect:!0},readonly:{type:Boolean,reflect:!0},label:{type:String},value:{type:String}})}static get styles(){return p(X||(X=G`:host{display:block}vaadin-custom-field{width:100%;font-size:0;line-height:0;padding-top:0!important}vaadin-custom-field::part(label){padding-bottom:var(--lumo-space-s)}vaadin-custom-field::part(error-message)[aria-hidden=false]{padding-top:var(--lumo-space-xs)}vaadin-combo-box,vaadin-integer-field{width:calc(50% - (var(--lumo-space-s)/ 2))}vaadin-integer-field{margin-right:var(--lumo-space-s);padding:0}vaadin-combo-box::part(text-field){padding:0}`))}render(){return m(K||(K=G` <vaadin-custom-field data-testid="field" .i18n="${0}" .label="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" .errorMessage="${0}" .checkValidity="${0}" @change="${0}"> <vaadin-integer-field data-testid="value" min="1" max="999" has-controls prevent-invalid-input ?invalid="${0}" ?disabled="${0}" ?readonly="${0}"> </vaadin-integer-field> <vaadin-combo-box data-testid="units" item-value-path="value" item-label-path="label" .items="${0}" ?invalid="${0}" ?disabled="${0}" ?readonly="${0}"> </vaadin-combo-box> </vaadin-custom-field> `),this.__i18n,this.label,H(this.value),this.disabled,this.readonly,this.errorMessage,this.checkValidity,this.__handleChange,!this.checkValidity(),this.disabled,this.readonly,this.__getItems(this.value),!this.checkValidity(),this.disabled,this.readonly)}updated(e){super.updated(e);const t=this.renderRoot.firstElementChild;t.value!==this.value&&(t.value=this.value)}checkValidity(){return!0}__handleChange(e){const t=e.target;this.value=t.value,this.dispatchEvent(new W(this.value))}}const Z=L({id:"choice",type:"parallel",context:{defaultCustomValue:"",customValue:null,custom:!1,items:[],value:null,type:"text",min:null,max:null},states:{mutability:{initial:"editable",states:{editable:{},readonly:{}},on:{SET_READONLY:[{target:".editable",cond:"isPayloadFalsey"},{target:".readonly",cond:"isPayloadTruthy"}]}},interactivity:{initial:"enabled",states:{enabled:{},disabled:{}},on:{SET_DISABLED:[{target:".enabled",cond:"isPayloadFalsey"},{target:".disabled",cond:"isPayloadTruthy"}]}},selection:{initial:"unknown",states:{unknown:{always:[{target:"multiple",cond:"isValueArray"},{target:"single"}]},none:{},single:{},multiple:{}}},extension:{initial:"unknown",states:{unknown:{always:[{target:"present",cond:"hasCustom"},{target:"absent"}]},absent:{},present:{initial:"unknown",states:{unknown:{always:[{target:"selected",cond:"hasCustomValue"},{target:"available"}]},available:{on:{SET_TYPE:{actions:"setType"}}},selected:{initial:"unknown",states:{unknown:{always:[{target:"integer",cond:"showsIntegerField"},{target:"textarea",cond:"showsTextarea"},{target:"frequency",cond:"showsFrequency"},{target:"text"}]},text:{},frequency:{},textarea:{},integer:{type:"parallel",states:{min:{initial:"unknown",states:{unknown:{always:[{target:"custom",cond:"hasMinConstraint"},{target:"none"}]},none:{},custom:{}}},max:{initial:"unknown",states:{unknown:{always:[{target:"custom",cond:"hasMaxConstraint"},{target:"none"}]},none:{},custom:{}}}}}}}}}}}},on:{SET_DEFAULT_CUSTOM_VALUE:{actions:"setDefaultCustomValue"},SET_CUSTOM:{actions:"setCustom",target:[".selection.unknown",".extension.unknown"]},SET_VALUE:{actions:"setValue",target:[".selection.unknown",".extension.unknown"]},SET_ITEMS:{actions:"setItems",target:[".selection.unknown",".extension.unknown"]},SET_TYPE:{actions:"setType",target:".extension.unknown"},SET_MIN:{actions:"setMin",target:".extension.unknown"},SET_MAX:{actions:"setMax",target:".extension.unknown"}}},{guards:{isPayloadFalsey:(e,t)=>!t.data,isPayloadTruthy:(e,t)=>!!t.data,isValueArray:e=>Array.isArray(e.value),showsIntegerField:e=>"integer"===e.type,showsFrequency:e=>"frequency"===e.type,showsTextarea:e=>"textarea"===e.type,hasMinConstraint:e=>"number"==typeof e.min,hasMaxConstraint:e=>"number"==typeof e.max,hasCustomValue:e=>"string"==typeof e.customValue,hasCustom:e=>e.custom},actions:{setDefaultCustomValue:P.assign({defaultCustomValue:(e,t)=>t.data}),setValue:P.assign({value:(e,t)=>t.data,customValue:(e,t)=>Array.isArray(t.data)?t.data.find((t=>!e.items.includes(t))):e.items.includes(t.data)?null:t.data}),setCustom:P.assign({custom:(e,t)=>t.data}),setItems:P.assign({items:(e,t)=>t.data}),setType:P.assign({type:(e,t)=>t.data}),setMin:P.assign({min:(e,t)=>t.data}),setMax:P.assign({max:(e,t)=>t.data})}});let J,ee,te,ae,se,ie,re,le,ne,oe,de,he,ue,ce=e=>e;const pe=`@foxy.io/elements::other[${(Math.pow(10,10)*Math.random()).toFixed(0)}]`;class me extends b{constructor(){super(...arguments),this.getText=e=>e,this.__service=q(Z).onChange((()=>this.requestUpdate())).onTransition((({changed:e})=>e&&this.requestUpdate())).start()}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-text-field":customElements.get("vaadin-text-field"),"x-frequency-input":Q,"vaadin-text-area":customElements.get("vaadin-text-area"),"iron-icon":customElements.get("iron-icon")}}static get styles(){return[super.styles,p(te||(te=ce`:host{--item-width:calc((var(--lumo-space-m) * 2) + 1.25rem)}.ml-xxl{margin-left:var(--item-width)}.item{height:var(--lumo-size-l);width:var(--item-width)}.radio{height:1.25rem;width:1.25rem}.check{height:1.125rem;width:1.125rem}.dot{height:.5rem;width:.5rem}`))]}static get properties(){return t(t({},super.properties),{},{defaultCustomValue:{type:String,attribute:"default-custom-value"},disabled:{type:Boolean},readonly:{type:Boolean},custom:{type:Boolean},type:{type:String},min:{type:Number},max:{type:Number},value:{type:Array},items:{type:Array},getText:{attribute:!1}})}get defaultCustomValue(){return this.__service.state.context.defaultCustomValue}set defaultCustomValue(e){this.__service.send("SET_DEFAULT_CUSTOM_VALUE",{data:e})}get readonly(){return this.__service.state.matches("mutability.readonly")}set readonly(e){this.__service.send("SET_READONLY",{data:e})}get disabled(){return this.__service.state.matches("interactivity.disabled")}set disabled(e){this.__service.send("SET_DISABLED",{data:e})}get custom(){return this.__service.state.matches("extension.present")}set custom(e){this.__service.send("SET_CUSTOM",{data:e})}get type(){return this.__service.state.context.type}set type(e){this.__service.send("SET_TYPE",{data:e})}get min(){return this.__service.state.context.min}set min(e){this.__service.send("SET_MIN",{data:e})}get max(){return this.__service.state.context.max}set max(e){this.__service.send("SET_MAX",{data:e})}get value(){return this.__service.state.context.value}set value(e){this.__service.send("SET_VALUE",{data:e})}get items(){return this.__service.state.context.items}set items(e){this.__service.send("SET_ITEMS",{data:e})}render(){const e=this.custom?[...this.items,pe]:this.items,t=Array.isArray(this.value),a=this.__service.state.matches("extension.present.selected"),s=m(ae||(ae=ce` ${0} `),e.map(((e,s,i)=>{var r;const l=this.custom&&s===i.length-1,n=l?a:t?!!(null===(r=this.value)||void 0===r?void 0:r.includes(e)):e===String(this.value),o=this.disabled||!this._isI18nReady,d=j({value:l?pe:e,name:t?e:"choice","data-testid":`item-${e}`,"?disabled":o,"@change":t=>{if(this.readonly)return t.preventDefault();const a=t.target.checked,s=e===pe?this.defaultCustomValue:e,i=this.value;Array.isArray(i)?this.value=e===pe?a?[...i,s]:i.slice(0,i.length-1):a?[s,...i]:i.filter((e=>e!==s)):this.value=a?s:null,this.dispatchEvent(new N(this.value))}}),h=m(se||(se=ce` <div> ${0} </div> `),e===pe?this._t("choice.other").toString():m(ie||(ie=ce`<slot name="${0}">${0}</slot>`),`${e}-label`,this.getText(e)));return m(re||(re=ce` <div class="ml-xxl border-t border-contrast-10 ${0}"></div> ${0} <div class="mr-m ml-xxl"> ${0} ${0} </div> `),s?"":"hidden",t?function(e,t,a,s,i){const r="transition ease-in-out duration-200",l=`${r} transform ${a?"scale-100":"scale-0"} ${e?"text-contrast-70":"text-tint"}`;return m(ee||(ee=ce` <label class="group flex items-center ${0}"> <div class="item flex items-center justify-center flex-shrink-0 text-primary-contrast"> <div class="check rounded-s ${0} ${0} ${0} focus-within-shadow-outline"> <iron-icon icon="lumo:checkmark" class="block w-full h-full ${0}"></iron-icon> <input type="checkbox" class="sr-only" .checked="${0}" ...="${0}"> </div> </div> <div class="font-lumo leading-m ${0}">${0}</div> </label> `),t||e?"":"cursor-pointer","border "+(e?"border-dashed border-contrast-30":"border-transparent"),r,e?"":t?a?"bg-primary-50":"bg-contrast-10":a?"bg-primary":"bg-contrast-20 group-hover-bg-contrast-30",l,a,s,t?"text-disabled":e?"text-secondary":"text-body",i)}(this.readonly,o,n,d,h):function(e,t,a,s,i){const r="transition ease-in-out duration-200",l=`${r} ${t||e?"":"shadow-xs"} transform ${a?"scale-100":"scale-0"} ${e?"bg-contrast-70":"bg-tint"}`;return m(J||(J=ce` <label class="group flex items-center ${0}"> <div class="item flex items-center justify-center flex-shrink-0"> <div class="flex radio rounded-full ${0} ${0} ${0} focus-within-shadow-outline"> <div class="dot m-auto rounded-full ${0}"></div> <input type="radio" class="sr-only" .checked="${0}" ...="${0}"> </div> </div> <div class="font-lumo leading-m ${0}">${0}</div> </label> `),t||e?"":"cursor-pointer","border "+(e?"border-dashed border-contrast-30":"border-transparent"),r,e?"":t?a?"bg-primary-50":"bg-contrast-10":a?"bg-primary":"bg-contrast-20 group-hover-bg-contrast-30",l,a,s,t?"text-disabled":e?"text-secondary":"text-body",i)}(this.readonly,o,n,d,h),e===pe&&a?this.__field:"",e!==pe?m(le||(le=ce`<slot name="${0}"></slot>`),e):"")})));return m(ne||(ne=ce`<form>${0}</form> `),s)}get __field(){const e=j({placeholder:this._t("choice.other").toString(),class:"w-full mb-m",value:this.__service.state.context.customValue,max:this.max,min:this.min,ns:this.ns,"?disabled":this.disabled,"?readonly":this.readonly,"data-testid":"field","@change":e=>{e.stopPropagation();const t=e.target.value;Array.isArray(this.value)?this.value=this.value.slice(0,this.value.length-1).concat(t):this.value=t,this.dispatchEvent(new N(this.value))}});return"frequency"===this.type?m(oe||(oe=ce`<x-frequency-input ...="${0}"></x-frequency-input>`),e):"integer"===this.type?m(de||(de=ce`<vaadin-integer-field ...="${0}" has-controls></vaadin-integer-field>`),e):"textarea"===this.type?m(he||(he=ce`<vaadin-text-area ...="${0}"></vaadin-text-area>`),e):m(ue||(ue=ce`<vaadin-text-field ...="${0}"></vaadin-text-field>`),e)}}export{me as C,Y as D,Q as F,R as a,N as b,P as c};
@@ -0,0 +1,22 @@
1
+ {
2
+ "go_back": "Go back",
3
+ "go_home": "Go home",
4
+ "refresh": "Refresh",
5
+ "first": "First",
6
+ "last": "Last",
7
+ "next": "Next",
8
+ "pagination": "{{from}}-{{to}} out of {{total}}",
9
+ "previous": "Previous",
10
+ "delete": "Delete",
11
+ "submit": "Submit",
12
+ "undo": "Undo",
13
+ "copy-to-clipboard": {
14
+ "click_to_copy": "Click to copy",
15
+ "copying": "Copying",
16
+ "done": "Done",
17
+ "failed_to_copy": "Failed to copy"
18
+ },
19
+ "spinner": {
20
+ "loading_busy": "Loading"
21
+ }
22
+ }
@@ -0,0 +1,30 @@
1
+ import type { PropertyDeclarations, TemplateResult } from 'lit-element';
2
+ import type { CollectionPage } from '../../public';
3
+ import type { FormDialog } from '../../index';
4
+ import { InternalControl } from '../InternalControl/InternalControl';
5
+ /**
6
+ * Internal control displaying a collapsible card with
7
+ * optionally editable hAPI collection items.
8
+ *
9
+ * @tag foxy-internal-async-details-control
10
+ * @since 1.17.0
11
+ */
12
+ export declare class InternalAsyncDetailsControl extends InternalControl {
13
+ static get properties(): PropertyDeclarations;
14
+ /** Same as the `related` property of `NucleonElement`. */
15
+ related: string[];
16
+ /** Limit query parameter to apply to the `first` URL. */
17
+ limit: number;
18
+ /** URI of the first page of the hAPI collection to display. */
19
+ first: string;
20
+ /** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */
21
+ form: FormDialog['form'];
22
+ /** Same as the `item` property of `CollectionPage`. */
23
+ item: CollectionPage<any>['item'];
24
+ /** Same as the `open` property of `InternalDetails`. */
25
+ open: boolean;
26
+ private __itemRenderer;
27
+ renderControl(): TemplateResult;
28
+ private get __dialog();
29
+ private get __cardRenderer();
30
+ }
@@ -1,16 +1,52 @@
1
- import { html } from 'lit-element';
2
1
  import { InternalControl } from "../InternalControl/InternalControl.js";
3
- import { ifDefined } from 'lit-html/directives/if-defined';
4
2
  import { classMap } from "../../../utils/class-map.js";
5
- export class InternalCollectionCard extends InternalControl {
3
+ import { html } from 'lit-element';
4
+ /**
5
+ * Internal control displaying a collapsible card with
6
+ * optionally editable hAPI collection items.
7
+ *
8
+ * @tag foxy-internal-async-details-control
9
+ * @since 1.17.0
10
+ */
11
+ export class InternalAsyncDetailsControl extends InternalControl {
6
12
  constructor() {
7
13
  super(...arguments);
14
+ /** Same as the `related` property of `NucleonElement`. */
8
15
  this.related = [];
16
+ /** Limit query parameter to apply to the `first` URL. */
9
17
  this.limit = 20;
18
+ /** URI of the first page of the hAPI collection to display. */
10
19
  this.first = '';
20
+ /** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */
11
21
  this.form = '';
22
+ /** Same as the `item` property of `CollectionPage`. */
12
23
  this.item = '';
24
+ /** Same as the `open` property of `InternalDetails`. */
13
25
  this.open = false;
26
+ this.__itemRenderer = ctx => {
27
+ if (!this.form || !ctx.data)
28
+ return this.__cardRenderer(ctx);
29
+ const isDisabled = this.disabledSelector.matches('card', true);
30
+ return html `
31
+ <button
32
+ ?disabled=${isDisabled}
33
+ class=${classMap({
34
+ 'focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50': true,
35
+ 'text-left w-full block transition-colors': true,
36
+ 'hover-bg-contrast-5': !isDisabled,
37
+ })}
38
+ @click=${(evt) => {
39
+ const button = evt.currentTarget;
40
+ const dialog = this.__dialog;
41
+ dialog.header = 'header_update';
42
+ dialog.href = ctx.href;
43
+ dialog.show(button);
44
+ }}
45
+ >
46
+ ${this.__cardRenderer(ctx)}
47
+ </button>
48
+ `;
49
+ };
14
50
  }
15
51
  static get properties() {
16
52
  return {
@@ -24,59 +60,29 @@ export class InternalCollectionCard extends InternalControl {
24
60
  };
25
61
  }
26
62
  renderControl() {
27
- var _a, _b;
28
63
  let first;
29
64
  try {
30
65
  const url = new URL(this.first);
31
66
  url.searchParams.set('limit', String(this.limit));
32
67
  first = url.toString();
33
68
  }
34
- catch (_c) {
69
+ catch (_a) {
35
70
  first = this.first;
36
71
  }
37
- const cardRenderer = new Function('ctx', `return ctx.html\`<${this.item} related=\${JSON.stringify(ctx.related)} parent=\${ctx.parent} class="p-m" infer href=\${ctx.href}></${this.item}>\``);
38
- const itemRenderer = ctx => {
39
- if (this.form && !!ctx.data) {
40
- const isDisabled = this.disabledSelector.matches('card', true);
41
- return html `
42
- <button
43
- ?disabled=${isDisabled}
44
- class=${classMap({
45
- 'focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50': true,
46
- 'text-left w-full block transition-colors': true,
47
- 'hover-bg-contrast-5': !isDisabled,
48
- })}
49
- @click=${(evt) => {
50
- const dialog = this.renderRoot.querySelector('#form');
51
- const button = evt.currentTarget;
52
- dialog.header = 'header_update';
53
- dialog.href = ctx.href;
54
- dialog.show(button);
55
- }}
56
- >
57
- ${cardRenderer(ctx)}
58
- </button>
59
- `;
60
- }
61
- return cardRenderer(ctx);
62
- };
63
72
  return html `
64
- <foxy-internal-details-control
73
+ <foxy-internal-details
65
74
  summary="title"
66
- infer
75
+ infer=""
67
76
  ?open=${this.open}
68
- @toggle=${(evt) => {
69
- this.open = evt.currentTarget.open;
70
- }}
77
+ @toggle=${(evt) => (this.open = evt.currentTarget.open)}
71
78
  >
72
79
  ${this.form
73
80
  ? html `
74
81
  <foxy-form-dialog
75
- related=${JSON.stringify(this.related)}
76
82
  parent=${first}
77
- group=${ifDefined((_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.group)}
78
83
  infer="dialog"
79
84
  id="form"
85
+ .related=${this.related}
80
86
  .form=${this.form}
81
87
  >
82
88
  </foxy-form-dialog>
@@ -90,10 +96,11 @@ export class InternalCollectionCard extends InternalControl {
90
96
  @click=${(evt) => {
91
97
  evt.preventDefault();
92
98
  evt.stopPropagation();
93
- const dialog = this.renderRoot.querySelector('#form');
99
+ const dialog = this.__dialog;
100
+ const button = evt.currentTarget;
94
101
  dialog.header = 'header_create';
95
102
  dialog.href = '';
96
- dialog.show(evt.currentTarget);
103
+ dialog.show(button);
97
104
  }}
98
105
  >
99
106
  <iron-icon class="icon-inline" icon="icons:add"></iron-icon>
@@ -104,16 +111,21 @@ export class InternalCollectionCard extends InternalControl {
104
111
 
105
112
  <foxy-pagination class="px-m pb-s" first=${first} infer="pagination">
106
113
  <foxy-collection-page
107
- related=${JSON.stringify(this.related)}
108
114
  class="-mx-m block divide-y divide-contrast-10 mb-s"
109
- group=${ifDefined((_b = this.nucleon) === null || _b === void 0 ? void 0 : _b.group)}
110
115
  infer="card"
111
- .item=${itemRenderer}
116
+ .related=${this.related}
117
+ .item=${this.__itemRenderer}
112
118
  >
113
119
  </foxy-collection-page>
114
120
  </foxy-pagination>
115
- </foxy-internal-details-control>
121
+ </foxy-internal-details>
116
122
  `;
117
123
  }
124
+ get __dialog() {
125
+ return this.renderRoot.querySelector('#form');
126
+ }
127
+ get __cardRenderer() {
128
+ return new Function('ctx', `return ctx.html\`<${this.item} related=\${JSON.stringify(ctx.related)} parent=\${ctx.parent} class="p-m" infer href=\${ctx.href}></${this.item}>\``);
129
+ }
118
130
  }
119
- //# sourceMappingURL=InternalCollectionCard.js.map
131
+ //# sourceMappingURL=InternalAsyncDetailsControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalAsyncDetailsControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,8CAA2C;AACrE,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC;;;;;;GAMG;AACH,MAAM,OAAO,2BAA4B,SAAQ,eAAe;IAAhE;;QAaE,0DAA0D;QAC1D,YAAO,GAAG,EAAc,CAAC;QAEzB,yDAAyD;QACzD,UAAK,GAAG,EAAE,CAAC;QAEX,+DAA+D;QAC/D,UAAK,GAAG,EAAE,CAAC;QAEX,6FAA6F;QAC7F,SAAI,GAAuB,EAAE,CAAC;QAE9B,uDAAuD;QACvD,SAAI,GAAgC,EAAE,CAAC;QAEvC,wDAAwD;QACxD,SAAI,GAAG,KAAK,CAAC;QAEL,mBAAc,GAAiB,GAAG,CAAC,EAAE;YAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE7D,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAE/D,OAAO,IAAI,CAAA;;oBAEK,UAAU;gBACd,QAAQ,CAAC;gBACf,wEAAwE,EAAE,IAAI;gBAC9E,0CAA0C,EAAE,IAAI;gBAChD,qBAAqB,EAAE,CAAC,UAAU;aACnC,CAAC;iBACO,CAAC,GAAU,EAAE,EAAE;gBACtB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAkC,CAAC;gBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAE7B,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC;gBAChC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;;UAEC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;;KAE7B,CAAC;QACJ,CAAC,CAAC;IA+EJ,CAAC;IAtIC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACxB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACtB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACtB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SACxB,CAAC;IACJ,CAAC;IA+CD,aAAa;QACX,IAAI,KAAa,CAAC;QAElB,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAClD,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SACxB;QAAC,WAAM;YACN,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SACpB;QAED,OAAO,IAAI,CAAA;;;;gBAIC,IAAI,CAAC,IAAI;kBACP,CAAC,GAAU,EAAE,EAAE,CACvB,CAAC,IAAI,CAAC,IAAI,GAAI,GAAG,CAAC,aAA6C,CAAC,IAAI,CAAC;;UAErE,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,IAAI,CAAA;;yBAES,KAAK;;;2BAGH,IAAI,CAAC,OAAO;wBACf,IAAI,CAAC,IAAW;;;;gBAIxB,IAAI,CAAC,QAAQ;gBACb,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,IAAI,CAAA;;;;+BAIS,CAAC,GAAU,EAAE,EAAE;oBACtB,GAAG,CAAC,cAAc,EAAE,CAAC;oBACrB,GAAG,CAAC,eAAe,EAAE,CAAC;oBAEtB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,aAAkC,CAAC;oBAEtD,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC;oBAChC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;;;;mBAIJ;aACN;YACH,CAAC,CAAC,EAAE;;mDAEqC,KAAK;;;;uBAIjC,IAAI,CAAC,OAAO;oBACf,IAAI,CAAC,cAAqB;;;;;KAKzC,CAAC;IACJ,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAe,CAAC;IAC9D,CAAC;IAED,IAAY,cAAc;QACxB,OAAO,IAAI,QAAQ,CACjB,KAAK,EACL,qBAAqB,IAAI,CAAC,IAAI,wGAAwG,IAAI,CAAC,IAAI,KAAK,CACrI,CAAC;IACpB,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { CollectionPage } from '../../public';\nimport type { ItemRenderer } from '../../public/CollectionPage/types';\nimport type { FormDialog } from '../../index';\n\nimport { InternalControl } from '../InternalControl/InternalControl';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-element';\n\n/**\n * Internal control displaying a collapsible card with\n * optionally editable hAPI collection items.\n *\n * @tag foxy-internal-async-details-control\n * @since 1.17.0\n */\nexport class InternalAsyncDetailsControl extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n related: { type: Array },\n first: { type: String },\n limit: { type: Number },\n form: { type: String },\n item: { type: String },\n open: { type: Boolean },\n };\n }\n\n /** Same as the `related` property of `NucleonElement`. */\n related = [] as string[];\n\n /** Limit query parameter to apply to the `first` URL. */\n limit = 20;\n\n /** URI of the first page of the hAPI collection to display. */\n first = '';\n\n /** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */\n form: FormDialog['form'] = '';\n\n /** Same as the `item` property of `CollectionPage`. */\n item: CollectionPage<any>['item'] = '';\n\n /** Same as the `open` property of `InternalDetails`. */\n open = false;\n\n private __itemRenderer: ItemRenderer = ctx => {\n if (!this.form || !ctx.data) return this.__cardRenderer(ctx);\n\n const isDisabled = this.disabledSelector.matches('card', true);\n\n return html`\n <button\n ?disabled=${isDisabled}\n class=${classMap({\n 'focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50': true,\n 'text-left w-full block transition-colors': true,\n 'hover-bg-contrast-5': !isDisabled,\n })}\n @click=${(evt: Event) => {\n const button = evt.currentTarget as HTMLButtonElement;\n const dialog = this.__dialog;\n\n dialog.header = 'header_update';\n dialog.href = ctx.href;\n dialog.show(button);\n }}\n >\n ${this.__cardRenderer(ctx)}\n </button>\n `;\n };\n\n renderControl(): TemplateResult {\n let first: string;\n\n try {\n const url = new URL(this.first);\n url.searchParams.set('limit', String(this.limit));\n first = url.toString();\n } catch {\n first = this.first;\n }\n\n return html`\n <foxy-internal-details\n summary=\"title\"\n infer=\"\"\n ?open=${this.open}\n @toggle=${(evt: Event) =>\n (this.open = (evt.currentTarget as InternalAsyncDetailsControl).open)}\n >\n ${this.form\n ? html`\n <foxy-form-dialog\n parent=${first}\n infer=\"dialog\"\n id=\"form\"\n .related=${this.related}\n .form=${this.form as any}\n >\n </foxy-form-dialog>\n\n ${this.readonly\n ? ''\n : html`\n <button\n class=\"h-xs w-xs rounded-full text-success flex items-center justify-center text-l focus-outline-none focus-ring-2 focus-ring-primary-50\"\n slot=\"actions\"\n @click=${(evt: Event) => {\n evt.preventDefault();\n evt.stopPropagation();\n\n const dialog = this.__dialog;\n const button = evt.currentTarget as HTMLButtonElement;\n\n dialog.header = 'header_create';\n dialog.href = '';\n dialog.show(button);\n }}\n >\n <iron-icon class=\"icon-inline\" icon=\"icons:add\"></iron-icon>\n </button>\n `}\n `\n : ''}\n\n <foxy-pagination class=\"px-m pb-s\" first=${first} infer=\"pagination\">\n <foxy-collection-page\n class=\"-mx-m block divide-y divide-contrast-10 mb-s\"\n infer=\"card\"\n .related=${this.related}\n .item=${this.__itemRenderer as any}\n >\n </foxy-collection-page>\n </foxy-pagination>\n </foxy-internal-details>\n `;\n }\n\n private get __dialog() {\n return this.renderRoot.querySelector('#form') as FormDialog;\n }\n\n private get __cardRenderer() {\n return new Function(\n 'ctx',\n `return ctx.html\\`<${this.item} related=\\${JSON.stringify(ctx.related)} parent=\\${ctx.parent} class=\"p-m\" infer href=\\${ctx.href}></${this.item}>\\``\n ) as ItemRenderer;\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import '../../public/CollectionPage/index';
2
+ import '../../public/FormDialog/index';
3
+ import '../../public/Pagination/index';
4
+ import '../../public/I18n/index';
5
+ import '../InternalDetails/index';
6
+ import { InternalAsyncDetailsControl as Control } from './InternalAsyncDetailsControl';
7
+ export { Control as InternalAsyncDetailsControl };
@@ -0,0 +1,9 @@
1
+ import "../../public/CollectionPage/index.js";
2
+ import "../../public/FormDialog/index.js";
3
+ import "../../public/Pagination/index.js";
4
+ import "../../public/I18n/index.js";
5
+ import "../InternalDetails/index.js";
6
+ import { InternalAsyncDetailsControl as Control } from "./InternalAsyncDetailsControl.js";
7
+ customElements.define('foxy-internal-async-details-control', Control);
8
+ export { Control as InternalAsyncDetailsControl };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncDetailsControl/index.ts"],"names":[],"mappings":"AAAA,8CAA2C;AAC3C,0CAAuC;AACvC,0CAAuC;AACvC,oCAAiC;AAEjC,qCAAkC;AAElC,OAAO,EAAE,2BAA2B,IAAI,OAAO,EAAE,yCAAsC;AAEvF,cAAc,CAAC,MAAM,CAAC,qCAAqC,EAAE,OAAO,CAAC,CAAC;AAEtE,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,CAAC","sourcesContent":["import '../../public/CollectionPage/index';\nimport '../../public/FormDialog/index';\nimport '../../public/Pagination/index';\nimport '../../public/I18n/index';\n\nimport '../InternalDetails/index';\n\nimport { InternalAsyncDetailsControl as Control } from './InternalAsyncDetailsControl';\n\ncustomElements.define('foxy-internal-async-details-control', Control);\n\nexport { Control as InternalAsyncDetailsControl };\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { PropertyDeclarations, TemplateResult } from 'lit-element';
2
2
  import { LitElement } from 'lit-element';
3
- declare const InternalDetailsControl_base: typeof LitElement & import("lit-element").Constructor<import("../../../mixins/inferrable").InferrableMixinHost> & {
3
+ declare const InternalDetails_base: typeof LitElement & import("lit-element").Constructor<import("../../../mixins/inferrable").InferrableMixinHost> & {
4
4
  inferredProperties: string[];
5
5
  } & {
6
6
  styles: import("lit-element").CSSResultArray;
@@ -9,9 +9,9 @@ declare const InternalDetailsControl_base: typeof LitElement & import("lit-eleme
9
9
  * Internal details/summary control.
10
10
  *
11
11
  * @since 1.17.0
12
- * @tag foxy-internal-details-control
12
+ * @tag foxy-internal-details
13
13
  */
14
- export declare class InternalDetailsControl extends InternalDetailsControl_base {
14
+ export declare class InternalDetails extends InternalDetails_base {
15
15
  static get properties(): PropertyDeclarations;
16
16
  /** i18n key for summary text. */
17
17
  summary: string | null;
@@ -6,9 +6,9 @@ import { classMap } from "../../../utils/class-map.js";
6
6
  * Internal details/summary control.
7
7
  *
8
8
  * @since 1.17.0
9
- * @tag foxy-internal-details-control
9
+ * @tag foxy-internal-details
10
10
  */
11
- export class InternalDetailsControl extends ThemeableMixin(InferrableMixin(LitElement)) {
11
+ export class InternalDetails extends ThemeableMixin(InferrableMixin(LitElement)) {
12
12
  constructor() {
13
13
  super(...arguments);
14
14
  /** i18n key for summary text. */
@@ -68,4 +68,4 @@ export class InternalDetailsControl extends ThemeableMixin(InferrableMixin(LitEl
68
68
  `;
69
69
  }
70
70
  }
71
- //# sourceMappingURL=InternalDetailsControl.js.map
71
+ //# sourceMappingURL=InternalDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalDetails.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDetails/InternalDetails.ts"],"names":[],"mappings":"AAEA,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,QAAQ,EAAE,oCAAiC;AAEpD;;;;;GAKG;AACH,MAAM,OAAO,eAAgB,SAAQ,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAAhF;;QASE,iCAAiC;QACjC,YAAO,GAAkB,IAAI,CAAC;QAE9B,4CAA4C;QAC5C,SAAI,GAAG,KAAK,CAAC;IA6Cf,CAAC;IAzDC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACzB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SACxB,CAAC;IACJ,CAAC;IAQD,MAAM;;QACJ,OAAO,IAAI,CAAA;;;gBAGC,IAAI,CAAC,IAAI;kBACP,CAAC,GAAU,EAAE,EAAE;YACvB,IAAI,CAAC,IAAI,GAAI,GAAG,CAAC,aAAoC,CAAC,IAAI,CAAC;QAC7D,CAAC;;;kBAGS,QAAQ,CAAC;YACf,wEAAwE,EAAE,IAAI;YAC9E,sDAAsD,EAAE,IAAI;YAC5D,aAAa,EAAE,IAAI;YACnB,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI;SAC1B,CAAC;;;;;;;sBAOU,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE;;;;;;;;;mCASL,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;;;;;;;;;;KAUzD,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\n\nimport { html, LitElement } from 'lit-element';\nimport { InferrableMixin } from '../../../mixins/inferrable';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { classMap } from '../../../utils/class-map';\n\n/**\n * Internal details/summary control.\n *\n * @since 1.17.0\n * @tag foxy-internal-details\n */\nexport class InternalDetails extends ThemeableMixin(InferrableMixin(LitElement)) {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n summary: { type: String },\n open: { type: Boolean },\n };\n }\n\n /** i18n key for summary text. */\n summary: string | null = null;\n\n /** Same as `HTMLDetailsElement['open']`. */\n open = false;\n\n render(): TemplateResult {\n return html`\n <details\n class=\"w-full border border-contrast-10 rounded-t-l rounded-b-l\"\n ?open=${this.open}\n @toggle=${(evt: Event) => {\n this.open = (evt.currentTarget as HTMLDetailsElement).open;\n }}\n >\n <summary\n class=${classMap({\n 'focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50': true,\n 'transition-colors cursor-pointer hover-bg-contrast-5': true,\n 'rounded-t-l': true,\n 'rounded-b-l': !this.open,\n })}\n >\n <div class=\"flex items-center h-m pl-m pr-s\">\n <div class=\"flex items-center flex-1\">\n <foxy-i18n\n class=\"flex items-center text-xs tracking-wide uppercase font-bold text-body\"\n infer=\"\"\n key=${this.summary ?? ''}\n >\n </foxy-i18n>\n\n <slot name=\"actions\"></slot>\n </div>\n\n <iron-icon\n class=\"icon-inline text-xl text-body\"\n icon=\"icons:expand-${this.open ? 'less' : 'more'}\"\n >\n </iron-icon>\n </div>\n </summary>\n\n <div class=\"border-t border-contrast-10\">\n <slot></slot>\n </div>\n </details>\n `;\n }\n}\n"]}
@@ -2,5 +2,5 @@ import '@polymer/iron-icons';
2
2
  import '@polymer/iron-icon';
3
3
  import '../InternalControl/index';
4
4
  import '../../public/I18n/index';
5
- import { InternalDetailsControl as Control } from './InternalDetailsControl';
6
- export { Control as InternalDetailsControl };
5
+ import { InternalDetails as Control } from './InternalDetails';
6
+ export { Control as InternalDetails };
@@ -0,0 +1,8 @@
1
+ import '@polymer/iron-icons';
2
+ import '@polymer/iron-icon';
3
+ import "../InternalControl/index.js";
4
+ import "../../public/I18n/index.js";
5
+ import { InternalDetails as Control } from "./InternalDetails.js";
6
+ customElements.define('foxy-internal-details', Control);
7
+ export { Control as InternalDetails };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDetails/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,oBAAoB,CAAC;AAE5B,qCAAkC;AAClC,oCAAiC;AAEjC,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,6BAA0B;AAE/D,cAAc,CAAC,MAAM,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;AAExD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC","sourcesContent":["import '@polymer/iron-icons';\nimport '@polymer/iron-icon';\n\nimport '../InternalControl/index';\nimport '../../public/I18n/index';\n\nimport { InternalDetails as Control } from './InternalDetails';\n\ncustomElements.define('foxy-internal-details', Control);\n\nexport { Control as InternalDetails };\n"]}
@@ -1,11 +1,17 @@
1
1
  import type { PropertyDeclarations, TemplateResult } from 'lit-element';
2
+ import type { Option } from './types';
2
3
  import { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';
4
+ /**
5
+ * Internal control wrapper for `vaadin-radio-group` element.
6
+ *
7
+ * @since 1.17.0
8
+ * @tag foxy-internal-radio-group-control
9
+ */
3
10
  export declare class InternalRadioGroupControl extends InternalEditableControl {
4
11
  static get properties(): PropertyDeclarations;
5
- options: {
6
- label: string;
7
- value: string;
8
- }[];
12
+ /** List of radio buttons to render. */
13
+ options: Option[];
14
+ /** Same as the "theme" attribute/property of `vaadin-radio-group`. */
9
15
  theme: string | null;
10
16
  renderControl(): TemplateResult;
11
17
  }
@@ -1,10 +1,18 @@
1
1
  import { InternalEditableControl } from "../InternalEditableControl/InternalEditableControl.js";
2
2
  import { ifDefined } from 'lit-html/directives/if-defined';
3
3
  import { html } from 'lit-html';
4
+ /**
5
+ * Internal control wrapper for `vaadin-radio-group` element.
6
+ *
7
+ * @since 1.17.0
8
+ * @tag foxy-internal-radio-group-control
9
+ */
4
10
  export class InternalRadioGroupControl extends InternalEditableControl {
5
11
  constructor() {
6
12
  super(...arguments);
13
+ /** List of radio buttons to render. */
7
14
  this.options = [];
15
+ /** Same as the "theme" attribute/property of `vaadin-radio-group`. */
8
16
  this.theme = null;
9
17
  }
10
18
  static get properties() {
@@ -25,7 +33,7 @@ export class InternalRadioGroupControl extends InternalEditableControl {
25
33
  theme=${ifDefined((_a = this.theme) !== null && _a !== void 0 ? _a : undefined)}
26
34
  ?disabled=${this.disabled || this.readonly}
27
35
  .checkValidity=${this._checkValidity}
28
- .value=${String(this._value)}
36
+ .value=${this._value}
29
37
  @change=${(evt) => {
30
38
  const field = evt.currentTarget;
31
39
  this._value = field.value;
@@ -1 +1 @@
1
- {"version":3,"file":"InternalRadioGroupControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,yBAA0B,SAAQ,uBAAuB;IAAtE;;QASE,YAAO,GAAuC,EAAE,CAAC;QAEjD,UAAK,GAAkB,IAAI,CAAC;IA4B9B,CAAC;IAtCC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACxB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACxB,CAAC;IACJ,CAAC;IAMD,aAAa;;QACX,OAAO,IAAI,CAAA;;wBAES,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;sBAC/B,IAAI,CAAC,UAAU;gBACrB,IAAI,CAAC,KAAK;;gBAEV,SAAS,OAAC,IAAI,CAAC,KAAK,mCAAI,SAAS,CAAC;oBAC9B,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;yBACzB,IAAI,CAAC,cAAc;iBAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;kBAClB,CAAC,GAAgB,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,aAAkC,CAAC;YACrD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAC5B,CAAC;;UAEC,IAAI,CAAC,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAA;yCACiB,MAAM,CAAC,KAAK;wCACb,MAAM,CAAC,KAAK;;WAEzC,CACF;;KAEJ,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { RadioGroupElement } from '@vaadin/vaadin-radio-button/vaadin-radio-group';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nexport class InternalRadioGroupControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n options: { type: Array },\n theme: { type: String },\n };\n }\n\n options: { label: string; value: string }[] = [];\n\n theme: string | null = null;\n\n renderControl(): TemplateResult {\n return html`\n <vaadin-radio-group\n error-message=${ifDefined(this._errorMessage)}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n theme=${ifDefined(this.theme ?? undefined)}\n ?disabled=${this.disabled || this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${String(this._value)}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as RadioGroupElement;\n this._value = field.value;\n }}\n >\n ${this.options.map(\n option => html`\n <vaadin-radio-button value=${option.value}>\n <foxy-i18n infer=\"\" key=${option.label}></foxy-i18n>\n </vaadin-radio-button>\n `\n )}\n </vaadin-radio-group>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalRadioGroupControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,OAAO,yBAA0B,SAAQ,uBAAuB;IAAtE;;QASE,uCAAuC;QACvC,YAAO,GAAa,EAAE,CAAC;QAEvB,sEAAsE;QACtE,UAAK,GAAkB,IAAI,CAAC;IA4B9B,CAAC;IAxCC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACxB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACxB,CAAC;IACJ,CAAC;IAQD,aAAa;;QACX,OAAO,IAAI,CAAA;;wBAES,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;sBAC/B,IAAI,CAAC,UAAU;gBACrB,IAAI,CAAC,KAAK;;gBAEV,SAAS,OAAC,IAAI,CAAC,KAAK,mCAAI,SAAS,CAAC;oBAC9B,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;yBACzB,IAAI,CAAC,cAAc;iBAC3B,IAAI,CAAC,MAAuB;kBAC3B,CAAC,GAAgB,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,aAAkC,CAAC;YACrD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAC5B,CAAC;;UAEC,IAAI,CAAC,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAA;yCACiB,MAAM,CAAC,KAAK;wCACb,MAAM,CAAC,KAAK;;WAEzC,CACF;;KAEJ,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { RadioGroupElement } from '@vaadin/vaadin-radio-button/vaadin-radio-group';\nimport type { Option } from './types';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\n/**\n * Internal control wrapper for `vaadin-radio-group` element.\n *\n * @since 1.17.0\n * @tag foxy-internal-radio-group-control\n */\nexport class InternalRadioGroupControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n options: { type: Array },\n theme: { type: String },\n };\n }\n\n /** List of radio buttons to render. */\n options: Option[] = [];\n\n /** Same as the \"theme\" attribute/property of `vaadin-radio-group`. */\n theme: string | null = null;\n\n renderControl(): TemplateResult {\n return html`\n <vaadin-radio-group\n error-message=${ifDefined(this._errorMessage)}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n theme=${ifDefined(this.theme ?? undefined)}\n ?disabled=${this.disabled || this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${this._value as string | null}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as RadioGroupElement;\n this._value = field.value;\n }}\n >\n ${this.options.map(\n option => html`\n <vaadin-radio-button value=${option.value}>\n <foxy-i18n infer=\"\" key=${option.label}></foxy-i18n>\n </vaadin-radio-button>\n `\n )}\n </vaadin-radio-group>\n `;\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ export declare type Option = {
2
+ /** I18n label key for the radio button. */
3
+ label: string;
4
+ /** Radio button value. */
5
+ value: string;
6
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalRadioGroupControl/types.ts"],"names":[],"mappings":"","sourcesContent":["export type Option = {\n /** I18n label key for the radio button. */\n label: string;\n /** Radio button value. */\n value: string;\n};\n"]}
@@ -0,0 +1,23 @@
1
+ import type { PropertyDeclarations, TemplateResult } from 'lit-element';
2
+ import type { Data } from './types';
3
+ import { NucleonElement } from '../NucleonElement/NucleonElement';
4
+ declare const Base: typeof NucleonElement & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
5
+ defaultNS: string;
6
+ } & {
7
+ styles: import("lit-element").CSSResultArray;
8
+ };
9
+ export declare class ApiBrowser extends Base<Data> {
10
+ static get properties(): PropertyDeclarations;
11
+ home: string | null;
12
+ private __history;
13
+ private __renderItem;
14
+ private __handleExistingResourceFetch;
15
+ render(): TemplateResult;
16
+ private get __canGoBack();
17
+ private get __canGoHome();
18
+ private get __mode();
19
+ private set __mode(value);
20
+ private __goBack;
21
+ private __goHome;
22
+ }
23
+ export {};