@foxy.io/elements 1.18.0-beta.12 → 1.18.0-beta.14
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.
- package/dist/cdn/foxy-access-recovery-form.js +1 -1
- package/dist/cdn/foxy-address-card.js +2 -2
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-api-browser.js +1 -1
- package/dist/cdn/foxy-applied-tax-card.js +1 -1
- package/dist/cdn/foxy-attribute-card.js +1 -1
- package/dist/cdn/foxy-attribute-form.js +1 -1
- package/dist/cdn/foxy-cancellation-form.js +1 -1
- package/dist/cdn/foxy-collection-page.js +1 -1
- package/dist/cdn/foxy-collection-pages.js +1 -1
- package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
- package/dist/cdn/foxy-coupon-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-codes-form.js +1 -1
- package/dist/cdn/foxy-coupon-detail-card.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-custom-field-card.js +1 -1
- package/dist/cdn/foxy-custom-field-form.js +1 -1
- package/dist/cdn/foxy-customer-api.js +1 -1
- package/dist/cdn/foxy-customer-card.js +1 -1
- package/dist/cdn/foxy-customer-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +1 -1
- package/dist/cdn/foxy-customer.js +2 -2
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-builder.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-discount-detail-card.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-email-template-card.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-error-entry-card.js +1 -1
- package/dist/cdn/foxy-form-dialog.js +1 -1
- package/dist/cdn/foxy-generate-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +1 -1
- package/dist/cdn/foxy-item-option-card.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-nucleon-element.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-payment-card.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-payments-api.js +1 -1
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +12 -12
- package/dist/cdn/foxy-reports-table.js +1 -1
- package/dist/cdn/foxy-shipment-card.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +2 -2
- package/dist/cdn/foxy-store-form.js +1 -0
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +4 -4
- package/dist/cdn/foxy-subscriptions-table.js +1 -1
- package/dist/cdn/foxy-table.js +1 -1
- package/dist/cdn/foxy-tax-card.js +1 -1
- package/dist/cdn/foxy-tax-form.js +1 -1
- package/dist/cdn/foxy-template-card.js +1 -0
- package/dist/cdn/foxy-template-config-form.js +1 -1
- package/dist/cdn/foxy-template-form.js +1 -1
- package/dist/cdn/foxy-template-set-form.js +1 -0
- package/dist/cdn/foxy-transaction-card.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-transactions-table.js +1 -1
- package/dist/cdn/foxy-user-form.js +1 -1
- package/dist/cdn/foxy-users-table.js +1 -1
- package/dist/cdn/foxy-webhook-card.js +1 -1
- package/dist/cdn/foxy-webhook-form.js +1 -1
- package/dist/cdn/foxy-webhook-log-card.js +1 -1
- package/dist/cdn/foxy-webhook-status-card.js +1 -1
- package/dist/cdn/{shared-14afc5c6.js → shared-04046e0e.js} +1 -1
- package/dist/cdn/{shared-4a2e1638.js → shared-0bbbc87f.js} +1 -1
- package/dist/cdn/shared-0cc4beec.js +6 -0
- package/dist/cdn/{shared-3ba0d0e8.js → shared-0ecc7d2c.js} +1 -1
- package/dist/cdn/{shared-4e2e233c.js → shared-119efeaa.js} +1 -1
- package/dist/cdn/shared-11be3c89.js +1 -0
- package/dist/cdn/{shared-5a823202.js → shared-14dc506c.js} +1 -1
- package/dist/cdn/shared-15278fe0.js +1 -0
- package/dist/cdn/{shared-1c9fd2b1.js → shared-19044260.js} +1 -1
- package/dist/cdn/{shared-d187b584.js → shared-19440ca2.js} +1 -1
- package/dist/cdn/shared-1eb24528.js +1 -0
- package/dist/cdn/shared-214c34b5.js +1 -0
- package/dist/cdn/{shared-dfdf021a.js → shared-23e0d67e.js} +1 -1
- package/dist/cdn/{shared-3214ee1b.js → shared-290769ea.js} +1 -1
- package/dist/cdn/{shared-7c8b3ce0.js → shared-2af327d0.js} +1 -1
- package/dist/cdn/{shared-0ca312eb.js → shared-35a7a4d6.js} +1 -1
- package/dist/cdn/{shared-0008cf8e.js → shared-36aaf815.js} +5 -5
- package/dist/cdn/{shared-f00d31e0.js → shared-3a84611d.js} +1 -1
- package/dist/cdn/{shared-dbb66347.js → shared-3e781cc9.js} +1 -1
- package/dist/cdn/{shared-de5fc645.js → shared-418e88da.js} +1 -1
- package/dist/cdn/{shared-5f751bfc.js → shared-435ab348.js} +1 -1
- package/dist/cdn/{shared-3d245899.js → shared-4a519a4a.js} +1 -1
- package/dist/cdn/{shared-b0ba62ff.js → shared-4a796610.js} +1 -1
- package/dist/cdn/{shared-ccb96675.js → shared-4c61787a.js} +1 -1
- package/dist/cdn/{shared-74e79000.js → shared-4ebfd7ef.js} +7 -7
- package/dist/cdn/{shared-ba4053b3.js → shared-4fa44231.js} +1 -1
- package/dist/cdn/{shared-ad70817d.js → shared-553e6472.js} +1 -1
- package/dist/cdn/{shared-dc891fc4.js → shared-5cb39f03.js} +1 -1
- package/dist/cdn/{shared-54deb3dc.js → shared-67f1821b.js} +1 -1
- package/dist/cdn/shared-682dbe0a.js +1 -0
- package/dist/cdn/{shared-19bdb896.js → shared-73a8b603.js} +1 -1
- package/dist/cdn/{shared-b1304f5b.js → shared-7415fa7e.js} +1 -1
- package/dist/cdn/shared-779795c5.js +1 -0
- package/dist/cdn/{shared-a6263179.js → shared-81d3ff30.js} +1 -1
- package/dist/cdn/{shared-8dd640bf.js → shared-8d9c0007.js} +1 -1
- package/dist/cdn/{shared-61174bec.js → shared-915fb0e4.js} +12 -17
- package/dist/cdn/{shared-d8faafc7.js → shared-9195959e.js} +1 -1
- package/dist/cdn/{shared-c566fe52.js → shared-93548d58.js} +1 -1
- package/dist/cdn/{shared-0ffa1afb.js → shared-93a1be98.js} +1 -1
- package/dist/cdn/{shared-9aab51c0.js → shared-96ebc59f.js} +1 -1
- package/dist/cdn/shared-9a0f97e5.js +1 -0
- package/dist/cdn/{shared-39cb3be1.js → shared-9afb80a6.js} +1 -1
- package/dist/cdn/{shared-3fd94d2f.js → shared-a0e71609.js} +1 -1
- package/dist/cdn/shared-a420358e.js +1 -0
- package/dist/cdn/{shared-3c7489d6.js → shared-a42a63aa.js} +1 -1
- package/dist/cdn/shared-a8966936.js +1 -0
- package/dist/cdn/{shared-c99a75d8.js → shared-aa4bf9ab.js} +1 -1
- package/dist/cdn/shared-b1201c2e.js +1 -0
- package/dist/cdn/{shared-b866f3a7.js → shared-b20753b8.js} +1 -1
- package/dist/cdn/shared-b2850d64.js +1 -0
- package/dist/cdn/{shared-b7787aae.js → shared-c3a3d9f6.js} +3 -3
- package/dist/cdn/shared-c7ab6598.js +1 -0
- package/dist/cdn/{shared-6d69487b.js → shared-c7cae9e6.js} +1 -1
- package/dist/cdn/{shared-a93f4ae9.js → shared-d24c3729.js} +1 -1
- package/dist/cdn/shared-d6276c83.js +1 -0
- package/dist/cdn/shared-d75c6072.js +1 -0
- package/dist/cdn/shared-d82f3ba0.js +1 -0
- package/dist/cdn/{shared-d9c5e26e.js → shared-d8bf2eac.js} +1 -1
- package/dist/cdn/{shared-66a0263f.js → shared-d9a3104e.js} +1 -1
- package/dist/cdn/shared-da285807.js +169 -0
- package/dist/cdn/shared-e1069291.js +1 -0
- package/dist/cdn/{shared-96695c93.js → shared-e32be255.js} +4 -4
- package/dist/cdn/{shared-f0591b3e.js → shared-e4383064.js} +1 -1
- package/dist/cdn/shared-e4e93604.js +1 -0
- package/dist/cdn/shared-eab81bf4.js +1 -0
- package/dist/cdn/shared-effdf59d.js +1 -0
- package/dist/cdn/translations/email-template-card/en.json +5 -1
- package/dist/cdn/translations/store-form/en.json +311 -0
- package/dist/cdn/translations/template-config-form/en.json +4 -0
- package/dist/cdn/translations/template-set-form/en.json +384 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +1 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +15 -15
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -1
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.d.ts +11 -0
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +143 -0
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -0
- package/dist/elements/internal/InternalEditableListControl/index.d.ts +3 -0
- package/dist/elements/internal/InternalEditableListControl/index.js +5 -0
- package/dist/elements/internal/InternalEditableListControl/index.js.map +1 -0
- package/dist/elements/internal/InternalEditableListControl/types.d.ts +9 -0
- package/dist/elements/internal/InternalEditableListControl/types.js +2 -0
- package/dist/elements/internal/InternalEditableListControl/types.js.map +1 -0
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.d.ts +6 -1
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +25 -12
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +4 -1
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +15 -0
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.d.ts +13 -0
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js +40 -0
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js.map +1 -0
- package/dist/elements/internal/InternalPasswordControl/index.d.ts +4 -0
- package/dist/elements/internal/InternalPasswordControl/index.js +6 -0
- package/dist/elements/internal/InternalPasswordControl/index.js.map +1 -0
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +2 -0
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +20 -9
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
- package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +4 -1
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js +15 -1
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +11 -11
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -1
- package/dist/elements/public/NucleonElement/NucleonElement.js +13 -3
- package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
- package/dist/elements/public/NucleonElement/UpdateEvent.d.ts +10 -2
- package/dist/elements/public/NucleonElement/UpdateEvent.js +8 -2
- package/dist/elements/public/NucleonElement/UpdateEvent.js.map +1 -1
- package/dist/elements/public/StoreForm/StoreForm.d.ts +55 -0
- package/dist/elements/public/StoreForm/StoreForm.js +1023 -0
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -0
- package/dist/elements/public/StoreForm/index.d.ts +15 -0
- package/dist/elements/public/StoreForm/index.js +17 -0
- package/dist/elements/public/StoreForm/index.js.map +1 -0
- package/dist/elements/public/StoreForm/types.d.ts +3 -0
- package/dist/elements/public/StoreForm/types.js +2 -0
- package/dist/elements/public/StoreForm/types.js.map +1 -0
- package/dist/elements/public/TemplateCard/TemplateCard.d.ts +10 -0
- package/dist/elements/public/TemplateCard/TemplateCard.js +18 -0
- package/dist/elements/public/TemplateCard/TemplateCard.js.map +1 -0
- package/dist/elements/public/TemplateCard/index.d.ts +4 -0
- package/dist/elements/public/TemplateCard/index.js +6 -0
- package/dist/elements/public/TemplateCard/index.js.map +1 -0
- package/dist/elements/public/TemplateCard/types.d.ts +3 -0
- package/dist/elements/public/TemplateCard/types.js +2 -0
- package/dist/elements/public/TemplateCard/types.js.map +1 -0
- package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.d.ts +1 -0
- package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +56 -7
- package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
- package/dist/elements/public/TemplateConfigForm/index.d.ts +1 -0
- package/dist/elements/public/TemplateConfigForm/index.js +1 -0
- package/dist/elements/public/TemplateConfigForm/index.js.map +1 -1
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +44 -0
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +360 -0
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -0
- package/dist/elements/public/TemplateSetForm/index.d.ts +15 -0
- package/dist/elements/public/TemplateSetForm/index.js +17 -0
- package/dist/elements/public/TemplateSetForm/index.js.map +1 -0
- package/dist/elements/public/TemplateSetForm/types.d.ts +3 -0
- package/dist/elements/public/TemplateSetForm/types.js +2 -0
- package/dist/elements/public/TemplateSetForm/types.js.map +1 -0
- package/dist/elements/public/index.d.ts +3 -0
- package/dist/elements/public/index.defined.d.ts +3 -0
- package/dist/elements/public/index.defined.js +3 -0
- package/dist/elements/public/index.defined.js.map +1 -1
- package/dist/elements/public/index.js +3 -0
- package/dist/elements/public/index.js.map +1 -1
- package/dist/mixins/configurable.js +9 -0
- package/dist/mixins/configurable.js.map +1 -1
- package/dist/mixins/themeable.js +304 -0
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-02c6c308.js +0 -169
- package/dist/cdn/shared-164a791e.js +0 -1
- package/dist/cdn/shared-24d650cd.js +0 -1
- package/dist/cdn/shared-27089ebf.js +0 -1
- package/dist/cdn/shared-425d906a.js +0 -1
- package/dist/cdn/shared-4a4eab8b.js +0 -1
- package/dist/cdn/shared-4cd53ea2.js +0 -1
- package/dist/cdn/shared-6d175df8.js +0 -1
- package/dist/cdn/shared-73ac094b.js +0 -1
- package/dist/cdn/shared-7684cb05.js +0 -1
- package/dist/cdn/shared-a03d948d.js +0 -1
- package/dist/cdn/shared-a2efb819.js +0 -1
- package/dist/cdn/shared-d5ef2683.js +0 -1
- package/dist/cdn/shared-ea58e244.js +0 -1
- package/dist/cdn/shared-ff31023c.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{L as e,h as t}from"./shared-7f33a83a.js";import{F as a}from"./shared-7c8b3ce0.js";import{l as s,_ as n,k as r}from"./shared-a8ced8bf.js";import{A as o}from"./shared-a03d948d.js";async function i(e){const t=await e;if(!t.ok)throw new Error(await t.text());return t.json()}async function l(e){var t;let a,n;try{const{hostedPaymentGatewaysHelperUrl:r,paymentGatewaysHelperUrl:o,getPaymentMethodSetUrl:l,request:d,fetch:m}=e;if("GET"!==d.method)throw a=405,new Error("Method not allowed. Allowed methods: GET.");const p=s(/\/payment_presets\/(.+)\/available_payment_methods/,{presetId:1}).exec(new URL(d.url).pathname).groups.presetId,h=i(m(r)),y=i(m(o)),f=null===(t=(await i(m(l(p))))._links["fx:payment_gateway"])||void 0===t?void 0:t.href,c=f?await i(m(f)):void 0,u=function(e){const{hostedPaymentGatewaysHelper:t,paymentGatewaysHelper:a,paymentPresetId:s,paymentGateway:n,base:r}=e,o=new URL(`./payment_presets/${s}/available_payment_methods`,r),i={};return Object.entries(t.values).forEach((([e,t])=>{i[e]=t})),Object.entries(a.values).forEach((([e,t])=>{i[e]=t,n&&(i[e].conflict={type:n.type,name:n.description})})),{_links:{self:{href:o.toString()}},values:i}}({hostedPaymentGatewaysHelper:await h,paymentGatewaysHelper:await y,paymentPresetId:p,paymentGateway:c,base:new URL(d.url).origin});n=JSON.stringify(u),a=200}catch(e){n=e instanceof Error?e.message:String(e),a=null!=a?a:500}return new Response(n,{status:a})}function d(e){const{paymentPresetId:t,base:a}=e;return{_links:{self:{href:new URL(`./payment_presets/${t}/available_fraud_protections`,a).toString()}},values:{minfraud:{name:"MaxMind minFraud",uses_rejection_threshold:!0,json:null},google_recaptcha:{name:"Google reCAPTCHA",uses_rejection_threshold:!1,json:{blocks:[{id:"",parent_id:"",fields:[{id:"config",name:"Configuration",type:"select",description:"Determines how reCAPTCHA is configured to operate.",default_value:"disabled",options:[{name:"Disabled",value:"disabled"},{name:"Always enabled",value:"enabled_always"},{name:"Enabled by errors",value:"enabled_by_errors"}]},{id:"private_key",name:"Private Key",type:"text",optional:!0,description:"If using a custom subdomain, enter your Private Key here.",default_value:""},{id:"site_key",name:"Site Key",type:"text",optional:!0,description:"If using a custom subdomain, enter your Site Key here.",default_value:""}]}]}},custom_precheckout_hook:{name:"Pre-Checkout Webhook",uses_rejection_threshold:!1,json:{blocks:[{id:"",parent_id:"",fields:[{id:"enabled",name:"Enabled",type:"checkbox",default_value:!1},{id:"url",name:"URL",type:"text",description:"Url of your Pre-Checkout Hook",default_value:""},{id:"failure_handling",name:"Failure handling",type:"select",description:"Determines what happens to the checkout if your webhook fails.",default_value:"",options:[{name:"Reject",value:"reject"},{name:"Approve",value:"approve"}]}]}]}}}}}async function m(e){let t,a;try{const{request:n}=e;if("GET"!==n.method)throw t=405,new Error("Method not allowed. Allowed methods: GET.");const r=d({paymentPresetId:s(/\/payment_presets\/(.+)\/available_fraud_protections/,{presetId:1}).exec(new URL(n.url).pathname).groups.presetId,base:new URL(n.url).origin});a=JSON.stringify(r),t=200}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}const p=["_links"];function h(e){const{paymentMethodSetFraudProtectionId:t,paymentPresetId:a,fraudProtection:s,base:o}=e,{_links:i}=s,l=r(s,p),m=d({paymentPresetId:a,base:o}),h=`${new URL(i.self.href).pathname.split("/").pop()}C${t}`,y=new URL(`./payment_presets/${a}`,o),f=new URL(`./payment_presets/${a}/fraud_protections/${h}`,o);return n(n({_links:{self:{href:f.toString()},"fx:store":i["fx:store"],"fx:payment_preset":{href:y.toString()}}},l),{},{helper:m.values[s.type]})}async function y(e){var t,a;let n,r;try{const{fraudProtectionsUrl:o,getPaymentMethodSetUrl:l,request:d,fetch:m}=e;if(!["GET","POST"].includes(d.method))throw n=405,new Error("Method not allowed. Allowed methods: GET, POST.");const p=new URL(d.url),y=s(/\/payment_presets\/(.+)\/fraud_protections/,{presetId:1}).exec(p.pathname).groups.presetId,f=await i(m(l(y)));if("GET"===d.method){const e=parseInt(null!==(t=p.searchParams.get("offset"))&&void 0!==t?t:"0"),s=parseInt(null!==(a=p.searchParams.get("limit"))&&void 0!==a?a:"20"),o=new URL(f._links["fx:payment_method_set_fraud_protections"].href);o.searchParams.set("offset",String(Math.max(0,e-1))),o.searchParams.set("limit",String(s));const l=await i(m(o.toString())),c=await Promise.all(l._embedded["fx:payment_method_set_fraud_protections"].map((async e=>i(m(e._links["fx:fraud_protection"].href))))),u=function(e){const{paymentMethodSetFraudProtections:t,fraudProtections:a,paymentPresetId:s,base:n}=e,r=new URL(`/payment_presets/${s}/fraud_protections`,n);r.search=new URL(t._links.self.href).search;const o=new URL(r.toString());o.search=new URL(t._links.first.href).search;const i=new URL(r.toString());i.search=new URL(t._links.last.href).search;const l=new URL(r.toString());l.search=new URL(t._links.prev.href).search;const d=new URL(r.toString());d.search=new URL(t._links.next.href).search;const m=a.map((e=>{const a=t._embedded["fx:payment_method_set_fraud_protections"].find((t=>t.fraud_protection_uri===e._links.self.href));return h({paymentMethodSetFraudProtectionId:new URL(a._links.self.href).pathname.split("/").pop(),fraudProtection:e,paymentPresetId:s,base:n})}));return{_links:{first:{href:o.toString()},last:{href:i.toString()},prev:{href:l.toString()},next:{href:d.toString()},self:{href:r.toString()}},_embedded:{"fx:fraud_protections":m},returned_items:t.returned_items,total_items:t.total_items,offset:t.offset,limit:t.limit}}({paymentMethodSetFraudProtections:l,fraudProtections:c,paymentPresetId:y,base:new URL(d.url).origin});n=200,r=JSON.stringify(u)}else{const e=await d.json();delete e.helper;const t=m(o,{method:"POST",body:JSON.stringify(e)}),a=await i(t),s=await i(m(f._links["fx:payment_method_set_fraud_protections"].href,{method:"POST",body:JSON.stringify({payment_method_set_uri:f._links.self.href,fraud_protection_uri:a._links.self.href})})),l=h({paymentMethodSetFraudProtectionId:new URL(s._links.self.href).pathname.split("/").pop(),fraudProtection:a,paymentPresetId:y,base:new URL(d.url).origin});n=200,r=JSON.stringify(l)}}catch(e){r=e instanceof Error?e.message:String(e),n=null!=n?n:500}return new Response(r,{status:n})}async function f(e){let t,a;try{const{getPaymentMethodSetUrl:n,getFraudProtectionUrl:r,request:o,fetch:l}=e;if(!["GET","PATCH","DELETE"].includes(o.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, PATCH, DELETE.");const d=s(/\/payment_presets\/(.+)\/fraud_protections\/(.+)/,{presetId:1,protectionId:2}),{presetId:m,protectionId:p}=d.exec(o.url).groups,y=n(m),f=p.substring(0,p.indexOf("C"));if("DELETE"===o.method){const e=(await i(l(y)))._links["fx:payment_method_set_fraud_protections"].href,t=new URL(e);t.searchParams.set("fraud_protection_id",f);const a=await i(l(t.toString())),s=a._embedded["fx:payment_method_set_fraud_protections"].map((e=>i(l(e._links.self.href,{method:"DELETE"}))));await Promise.all(s)}let c=await o.text();try{const e=JSON.parse(c);delete e.helper,c=JSON.stringify(e)}catch(e){}const u=l(r(f),{method:o.method,body:"PATCH"===o.method?c:null}),_=await i(u);a="DELETE"===o.method?JSON.stringify({message:"Fraud protection was successfully deleted."}):JSON.stringify(h({paymentMethodSetFraudProtectionId:p.substring(p.indexOf("C")+1),fraudProtection:_,paymentPresetId:m,base:new URL(o.url).origin}))}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}const c=["_links"];function u(e){const{paymentPresetId:t,helper:a,base:s}=e,o="paymentGateway"in e?e.paymentGateway:e.hostedPaymentGateway,{_links:i}=o,l=r(o,c),d=new URL(i.self.href).pathname.split("/").pop();let m;m="paymentMethodSetHostedPaymentGatewayId"in e?`H${d}C${e.paymentMethodSetHostedPaymentGatewayId}`:`R${d}`;const p=new URL(`./payment_presets/${t}`,s),h=new URL(`./payment_presets/${t}/payment_methods/${m}`,s);return n(n({_links:{self:{href:h.toString()},"fx:store":i["fx:store"],"fx:payment_preset":{href:p.toString()}}},l),{},{helper:a})}async function _(e){var t,a,n,r;let o,l;try{const{hostedPaymentGatewaysHelperUrl:d,paymentGatewaysHelperUrl:m,hostedPaymentGatewaysUrl:p,getPaymentMethodSetUrl:h,paymentGatewaysUrl:y,request:f,fetch:c}=e;if(!["GET","POST"].includes(f.method))throw o=405,new Error("Method not allowed. Allowed methods: GET, POST.");const _=new URL(f.url),w=s(/\/payment_presets\/(.+)\/payment_methods/,{presetId:1}).exec(_.pathname).groups.presetId,[g,P,S]=await Promise.all([i(c(d)),i(c(m)),i(c(h(w)))]);if("GET"===f.method){const e=parseInt(null!==(t=_.searchParams.get("offset"))&&void 0!==t?t:"0"),s=parseInt(null!==(a=_.searchParams.get("limit"))&&void 0!==a?a:"20"),r=new URL(S._links["fx:payment_method_set_hosted_payment_gateways"].href);r.searchParams.set("offset",String(Math.max(0,e-1))),r.searchParams.set("limit",String(s));const d=null===(n=S._links["fx:payment_gateway"])||void 0===n?void 0:n.href,[m,p]=await Promise.all([d&&0===e?i(c(d)):null,i(c(r.toString()))]),h=await Promise.all(p._embedded["fx:payment_method_set_hosted_payment_gateways"].map((async e=>i(c(e._links["fx:hosted_payment_gateway"].href))))),y=function(e){var t,a;const{paymentMethodSetHostedPaymentGateways:s,hostedPaymentGatewaysHelper:n,hostedPaymentGateways:r,paymentGatewaysHelper:o,paymentPresetId:i,paymentGateway:l,query:d,base:m}=e,p=new URLSearchParams(d),h=parseInt(null!==(t=p.get("offset"))&&void 0!==t?t:"0"),y=parseInt(null!==(a=p.get("limit"))&&void 0!==a?a:"20"),f=s.total_items+(l?1:0),c=s.returned_items+(l&&"not-on-page"!==l?1:0),_=new URL(`/payment_presets/${i}/payment_methods`,m);_.search=d;const w=new URL(_.toString()),g=new URL(_.toString()),P=new URL(_.toString()),S=new URL(_.toString());w.searchParams.set("limit",String(y)),w.searchParams.set("offset",String(h)),g.searchParams.set("limit",String(y)),g.searchParams.set("offset",String(Math.max(0,f-y))),P.searchParams.set("limit",String(y)),P.searchParams.set("offset",String(Math.max(0,h-y))),S.searchParams.set("limit",String(y)),S.searchParams.set("offset",String(Math.min(h+y,Math.max(0,f-y))));const U=[...l&&"not-on-page"!==l?[l]:[],...r].map((e=>{const t=s._embedded["fx:payment_method_set_hosted_payment_gateways"].find((t=>t.hosted_payment_gateway_uri===e._links.self.href));return u(t?{paymentMethodSetHostedPaymentGatewayId:new URL(t._links.self.href).pathname.split("/").pop(),hostedPaymentGateway:e,paymentPresetId:i,helper:n.values[e.type],base:m}:{paymentPresetId:i,paymentGateway:e,helper:o.values[e.type],base:m})}));return{_links:{first:{href:w.toString()},last:{href:g.toString()},prev:{href:P.toString()},next:{href:S.toString()},self:{href:_.toString()}},_embedded:{"fx:payment_methods":U},returned_items:c,total_items:f,offset:h,limit:y}}({paymentMethodSetHostedPaymentGateways:p,hostedPaymentGatewaysHelper:g,paymentGatewaysHelper:P,hostedPaymentGateways:h,paymentPresetId:w,paymentGateway:m||(d?"not-on-page":void 0),query:new URL(f.url).search,base:new URL(f.url).origin});o=200,l=JSON.stringify(y)}else{const e=await f.clone().json(),t=!!g.values[null!==(r=e.type)&&void 0!==r?r:""];if(delete e.helper,t){const t=await i(c(p,{method:"POST",body:JSON.stringify(e)})),a=await i(c(S._links["fx:payment_method_set_hosted_payment_gateways"].href,{method:"POST",body:JSON.stringify({payment_method_set_uri:S._links.self.href,hosted_payment_gateway_uri:t._links.self.href})})),s=u({paymentMethodSetHostedPaymentGatewayId:new URL(a._links.self.href).pathname.split("/").pop(),hostedPaymentGateway:t,paymentPresetId:w,helper:g.values[t.type],base:new URL(f.url).origin});o=200,l=JSON.stringify(s)}else{const t=c(y,{method:f.method,body:JSON.stringify(e)}),a=await i(t),s={gateway_uri:a._links.self.href};await Promise.all([i(c(S._links.self.href,{method:"PATCH",body:JSON.stringify(s)})),S.gateway_uri?i(c(S.gateway_uri,{method:"DELETE"})):null]);const n=u({paymentPresetId:w,paymentGateway:a,helper:P.values[a.type],base:new URL(f.url).origin});o=200,l=JSON.stringify(n)}}}catch(e){l=e instanceof Error?e.message:String(e),o=null!=o?o:500}return new Response(l,{status:o})}const w=["_links"];function g(e){const{paymentMethodSet:t,base:a}=e,{_links:s}=t,o=r(t,w),i=new URL(t._links.self.href).pathname.split("/").pop(),l=new URL(`./payment_presets/${i}`,a),d=new URL(`./payment_presets/${i}/payment_methods`,a),m=new URL(`./payment_presets/${i}/fraud_protections`,a),p=new URL(`./payment_presets/${i}/available_payment_methods`,a),h=new URL(`./payment_presets/${i}/available_fraud_protections`,a);return n({_links:{self:{href:l.toString()},"fx:store":s["fx:store"],"fx:payment_methods":{href:d.toString()},"fx:fraud_protections":{href:m.toString()},"fx:available_payment_methods":{href:p.toString()},"fx:available_fraud_protections":{href:h.toString()}}},o)}const P=["_embedded","_links"];async function S(e){let t,a;try{const{paymentMethodSetsUrl:s,request:o,fetch:l}=e;if(!["GET","POST"].includes(o.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, POST.");const d=new URL(o.url),m=new URL(s);let p;if(m.search=d.search,"POST"===o.method){const e=l(m.toString(),{method:"POST",body:await o.text()});p=g({paymentMethodSet:await i(e),base:d.origin})}else p=function(e){const{paymentMethodSets:t,base:a}=e,{_embedded:s,_links:o}=t,i=r(t,P),l=new URL("./payment_presets",a),d=new URL(o.first.href);l.search=d.search;const m=new URL("./payment_presets",a),p=new URL(o.last.href);m.search=p.search;const h=new URL("./payment_presets",a),y=new URL(o.prev.href);h.search=y.search;const f=new URL("./payment_presets",a),c=new URL(o.next.href);f.search=c.search;const u=new URL("./payment_presets",a),_=new URL(o.self.href);return u.search=_.search,n(n({},i),{},{_links:{first:{href:l.toString()},last:{href:m.toString()},prev:{href:h.toString()},next:{href:f.toString()},self:{href:u.toString()}},_embedded:{"fx:payment_presets":s["fx:payment_method_sets"].map((e=>g({paymentMethodSet:e,base:a})))}})}({paymentMethodSets:await i(l(m.toString())),base:d.origin});a=JSON.stringify(p),t=200}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}async function U(e){let t,a;try{const{getPaymentMethodSetUrl:n,request:r,fetch:o}=e;if(!["GET","PATCH","DELETE"].includes(r.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, PATCH, DELETE.");const l=s(/payment_presets\/(.+)/,{presetId:1}).exec(r.url).groups.presetId,d=new URL(r.url),m=new URL(n(l));m.search=d.search;const p=await i(o(m.toString(),{method:r.method,body:"PATCH"===r.method?await r.text():null}));a="DELETE"===r.method?JSON.stringify({message:"Payment preset was successfully deleted."}):JSON.stringify(g({paymentMethodSet:p,base:new URL(r.url).origin}))}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}async function b(e){let t,a;try{const{hostedPaymentGatewaysHelperUrl:n,paymentGatewaysHelperUrl:r,getPaymentMethodSetHostedPaymentGatewayUrl:o,getHostedPaymentGatewayUrl:l,getPaymentMethodSetUrl:d,getPaymentGatewayUrl:m,request:p,fetch:h}=e;if(!["GET","PATCH","DELETE"].includes(p.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, PATCH, DELETE.");const y=s(/\/payment_presets\/(.+)\/payment_methods\/(.+)/,{presetId:1,methodId:2}),{presetId:f,methodId:c}=y.exec(p.url).groups,_=c.startsWith("H"),w=d(f),g=c.substring(1,_?c.indexOf("C"):void 0),P=i(h(n)),S=i(h(r));if("DELETE"===p.method)if(_){const e=o(c.substring(c.indexOf("C")+1));await i(h(e,{method:"DELETE"}))}else{const e={gateway_uri:""},t=JSON.stringify(e);await i(h(w,{method:"PATCH",body:t}))}let U=await p.text();try{const e=JSON.parse(U);delete e.helper,U=JSON.stringify(e)}catch(e){}if(_){const e=h(l(g),{method:p.method,body:"PATCH"===p.method?U:null}),t=await P,s=await i(e);a="DELETE"===p.method?JSON.stringify({message:"Payment method was successfully deleted."}):JSON.stringify(u({paymentMethodSetHostedPaymentGatewayId:c.substring(c.indexOf("C")+1),hostedPaymentGateway:s,paymentPresetId:f,helper:t.values[s.type],base:new URL(p.url).origin}))}else{const e=h(m(g),{method:p.method,body:"PATCH"===p.method?U:null}),t=await S,s=await i(e);a="DELETE"===p.method?JSON.stringify({message:"Payment method was successfully deleted."}):JSON.stringify(u({paymentGateway:s,paymentPresetId:f,helper:t.values[s.type],base:new URL(p.url).origin}))}}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}let L,E=e=>e;class G extends e{constructor(){super(...arguments),this.paymentMethodSetHostedPaymentGatewaysUrl=null,this.hostedPaymentGatewaysHelperUrl=null,this.hostedPaymentGatewaysUrl=null,this.paymentGatewaysHelperUrl=null,this.paymentMethodSetsUrl=null,this.fraudProtectionsUrl=null,this.paymentGatewaysUrl=null,this.__api=new o(this),this.__fetch=this.__api.fetch.bind(this.__api),this.__handleFetch=e=>{if(!(e instanceof a))return;if(!e.request.url.startsWith("https://foxy-payments-api.element/"))return;if(e.defaultPrevented)return;const{paymentMethodSetHostedPaymentGatewaysUrl:t,hostedPaymentGatewaysHelperUrl:n,paymentGatewaysHelperUrl:r,hostedPaymentGatewaysUrl:o,paymentMethodSetsUrl:i,fraudProtectionsUrl:d,paymentGatewaysUrl:p}=this;if(null===t)return;if(null===n)return;if(null===r)return;if(null===o)return;if(null===i)return;if(null===d)return;if(null===p)return;const h=e=>t=>{const a=new URL(e);return a.pathname.endsWith("/")||(a.pathname+="/"),a.pathname+=t,a.toString()},c=function(e){const t=[[s(/\/payment_presets\/(.+)\/payment_methods\/(.+)/,{presetId:1,methodId:2}),b],[s(/\/payment_presets\/(.+)\/available_fraud_protections/,{presetId:1}),m],[s(/\/payment_presets\/(.+)\/available_payment_methods/,{presetId:1}),l],[s(/\/payment_presets\/(.+)\/fraud_protections\/(.+)/,{presetId:1,protectionId:2}),f],[s(/\/payment_presets\/(.+)\/fraud_protections/,{presetId:1}),y],[s(/\/payment_presets\/(.+)\/payment_methods/,{presetId:1}),_],[s(/\/payment_presets\/(.+)/,{presetId:1}),U],[/\/payment_presets/,S]];for(const[a,s]of t)if(a.test(new URL(e.request.url).pathname))return s(e);return null}({hostedPaymentGatewaysHelperUrl:n,paymentGatewaysHelperUrl:r,hostedPaymentGatewaysUrl:o,paymentMethodSetsUrl:i,fraudProtectionsUrl:d,paymentGatewaysUrl:p,getPaymentMethodSetHostedPaymentGatewayUrl:h(t),getHostedPaymentGatewayUrl:h(o),getPaymentMethodSetUrl:h(i),getFraudProtectionUrl:h(d),getPaymentGatewayUrl:h(p),request:e.request,fetch:this.__fetch});c&&(e.preventDefault(),e.respondWith(c))}}static get properties(){return{paymentMethodSetHostedPaymentGatewaysUrl:{attribute:"payment-method-set-hosted-payment-gateways-url"},hostedPaymentGatewaysHelperUrl:{attribute:"hosted-payment-gateways-helper-url"},hostedPaymentGatewaysUrl:{attribute:"hosted-payment-gateways-url"},paymentGatewaysHelperUrl:{attribute:"payment-gateways-helper-url"},paymentMethodSetsUrl:{attribute:"payment-method-sets-url"},fraudProtectionsUrl:{attribute:"fraud-protections-url"},paymentGatewaysUrl:{attribute:"payment-gateways-url"}}}connectedCallback(){super.connectedCallback(),this.addEventListener("fetch",this.__handleFetch)}render(){return t(L||(L=E`<slot></slot>`))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("fetch",this.__handleFetch)}}customElements.define("foxy-payments-api",G);export{G as PaymentsApi};
|
|
1
|
+
import{L as e,h as t}from"./shared-7f33a83a.js";import{F as a}from"./shared-2af327d0.js";import{l as s,_ as n,k as r}from"./shared-a8ced8bf.js";import{A as o}from"./shared-a420358e.js";async function i(e){const t=await e;if(!t.ok)throw new Error(await t.text());return t.json()}async function l(e){var t;let a,n;try{const{hostedPaymentGatewaysHelperUrl:r,paymentGatewaysHelperUrl:o,getPaymentMethodSetUrl:l,request:d,fetch:m}=e;if("GET"!==d.method)throw a=405,new Error("Method not allowed. Allowed methods: GET.");const p=s(/\/payment_presets\/(.+)\/available_payment_methods/,{presetId:1}).exec(new URL(d.url).pathname).groups.presetId,h=i(m(r)),y=i(m(o)),f=null===(t=(await i(m(l(p))))._links["fx:payment_gateway"])||void 0===t?void 0:t.href,c=f?await i(m(f)):void 0,u=function(e){const{hostedPaymentGatewaysHelper:t,paymentGatewaysHelper:a,paymentPresetId:s,paymentGateway:n,base:r}=e,o=new URL(`./payment_presets/${s}/available_payment_methods`,r),i={};return Object.entries(t.values).forEach((([e,t])=>{i[e]=t})),Object.entries(a.values).forEach((([e,t])=>{i[e]=t,n&&(i[e].conflict={type:n.type,name:n.description})})),{_links:{self:{href:o.toString()}},values:i}}({hostedPaymentGatewaysHelper:await h,paymentGatewaysHelper:await y,paymentPresetId:p,paymentGateway:c,base:new URL(d.url).origin});n=JSON.stringify(u),a=200}catch(e){n=e instanceof Error?e.message:String(e),a=null!=a?a:500}return new Response(n,{status:a})}function d(e){const{paymentPresetId:t,base:a}=e;return{_links:{self:{href:new URL(`./payment_presets/${t}/available_fraud_protections`,a).toString()}},values:{minfraud:{name:"MaxMind minFraud",uses_rejection_threshold:!0,json:null},google_recaptcha:{name:"Google reCAPTCHA",uses_rejection_threshold:!1,json:{blocks:[{id:"",parent_id:"",fields:[{id:"config",name:"Configuration",type:"select",description:"Determines how reCAPTCHA is configured to operate.",default_value:"disabled",options:[{name:"Disabled",value:"disabled"},{name:"Always enabled",value:"enabled_always"},{name:"Enabled by errors",value:"enabled_by_errors"}]},{id:"private_key",name:"Private Key",type:"text",optional:!0,description:"If using a custom subdomain, enter your Private Key here.",default_value:""},{id:"site_key",name:"Site Key",type:"text",optional:!0,description:"If using a custom subdomain, enter your Site Key here.",default_value:""}]}]}},custom_precheckout_hook:{name:"Pre-Checkout Webhook",uses_rejection_threshold:!1,json:{blocks:[{id:"",parent_id:"",fields:[{id:"enabled",name:"Enabled",type:"checkbox",default_value:!1},{id:"url",name:"URL",type:"text",description:"Url of your Pre-Checkout Hook",default_value:""},{id:"failure_handling",name:"Failure handling",type:"select",description:"Determines what happens to the checkout if your webhook fails.",default_value:"",options:[{name:"Reject",value:"reject"},{name:"Approve",value:"approve"}]}]}]}}}}}async function m(e){let t,a;try{const{request:n}=e;if("GET"!==n.method)throw t=405,new Error("Method not allowed. Allowed methods: GET.");const r=d({paymentPresetId:s(/\/payment_presets\/(.+)\/available_fraud_protections/,{presetId:1}).exec(new URL(n.url).pathname).groups.presetId,base:new URL(n.url).origin});a=JSON.stringify(r),t=200}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}const p=["_links"];function h(e){const{paymentMethodSetFraudProtectionId:t,paymentPresetId:a,fraudProtection:s,base:o}=e,{_links:i}=s,l=r(s,p),m=d({paymentPresetId:a,base:o}),h=`${new URL(i.self.href).pathname.split("/").pop()}C${t}`,y=new URL(`./payment_presets/${a}`,o),f=new URL(`./payment_presets/${a}/fraud_protections/${h}`,o);return n(n({_links:{self:{href:f.toString()},"fx:store":i["fx:store"],"fx:payment_preset":{href:y.toString()}}},l),{},{helper:m.values[s.type]})}async function y(e){var t,a;let n,r;try{const{fraudProtectionsUrl:o,getPaymentMethodSetUrl:l,request:d,fetch:m}=e;if(!["GET","POST"].includes(d.method))throw n=405,new Error("Method not allowed. Allowed methods: GET, POST.");const p=new URL(d.url),y=s(/\/payment_presets\/(.+)\/fraud_protections/,{presetId:1}).exec(p.pathname).groups.presetId,f=await i(m(l(y)));if("GET"===d.method){const e=parseInt(null!==(t=p.searchParams.get("offset"))&&void 0!==t?t:"0"),s=parseInt(null!==(a=p.searchParams.get("limit"))&&void 0!==a?a:"20"),o=new URL(f._links["fx:payment_method_set_fraud_protections"].href);o.searchParams.set("offset",String(Math.max(0,e-1))),o.searchParams.set("limit",String(s));const l=await i(m(o.toString())),c=await Promise.all(l._embedded["fx:payment_method_set_fraud_protections"].map((async e=>i(m(e._links["fx:fraud_protection"].href))))),u=function(e){const{paymentMethodSetFraudProtections:t,fraudProtections:a,paymentPresetId:s,base:n}=e,r=new URL(`/payment_presets/${s}/fraud_protections`,n);r.search=new URL(t._links.self.href).search;const o=new URL(r.toString());o.search=new URL(t._links.first.href).search;const i=new URL(r.toString());i.search=new URL(t._links.last.href).search;const l=new URL(r.toString());l.search=new URL(t._links.prev.href).search;const d=new URL(r.toString());d.search=new URL(t._links.next.href).search;const m=a.map((e=>{const a=t._embedded["fx:payment_method_set_fraud_protections"].find((t=>t.fraud_protection_uri===e._links.self.href));return h({paymentMethodSetFraudProtectionId:new URL(a._links.self.href).pathname.split("/").pop(),fraudProtection:e,paymentPresetId:s,base:n})}));return{_links:{first:{href:o.toString()},last:{href:i.toString()},prev:{href:l.toString()},next:{href:d.toString()},self:{href:r.toString()}},_embedded:{"fx:fraud_protections":m},returned_items:t.returned_items,total_items:t.total_items,offset:t.offset,limit:t.limit}}({paymentMethodSetFraudProtections:l,fraudProtections:c,paymentPresetId:y,base:new URL(d.url).origin});n=200,r=JSON.stringify(u)}else{const e=await d.json();delete e.helper;const t=m(o,{method:"POST",body:JSON.stringify(e)}),a=await i(t),s=await i(m(f._links["fx:payment_method_set_fraud_protections"].href,{method:"POST",body:JSON.stringify({payment_method_set_uri:f._links.self.href,fraud_protection_uri:a._links.self.href})})),l=h({paymentMethodSetFraudProtectionId:new URL(s._links.self.href).pathname.split("/").pop(),fraudProtection:a,paymentPresetId:y,base:new URL(d.url).origin});n=200,r=JSON.stringify(l)}}catch(e){r=e instanceof Error?e.message:String(e),n=null!=n?n:500}return new Response(r,{status:n})}async function f(e){let t,a;try{const{getPaymentMethodSetUrl:n,getFraudProtectionUrl:r,request:o,fetch:l}=e;if(!["GET","PATCH","DELETE"].includes(o.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, PATCH, DELETE.");const d=s(/\/payment_presets\/(.+)\/fraud_protections\/(.+)/,{presetId:1,protectionId:2}),{presetId:m,protectionId:p}=d.exec(o.url).groups,y=n(m),f=p.substring(0,p.indexOf("C"));if("DELETE"===o.method){const e=(await i(l(y)))._links["fx:payment_method_set_fraud_protections"].href,t=new URL(e);t.searchParams.set("fraud_protection_id",f);const a=await i(l(t.toString())),s=a._embedded["fx:payment_method_set_fraud_protections"].map((e=>i(l(e._links.self.href,{method:"DELETE"}))));await Promise.all(s)}let c=await o.text();try{const e=JSON.parse(c);delete e.helper,c=JSON.stringify(e)}catch(e){}const u=l(r(f),{method:o.method,body:"PATCH"===o.method?c:null}),_=await i(u);a="DELETE"===o.method?JSON.stringify({message:"Fraud protection was successfully deleted."}):JSON.stringify(h({paymentMethodSetFraudProtectionId:p.substring(p.indexOf("C")+1),fraudProtection:_,paymentPresetId:m,base:new URL(o.url).origin}))}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}const c=["_links"];function u(e){const{paymentPresetId:t,helper:a,base:s}=e,o="paymentGateway"in e?e.paymentGateway:e.hostedPaymentGateway,{_links:i}=o,l=r(o,c),d=new URL(i.self.href).pathname.split("/").pop();let m;m="paymentMethodSetHostedPaymentGatewayId"in e?`H${d}C${e.paymentMethodSetHostedPaymentGatewayId}`:`R${d}`;const p=new URL(`./payment_presets/${t}`,s),h=new URL(`./payment_presets/${t}/payment_methods/${m}`,s);return n(n({_links:{self:{href:h.toString()},"fx:store":i["fx:store"],"fx:payment_preset":{href:p.toString()}}},l),{},{helper:a})}async function _(e){var t,a,n,r;let o,l;try{const{hostedPaymentGatewaysHelperUrl:d,paymentGatewaysHelperUrl:m,hostedPaymentGatewaysUrl:p,getPaymentMethodSetUrl:h,paymentGatewaysUrl:y,request:f,fetch:c}=e;if(!["GET","POST"].includes(f.method))throw o=405,new Error("Method not allowed. Allowed methods: GET, POST.");const _=new URL(f.url),w=s(/\/payment_presets\/(.+)\/payment_methods/,{presetId:1}).exec(_.pathname).groups.presetId,[g,P,S]=await Promise.all([i(c(d)),i(c(m)),i(c(h(w)))]);if("GET"===f.method){const e=parseInt(null!==(t=_.searchParams.get("offset"))&&void 0!==t?t:"0"),s=parseInt(null!==(a=_.searchParams.get("limit"))&&void 0!==a?a:"20"),r=new URL(S._links["fx:payment_method_set_hosted_payment_gateways"].href);r.searchParams.set("offset",String(Math.max(0,e-1))),r.searchParams.set("limit",String(s));const d=null===(n=S._links["fx:payment_gateway"])||void 0===n?void 0:n.href,[m,p]=await Promise.all([d&&0===e?i(c(d)):null,i(c(r.toString()))]),h=await Promise.all(p._embedded["fx:payment_method_set_hosted_payment_gateways"].map((async e=>i(c(e._links["fx:hosted_payment_gateway"].href))))),y=function(e){var t,a;const{paymentMethodSetHostedPaymentGateways:s,hostedPaymentGatewaysHelper:n,hostedPaymentGateways:r,paymentGatewaysHelper:o,paymentPresetId:i,paymentGateway:l,query:d,base:m}=e,p=new URLSearchParams(d),h=parseInt(null!==(t=p.get("offset"))&&void 0!==t?t:"0"),y=parseInt(null!==(a=p.get("limit"))&&void 0!==a?a:"20"),f=s.total_items+(l?1:0),c=s.returned_items+(l&&"not-on-page"!==l?1:0),_=new URL(`/payment_presets/${i}/payment_methods`,m);_.search=d;const w=new URL(_.toString()),g=new URL(_.toString()),P=new URL(_.toString()),S=new URL(_.toString());w.searchParams.set("limit",String(y)),w.searchParams.set("offset",String(h)),g.searchParams.set("limit",String(y)),g.searchParams.set("offset",String(Math.max(0,f-y))),P.searchParams.set("limit",String(y)),P.searchParams.set("offset",String(Math.max(0,h-y))),S.searchParams.set("limit",String(y)),S.searchParams.set("offset",String(Math.min(h+y,Math.max(0,f-y))));const U=[...l&&"not-on-page"!==l?[l]:[],...r].map((e=>{const t=s._embedded["fx:payment_method_set_hosted_payment_gateways"].find((t=>t.hosted_payment_gateway_uri===e._links.self.href));return u(t?{paymentMethodSetHostedPaymentGatewayId:new URL(t._links.self.href).pathname.split("/").pop(),hostedPaymentGateway:e,paymentPresetId:i,helper:n.values[e.type],base:m}:{paymentPresetId:i,paymentGateway:e,helper:o.values[e.type],base:m})}));return{_links:{first:{href:w.toString()},last:{href:g.toString()},prev:{href:P.toString()},next:{href:S.toString()},self:{href:_.toString()}},_embedded:{"fx:payment_methods":U},returned_items:c,total_items:f,offset:h,limit:y}}({paymentMethodSetHostedPaymentGateways:p,hostedPaymentGatewaysHelper:g,paymentGatewaysHelper:P,hostedPaymentGateways:h,paymentPresetId:w,paymentGateway:m||(d?"not-on-page":void 0),query:new URL(f.url).search,base:new URL(f.url).origin});o=200,l=JSON.stringify(y)}else{const e=await f.clone().json(),t=!!g.values[null!==(r=e.type)&&void 0!==r?r:""];if(delete e.helper,t){const t=await i(c(p,{method:"POST",body:JSON.stringify(e)})),a=await i(c(S._links["fx:payment_method_set_hosted_payment_gateways"].href,{method:"POST",body:JSON.stringify({payment_method_set_uri:S._links.self.href,hosted_payment_gateway_uri:t._links.self.href})})),s=u({paymentMethodSetHostedPaymentGatewayId:new URL(a._links.self.href).pathname.split("/").pop(),hostedPaymentGateway:t,paymentPresetId:w,helper:g.values[t.type],base:new URL(f.url).origin});o=200,l=JSON.stringify(s)}else{const t=c(y,{method:f.method,body:JSON.stringify(e)}),a=await i(t),s={gateway_uri:a._links.self.href};await Promise.all([i(c(S._links.self.href,{method:"PATCH",body:JSON.stringify(s)})),S.gateway_uri?i(c(S.gateway_uri,{method:"DELETE"})):null]);const n=u({paymentPresetId:w,paymentGateway:a,helper:P.values[a.type],base:new URL(f.url).origin});o=200,l=JSON.stringify(n)}}}catch(e){l=e instanceof Error?e.message:String(e),o=null!=o?o:500}return new Response(l,{status:o})}const w=["_links"];function g(e){const{paymentMethodSet:t,base:a}=e,{_links:s}=t,o=r(t,w),i=new URL(t._links.self.href).pathname.split("/").pop(),l=new URL(`./payment_presets/${i}`,a),d=new URL(`./payment_presets/${i}/payment_methods`,a),m=new URL(`./payment_presets/${i}/fraud_protections`,a),p=new URL(`./payment_presets/${i}/available_payment_methods`,a),h=new URL(`./payment_presets/${i}/available_fraud_protections`,a);return n({_links:{self:{href:l.toString()},"fx:store":s["fx:store"],"fx:payment_methods":{href:d.toString()},"fx:fraud_protections":{href:m.toString()},"fx:available_payment_methods":{href:p.toString()},"fx:available_fraud_protections":{href:h.toString()}}},o)}const P=["_embedded","_links"];async function S(e){let t,a;try{const{paymentMethodSetsUrl:s,request:o,fetch:l}=e;if(!["GET","POST"].includes(o.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, POST.");const d=new URL(o.url),m=new URL(s);let p;if(m.search=d.search,"POST"===o.method){const e=l(m.toString(),{method:"POST",body:await o.text()});p=g({paymentMethodSet:await i(e),base:d.origin})}else p=function(e){const{paymentMethodSets:t,base:a}=e,{_embedded:s,_links:o}=t,i=r(t,P),l=new URL("./payment_presets",a),d=new URL(o.first.href);l.search=d.search;const m=new URL("./payment_presets",a),p=new URL(o.last.href);m.search=p.search;const h=new URL("./payment_presets",a),y=new URL(o.prev.href);h.search=y.search;const f=new URL("./payment_presets",a),c=new URL(o.next.href);f.search=c.search;const u=new URL("./payment_presets",a),_=new URL(o.self.href);return u.search=_.search,n(n({},i),{},{_links:{first:{href:l.toString()},last:{href:m.toString()},prev:{href:h.toString()},next:{href:f.toString()},self:{href:u.toString()}},_embedded:{"fx:payment_presets":s["fx:payment_method_sets"].map((e=>g({paymentMethodSet:e,base:a})))}})}({paymentMethodSets:await i(l(m.toString())),base:d.origin});a=JSON.stringify(p),t=200}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}async function U(e){let t,a;try{const{getPaymentMethodSetUrl:n,request:r,fetch:o}=e;if(!["GET","PATCH","DELETE"].includes(r.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, PATCH, DELETE.");const l=s(/payment_presets\/(.+)/,{presetId:1}).exec(r.url).groups.presetId,d=new URL(r.url),m=new URL(n(l));m.search=d.search;const p=await i(o(m.toString(),{method:r.method,body:"PATCH"===r.method?await r.text():null}));a="DELETE"===r.method?JSON.stringify({message:"Payment preset was successfully deleted."}):JSON.stringify(g({paymentMethodSet:p,base:new URL(r.url).origin}))}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}async function b(e){let t,a;try{const{hostedPaymentGatewaysHelperUrl:n,paymentGatewaysHelperUrl:r,getPaymentMethodSetHostedPaymentGatewayUrl:o,getHostedPaymentGatewayUrl:l,getPaymentMethodSetUrl:d,getPaymentGatewayUrl:m,request:p,fetch:h}=e;if(!["GET","PATCH","DELETE"].includes(p.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, PATCH, DELETE.");const y=s(/\/payment_presets\/(.+)\/payment_methods\/(.+)/,{presetId:1,methodId:2}),{presetId:f,methodId:c}=y.exec(p.url).groups,_=c.startsWith("H"),w=d(f),g=c.substring(1,_?c.indexOf("C"):void 0),P=i(h(n)),S=i(h(r));if("DELETE"===p.method)if(_){const e=o(c.substring(c.indexOf("C")+1));await i(h(e,{method:"DELETE"}))}else{const e={gateway_uri:""},t=JSON.stringify(e);await i(h(w,{method:"PATCH",body:t}))}let U=await p.text();try{const e=JSON.parse(U);delete e.helper,U=JSON.stringify(e)}catch(e){}if(_){const e=h(l(g),{method:p.method,body:"PATCH"===p.method?U:null}),t=await P,s=await i(e);a="DELETE"===p.method?JSON.stringify({message:"Payment method was successfully deleted."}):JSON.stringify(u({paymentMethodSetHostedPaymentGatewayId:c.substring(c.indexOf("C")+1),hostedPaymentGateway:s,paymentPresetId:f,helper:t.values[s.type],base:new URL(p.url).origin}))}else{const e=h(m(g),{method:p.method,body:"PATCH"===p.method?U:null}),t=await S,s=await i(e);a="DELETE"===p.method?JSON.stringify({message:"Payment method was successfully deleted."}):JSON.stringify(u({paymentGateway:s,paymentPresetId:f,helper:t.values[s.type],base:new URL(p.url).origin}))}}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}let L,E=e=>e;class G extends e{constructor(){super(...arguments),this.paymentMethodSetHostedPaymentGatewaysUrl=null,this.hostedPaymentGatewaysHelperUrl=null,this.hostedPaymentGatewaysUrl=null,this.paymentGatewaysHelperUrl=null,this.paymentMethodSetsUrl=null,this.fraudProtectionsUrl=null,this.paymentGatewaysUrl=null,this.__api=new o(this),this.__fetch=this.__api.fetch.bind(this.__api),this.__handleFetch=e=>{if(!(e instanceof a))return;if(!e.request.url.startsWith("https://foxy-payments-api.element/"))return;if(e.defaultPrevented)return;const{paymentMethodSetHostedPaymentGatewaysUrl:t,hostedPaymentGatewaysHelperUrl:n,paymentGatewaysHelperUrl:r,hostedPaymentGatewaysUrl:o,paymentMethodSetsUrl:i,fraudProtectionsUrl:d,paymentGatewaysUrl:p}=this;if(null===t)return;if(null===n)return;if(null===r)return;if(null===o)return;if(null===i)return;if(null===d)return;if(null===p)return;const h=e=>t=>{const a=new URL(e);return a.pathname.endsWith("/")||(a.pathname+="/"),a.pathname+=t,a.toString()},c=function(e){const t=[[s(/\/payment_presets\/(.+)\/payment_methods\/(.+)/,{presetId:1,methodId:2}),b],[s(/\/payment_presets\/(.+)\/available_fraud_protections/,{presetId:1}),m],[s(/\/payment_presets\/(.+)\/available_payment_methods/,{presetId:1}),l],[s(/\/payment_presets\/(.+)\/fraud_protections\/(.+)/,{presetId:1,protectionId:2}),f],[s(/\/payment_presets\/(.+)\/fraud_protections/,{presetId:1}),y],[s(/\/payment_presets\/(.+)\/payment_methods/,{presetId:1}),_],[s(/\/payment_presets\/(.+)/,{presetId:1}),U],[/\/payment_presets/,S]];for(const[a,s]of t)if(a.test(new URL(e.request.url).pathname))return s(e);return null}({hostedPaymentGatewaysHelperUrl:n,paymentGatewaysHelperUrl:r,hostedPaymentGatewaysUrl:o,paymentMethodSetsUrl:i,fraudProtectionsUrl:d,paymentGatewaysUrl:p,getPaymentMethodSetHostedPaymentGatewayUrl:h(t),getHostedPaymentGatewayUrl:h(o),getPaymentMethodSetUrl:h(i),getFraudProtectionUrl:h(d),getPaymentGatewayUrl:h(p),request:e.request,fetch:this.__fetch});c&&(e.preventDefault(),e.respondWith(c))}}static get properties(){return{paymentMethodSetHostedPaymentGatewaysUrl:{attribute:"payment-method-set-hosted-payment-gateways-url"},hostedPaymentGatewaysHelperUrl:{attribute:"hosted-payment-gateways-helper-url"},hostedPaymentGatewaysUrl:{attribute:"hosted-payment-gateways-url"},paymentGatewaysHelperUrl:{attribute:"payment-gateways-helper-url"},paymentMethodSetsUrl:{attribute:"payment-method-sets-url"},fraudProtectionsUrl:{attribute:"fraud-protections-url"},paymentGatewaysUrl:{attribute:"payment-gateways-url"}}}connectedCallback(){super.connectedCallback(),this.addEventListener("fetch",this.__handleFetch)}render(){return t(L||(L=E`<slot></slot>`))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("fetch",this.__handleFetch)}}customElements.define("foxy-payments-api",G);export{G as PaymentsApi};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-
|
|
1
|
+
import"./shared-7415fa7e.js";import"./shared-93a1be98.js";export{Q as QueryBuilder}from"./shared-c3a3d9f6.js";import"./shared-35a7a4d6.js";import"./shared-19044260.js";import"./shared-a8ced8bf.js";import"./shared-7f33a83a.js";import"./shared-e6f3e9f0.js";import"./shared-4e709717.js";import"./shared-d3bf9ac0.js";import"./shared-bc7f58ef.js";import"./shared-d519a301.js";import"./shared-4f037e43.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{C as e}from"./shared-da285807.js";import{D as t,a as i}from"./shared-119efeaa.js";import{C as a,e as s,c as n}from"./shared-8d9c0007.js";import{h as r,B as d,P as l}from"./shared-35a7a4d6.js";import{T as o,E as h,C as m}from"./shared-0bbbc87f.js";import{T as _}from"./shared-aa4bf9ab.js";import"./shared-e4383064.js";import"./shared-d9a3104e.js";import"./shared-915fb0e4.js";import"./shared-3a84611d.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-d8bf2eac.js";import{_ as u}from"./shared-a8ced8bf.js";import"./shared-93a1be98.js";import"./shared-4c61787a.js";import{h as c,f as p}from"./shared-7f33a83a.js";import{S as g,R as v,T as f,a as b}from"./shared-19044260.js";import{c as y}from"./shared-4e709717.js";import{C as k,a as T}from"./shared-9a0f97e5.js";import"./shared-b1201c2e.js";import"./shared-290769ea.js";import"./shared-435ab348.js";import"./shared-a0e71609.js";import{G as x}from"./shared-a42a63aa.js";import{P as $}from"./shared-81d3ff30.js";import{C as D}from"./shared-a8966936.js";import{N as E}from"./shared-15278fe0.js";import{i as w}from"./shared-d3bf9ac0.js";import{l as S}from"./shared-f3b35364.js";import"./shared-0cc4beec.js";import"./shared-7415fa7e.js";import"./shared-4f037e43.js";import"./shared-2af327d0.js";import"./shared-4a519a4a.js";import"./shared-11c2efc8.js";import"./shared-4a796610.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";
|
|
2
2
|
/**
|
|
3
3
|
@license
|
|
4
4
|
Copyright (c) 2017 Vaadin Ltd.
|
|
5
5
|
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
6
|
-
*/class P extends(
|
|
6
|
+
*/class P extends(o(a(s(l)))){static get template(){return r`
|
|
7
7
|
<style>
|
|
8
8
|
:host([opened]) {
|
|
9
9
|
pointer-events: auto;
|
|
@@ -14,7 +14,7 @@ This program is available under Apache License Version 2.0, available at https:/
|
|
|
14
14
|
|
|
15
15
|
<vaadin-combo-box-dropdown-wrapper id="overlay" opened="[[opened]]" position-target="[[inputElement]]" renderer="[[renderer]]" _focused-index="[[_focusedIndex]]" _item-id-path="[[itemIdPath]]" _item-label-path="[[itemLabelPath]]" loading="[[loading]]" theme="[[theme]]">
|
|
16
16
|
</vaadin-combo-box-dropdown-wrapper>
|
|
17
|
-
`}static get is(){return"vaadin-combo-box-light"}static get properties(){return{attrForValue:{type:String,value:"value"},inputElement:{type:Element,readOnly:!0}}}constructor(){super(),this._boundInputValueChanged=this._inputValueChanged.bind(this),this.__boundInputValueCommitted=this.__inputValueCommitted.bind(this)}ready(){super.ready(),this._toggleElement=this.querySelector(".toggle-button"),this._clearElement=this.querySelector(".clear-button"),this._clearElement&&this._clearElement.addEventListener("mousedown",(e=>{e.preventDefault(),(this.inputElement._focusableElement||this.inputElement).focus()}))}get focused(){return this.getRootNode().activeElement===this.inputElement}connectedCallback(){super.connectedCallback();this._setInputElement(this.querySelector("vaadin-text-field,iron-input,paper-input,.paper-input-input,.input")),this._revertInputValue(),this.inputElement.addEventListener("input",this._boundInputValueChanged),this.inputElement.addEventListener("change",this.__boundInputValueCommitted),this._preventInputBlur()}disconnectedCallback(){super.disconnectedCallback(),this.inputElement.removeEventListener("input",this._boundInputValueChanged),this.inputElement.removeEventListener("change",this.__boundInputValueCommitted),this._restoreInputBlur()}__inputValueCommitted(e){e.__fromClearButton&&this._clear()}get _propertyForValue(){return
|
|
17
|
+
`}static get is(){return"vaadin-combo-box-light"}static get properties(){return{attrForValue:{type:String,value:"value"},inputElement:{type:Element,readOnly:!0}}}constructor(){super(),this._boundInputValueChanged=this._inputValueChanged.bind(this),this.__boundInputValueCommitted=this.__inputValueCommitted.bind(this)}ready(){super.ready(),this._toggleElement=this.querySelector(".toggle-button"),this._clearElement=this.querySelector(".clear-button"),this._clearElement&&this._clearElement.addEventListener("mousedown",(e=>{e.preventDefault(),(this.inputElement._focusableElement||this.inputElement).focus()}))}get focused(){return this.getRootNode().activeElement===this.inputElement}connectedCallback(){super.connectedCallback();this._setInputElement(this.querySelector("vaadin-text-field,iron-input,paper-input,.paper-input-input,.input")),this._revertInputValue(),this.inputElement.addEventListener("input",this._boundInputValueChanged),this.inputElement.addEventListener("change",this.__boundInputValueCommitted),this._preventInputBlur()}disconnectedCallback(){super.disconnectedCallback(),this.inputElement.removeEventListener("input",this._boundInputValueChanged),this.inputElement.removeEventListener("change",this.__boundInputValueCommitted),this._restoreInputBlur()}__inputValueCommitted(e){e.__fromClearButton&&this._clear()}get _propertyForValue(){return d(this.attrForValue)}get _inputElementValue(){return this.inputElement&&this.inputElement[this._propertyForValue]}set _inputElementValue(e){this.inputElement&&(this.inputElement[this._propertyForValue]=e)}}customElements.define(P.is,P);const C=r`<dom-module id="lumo-time-picker" theme-for="vaadin-time-picker">
|
|
18
18
|
<template>
|
|
19
19
|
<style include="lumo-field-button">
|
|
20
20
|
[part~="toggle-button"]::before {
|
|
@@ -22,7 +22,7 @@ This program is available under Apache License Version 2.0, available at https:/
|
|
|
22
22
|
}
|
|
23
23
|
</style>
|
|
24
24
|
</template>
|
|
25
|
-
</dom-module>`;document.head.appendChild(C.content);const I=
|
|
25
|
+
</dom-module>`;document.head.appendChild(C.content);const I=r`<dom-module id="lumo-time-picker-text-field" theme-for="vaadin-time-picker-text-field">
|
|
26
26
|
<template>
|
|
27
27
|
<style>
|
|
28
28
|
:not(*):placeholder-shown, /* to prevent broken styles on IE */
|
|
@@ -43,13 +43,13 @@ This program is available under Apache License Version 2.0, available at https:/
|
|
|
43
43
|
Copyright (c) 2018 Vaadin Ltd.
|
|
44
44
|
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
45
45
|
*/
|
|
46
|
-
const M=document.createElement("template");M.innerHTML='<dom-module id="vaadin-time-picker-text-field-styles" theme-for="vaadin-time-picker-text-field">\n <template>\n <style>\n :host([dir="rtl"]) [part="input-field"] {\n direction: ltr;\n }\n\n :host([dir="rtl"]) [part="value"]::placeholder {\n direction: rtl;\n text-align: left;\n }\n\n :host([dir="rtl"]) [part="input-field"] ::slotted(input)::placeholder {\n direction: rtl;\n text-align: left;\n }\n\n :host([dir="rtl"]) [part="value"]:-ms-input-placeholder,\n :host([dir="rtl"]) [part="input-field"] ::slotted(input):-ms-input-placeholder {\n direction: rtl;\n text-align: left;\n }\n </style>\n </template>\n</dom-module>',document.head.appendChild(M.content);class V extends
|
|
46
|
+
const M=document.createElement("template");M.innerHTML='<dom-module id="vaadin-time-picker-text-field-styles" theme-for="vaadin-time-picker-text-field">\n <template>\n <style>\n :host([dir="rtl"]) [part="input-field"] {\n direction: ltr;\n }\n\n :host([dir="rtl"]) [part="value"]::placeholder {\n direction: rtl;\n text-align: left;\n }\n\n :host([dir="rtl"]) [part="input-field"] ::slotted(input)::placeholder {\n direction: rtl;\n text-align: left;\n }\n\n :host([dir="rtl"]) [part="value"]:-ms-input-placeholder,\n :host([dir="rtl"]) [part="input-field"] ::slotted(input):-ms-input-placeholder {\n direction: rtl;\n text-align: left;\n }\n </style>\n </template>\n</dom-module>',document.head.appendChild(M.content);class V extends _{static get is(){return"vaadin-time-picker-text-field"}}customElements.define(V.is,V);
|
|
47
47
|
/**
|
|
48
48
|
@license
|
|
49
49
|
Copyright (c) 2018 Vaadin Ltd.
|
|
50
50
|
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
51
51
|
*/
|
|
52
|
-
class O extends(
|
|
52
|
+
class O extends(h(m(o(l)))){static get template(){return r`
|
|
53
53
|
<style>
|
|
54
54
|
:host {
|
|
55
55
|
display: inline-block;
|
|
@@ -77,7 +77,7 @@ class O extends(_(c(m(h)))){static get template(){return l`
|
|
|
77
77
|
<span slot="suffix" part="toggle-button" class="toggle-button" role="button" aria-label\$="[[i18n.selector]]"></span>
|
|
78
78
|
</vaadin-time-picker-text-field>
|
|
79
79
|
</vaadin-combo-box-light>
|
|
80
|
-
`}static get is(){return"vaadin-time-picker"}static get version(){return"2.4.0"}static get properties(){return{name:{type:String},value:{type:String,observer:"__valueChanged",notify:!0,value:""},label:{type:String,reflectToAttribute:!0},required:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1},preventInvalidInput:{type:Boolean},pattern:{type:String},errorMessage:{type:String},helperText:{type:String,value:""},placeholder:{type:String,value:""},readonly:{type:Boolean,value:!1,reflectToAttribute:!0},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1},min:{type:String,value:"00:00:00.000"},max:{type:String,value:"23:59:59.999"},step:{type:Number},clearButtonVisible:{type:Boolean,value:!1},autoOpenDisabled:Boolean,__dropdownItems:{type:Array},i18n:{type:Object,value:()=>({formatTime:e=>{if(!e)return;const t=(e=0,t="00")=>(t+e).substr((t+e).length-t.length);let i=`${t(e.hours)}:${t(e.minutes)}`;return void 0!==e.seconds&&(i+=`:${t(e.seconds)}`),void 0!==e.milliseconds&&(i+=`.${t(e.milliseconds,"000")}`),i},parseTime:e=>{const t=new RegExp("^(\\d|[0-1]\\d|2[0-3])(?::(\\d|[0-5]\\d)(?::(\\d|[0-5]\\d)(?:\\.(\\d{1,3}))?)?)?$").exec(e);if(t){if(t[4])for(;t[4].length<3;)t[4]+="0";return{hours:t[1],minutes:t[2],seconds:t[3],milliseconds:t[4]}}},selector:"Time selector",clear:"Clear"})}}}static get observers(){return["__updateDropdownItems(i18n.*, min, max, step)"]}ready(){super.ready(),this.__inputElement.validate=()=>{},this.__dropdownElement.addEventListener("value-changed",(e=>this.__onInputChange(e))),this.__inputElement.addEventListener("keydown",this.__onKeyDown.bind(this)),this.__dropdownElement.addEventListener("change",(e=>this.validate())),this.__inputElement.addEventListener("blur",(e=>this.validate())),this.__dropdownElement.addEventListener("change",(e=>{e.composedPath()[0]!==this.__inputElement&&this.__dispatchChange()}))}__validDayDivisor(e){return!e||86400%e==0||e<1&&e%1*1e3%1==0}__onKeyDown(e){if(this.readonly||this.disabled||this.__dropdownItems.length)return;const t=this.__validDayDivisor(this.step)&&this.step||60;
|
|
80
|
+
`}static get is(){return"vaadin-time-picker"}static get version(){return"2.4.0"}static get properties(){return{name:{type:String},value:{type:String,observer:"__valueChanged",notify:!0,value:""},label:{type:String,reflectToAttribute:!0},required:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1},preventInvalidInput:{type:Boolean},pattern:{type:String},errorMessage:{type:String},helperText:{type:String,value:""},placeholder:{type:String,value:""},readonly:{type:Boolean,value:!1,reflectToAttribute:!0},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1},min:{type:String,value:"00:00:00.000"},max:{type:String,value:"23:59:59.999"},step:{type:Number},clearButtonVisible:{type:Boolean,value:!1},autoOpenDisabled:Boolean,__dropdownItems:{type:Array},i18n:{type:Object,value:()=>({formatTime:e=>{if(!e)return;const t=(e=0,t="00")=>(t+e).substr((t+e).length-t.length);let i=`${t(e.hours)}:${t(e.minutes)}`;return void 0!==e.seconds&&(i+=`:${t(e.seconds)}`),void 0!==e.milliseconds&&(i+=`.${t(e.milliseconds,"000")}`),i},parseTime:e=>{const t=new RegExp("^(\\d|[0-1]\\d|2[0-3])(?::(\\d|[0-5]\\d)(?::(\\d|[0-5]\\d)(?:\\.(\\d{1,3}))?)?)?$").exec(e);if(t){if(t[4])for(;t[4].length<3;)t[4]+="0";return{hours:t[1],minutes:t[2],seconds:t[3],milliseconds:t[4]}}},selector:"Time selector",clear:"Clear"})}}}static get observers(){return["__updateDropdownItems(i18n.*, min, max, step)"]}ready(){super.ready(),this.__inputElement.validate=()=>{},this.__dropdownElement.addEventListener("value-changed",(e=>this.__onInputChange(e))),this.__inputElement.addEventListener("keydown",this.__onKeyDown.bind(this)),this.__dropdownElement.addEventListener("change",(e=>this.validate())),this.__inputElement.addEventListener("blur",(e=>this.validate())),this.__dropdownElement.addEventListener("change",(e=>{e.composedPath()[0]!==this.__inputElement&&this.__dispatchChange()}))}__validDayDivisor(e){return!e||86400%e==0||e<1&&e%1*1e3%1==0}__onKeyDown(e){if(this.readonly||this.disabled||this.__dropdownItems.length)return;const t=this.__validDayDivisor(this.step)&&this.step||60;n.keyboardEventMatchesKeys(e,"down")?this.__onArrowPressWithStep(-t):n.keyboardEventMatchesKeys(e,"up")&&this.__onArrowPressWithStep(t)}__onArrowPressWithStep(e){const t=this.__addStep(this.__getMsec(this.__memoValue),e,!0);this.__memoValue=t,this.__inputElement.value=this.i18n.formatTime(this.__validateTime(t)),this.__dispatchChange()}__dispatchChange(){this.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__getMsec(e){let t=60*(e&&e.hours||0)*60*1e3;return t+=60*(e&&e.minutes||0)*1e3,t+=1e3*(e&&e.seconds||0),t+=e&&parseInt(e.milliseconds)||0,t}__getSec(e){let t=60*(e&&e.hours||0)*60;return t+=60*(e&&e.minutes||0),t+=e&&e.seconds||0,t+=e&&e.milliseconds/1e3||0,t}__addStep(e,t,i){0===e&&t<0&&(e=864e5);const a=1e3*t,s=e%a;a<0&&s&&i?e-=s:a>0&&s&&i?e-=s-a:e+=a;var n=Math.floor(e/1e3/60/60);e-=1e3*n*60*60;var r=Math.floor(e/1e3/60);e-=1e3*r*60;var d=Math.floor(e/1e3);return{hours:n<24?n:0,minutes:r,seconds:d,milliseconds:e-=1e3*d}}__updateDropdownItems(e,t,i,a){const s=this.__validateTime(this.__parseISO(t)),n=this.__getSec(s),r=this.__validateTime(this.__parseISO(i)),d=this.__getSec(r);if(this.__adjustValue(n,d,s,r),this.__dropdownItems=this.__generateDropdownList(n,d,a),a!==this.__oldStep){this.__oldStep=a;const e=this.__validateTime(this.__parseISO(this.value));this.__updateValue(e)}this.value&&(this.__dropdownElement.value=this.i18n.formatTime(this.i18n.parseTime(this.value)))}__generateDropdownList(e,t,i){if(i<900||!this.__validDayDivisor(i))return[];const a=[];let s=-(i=i||3600)+e;for(;s+i>=e&&s+i<=t;){const e=this.__validateTime(this.__addStep(1e3*s,i));s+=i;const t=this.i18n.formatTime(e);a.push({label:t,value:t})}return a}__adjustValue(e,t,i,a){if(!this.__memoValue)return;const s=this.__getSec(this.__memoValue);s<e?this.__updateValue(i):s>t&&this.__updateValue(a)}__valueChanged(e,t){const i=this.__memoValue=this.__parseISO(e),a=this.__formatISO(i)||"";""===this.value||null===this.value||i?this.value!==a?this.value=a:this.__updateInputValue(i):this.value=t}__onInputChange(e){const t=this.i18n.parseTime(this.__dropdownElement.value),i=this.i18n.formatTime(t)||"";t?this.__dropdownElement.value!==i?this.__dropdownElement.value=i:this.__updateValue(t):this.value=""}__updateValue(e){const t=this.__formatISO(this.__validateTime(e))||"";this.value=t}__updateInputValue(e){const t=this.i18n.formatTime(this.__validateTime(e))||"";this.__dropdownElement.value=t}__validateTime(e){return e&&(e.hours=parseInt(e.hours),e.minutes=parseInt(e.minutes||0),e.seconds=this.__stepSegment<3?void 0:parseInt(e.seconds||0),e.milliseconds=this.__stepSegment<4?void 0:parseInt(e.milliseconds||0)),e}get __stepSegment(){return this.step%3600==0?1:this.step%60!=0&&this.step?this.step%1==0?3:this.step<1?4:void 0:2}__formatISO(e){return O.properties.i18n.value().formatTime(e)}__parseISO(e){return O.properties.i18n.value().parseTime(e)}_getInputElement(){return this.shadowRoot.querySelector("vaadin-time-picker-text-field")}get __inputElement(){return this.__memoInput||(this.__memoInput=this._getInputElement())}get __dropdownElement(){return this.__memoDropdown||(this.__memoDropdown=this.shadowRoot.querySelector("vaadin-combo-box-light"))}get focusElement(){return this.__inputElement}validate(){return!(this.invalid=!this.checkValidity())}_timeAllowed(e){const t=this.i18n.parseTime(this.min),i=this.i18n.parseTime(this.max);return(!this.__getMsec(t)||this.__getMsec(e)>=this.__getMsec(t))&&(!this.__getMsec(i)||this.__getMsec(e)<=this.__getMsec(i))}checkValidity(){return!(!this.__inputElement.focusElement.checkValidity()||this.value&&!this._timeAllowed(this.i18n.parseTime(this.value))||this.__dropdownElement.value&&!this.i18n.parseTime(this.__dropdownElement.value))}}customElements.define(O.is,O);const j=r`<dom-module id="lumo-date-time-picker-date-text-field" theme-for="vaadin-date-time-picker-date-text-field">
|
|
81
81
|
<template>
|
|
82
82
|
<style>
|
|
83
83
|
[part~="input-field"] {
|
|
@@ -135,25 +135,25 @@ class F extends e{static get is(){return"vaadin-date-time-picker-custom-field"}c
|
|
|
135
135
|
Copyright (c) 2019 Vaadin Ltd.
|
|
136
136
|
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
137
137
|
*/
|
|
138
|
-
class q extends
|
|
138
|
+
class q extends _{static get is(){return"vaadin-date-time-picker-date-text-field"}}
|
|
139
139
|
/**
|
|
140
140
|
@license
|
|
141
141
|
Copyright (c) 2019 Vaadin Ltd.
|
|
142
142
|
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
143
143
|
*/
|
|
144
|
-
let L,R;customElements.define(q.is,q);class N extends
|
|
144
|
+
let L,R;customElements.define(q.is,q);class N extends t{static get is(){return"vaadin-date-time-picker-date-picker"}static get template(){return L||(L=super.template.cloneNode(!0),L.innerHTML=L.innerHTML.replace("vaadin-date-picker-text-field","vaadin-date-time-picker-date-text-field")),L}}customElements.define(N.is,N);
|
|
145
145
|
/**
|
|
146
146
|
@license
|
|
147
147
|
Copyright (c) 2019 Vaadin Ltd.
|
|
148
148
|
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
149
149
|
*/
|
|
150
|
-
class B extends
|
|
150
|
+
class B extends _{static get is(){return"vaadin-date-time-picker-time-text-field"}}customElements.define(B.is,B);class H extends O{static get is(){return"vaadin-date-time-picker-time-picker"}static get template(){return R||(R=super.template.cloneNode(!0),R.innerHTML=R.innerHTML.replace("vaadin-time-picker-text-field","vaadin-date-time-picker-time-text-field")),R}_getInputElement(){return this.shadowRoot.querySelector("vaadin-date-time-picker-time-text-field")}}customElements.define(H.is,H);
|
|
151
151
|
/**
|
|
152
152
|
@license
|
|
153
153
|
Copyright (c) 2019 Vaadin Ltd.
|
|
154
154
|
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
155
155
|
*/
|
|
156
|
-
const Y=document.createElement("template");Y.innerHTML='<dom-module id="date-time-picker-custom-field" theme-for="vaadin-date-time-picker-custom-field">\n <template>\n <style>\n :host,\n .container {\n width: 100%;\n }\n </style>\n </template>\n</dom-module>',document.head.appendChild(Y.content);const A=function(e,t){for(;e;){if(e.properties&&e.properties[t])return e.properties[t];e=e.__proto__}},W=customElements.get("vaadin-date-time-picker-date-picker"),K=customElements.get("vaadin-date-time-picker-time-picker"),U=A(W,"i18n").value(),G=A(K,"i18n").value(),z=Object.keys(U),J=Object.keys(G);class Q extends(
|
|
156
|
+
const Y=document.createElement("template");Y.innerHTML='<dom-module id="date-time-picker-custom-field" theme-for="vaadin-date-time-picker-custom-field">\n <template>\n <style>\n :host,\n .container {\n width: 100%;\n }\n </style>\n </template>\n</dom-module>',document.head.appendChild(Y.content);const A=function(e,t){for(;e;){if(e.properties&&e.properties[t])return e.properties[t];e=e.__proto__}},W=customElements.get("vaadin-date-time-picker-date-picker"),K=customElements.get("vaadin-date-time-picker-time-picker"),U=A(W,"i18n").value(),G=A(K,"i18n").value(),z=Object.keys(U),J=Object.keys(G);class Q extends(h(o(l))){static get template(){return r`
|
|
157
157
|
<style>
|
|
158
158
|
:host {
|
|
159
159
|
display: inline-block;
|
|
@@ -192,4 +192,4 @@ const Y=document.createElement("template");Y.innerHTML='<dom-module id="date-tim
|
|
|
192
192
|
</div>
|
|
193
193
|
<slot name="helper" slot="helper">[[helperText]]</slot>
|
|
194
194
|
</vaadin-date-time-picker-custom-field>
|
|
195
|
-
`}static get is(){return"vaadin-date-time-picker"}static get version(){return"1.4.0"}static get properties(){return{name:{type:String},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1},required:{type:Boolean,value:!1},errorMessage:String,value:{type:String,notify:!0,value:"",observer:"__valueChanged"},min:{type:String,observer:"__minChanged"},max:{type:String,observer:"__maxChanged"},__minDateTime:{type:Date,value:""},__maxDateTime:{type:Date,value:""},datePlaceholder:{type:String},timePlaceholder:{type:String},helperText:{type:String,value:""},step:{type:Number},initialPosition:String,showWeekNumbers:{type:Boolean},label:{type:String,value:""},autoOpenDisabled:Boolean,disabled:{type:Boolean,value:!1,reflectToAttribute:!0},readonly:{type:Boolean,value:!1,reflectToAttribute:!0},autofocus:{type:Boolean},__selectedDateTime:{type:Date},__customFieldValueFormat:{type:Object,value:()=>({parseValue:e=>e.split("T"),formatValue:e=>e.join("T")})},i18n:{type:Object,value:()=>Object.assign({},U,G)}}}static get observers(){return["__selectedDateTimeChanged(__selectedDateTime)","__datePlaceholderChanged(datePlaceholder)","__timePlaceholderChanged(timePlaceholder)","__stepChanged(step)","__initialPositionChanged(initialPosition)","__showWeekNumbersChanged(showWeekNumbers)","__requiredChanged(required)","__invalidChanged(invalid)","__disabledChanged(disabled)","__readonlyChanged(readonly)","__i18nChanged(i18n.*)","__autoOpenDisabledChanged(autoOpenDisabled)"]}constructor(){super(),this.__defaultDateMinMaxValue=void 0,this.__defaultTimeMinValue="00:00:00.000",this.__defaultTimeMaxValue="23:59:59.999"}ready(){super.ready(),this.addEventListener("focusout",(e=>{e.relatedTarget!==this.__datePicker.$.overlay&&this.validate()})),this.__changeEventHandler=this.__changeEventHandler.bind(this),this.__filterElements=e=>e.nodeType===Node.ELEMENT_NODE,this.__datePickerChanged(),this.__timePickerChanged(),this.$.dateSlot.addEventListener("slotchange",this.__datePickerChanged.bind(this)),this.$.timeSlot.addEventListener("slotchange",this.__timePickerChanged.bind(this)),this.autofocus&&!this.disabled&&window.requestAnimationFrame((()=>this.focus()))}focus(){this.$.customField.focus()}__syncI18n(e,t,i){(i=i||Object.keys(t.i18n)).forEach((i=>{t.i18n.hasOwnProperty(i)&&e.set(`i18n.${i}`,t.i18n[i])}))}__updateCustomFieldInputs(){const e=this.$.customField.inputs;this.__datePicker&&this.__timePicker&&(e[0]!==this.__datePicker||e[1]!==this.__timePicker)&&this.$.customField._setInputs([this.__datePicker,this.__timePicker])}__changeEventHandler(e){this.__doDispatchChange=!0}__removeChangeListener(e){e&&e.removeEventListener("change",this.__changeEventHandler,!1)}__addChangeListener(e){e.addEventListener("change",this.__changeEventHandler,!1)}__datePickerChanged(){const e=this.shadowRoot.querySelector('[part="date"]'),t=this.$.dateSlot.assignedNodes({flatten:!0}).filter(this.__filterElements)[0];this.__datePicker!==t&&(this.__removeChangeListener(this.__datePicker),this.__addChangeListener(t),this.__datePicker=t,this.__updateCustomFieldInputs(),t===e?(t.placeholder=this.datePlaceholder,t.invalid=this.invalid,t.initialPosition=this.initialPosition,t.showWeekNumbers=this.showWeekNumbers,this.__syncI18n(t,this,z)):(this.datePlaceholder=t.placeholder,this.initialPosition=t.initialPosition,this.showWeekNumbers=t.showWeekNumbers,this.__syncI18n(this,t,z)),t.min=this.__formatDateISO(this.__minDateTime,this.__defaultDateMinMaxValue),t.max=this.__formatDateISO(this.__maxDateTime,this.__defaultDateMinMaxValue),t.required=this.required,t.disabled=this.disabled,t.readonly=this.readonly,t.autoOpenDisabled=this.autoOpenDisabled,t.validate=()=>{},t._validateInput=()=>{})}__timePickerChanged(){const e=this.shadowRoot.querySelector('[part="time"]'),t=this.$.timeSlot.assignedNodes({flatten:!0}).filter(this.__filterElements)[0];this.__timePicker!==t&&(this.__removeChangeListener(this.__timePicker),this.__addChangeListener(t),this.__timePicker=t,this.__updateCustomFieldInputs(),t===e?(t.placeholder=this.timePlaceholder,t.step=this.step,t.invalid=this.invalid,this.__syncI18n(t,this,J)):(this.timePlaceholder=t.placeholder,this.step=t.step,this.__syncI18n(this,t,J)),this.__updateTimePickerMinMax(),t.required=this.required,t.disabled=this.disabled,t.readonly=this.readonly,t.autoOpenDisabled=this.autoOpenDisabled,t.validate=()=>{})}__updateTimePickerMinMax(){if(this.__timePicker&&this.__datePicker){const e=s._dateEquals,t=this.__parseDate(this.__datePicker.value),i=e(this.__minDateTime,this.__maxDateTime),a=this.__timePicker.value;this.__minDateTime&&e(t,this.__minDateTime)||i?this.__timePicker.min=this.__dateToIsoTimeString(this.__minDateTime):this.__timePicker.min=this.__defaultTimeMinValue,this.__maxDateTime&&e(t,this.__maxDateTime)||i?this.__timePicker.max=this.__dateToIsoTimeString(this.__maxDateTime):this.__timePicker.max=this.__defaultTimeMaxValue,this.__timePicker.value!==a&&(this.__timePicker.value=a)}}__i18nChanged(e){this.__datePicker&&this.__datePicker.set(e.path,e.value),this.__timePicker&&this.__timePicker.set(e.path,e.value)}__datePlaceholderChanged(e){this.__datePicker&&(this.__datePicker.placeholder=e)}__timePlaceholderChanged(e){this.__timePicker&&(this.__timePicker.placeholder=e)}__stepChanged(e){if(this.__timePicker&&this.__timePicker.step!==e){const t=this.__timePicker.value;this.__timePicker.step=e,this.__timePicker.value!==t&&this.__triggerCustomFieldValueUpdate()}}__triggerCustomFieldValueUpdate(){this.__timePicker&&this.__timePicker.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__initialPositionChanged(e){this.__datePicker&&(this.__datePicker.initialPosition=e)}__showWeekNumbersChanged(e){this.__datePicker&&(this.__datePicker.showWeekNumbers=e)}__invalidChanged(e){this.__datePicker&&(this.__datePicker.invalid=e),this.__timePicker&&(this.__timePicker.invalid=e)}__requiredChanged(e){this.__datePicker&&(this.__datePicker.required=e),this.__timePicker&&(this.__timePicker.required=e)}__disabledChanged(e){this.__datePicker&&(this.__datePicker.disabled=e),this.__timePicker&&(this.__timePicker.disabled=e)}__readonlyChanged(e){this.__datePicker&&(this.__datePicker.readonly=e),this.__timePicker&&(this.__timePicker.readonly=e)}__parseDate(e){return W.prototype._parseDate(e)}__formatDateISO(e,t){return e?W.prototype._formatISO(e):t}__formatTimeISO(e){return G.formatTime(e)}__parseTimeISO(e){return G.parseTime(e)}__parseDateTime(e){const[t,i]=e.split("T");if(!t||!i)return;const a=this.__parseDate(t);if(!a)return;const s=this.__parseTimeISO(i);return s?(a.setHours(parseInt(s.hours)),a.setMinutes(parseInt(s.minutes||0)),a.setSeconds(parseInt(s.seconds||0)),a.setMilliseconds(parseInt(s.milliseconds||0)),a):void 0}__formatDateTime(e){if(!e)return"";return`${this.__formatDateISO(e,"")}T${this.__dateToIsoTimeString(e)}`}__dateToIsoTimeString(e){return this.__formatTimeISO(this.__validateTime({hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds(),milliseconds:e.getMilliseconds()}))}__validateTime(e){return e&&(e.seconds=this.__stepSegment<3?void 0:e.seconds,e.milliseconds=this.__stepSegment<4?void 0:e.milliseconds),e}validate(){return!(this.invalid=!this.checkValidity())}checkValidity(){const e=this.$.customField.inputs.filter((e=>!e.checkValidity.call(e))).length>0,t=this.required&&this.$.customField.inputs.filter((e=>!e.value)).length>0;return!e&&!t}get __stepSegment(){const e=null==this.step?60:parseFloat(this.step);return e%3600==0?1:e%60!=0&&e?e%1==0?3:e<1?4:void 0:2}__dateTimeEquals(e,t){return!!s._dateEquals(e,t)&&(e.getHours()===t.getHours()&&e.getMinutes()===t.getMinutes()&&e.getSeconds()===t.getSeconds()&&e.getMilliseconds()===t.getMilliseconds())}__handleDateTimeChange(e,t,i,a){if(!i)return this[e]="",void(this[t]="");const s=this.__parseDateTime(i);s?this.__dateTimeEquals(this[t],s)||(this[t]=s):this[e]=a}__valueChanged(e,t){this.__handleDateTimeChange("value","__selectedDateTime",e,t),this.__doDispatchChange&&(this.__dispatchChange(),this.validate())}__dispatchChange(){this.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__minChanged(e,t){this.__handleDateTimeChange("min","__minDateTime",e,t),this.__datePicker&&(this.__datePicker.min=this.__formatDateISO(this.__minDateTime,this.__defaultDateMinMaxValue)),this.__updateTimePickerMinMax()}__maxChanged(e,t){this.__handleDateTimeChange("max","__maxDateTime",e,t),this.__datePicker&&(this.__datePicker.max=this.__formatDateISO(this.__maxDateTime,this.__defaultDateMinMaxValue)),this.__updateTimePickerMinMax()}__selectedDateTimeChanged(e){const t=this.__formatDateTime(e);this.value!==t&&(this.value=t);if(!!this.$.customField.inputs[0].$){const e=this.__doDispatchChange;this.$.customField.value=""!==this.value?this.value:"T",this.__doDispatchChange=e}}__customFieldValueChanged(e){const t=e.detail.value;if("T"===t&&!this.__customFieldInitialValueChangeReceived)return void(this.__customFieldInitialValueChangeReceived=!0);const[i,a]=t.split("T");this.__oldDateValue!==i&&(this.__oldDateValue=i,this.__updateTimePickerMinMax()),i&&a?t!==this.value&&(this.value=t):this.value="",this.__doDispatchChange=!1}__autoOpenDisabledChanged(e){this.__datePicker&&(this.__datePicker.autoOpenDisabled=e),this.__timePicker&&(this.__timePicker.autoOpenDisabled=e)}}customElements.define(Q.is,Q);const X=[[0,1,2],[3,4,5],[6,7,8],[9,10,11]];function Z(e=new Date){const t=e.getMonth(),i=X.findIndex((e=>e.includes(t))),a=0===i?X.length-1:i-1,s=X[a][0],n=new Date(e.getFullYear(),s),r=X[a][2];return{start:n,end:new Date(new Date(e.getFullYear(),r+1).getTime()-1)}}function ee(e=new Date){const t=e.getMonth(),i=X.findIndex((e=>e.includes(t))),a=X[i][0],s=new Date(e.getFullYear(),a),n=X[i][2];return{start:s,end:new Date(new Date(e.getFullYear(),n+1).getTime()-1)}}function te(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1),end:new Date(new Date(e.getFullYear(),e.getMonth()).getTime()-1)}}function ie(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()),end:new Date(new Date(e.getFullYear(),e.getMonth()+1).getTime()-1)}}function ae(e=new Date){return{start:new Date(e.getFullYear()-1,0),end:new Date(new Date(e.getFullYear(),0).getTime()-1)}}function se(e=new Date){return{start:new Date(e.getFullYear(),0),end:new Date(new Date(e.getFullYear()+1,0).getTime()-1)}}function ne(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),e.getDate()-365),end:new Date(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-1)}}function re(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),e.getDate()-30),end:new Date(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-1)}}function de(e){return`${e.getFullYear().toString().padStart(4,"0")}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")}T${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}let le,oe,he,me,_e,ce,ue,pe,ge,ve,fe,be,ye,ke,Te,xe=e=>e;const $e=f(b(y(D(k(E,"report-form")))));class De extends $e{constructor(){super(...arguments),this.templates={},this.__showRangeTime=!1}static get scopedElements(){return{"vaadin-date-time-picker":customElements.get("vaadin-date-time-picker"),"vaadin-date-picker":customElements.get("vaadin-date-picker"),"vaadin-checkbox":customElements.get("vaadin-checkbox"),"vaadin-select":customElements.get("vaadin-select"),"vaadin-button":customElements.get("vaadin-button"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-property-table":$,"x-choice":t,"x-group":x}}static get properties(){return p(p({},super.properties),{},{__showRangeTime:{attribute:!1}})}static get v8n(){return[({name:e})=>!!e||"name_required",({datetime_start:e})=>!!e||"datetime_start_required",({datetime_end:e})=>!!e||"datetime_end_required"]}render(){var e,t;const i=this.hiddenSelector;return g(le||(le=xe` <div data-testid="wrapper" aria-busy="${0}" aria-live="polite" class="space-y-l relative"> <div class="space-y-m"> ${0} ${0} ${0} ${0} ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),i.matches("name",!0)?"":this.__renderName(),i.matches("range",!0)?"":this.__renderRange(),i.matches("timestamps",!0)||!this.data?"":this.__renderTimestamps(),i.matches("create",!0)||this.data?"":this.__renderCreate(),i.matches("delete",!0)||!this.data?"":this.__renderDelete(),T({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}__renderName(){const e="name",t=["complete","customers","customers_ltv"],a=!this.in("idle")||this.disabledSelector.matches(e),s=this.readonlySelector.matches(e);return g(oe||(oe=xe` <div data-testid="${0}"> ${0} <x-group frame> <foxy-i18n lang="${0}" slot="header" key="name" ns="${0}"></foxy-i18n> <x-choice data-testid="name-choice" .value="${0}" .items="${0}" ?readonly="${0}" ?disabled="${0}" @change="${0}"> ${0} </x-choice> </x-group> ${0} </div> `),e,this.renderTemplateOrSlot("name:before"),this.lang,this.ns,this.form.name,t,s,a,(e=>{e instanceof i&&this.edit({name:e.detail})}),t.map((e=>g(he||(he=xe` <div slot="${0}-label" class="py-s leading-s"> <foxy-i18n class="block" lang="${0}" key="name_${0}" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-s opacity-70" lang="${0}" key="name_${0}_explainer" ns="${0}"> </foxy-i18n> </div> `),e,this.lang,e,this.ns,this.lang,e,this.ns))),this.renderTemplateOrSlot("name:after"))}__renderRangePreset(){var e;const t=[[p({value:"0",label:"preset_previous_quarter"},Z()),p({value:"1",label:"preset_previous_month"},te()),p({value:"2",label:"preset_previous_year"},ae())],[p({value:"3",label:"preset_this_quarter"},ee()),p({value:"4",label:"preset_this_month"},ie()),p({value:"5",label:"preset_this_year"},se())],[p({value:"6",label:"preset_last_365_days"},ne()),p({value:"7",label:"preset_last_30_days"},re())]],i=t.flat(1).find((e=>{const{datetime_end:t,datetime_start:i}=this.form;return i&&t&&de(e.start)===i&&de(e.end)===t}));return g(ge||(ge=xe` <div> <vaadin-select data-testid="range:preset" label="${0}" class="w-full -mt-m -mb-xs" ?disabled="${0}" ?readonly="${0}" .value="${0}" .renderer="${0}" @change="${0}"> </vaadin-select> </div> `),this.t("preset"),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),S(null!==(e=null==i?void 0:i.value)&&void 0!==e?e:"custom"),(e=>{const i=g(me||(me=xe`<vaadin-item value="custom">${0}</vaadin-item>`),this.t("preset_custom")),a=g(_e||(_e=xe`<hr>`)),s=t.map((e=>{const t=e.map((({value:e,label:t})=>g(ce||(ce=xe`<vaadin-item value="${0}">${0}</vaadin-item>`),e,this.t(t))));return g(ue||(ue=xe`${0}${0}`),t,a)}));e.firstElementChild||e.appendChild(document.createElement("vaadin-list-box")),v(g(pe||(pe=xe`${0}${0}`),s,i),e.firstElementChild)}),(e=>{const i=e.currentTarget,a=t.flat(1).find((e=>e.value===i.value));a&&this.edit({datetime_start:de(a.start),datetime_end:de(a.end)})}))}__renderRangeDateTimePicker(e){const t="end"===e?"datetime_end":"datetime_start",i=this.errors.find((e=>e.startsWith(`${t}_`))),a=this.form[t];return g(ve||(ve=xe` <vaadin-date-time-picker date-placeholder="${0}" time-placeholder="${0}" error-message="${0}" data-testid="range:${0}" class="w-full" label="${0}" step="1" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-time-picker> `),this.t("select_date"),this.t("select_time"),w(i?this.t(i):void 0),e,this.t(e),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),(()=>!i),a?null!==(n=null===(s=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.exec(a))||void 0===s?void 0:s[0])&&void 0!==n?n:"":"",(e=>"Enter"===e.key&&this.submit()),(e=>{const i=e.currentTarget;this.edit({[t]:i.value})}));var s,n}__renderRangeDatePicker(e){const t="end"===e?"datetime_end":"datetime_start",i=this.errors.find((e=>e.startsWith(`${t}_`))),a=this.form[t];return g(fe||(fe=xe` <vaadin-date-picker error-message="${0}" placeholder="${0}" data-testid="range:${0}" class="w-full" label="${0}" step="1" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-picker> `),w(i?this.t(i):void 0),this.t("select_date"),e,this.t(e),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),(()=>!i),a?null!==(n=null===(s=/^\d{4}-\d{2}-\d{2}/.exec(a))||void 0===s?void 0:s[0])&&void 0!==n?n:"":"",(e=>"Enter"===e.key&&this.submit()),(i=>{const a=i.currentTarget,s="end"===e?"23:59:59":"00:00:00";this.edit({[t]:`${a.value}T${s}`})}));var s,n}__renderRange(){const e=this.__showRangeTime?this.__renderRangeDateTimePicker:this.__renderRangeDatePicker;return g(be||(be=xe` <div data-testid="range"> ${0} <x-group frame> <foxy-i18n slot="header" lang="${0}" key="range" ns="${0}"></foxy-i18n> <div class="p-m grid gap-m ${0}"> <div class="${0}"> ${0} </div> ${0} ${0} <vaadin-checkbox data-testid="range:toggle" class="-my-xs w-full ${0}" ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n lang="${0}" key="use_precise_time" ns="${0}"></foxy-i18n> </vaadin-checkbox> </div> </x-group> ${0} </div> `),this.renderTemplateOrSlot("range:before"),this.lang,this.ns,this.__showRangeTime?"grid-cols-1":"sm-grid-cols-2",this.__showRangeTime?"col-span-1":"sm-col-span-2",this.__renderRangePreset(),e.call(this,"start"),e.call(this,"end"),this.__showRangeTime?"col-span-1":"sm-col-span-2",!this.in("idle")||this.disabledSelector.matches("range",!0),this.__showRangeTime,(e=>{const t=e.currentTarget;this.__showRangeTime=t.checked}),this.lang,this.ns,this.renderTemplateOrSlot("range:after"))}__renderTimestamps(){return g(ye||(ye=xe` <div> ${0} <x-property-table data-testid="timestamps" .items="${0}"> </x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),["date_modified","date_created"].map((e=>{var t;return{name:this.t(e),value:(null===(t=this.data)||void 0===t?void 0:t[e])?this.t("date",{value:new Date(this.data[e])}):""}})),this.renderTemplateOrSlot("timestamps:after"))}__renderCreate(){const e=this.in({idle:{template:{clean:"invalid"}}}),t=this.in({idle:{template:{dirty:"invalid"}}}),i=this.in({idle:{snapshot:{clean:"invalid"}}}),a=this.in({idle:{snapshot:{dirty:"invalid"}}}),s=e||t||(i||a),n=this.in("idle");return g(ke||(ke=xe` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="create" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!n||s||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return g(Te||(Te=xe` <div> <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} <vaadin-button data-testid="delete" theme="primary error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="delete" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.lang,this.ns,(e=>!e.detail.cancelled&&this.delete()),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}customElements.define("foxy-report-form",De);export{De as ReportForm};
|
|
195
|
+
`}static get is(){return"vaadin-date-time-picker"}static get version(){return"1.4.0"}static get properties(){return{name:{type:String},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1},required:{type:Boolean,value:!1},errorMessage:String,value:{type:String,notify:!0,value:"",observer:"__valueChanged"},min:{type:String,observer:"__minChanged"},max:{type:String,observer:"__maxChanged"},__minDateTime:{type:Date,value:""},__maxDateTime:{type:Date,value:""},datePlaceholder:{type:String},timePlaceholder:{type:String},helperText:{type:String,value:""},step:{type:Number},initialPosition:String,showWeekNumbers:{type:Boolean},label:{type:String,value:""},autoOpenDisabled:Boolean,disabled:{type:Boolean,value:!1,reflectToAttribute:!0},readonly:{type:Boolean,value:!1,reflectToAttribute:!0},autofocus:{type:Boolean},__selectedDateTime:{type:Date},__customFieldValueFormat:{type:Object,value:()=>({parseValue:e=>e.split("T"),formatValue:e=>e.join("T")})},i18n:{type:Object,value:()=>Object.assign({},U,G)}}}static get observers(){return["__selectedDateTimeChanged(__selectedDateTime)","__datePlaceholderChanged(datePlaceholder)","__timePlaceholderChanged(timePlaceholder)","__stepChanged(step)","__initialPositionChanged(initialPosition)","__showWeekNumbersChanged(showWeekNumbers)","__requiredChanged(required)","__invalidChanged(invalid)","__disabledChanged(disabled)","__readonlyChanged(readonly)","__i18nChanged(i18n.*)","__autoOpenDisabledChanged(autoOpenDisabled)"]}constructor(){super(),this.__defaultDateMinMaxValue=void 0,this.__defaultTimeMinValue="00:00:00.000",this.__defaultTimeMaxValue="23:59:59.999"}ready(){super.ready(),this.addEventListener("focusout",(e=>{e.relatedTarget!==this.__datePicker.$.overlay&&this.validate()})),this.__changeEventHandler=this.__changeEventHandler.bind(this),this.__filterElements=e=>e.nodeType===Node.ELEMENT_NODE,this.__datePickerChanged(),this.__timePickerChanged(),this.$.dateSlot.addEventListener("slotchange",this.__datePickerChanged.bind(this)),this.$.timeSlot.addEventListener("slotchange",this.__timePickerChanged.bind(this)),this.autofocus&&!this.disabled&&window.requestAnimationFrame((()=>this.focus()))}focus(){this.$.customField.focus()}__syncI18n(e,t,i){(i=i||Object.keys(t.i18n)).forEach((i=>{t.i18n.hasOwnProperty(i)&&e.set(`i18n.${i}`,t.i18n[i])}))}__updateCustomFieldInputs(){const e=this.$.customField.inputs;this.__datePicker&&this.__timePicker&&(e[0]!==this.__datePicker||e[1]!==this.__timePicker)&&this.$.customField._setInputs([this.__datePicker,this.__timePicker])}__changeEventHandler(e){this.__doDispatchChange=!0}__removeChangeListener(e){e&&e.removeEventListener("change",this.__changeEventHandler,!1)}__addChangeListener(e){e.addEventListener("change",this.__changeEventHandler,!1)}__datePickerChanged(){const e=this.shadowRoot.querySelector('[part="date"]'),t=this.$.dateSlot.assignedNodes({flatten:!0}).filter(this.__filterElements)[0];this.__datePicker!==t&&(this.__removeChangeListener(this.__datePicker),this.__addChangeListener(t),this.__datePicker=t,this.__updateCustomFieldInputs(),t===e?(t.placeholder=this.datePlaceholder,t.invalid=this.invalid,t.initialPosition=this.initialPosition,t.showWeekNumbers=this.showWeekNumbers,this.__syncI18n(t,this,z)):(this.datePlaceholder=t.placeholder,this.initialPosition=t.initialPosition,this.showWeekNumbers=t.showWeekNumbers,this.__syncI18n(this,t,z)),t.min=this.__formatDateISO(this.__minDateTime,this.__defaultDateMinMaxValue),t.max=this.__formatDateISO(this.__maxDateTime,this.__defaultDateMinMaxValue),t.required=this.required,t.disabled=this.disabled,t.readonly=this.readonly,t.autoOpenDisabled=this.autoOpenDisabled,t.validate=()=>{},t._validateInput=()=>{})}__timePickerChanged(){const e=this.shadowRoot.querySelector('[part="time"]'),t=this.$.timeSlot.assignedNodes({flatten:!0}).filter(this.__filterElements)[0];this.__timePicker!==t&&(this.__removeChangeListener(this.__timePicker),this.__addChangeListener(t),this.__timePicker=t,this.__updateCustomFieldInputs(),t===e?(t.placeholder=this.timePlaceholder,t.step=this.step,t.invalid=this.invalid,this.__syncI18n(t,this,J)):(this.timePlaceholder=t.placeholder,this.step=t.step,this.__syncI18n(this,t,J)),this.__updateTimePickerMinMax(),t.required=this.required,t.disabled=this.disabled,t.readonly=this.readonly,t.autoOpenDisabled=this.autoOpenDisabled,t.validate=()=>{})}__updateTimePickerMinMax(){if(this.__timePicker&&this.__datePicker){const e=i._dateEquals,t=this.__parseDate(this.__datePicker.value),a=e(this.__minDateTime,this.__maxDateTime),s=this.__timePicker.value;this.__minDateTime&&e(t,this.__minDateTime)||a?this.__timePicker.min=this.__dateToIsoTimeString(this.__minDateTime):this.__timePicker.min=this.__defaultTimeMinValue,this.__maxDateTime&&e(t,this.__maxDateTime)||a?this.__timePicker.max=this.__dateToIsoTimeString(this.__maxDateTime):this.__timePicker.max=this.__defaultTimeMaxValue,this.__timePicker.value!==s&&(this.__timePicker.value=s)}}__i18nChanged(e){this.__datePicker&&this.__datePicker.set(e.path,e.value),this.__timePicker&&this.__timePicker.set(e.path,e.value)}__datePlaceholderChanged(e){this.__datePicker&&(this.__datePicker.placeholder=e)}__timePlaceholderChanged(e){this.__timePicker&&(this.__timePicker.placeholder=e)}__stepChanged(e){if(this.__timePicker&&this.__timePicker.step!==e){const t=this.__timePicker.value;this.__timePicker.step=e,this.__timePicker.value!==t&&this.__triggerCustomFieldValueUpdate()}}__triggerCustomFieldValueUpdate(){this.__timePicker&&this.__timePicker.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__initialPositionChanged(e){this.__datePicker&&(this.__datePicker.initialPosition=e)}__showWeekNumbersChanged(e){this.__datePicker&&(this.__datePicker.showWeekNumbers=e)}__invalidChanged(e){this.__datePicker&&(this.__datePicker.invalid=e),this.__timePicker&&(this.__timePicker.invalid=e)}__requiredChanged(e){this.__datePicker&&(this.__datePicker.required=e),this.__timePicker&&(this.__timePicker.required=e)}__disabledChanged(e){this.__datePicker&&(this.__datePicker.disabled=e),this.__timePicker&&(this.__timePicker.disabled=e)}__readonlyChanged(e){this.__datePicker&&(this.__datePicker.readonly=e),this.__timePicker&&(this.__timePicker.readonly=e)}__parseDate(e){return W.prototype._parseDate(e)}__formatDateISO(e,t){return e?W.prototype._formatISO(e):t}__formatTimeISO(e){return G.formatTime(e)}__parseTimeISO(e){return G.parseTime(e)}__parseDateTime(e){const[t,i]=e.split("T");if(!t||!i)return;const a=this.__parseDate(t);if(!a)return;const s=this.__parseTimeISO(i);return s?(a.setHours(parseInt(s.hours)),a.setMinutes(parseInt(s.minutes||0)),a.setSeconds(parseInt(s.seconds||0)),a.setMilliseconds(parseInt(s.milliseconds||0)),a):void 0}__formatDateTime(e){if(!e)return"";return`${this.__formatDateISO(e,"")}T${this.__dateToIsoTimeString(e)}`}__dateToIsoTimeString(e){return this.__formatTimeISO(this.__validateTime({hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds(),milliseconds:e.getMilliseconds()}))}__validateTime(e){return e&&(e.seconds=this.__stepSegment<3?void 0:e.seconds,e.milliseconds=this.__stepSegment<4?void 0:e.milliseconds),e}validate(){return!(this.invalid=!this.checkValidity())}checkValidity(){const e=this.$.customField.inputs.filter((e=>!e.checkValidity.call(e))).length>0,t=this.required&&this.$.customField.inputs.filter((e=>!e.value)).length>0;return!e&&!t}get __stepSegment(){const e=null==this.step?60:parseFloat(this.step);return e%3600==0?1:e%60!=0&&e?e%1==0?3:e<1?4:void 0:2}__dateTimeEquals(e,t){return!!i._dateEquals(e,t)&&(e.getHours()===t.getHours()&&e.getMinutes()===t.getMinutes()&&e.getSeconds()===t.getSeconds()&&e.getMilliseconds()===t.getMilliseconds())}__handleDateTimeChange(e,t,i,a){if(!i)return this[e]="",void(this[t]="");const s=this.__parseDateTime(i);s?this.__dateTimeEquals(this[t],s)||(this[t]=s):this[e]=a}__valueChanged(e,t){this.__handleDateTimeChange("value","__selectedDateTime",e,t),this.__doDispatchChange&&(this.__dispatchChange(),this.validate())}__dispatchChange(){this.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__minChanged(e,t){this.__handleDateTimeChange("min","__minDateTime",e,t),this.__datePicker&&(this.__datePicker.min=this.__formatDateISO(this.__minDateTime,this.__defaultDateMinMaxValue)),this.__updateTimePickerMinMax()}__maxChanged(e,t){this.__handleDateTimeChange("max","__maxDateTime",e,t),this.__datePicker&&(this.__datePicker.max=this.__formatDateISO(this.__maxDateTime,this.__defaultDateMinMaxValue)),this.__updateTimePickerMinMax()}__selectedDateTimeChanged(e){const t=this.__formatDateTime(e);this.value!==t&&(this.value=t);if(!!this.$.customField.inputs[0].$){const e=this.__doDispatchChange;this.$.customField.value=""!==this.value?this.value:"T",this.__doDispatchChange=e}}__customFieldValueChanged(e){const t=e.detail.value;if("T"===t&&!this.__customFieldInitialValueChangeReceived)return void(this.__customFieldInitialValueChangeReceived=!0);const[i,a]=t.split("T");this.__oldDateValue!==i&&(this.__oldDateValue=i,this.__updateTimePickerMinMax()),i&&a?t!==this.value&&(this.value=t):this.value="",this.__doDispatchChange=!1}__autoOpenDisabledChanged(e){this.__datePicker&&(this.__datePicker.autoOpenDisabled=e),this.__timePicker&&(this.__timePicker.autoOpenDisabled=e)}}customElements.define(Q.is,Q);const X=[[0,1,2],[3,4,5],[6,7,8],[9,10,11]];function Z(e=new Date){const t=e.getMonth(),i=X.findIndex((e=>e.includes(t))),a=0===i?X.length-1:i-1,s=X[a][0],n=new Date(e.getFullYear(),s),r=X[a][2];return{start:n,end:new Date(new Date(e.getFullYear(),r+1).getTime()-1)}}function ee(e=new Date){const t=e.getMonth(),i=X.findIndex((e=>e.includes(t))),a=X[i][0],s=new Date(e.getFullYear(),a),n=X[i][2];return{start:s,end:new Date(new Date(e.getFullYear(),n+1).getTime()-1)}}function te(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1),end:new Date(new Date(e.getFullYear(),e.getMonth()).getTime()-1)}}function ie(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()),end:new Date(new Date(e.getFullYear(),e.getMonth()+1).getTime()-1)}}function ae(e=new Date){return{start:new Date(e.getFullYear()-1,0),end:new Date(new Date(e.getFullYear(),0).getTime()-1)}}function se(e=new Date){return{start:new Date(e.getFullYear(),0),end:new Date(new Date(e.getFullYear()+1,0).getTime()-1)}}function ne(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),e.getDate()-365),end:new Date(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-1)}}function re(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),e.getDate()-30),end:new Date(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-1)}}function de(e){return`${e.getFullYear().toString().padStart(4,"0")}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")}T${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}let le,oe,he,me,_e,ue,ce,pe,ge,ve,fe,be,ye,ke,Te,xe=e=>e;const $e=g(v(f(D(b(E,"report-form")))));class De extends $e{constructor(){super(...arguments),this.templates={},this.__showRangeTime=!1}static get scopedElements(){return{"vaadin-date-time-picker":customElements.get("vaadin-date-time-picker"),"vaadin-date-picker":customElements.get("vaadin-date-picker"),"vaadin-checkbox":customElements.get("vaadin-checkbox"),"vaadin-select":customElements.get("vaadin-select"),"vaadin-button":customElements.get("vaadin-button"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-property-table":$,"x-choice":k,"x-group":x}}static get properties(){return u(u({},super.properties),{},{__showRangeTime:{attribute:!1}})}static get v8n(){return[({name:e})=>!!e||"name_required",({datetime_start:e})=>!!e||"datetime_start_required",({datetime_end:e})=>!!e||"datetime_end_required"]}render(){var e,t;const i=this.hiddenSelector;return c(le||(le=xe` <div data-testid="wrapper" aria-busy="${0}" aria-live="polite" class="space-y-l relative"> <div class="space-y-m"> ${0} ${0} ${0} ${0} ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),i.matches("name",!0)?"":this.__renderName(),i.matches("range",!0)?"":this.__renderRange(),i.matches("timestamps",!0)||!this.data?"":this.__renderTimestamps(),i.matches("create",!0)||this.data?"":this.__renderCreate(),i.matches("delete",!0)||!this.data?"":this.__renderDelete(),y({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}__renderName(){const e="name",t=["complete","customers","customers_ltv"],i=!this.in("idle")||this.disabledSelector.matches(e),a=this.readonlySelector.matches(e);return c(oe||(oe=xe` <div data-testid="${0}"> ${0} <x-group frame> <foxy-i18n lang="${0}" slot="header" key="name" ns="${0}"></foxy-i18n> <x-choice data-testid="name-choice" .value="${0}" .items="${0}" ?readonly="${0}" ?disabled="${0}" @change="${0}"> ${0} </x-choice> </x-group> ${0} </div> `),e,this.renderTemplateOrSlot("name:before"),this.lang,this.ns,this.form.name,t,a,i,(e=>{e instanceof T&&this.edit({name:e.detail})}),t.map((e=>c(he||(he=xe` <div slot="${0}-label" class="py-s leading-s"> <foxy-i18n class="block" lang="${0}" key="name_${0}" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-s opacity-70" lang="${0}" key="name_${0}_explainer" ns="${0}"> </foxy-i18n> </div> `),e,this.lang,e,this.ns,this.lang,e,this.ns))),this.renderTemplateOrSlot("name:after"))}__renderRangePreset(){var e;const t=[[u({value:"0",label:"preset_previous_quarter"},Z()),u({value:"1",label:"preset_previous_month"},te()),u({value:"2",label:"preset_previous_year"},ae())],[u({value:"3",label:"preset_this_quarter"},ee()),u({value:"4",label:"preset_this_month"},ie()),u({value:"5",label:"preset_this_year"},se())],[u({value:"6",label:"preset_last_365_days"},ne()),u({value:"7",label:"preset_last_30_days"},re())]],i=t.flat(1).find((e=>{const{datetime_end:t,datetime_start:i}=this.form;return i&&t&&de(e.start)===i&&de(e.end)===t}));return c(ge||(ge=xe` <div> <vaadin-select data-testid="range:preset" label="${0}" class="w-full -mt-m -mb-xs" ?disabled="${0}" ?readonly="${0}" .value="${0}" .renderer="${0}" @change="${0}"> </vaadin-select> </div> `),this.t("preset"),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),S(null!==(e=null==i?void 0:i.value)&&void 0!==e?e:"custom"),(e=>{const i=c(me||(me=xe`<vaadin-item value="custom">${0}</vaadin-item>`),this.t("preset_custom")),a=c(_e||(_e=xe`<hr>`)),s=t.map((e=>{const t=e.map((({value:e,label:t})=>c(ue||(ue=xe`<vaadin-item value="${0}">${0}</vaadin-item>`),e,this.t(t))));return c(ce||(ce=xe`${0}${0}`),t,a)}));e.firstElementChild||e.appendChild(document.createElement("vaadin-list-box")),p(c(pe||(pe=xe`${0}${0}`),s,i),e.firstElementChild)}),(e=>{const i=e.currentTarget,a=t.flat(1).find((e=>e.value===i.value));a&&this.edit({datetime_start:de(a.start),datetime_end:de(a.end)})}))}__renderRangeDateTimePicker(e){const t="end"===e?"datetime_end":"datetime_start",i=this.errors.find((e=>e.startsWith(`${t}_`))),a=this.form[t];return c(ve||(ve=xe` <vaadin-date-time-picker date-placeholder="${0}" time-placeholder="${0}" error-message="${0}" data-testid="range:${0}" class="w-full" label="${0}" step="1" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-time-picker> `),this.t("select_date"),this.t("select_time"),w(i?this.t(i):void 0),e,this.t(e),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),(()=>!i),a?null!==(n=null===(s=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.exec(a))||void 0===s?void 0:s[0])&&void 0!==n?n:"":"",(e=>"Enter"===e.key&&this.submit()),(e=>{const i=e.currentTarget;this.edit({[t]:i.value})}));var s,n}__renderRangeDatePicker(e){const t="end"===e?"datetime_end":"datetime_start",i=this.errors.find((e=>e.startsWith(`${t}_`))),a=this.form[t];return c(fe||(fe=xe` <vaadin-date-picker error-message="${0}" placeholder="${0}" data-testid="range:${0}" class="w-full" label="${0}" step="1" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-picker> `),w(i?this.t(i):void 0),this.t("select_date"),e,this.t(e),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),(()=>!i),a?null!==(n=null===(s=/^\d{4}-\d{2}-\d{2}/.exec(a))||void 0===s?void 0:s[0])&&void 0!==n?n:"":"",(e=>"Enter"===e.key&&this.submit()),(i=>{const a=i.currentTarget,s="end"===e?"23:59:59":"00:00:00";this.edit({[t]:`${a.value}T${s}`})}));var s,n}__renderRange(){const e=this.__showRangeTime?this.__renderRangeDateTimePicker:this.__renderRangeDatePicker;return c(be||(be=xe` <div data-testid="range"> ${0} <x-group frame> <foxy-i18n slot="header" lang="${0}" key="range" ns="${0}"></foxy-i18n> <div class="p-m grid gap-m ${0}"> <div class="${0}"> ${0} </div> ${0} ${0} <vaadin-checkbox data-testid="range:toggle" class="-my-xs w-full ${0}" ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n lang="${0}" key="use_precise_time" ns="${0}"></foxy-i18n> </vaadin-checkbox> </div> </x-group> ${0} </div> `),this.renderTemplateOrSlot("range:before"),this.lang,this.ns,this.__showRangeTime?"grid-cols-1":"sm-grid-cols-2",this.__showRangeTime?"col-span-1":"sm-col-span-2",this.__renderRangePreset(),e.call(this,"start"),e.call(this,"end"),this.__showRangeTime?"col-span-1":"sm-col-span-2",!this.in("idle")||this.disabledSelector.matches("range",!0),this.__showRangeTime,(e=>{const t=e.currentTarget;this.__showRangeTime=t.checked}),this.lang,this.ns,this.renderTemplateOrSlot("range:after"))}__renderTimestamps(){return c(ye||(ye=xe` <div> ${0} <x-property-table data-testid="timestamps" .items="${0}"> </x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),["date_modified","date_created"].map((e=>{var t;return{name:this.t(e),value:(null===(t=this.data)||void 0===t?void 0:t[e])?this.t("date",{value:new Date(this.data[e])}):""}})),this.renderTemplateOrSlot("timestamps:after"))}__renderCreate(){const e=this.in({idle:{template:{clean:"invalid"}}}),t=this.in({idle:{template:{dirty:"invalid"}}}),i=this.in({idle:{snapshot:{clean:"invalid"}}}),a=this.in({idle:{snapshot:{dirty:"invalid"}}}),s=e||t||(i||a),n=this.in("idle");return c(ke||(ke=xe` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="create" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!n||s||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return c(Te||(Te=xe` <div> <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} <vaadin-button data-testid="delete" theme="primary error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="delete" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.lang,this.ns,(e=>!e.detail.cancelled&&this.delete()),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}customElements.define("foxy-report-form",De);export{De as ReportForm};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"./foxy-spinner.js";import"./shared-
|
|
1
|
+
import"./foxy-spinner.js";import"./shared-d8bf2eac.js";import{T as n}from"./shared-d24c3729.js";import{a as e}from"./shared-19044260.js";import"./shared-93a1be98.js";import"./shared-35a7a4d6.js";import"./shared-7415fa7e.js";import"./shared-a8ced8bf.js";import"./shared-7f33a83a.js";import"./shared-4f037e43.js";import"./shared-2af327d0.js";import"./shared-a8966936.js";import"./shared-d3bf9ac0.js";import"./foxy-nucleon-element.js";import"./shared-15278fe0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-4e709717.js";let a,s,o,r,t,l,i,d,m,f,y,h=n=>n;class p extends(e(n,"reports-table")){constructor(){super(...arguments),this.columns=[p.nameColumn,p.startColumn,p.endColumn,p.createdOnColumn,p.linkColumn]}}p.nameColumn={header:({html:n,lang:e,ns:s})=>n(a||(a=h`<foxy-i18n lang=${0} key="report_name" ns=${0}></foxy-i18n>`),e,s),cell:({html:n,data:e,lang:a,ns:o})=>{const r=`report_name_${e.name}`;return n(s||(s=h`<foxy-i18n class="font-semibold" lang=${0} key=${0} ns=${0}></foxy-i18n>`),a,r,o)}},p.startColumn={hideBelow:"md",header:({html:n,lang:e,ns:a})=>n(o||(o=h`<foxy-i18n lang=${0} key="range_start" ns=${0}></foxy-i18n>`),e,a),cell:({html:n,data:e,lang:a,ns:s})=>n(r||(r=h`
|
|
2
2
|
<foxy-i18n
|
|
3
3
|
options=${0}
|
|
4
4
|
lang=${0}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"./foxy-address-card.js";import"./foxy-item-form.js";import"./foxy-item-card.js";import"./shared-
|
|
1
|
+
import"./foxy-address-card.js";import"./foxy-item-form.js";import"./foxy-item-card.js";import"./shared-d8bf2eac.js";import"./shared-3e781cc9.js";import{I as s}from"./shared-04046e0e.js";import{_ as r}from"./shared-a8ced8bf.js";import{h as e}from"./shared-7f33a83a.js";import{i as t}from"./shared-d3bf9ac0.js";import{a as i}from"./shared-19044260.js";import{B as o}from"./shared-2af327d0.js";import{C as a}from"./shared-a8966936.js";import"./shared-93a1be98.js";import"./shared-35a7a4d6.js";import"./shared-7415fa7e.js";import"./shared-553e6472.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-4f037e43.js";import"./shared-15278fe0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-4e709717.js";import"./shared-b2850d64.js";import"./shared-435ab348.js";import"./shared-aa4bf9ab.js";import"./shared-0bbbc87f.js";import"./shared-a0e71609.js";import"./shared-9afb80a6.js";import"./shared-19440ca2.js";import"./shared-e1069291.js";import"./shared-214c34b5.js";import"./shared-14dc506c.js";import"./shared-d9a3104e.js";import"./shared-3a84611d.js";import"./shared-b1201c2e.js";import"./foxy-discount-detail-card.js";import"./shared-0ecc7d2c.js";import"./foxy-coupon-detail-card.js";import"./foxy-item-option-card.js";import"./foxy-item-option-form.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./shared-4a519a4a.js";import"./shared-4c61787a.js";import"./shared-9a0f97e5.js";import"./shared-da285807.js";import"./shared-8d9c0007.js";import"./shared-11c2efc8.js";import"./shared-290769ea.js";import"./shared-915fb0e4.js";import"./shared-0cc4beec.js";import"./shared-a42a63aa.js";import"./shared-81d3ff30.js";import"./foxy-coupon-card.js";import"./shared-d75c6072.js";import"./foxy-discount-builder.js";import"./shared-d519a301.js";import"./shared-e6f3e9f0.js";import"./shared-682dbe0a.js";import"./shared-119efeaa.js";import"./shared-bc7f58ef.js";import"./shared-4fa44231.js";import"./foxy-subscription-card.js";import"./shared-effdf59d.js";import"./foxy-subscription-form.js";import"./foxy-cancellation-form.js";import"./foxy-collection-pages.js";import"./foxy-collection-page.js";import"./foxy-form-dialog.js";import"./shared-eab81bf4.js";import"./shared-93548d58.js";import"./foxy-table.js";import"./shared-d24c3729.js";import"./foxy-nucleon-element.js";import"./shared-9195959e.js";import"./shared-75e78c70.js";import"./shared-67f1821b.js";import"./foxy-pagination.js";let d,m,p=s=>s;const c=a(i(s,"shipment-card"));class n extends c{constructor(){super(...arguments),this.__customerAddresses="",this.__currencyDisplay="",this.__itemCategories="",this.__editable=!1,this.__currency="",this.__coupons=""}static get properties(){return r(r({},super.properties),{},{__customerAddresses:{attribute:!1},__currencyDisplay:{attribute:!1},__itemCategories:{attribute:!1},__editable:{attribute:!1},__currency:{attribute:!1},__coupons:{attribute:!1}})}get hiddenSelector(){return new o(`address:not=full-address ${super.hiddenSelector.toString()}`)}get readonlySelector(){return this.__editable?super.readonlySelector:o.True}renderBody(){var s,r,i;let o;if(this.data)try{const s=new URL(this.data._links["fx:items"].href);s.searchParams.set("zoom","item_options"),o=s.toString()}catch(s){}return e(m||(m=p` <div class="space-y-m"> <foxy-address-card infer="address" href="${0}"> <div slot="full-address:after" class="flex items-center text-m space-x-s text-secondary"> <iron-icon icon="maps:local-shipping" class="icon-inline flex-shrink-0"></iron-icon> <span class="truncate"> ${0} • <foxy-i18n options="${0}" key="price" infer=""> </foxy-i18n> </span> </div> </foxy-address-card> <foxy-internal-async-details-control infer="items" first="${0}" limit="5" item="foxy-item-card" open .form="${0}"> </foxy-internal-async-details-control> </div> `),t(null===(s=this.data)||void 0===s?void 0:s._links["fx:customer_address"].href),null===(r=this.data)||void 0===r?void 0:r.shipping_service_description,JSON.stringify({amount:`${null===(i=this.data)||void 0===i?void 0:i.total_shipping} ${this.__currency}`,currencyDisplay:this.__currencyDisplay}),t(o),(({html:s,dialog:r,handleFetch:e,handleUpdate:t})=>s(d||(d=p`
|
|
2
2
|
<foxy-item-form
|
|
3
3
|
customer-addresses=${0}
|
|
4
4
|
item-categories=${0}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-96695c93.js";import"./shared-c99a75d8.js";import"./shared-dc891fc4.js";import"./shared-f0591b3e.js";import"./shared-66a0263f.js";import"./shared-4a2e1638.js";import"./shared-0ffa1afb.js";import"./shared-ccb96675.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-d9c5e26e.js";import{_ as e}from"./shared-a8ced8bf.js";import{h as t}from"./shared-7f33a83a.js";import{C as r}from"./shared-24d650cd.js";import{N as i}from"./shared-425d906a.js";import{T as n,a}from"./shared-1c9fd2b1.js";import{c as o}from"./shared-4e709717.js";import{i as s}from"./shared-d3bf9ac0.js";import{v as d}from"./shared-b738ee96.js";import"./shared-0ca312eb.js";import"./shared-b1304f5b.js";import"./shared-4f037e43.js";import"./shared-7c8b3ce0.js";import"./shared-a03d948d.js";import"./shared-7684cb05.js";import"./shared-b0ba62ff.js";!function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t,r){var i,n;void 0===(n="function"==typeof(i=function(){for(var e=[null,[[10,7,17,13],[1,1,1,1],[]],[[16,10,28,22],[1,1,1,1],[4,16]],[[26,15,22,18],[1,1,2,2],[4,20]],[[18,20,16,26],[2,1,4,2],[4,24]],[[24,26,22,18],[2,1,4,4],[4,28]],[[16,18,28,24],[4,2,4,4],[4,32]],[[18,20,26,18],[4,2,5,6],[4,20,36]],[[22,24,26,22],[4,2,6,6],[4,22,40]],[[22,30,24,20],[5,2,8,8],[4,24,44]],[[26,18,28,24],[5,4,8,8],[4,26,48]],[[30,20,24,28],[5,4,11,8],[4,28,52]],[[22,24,28,26],[8,4,11,10],[4,30,56]],[[22,26,22,24],[9,4,16,12],[4,32,60]],[[24,30,24,20],[9,4,16,16],[4,24,44,64]],[[24,22,24,30],[10,6,18,12],[4,24,46,68]],[[28,24,30,24],[10,6,16,17],[4,24,48,72]],[[28,28,28,28],[11,6,19,16],[4,28,52,76]],[[26,30,28,28],[13,6,21,18],[4,28,54,80]],[[26,28,26,26],[14,7,25,21],[4,28,56,84]],[[26,28,28,30],[16,8,25,20],[4,32,60,88]],[[26,28,30,28],[17,8,25,23],[4,26,48,70,92]],[[28,28,24,30],[17,9,34,23],[4,24,48,72,96]],[[28,30,30,30],[18,9,30,25],[4,28,52,76,100]],[[28,30,30,30],[20,10,32,27],[4,26,52,78,104]],[[28,26,30,30],[21,12,35,29],[4,30,56,82,108]],[[28,28,30,28],[23,12,37,34],[4,28,56,84,112]],[[28,30,30,30],[25,12,40,34],[4,32,60,88,116]],[[28,30,30,30],[26,13,42,35],[4,24,48,72,96,120]],[[28,30,30,30],[28,14,45,38],[4,28,52,76,100,124]],[[28,30,30,30],[29,15,48,40],[4,24,50,76,102,128]],[[28,30,30,30],[31,16,51,43],[4,28,54,80,106,132]],[[28,30,30,30],[33,17,54,45],[4,32,58,84,110,136]],[[28,30,30,30],[35,18,57,48],[4,28,56,84,112,140]],[[28,30,30,30],[37,19,60,51],[4,32,60,88,116,144]],[[28,30,30,30],[38,19,63,53],[4,28,52,76,100,124,148]],[[28,30,30,30],[40,20,66,56],[4,22,48,74,100,126,152]],[[28,30,30,30],[43,21,70,59],[4,26,52,78,104,130,156]],[[28,30,30,30],[45,22,74,62],[4,30,56,82,108,134,160]],[[28,30,30,30],[47,24,77,65],[4,24,52,80,108,136,164]],[[28,30,30,30],[49,25,81,68],[4,28,56,84,112,140,168]]],t=/^\d*$/,r=/^[A-Za-z0-9 $%*+\-.\/:]*$/,i=/^[A-Z0-9 $%*+\-.\/:]*$/,n=[],a=[-1],o=0,s=1;o<255;++o)n.push(s),a[s]=o,s=2*s^(s>=128?285:0);var d=[[]];for(o=0;o<30;++o){for(var l=d[o],c=[],u=0;u<=o;++u){var f=u<o?n[l[u]]:0,h=n[(o+(l[u-1]||0))%255];c.push(a[f^h])}d.push(c)}var m={};for(o=0;o<45;++o)m["0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".charAt(o)]=o;var p=[function(e,t){return(e+t)%2==0},function(e,t){return e%2==0},function(e,t){return t%3==0},function(e,t){return(e+t)%3==0},function(e,t){return((e/2|0)+(t/3|0))%2==0},function(e,t){return e*t%2+e*t%3==0},function(e,t){return(e*t%2+e*t%3)%2==0},function(e,t){return((e+t)%2+e*t%3)%2==0}],v=function(e){return e>6},b=function(t,r){var i=-8&function(t){var r=e[t],i=16*t*t+128*t+64;return v(t)&&(i-=36),r[2].length&&(i-=25*r[2].length*r[2].length-10*r[2].length-55),i}(t),n=e[t];return i-8*n[0][r]*n[1][r]},g=function(e,t){switch(t){case 1:return e<10?10:e<27?12:14;case 2:return e<10?9:e<27?11:13;case 4:return e<10?8:16;case 8:return e<10?8:e<27?10:12}},y=function(e,t,r){var i=b(e,r)-4-g(e,t);switch(t){case 1:return 3*(i/10|0)+(i%10<4?0:i%10<7?1:2);case 2:return 2*(i/11|0)+(i%11<6?0:1);case 4:return i/8|0;case 8:return i/13|0}},_=function(e,t){for(var r=e.slice(0),i=e.length,o=t.length,s=0;s<o;++s)r.push(0);for(s=0;s<i;){var d=a[r[s++]];if(d>=0)for(var l=0;l<o;++l)r[s+l]^=n[(d+t[l])%255]}return r.slice(i)},w=function(e,t,r,i){for(var n=e<<i,a=t-1;a>=0;--a)n>>i+a&1&&(n^=r<<a);return e<<i|n},$=function(e,t,r){for(var i=p[r],n=e.length,a=0;a<n;++a)for(var o=0;o<n;++o)t[a][o]||(e[a][o]^=i(a,o));return e},S=function(e,t,r,i){for(var n=e.length,a=21522^w(r<<3|i,5,1335,10),o=0;o<15;++o){var s=[n-1,n-2,n-3,n-4,n-5,n-6,n-7,n-8,7,5,4,3,2,1,0][o];e[[0,1,2,3,4,5,7,8,n-7,n-6,n-5,n-4,n-3,n-2,n-1][o]][8]=e[8][s]=a>>o&1}return e},x=function(e){for(var t=function(e){for(var t=0,r=0;r<e.length;++r)e[r]>=5&&(t+=e[r]-5+3);for(r=5;r<e.length;r+=2){var i=e[r];e[r-1]==i&&e[r-2]==3*i&&e[r-3]==i&&e[r-4]==i&&(e[r-5]>=4*i||e[r+1]>=4*i)&&(t+=40)}return t},r=e.length,i=0,n=0,a=0;a<r;++a){var o,s=e[a];o=[0];for(var d=0;d<r;){for(l=0;d<r&&s[d];++l)++d;for(o.push(l),l=0;d<r&&!s[d];++l)++d;o.push(l)}i+=t(o),o=[0];for(d=0;d<r;){var l;for(l=0;d<r&&e[d][a];++l)++d;for(o.push(l),l=0;d<r&&!e[d][a];++l)++d;o.push(l)}i+=t(o);var c=e[a+1]||[];n+=s[0];for(d=1;d<r;++d){var u=s[d];n+=u,s[d-1]==u&&c[d]===u&&c[d-1]===u&&(i+=3)}}return i+10*(Math.abs(n/r/r-.5)/.05|0)},k=function(t,r,i,n,a){var o=e[r],s=function(e,t,r,i){var n=[],a=0,o=8,s=r.length,d=function(e,t){if(t>=o){for(n.push(a|e>>(t-=o));t>=8;)n.push(e>>(t-=8)&255);a=0,o=8}t>0&&(a|=(e&(1<<t)-1)<<(o-=t))},l=g(e,t);switch(d(t,4),d(s,l),t){case 1:for(var c=2;c<s;c+=3)d(parseInt(r.substring(c-2,c+1),10),10);d(parseInt(r.substring(c-2),10),[0,4,7][s%3]);break;case 2:for(c=1;c<s;c+=2)d(45*m[r.charAt(c-1)]+m[r.charAt(c)],11);s%2==1&&d(m[r.charAt(c-1)],6);break;case 4:for(c=0;c<s;++c)d(r[c],8)}for(d(0,4),o<8&&n.push(a);n.length+1<i;)n.push(236,17);return n.length<i&&n.push(236),n}(r,i,t,b(r,n)>>3);s=function(e,t,r){for(var i=[],n=e.length/t|0,a=0,o=t-e.length%t,s=0;s<o;++s)i.push(a),a+=n;for(s=o;s<t;++s)i.push(a),a+=n+1;i.push(a);var d=[];for(s=0;s<t;++s)d.push(_(e.slice(i[s],i[s+1]),r));var l=[],c=e.length/t|0;for(s=0;s<c;++s)for(var u=0;u<t;++u)l.push(e[i[u]+s]);for(u=o;u<t;++u)l.push(e[i[u+1]-1]);for(s=0;s<r.length;++s)for(u=0;u<t;++u)l.push(d[u][s]);return l}(s,o[1][n],d[o[0][n]]);var l=function(t){for(var r=e[t],i=function(e){return 4*e+17}(t),n=[],a=[],o=0;o<i;++o)n.push([]),a.push([]);var s=function(e,t,r,i,o){for(var s=0;s<r;++s)for(var d=0;d<i;++d)n[e+s][t+d]=o[s]>>d&1,a[e+s][t+d]=1};s(0,0,9,9,[127,65,93,93,93,65,383,0,64]),s(i-8,0,8,9,[256,127,65,93,93,93,65,127]),s(0,i-8,9,8,[254,130,186,186,186,130,254,0,0]);for(o=9;o<i-8;++o)n[6][o]=n[o][6]=1&~o,a[6][o]=a[o][6]=1;var d=r[2],l=d.length;for(o=0;o<l;++o)for(var c=0==o?l-1:l,u=0==o||o==l-1?1:0;u<c;++u)s(d[o],d[u],5,5,[31,17,21,17,31]);if(v(t)){var f=w(t,6,7973,12),h=0;for(o=0;o<6;++o)for(u=0;u<3;++u)n[o][i-11+u]=n[i-11+u][o]=f>>h++&1,a[o][i-11+u]=a[i-11+u][o]=1}return{matrix:n,reserved:a}}(r),c=l.matrix,u=l.reserved;if(function(e,t,r){for(var i=e.length,n=0,a=-1,o=i-1;o>=0;o-=2){6==o&&--o;for(var s=a<0?i-1:0,d=0;d<i;++d){for(var l=o;l>o-2;--l)t[s][l]||(e[s][l]=r[n>>3]>>(7&~n)&1,++n);s+=a}a=-a}}(c,u,s),a<0){$(c,u,0),S(c,0,n,0);var f=0,h=x(c);for($(c,u,0),a=1;a<8;++a){$(c,u,a),S(c,0,n,a);var p=x(c);h>p&&(h=p,f=a),$(c,u,a)}a=f}return $(c,u,a),S(c,0,n,a),c},j={generate:function(e,n){var a=(n=n||{}).version||-1,o={L:1,M:0,Q:3,H:2}[(n.ecclevel||"L").toUpperCase()],s=n.mode?{numeric:1,alphanumeric:2,octet:4}[n.mode.toLowerCase()]:-1,d="mask"in n?n.mask:-1;if(s<0)s="string"==typeof e?e.match(t)?1:e.match(i)?2:4:4;else if(1!=s&&2!=s&&4!=s)throw"invalid or unsupported mode";if(null===(e=function(e,i){switch(e){case 1:return i.match(t)?i:null;case 2:return i.match(r)?i.toUpperCase():null;case 4:if("string"==typeof i){for(var n=[],a=0;a<i.length;++a){var o=i.charCodeAt(a);o<128?n.push(o):o<2048?n.push(192|o>>6,128|63&o):o<65536?n.push(224|o>>12,128|o>>6&63,128|63&o):n.push(240|o>>18,128|o>>12&63,128|o>>6&63,128|63&o)}return n}return i}}(s,e)))throw"invalid data format";if(o<0||o>3)throw"invalid ECC level";if(a<0){for(a=1;a<=40&&!(e.length<=y(a,s,o));++a);if(a>40)throw"too large data"}else if(a<1||a>40)throw"invalid version";if(-1!=d&&(d<0||d>8))throw"invalid mask";return k(e,a,s,o,d)},generateHTML:function(e,t){t=t||{};for(var r=j.generate(e,t),i=Math.max(t.modulesize||5,.5),n=Math.max(null!==t.margin?t.margin:4,0),a=document.createElement("div"),o=r.length,s=['<table border="0" cellspacing="0" cellpadding="0" style="border:'+i*n+'px solid #fff;background:#fff">'],d=0;d<o;++d){s.push("<tr>");for(var l=0;l<o;++l)s.push('<td style="width:'+i+"px;height:"+i+"px"+(r[d][l]?";background:#000":"")+'"></td>');s.push("</tr>")}return a.className="qrcode",a.innerHTML=s.join("")+"</table>",a},generateSVG:function(e,t){t=t||{};var r=j.generate(e,t),i=r.length,n=Math.max(t.modulesize||5,.5),a=Math.max(null!==t.margin?t.margin:4,0),o=n*(i+2*a),s=' class= "fg" width="'+n+'" height="'+n+'"/>',d=document.createElementNS("http://www.w3.org/2000/svg","svg");d.setAttribute("viewBox","0 0 "+o+" "+o),d.setAttribute("style","shape-rendering:crispEdges"),t.modulesize&&(d.setAttribute("width",o),d.setAttribute("height",o));for(var l=["<style scoped>.bg{fill:#FFF}.fg{fill:#000}</style>",'<rect class="bg" x="0" y="0"','width="'+o+'" height="'+o+'"/>'],c=a*n,u=0;u<i;++u){for(var f=a*n,h=0;h<i;++h)r[u][h]&&l.push('<rect x="'+f+'" y="'+c+'"',s),f+=n;c+=n}return d.innerHTML=l.join(""),d},generatePNG:function(e,t){t=t||{};var r,i=j.generate(e,t),n=Math.max(t.modulesize||5,.5),a=Math.max(null!==t.margin?t.margin:4,0),o=i.length,s=n*(o+2*a),d=document.createElement("canvas");if(d.width=d.height=s,!(r=d.getContext("2d")))throw"canvas support is needed for PNG output";r.fillStyle="#fff",r.fillRect(0,0,s,s),r.fillStyle="#000";for(var l=0;l<o;++l)for(var c=0;c<o;++c)i[l][c]&&r.fillRect(n*(a+c),n*(a+l),n,n);return d.toDataURL()}};return j})?i.apply(t,[]):i)||(e.exports=n)},function(e,t,r){r.r(t);var i=r(0),n=r.n(i);function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){var t="function"==typeof Map?new Map:void 0;return(d=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))return e;var r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return l(e,arguments,u(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),c(i,e)})(e)}function l(e,t,r){return(l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct:function(e,t,r){var i=[null];i.push.apply(i,t);var n=new(Function.bind.apply(e,i));return r&&c(n,r.prototype),n}).apply(null,arguments)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var f=function(e){function t(){var e,r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this,(e=!(r=u(t).call(this))||"object"!==a(r)&&"function"!=typeof r?s(this):r)._defineProperty=e._defineProperty.bind(s(e)),e.attachShadow({mode:"open"}),Object.keys(t.defaultAttributes).map(e._defineProperty),e}var r,i,l;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(t,d(HTMLElement)),r=t,l=[{key:"defaultAttributes",get:function(){return{data:null,format:"png",modulesize:5,margin:4}}},{key:"observedAttributes",get:function(){return Object.keys(t.defaultAttributes)}}],(i=[{key:"attributeChangedCallback",value:function(e,t,r){var i=this[e+"Changed"];i&&"function"==typeof i&&i.call(this,t,r),this.generate()}},{key:"_defineProperty",value:function(e){var r=this;Object.defineProperty(this,e,{get:function(){var i=r.getAttribute(e);return null===i?t.defaultAttributes[e]:i},set:function(t){r.setAttribute(e,t)}})}},{key:"getOptions",value:function(){var e=this.modulesize,t=this.margin;return{modulesize:null!==e?parseInt(e):e,margin:null!==t?parseInt(t):t}}},{key:"generate",value:function(){null!==this.data?"png"===this.format?this.generatePNG():"html"===this.format?this.generateHTML():"svg"===this.format?this.generateSVG():this.shadowRoot.innerHTML="<div>qr-code: "+this.format+" not supported!</div>":this.shadowRoot.innerHTML="<div>qr-code: no data!</div>"}},{key:"generatePNG",value:function(){try{var e=document.createElement("img");e.src=n.a.generatePNG(this.data,this.getOptions()),this.clear(),this.shadowRoot.appendChild(e)}catch(e){this.shadowRoot.innerHTML="<div>qr-code: no canvas support!</div>"}}},{key:"generateHTML",value:function(){var e=n.a.generateHTML(this.data,this.getOptions());this.clear(),this.shadowRoot.appendChild(e)}},{key:"generateSVG",value:function(){var e=n.a.generateSVG(this.data,this.getOptions());this.clear(),this.shadowRoot.appendChild(e)}},{key:"clear",value:function(){for(;this.shadowRoot.lastChild;)this.shadowRoot.removeChild(this.shadowRoot.lastChild)}}])&&o(r.prototype,i),l&&o(r,l),t}();customElements.define("qr-code",f)}]);let l,c,u,f,h,m,p,v,b,g=e=>e;const y=n(r(a(i,"sign-in-form")));class _ extends y{constructor(){super(...arguments),this.templates={},this.issuer="Unknown",this.__emailValidator=()=>!this.errors.some((e=>e.startsWith("email"))),this.__passwordValidator=()=>!this.errors.some((e=>e.startsWith("password"))),this.__newPasswordValidator=()=>!this.errors.some((e=>e.startsWith("new_password")&&!e.endsWith("_error"))),this.__mfaTotpCodeValidator=()=>!this.errors.some((e=>e.startsWith("mfa_totp_code")&&!e.endsWith("_error"))),this.__renderEmail=()=>{var e;const{disabledSelector:r,readonlySelector:i,errors:n}=this,a=n.find((e=>e.startsWith("email"))),o=null==a?void 0:a.replace("email","v8n"),d=o?this.t(o).toString():"",c=this.in("busy");return t(l||(l=g` <div> ${0} <vaadin-email-field error-message="${0}" data-testid="email" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-email-field> ${0} </div> `),this.renderTemplateOrSlot("email:before"),d,this.t("email").toString(),s(null===(e=this.form.credential)||void 0===e?void 0:e.email),c||r.matches("email",!0),i.matches("email",!0),this.__emailValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r;const i=e.target.value,n=null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.password)&&void 0!==r?r:"";this.edit({credential:{email:i,password:n},type:"password"})}),this.renderTemplateOrSlot("email:after"))},this.__renderPassword=()=>{var e;const{disabledSelector:r,readonlySelector:i,errors:n}=this,a=n.find((e=>e.startsWith("password"))),o=null==a?void 0:a.replace("password","v8n"),d=o?this.t(o).toString():"",l=this.in("busy");return t(c||(c=g` <div> ${0} <vaadin-password-field error-message="${0}" data-testid="password" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-password-field> ${0} </div> `),this.renderTemplateOrSlot("password:before"),d,this.t("password").toString(),s(null===(e=this.form.credential)||void 0===e?void 0:e.password),l||r.matches("password",!0),i.matches("password",!0),this.__passwordValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r;const i=null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.email)&&void 0!==r?r:"",n=e.target.value;this.edit({credential:{email:i,password:n},type:"password"})}),this.renderTemplateOrSlot("password:after"))},this.__renderNewPassword=()=>{var e;const{disabledSelector:r,readonlySelector:i,errors:n}=this,a=n.find((e=>e.startsWith("new_password")&&!e.endsWith("_error"))),o=null==a?void 0:a.replace("new_password","v8n"),d=o?this.t(o).toString():"",l=this.in("busy");return t(u||(u=g` <div> ${0} <vaadin-password-field error-message="${0}" data-testid="new-password" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-password-field> ${0} </div> `),this.renderTemplateOrSlot("new-password:before"),d,this.t("new_password").toString(),s(null===(e=this.form.credential)||void 0===e?void 0:e.new_password),l||r.matches("new-password",!0),i.matches("new-password",!0),this.__newPasswordValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r,i,n;this.edit({type:"password",credential:{email:null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.email)&&void 0!==r?r:"",password:null!==(n=null===(i=this.form.credential)||void 0===i?void 0:i.password)&&void 0!==n?n:"",new_password:e.target.value}})}),this.renderTemplateOrSlot("new-password:after"))},this.__renderMfaTotpCode=()=>{var r;const{disabledSelector:i,readonlySelector:n,errors:a}=this,o=this.__mfaSecretCode,d="mfa_totp_code",l="mfa-totp-code",c=a.find((e=>e.startsWith(d)&&!e.endsWith("_error"))),u=null==c?void 0:c.replace(d,"v8n"),h=u?this.t(u).toString():"",m=this.in("busy");return t(f||(f=g` <div> ${0} <vaadin-text-field error-message="${0}" helper-text="${0}" placeholder="123456" data-testid="${0}" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" autofocus @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot(`${l}:before`),h,o?this.t("mfa_totp_code_hint"):"",l,this.t(d).toString(),s(null===(r=this.form.credential)||void 0===r?void 0:r.mfa_totp_code),m||i.matches(l,!0),n.matches(l,!0),this.__mfaTotpCodeValidator,(e=>"Enter"===e.key&&this.submit()),(t=>{const r=t.target.value,i=e(e({},this.form.credential),{},{mfa_totp_code:r});o&&(i.mfa_secret_code=o),this.edit({type:"password",credential:i})}),this.renderTemplateOrSlot(`${l}:after`))},this.__renderMfaSecretCode=()=>{var e,r;const i="mfa-secret-code",n=this.__mfaSecretCode,a=encodeURIComponent(this.issuer),o=encodeURIComponent(null!==(r=null===(e=this.form.credential)||void 0===e?void 0:e.email)&&void 0!==r?r:""),s=new URL(`otpauth://totp/${a}:${o}`);return s.searchParams.set("secret",n),s.searchParams.set("issuer",this.issuer),t(h||(h=g` <div> ${0} <div data-testid="${0}" class="flex space-x-m overflow-hidden rounded border p-m mb-m border-contrast-10" style="background:#fff;color:#000"> <qr-code modulesize="2" margin="0" format="svg" class="inline-flex" data="${0}"> </qr-code> <div class="break-all font-semibold leading-s text-xs tracking-widest"> ${0} </div> </div> ${0} </div> `),this.renderTemplateOrSlot(`${i}:before`),i,s.toString(),n,this.renderTemplateOrSlot(`${i}:after`))},this.__renderMfaRememberDevice=()=>{var r;const{__mfaSecretCode:i,form:n,lang:a,ns:o}=this,s="mfa-remember-device",d=this.in("busy")||this.disabledSelector.matches(s,!0);return t(m||(m=g` <div> ${0} <vaadin-checkbox data-testid="${0}" class="mb-m" ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n class="block" lang="${0}" key="mfa_remember_device" ns="${0}"></foxy-i18n> <foxy-i18n class="block text-xs ${0}" lang="${0}" key="mfa_remember_device_hint" ns="${0}"> </foxy-i18n> </vaadin-checkbox> ${0} </div> `),this.renderTemplateOrSlot(`${s}:before`),s,d,!!(null===(r=n.credential)||void 0===r?void 0:r.mfa_remember_device),(t=>{var r,a;const o=t.currentTarget,s=e(e({},n.credential),{},{mfa_remember_device:o.checked,mfa_totp_code:null!==(a=null===(r=n.credential)||void 0===r?void 0:r.mfa_totp_code)&&void 0!==a?a:""});i&&(s.mfa_secret_code=i),this.edit({credential:s})}),a,o,d?"text-disabled":"text-secondary",a,o,this.renderTemplateOrSlot(`${s}:after`))},this.__renderError=()=>t(p||(p=g` <div> ${0} <p class="leading-s flex items-start text-s rounded p-s bg-error-10 text-error"> <iron-icon class="flex-shrink-0 mr-s icon-inline text-l" icon="lumo:error"></iron-icon> <foxy-i18n data-testid="error" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </p> ${0} </div> `),this.renderTemplateOrSlot("error:before"),this.lang,this.errors[0],this.ns,this.renderTemplateOrSlot("error:after")),this.__renderSubmit=()=>{const e=this.in({idle:{snapshot:{dirty:"valid"}}})||this.in({idle:{snapshot:{clean:"valid"}}})||this.in({idle:{template:{dirty:"valid"}}})||this.in({idle:{template:{clean:"valid"}}});return t(v||(v=g` <div> ${0} <vaadin-button data-testid="submit" class="w-full mt-m" theme="primary" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="sign_in"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("submit:before"),!e||this.in("busy")||this.disabledSelector.matches("submit",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("submit:after"))}}static get properties(){return e(e({},super.properties),{},{issuer:{type:String}})}static get v8n(){return[({credential:e})=>!!(null==e?void 0:e.email)||"email_required",({credential:e})=>{var t;return d(null!==(t=null==e?void 0:e.email)&&void 0!==t?t:"")||"email_invalid_email"},({credential:e})=>!!(null==e?void 0:e.password)||"password_required",({credential:e})=>{var t;return 0!==(null===(t=null==e?void 0:e.new_password)||void 0===t?void 0:t.length)||"new_password_required"},({credential:e})=>{var t;return 0!==(null===(t=null==e?void 0:e.mfa_totp_code)||void 0===t?void 0:t.length)||"mfa_totp_code_required"}]}render(){var e,r,i,n;const{hiddenSelector:a,errors:s,lang:d,form:l,ns:c}=this,u=this.__mfaSecretCode,f=null===(e=l.credential)||void 0===e?void 0:e.mfa_totp_code,h=!!u||!!f||s.some((e=>e.startsWith("mfa"))),m="string"==typeof(null===(r=this.form.credential)||void 0===r?void 0:r.new_password)||s.some((e=>e.startsWith("new_password_"))),p=!h&&!f||a.matches("mfa-totp-code",!0),v=!h||h&&u||a.matches("mfa-remember-device",!0),y=!u||a.matches("mfa-secret-code",!0),_=h||a.matches("new-password",!0),w=s.some((e=>e.endsWith("_error"))),$=this.in("busy");return t(b||(b=g` <main aria-live="polite" aria-busy="${0}" class="relative font-lumo text-m leading-m"> ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="busy" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </main> `),$,a.matches("email",!0)?"":this.__renderEmail(),h||a.matches("password",!0)?"":this.__renderPassword(),_||!m?"":this.__renderNewPassword(),p?"":this.__renderMfaTotpCode(),y?"":this.__renderMfaSecretCode(),v?"":this.__renderMfaRememberDevice(),a.matches("error",!0)||!w?"":this.__renderError(),a.matches("submit",!0)?"":this.__renderSubmit(),o({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!$}),d,c,null!==(n=null===(i=customElements.get("foxy-spinner"))||void 0===i?void 0:i.defaultNS)&&void 0!==n?n:"")}async _fetch(...e){try{return await super._fetch(...e)}catch(e){let t="unknown_error";try{const r=(await e.json())._embedded["fx:errors"][0].code;"string"==typeof r&&(t=r)}catch(e){}throw[t]}}get __mfaSecretCode(){var e;const t=null===(e=this.form.credential)||void 0===e?void 0:e.mfa_secret_code;if(t)return t;const r="mfa_required",i=this.errors.find((e=>e.startsWith(r)));return null==i?void 0:i.replace(r,"").trim()}}customElements.define("foxy-sign-in-form",_);export{_ as SignInForm};
|
|
1
|
+
import"./shared-e32be255.js";import"./shared-aa4bf9ab.js";import"./shared-5cb39f03.js";import"./shared-e4383064.js";import"./shared-d9a3104e.js";import"./shared-0bbbc87f.js";import"./shared-93a1be98.js";import"./shared-4c61787a.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-d8bf2eac.js";import{_ as e}from"./shared-a8ced8bf.js";import{h as t}from"./shared-7f33a83a.js";import{C as r}from"./shared-a8966936.js";import{N as i}from"./shared-15278fe0.js";import{T as n,a}from"./shared-19044260.js";import{c as o}from"./shared-4e709717.js";import{i as s}from"./shared-d3bf9ac0.js";import{v as d}from"./shared-b738ee96.js";import"./shared-35a7a4d6.js";import"./shared-7415fa7e.js";import"./shared-4f037e43.js";import"./shared-2af327d0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";!function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t,r){var i,n;void 0===(n="function"==typeof(i=function(){for(var e=[null,[[10,7,17,13],[1,1,1,1],[]],[[16,10,28,22],[1,1,1,1],[4,16]],[[26,15,22,18],[1,1,2,2],[4,20]],[[18,20,16,26],[2,1,4,2],[4,24]],[[24,26,22,18],[2,1,4,4],[4,28]],[[16,18,28,24],[4,2,4,4],[4,32]],[[18,20,26,18],[4,2,5,6],[4,20,36]],[[22,24,26,22],[4,2,6,6],[4,22,40]],[[22,30,24,20],[5,2,8,8],[4,24,44]],[[26,18,28,24],[5,4,8,8],[4,26,48]],[[30,20,24,28],[5,4,11,8],[4,28,52]],[[22,24,28,26],[8,4,11,10],[4,30,56]],[[22,26,22,24],[9,4,16,12],[4,32,60]],[[24,30,24,20],[9,4,16,16],[4,24,44,64]],[[24,22,24,30],[10,6,18,12],[4,24,46,68]],[[28,24,30,24],[10,6,16,17],[4,24,48,72]],[[28,28,28,28],[11,6,19,16],[4,28,52,76]],[[26,30,28,28],[13,6,21,18],[4,28,54,80]],[[26,28,26,26],[14,7,25,21],[4,28,56,84]],[[26,28,28,30],[16,8,25,20],[4,32,60,88]],[[26,28,30,28],[17,8,25,23],[4,26,48,70,92]],[[28,28,24,30],[17,9,34,23],[4,24,48,72,96]],[[28,30,30,30],[18,9,30,25],[4,28,52,76,100]],[[28,30,30,30],[20,10,32,27],[4,26,52,78,104]],[[28,26,30,30],[21,12,35,29],[4,30,56,82,108]],[[28,28,30,28],[23,12,37,34],[4,28,56,84,112]],[[28,30,30,30],[25,12,40,34],[4,32,60,88,116]],[[28,30,30,30],[26,13,42,35],[4,24,48,72,96,120]],[[28,30,30,30],[28,14,45,38],[4,28,52,76,100,124]],[[28,30,30,30],[29,15,48,40],[4,24,50,76,102,128]],[[28,30,30,30],[31,16,51,43],[4,28,54,80,106,132]],[[28,30,30,30],[33,17,54,45],[4,32,58,84,110,136]],[[28,30,30,30],[35,18,57,48],[4,28,56,84,112,140]],[[28,30,30,30],[37,19,60,51],[4,32,60,88,116,144]],[[28,30,30,30],[38,19,63,53],[4,28,52,76,100,124,148]],[[28,30,30,30],[40,20,66,56],[4,22,48,74,100,126,152]],[[28,30,30,30],[43,21,70,59],[4,26,52,78,104,130,156]],[[28,30,30,30],[45,22,74,62],[4,30,56,82,108,134,160]],[[28,30,30,30],[47,24,77,65],[4,24,52,80,108,136,164]],[[28,30,30,30],[49,25,81,68],[4,28,56,84,112,140,168]]],t=/^\d*$/,r=/^[A-Za-z0-9 $%*+\-.\/:]*$/,i=/^[A-Z0-9 $%*+\-.\/:]*$/,n=[],a=[-1],o=0,s=1;o<255;++o)n.push(s),a[s]=o,s=2*s^(s>=128?285:0);var d=[[]];for(o=0;o<30;++o){for(var l=d[o],u=[],c=0;c<=o;++c){var f=c<o?n[l[c]]:0,h=n[(o+(l[c-1]||0))%255];u.push(a[f^h])}d.push(u)}var m={};for(o=0;o<45;++o)m["0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".charAt(o)]=o;var p=[function(e,t){return(e+t)%2==0},function(e,t){return e%2==0},function(e,t){return t%3==0},function(e,t){return(e+t)%3==0},function(e,t){return((e/2|0)+(t/3|0))%2==0},function(e,t){return e*t%2+e*t%3==0},function(e,t){return(e*t%2+e*t%3)%2==0},function(e,t){return((e+t)%2+e*t%3)%2==0}],v=function(e){return e>6},b=function(t,r){var i=-8&function(t){var r=e[t],i=16*t*t+128*t+64;return v(t)&&(i-=36),r[2].length&&(i-=25*r[2].length*r[2].length-10*r[2].length-55),i}(t),n=e[t];return i-8*n[0][r]*n[1][r]},g=function(e,t){switch(t){case 1:return e<10?10:e<27?12:14;case 2:return e<10?9:e<27?11:13;case 4:return e<10?8:16;case 8:return e<10?8:e<27?10:12}},y=function(e,t,r){var i=b(e,r)-4-g(e,t);switch(t){case 1:return 3*(i/10|0)+(i%10<4?0:i%10<7?1:2);case 2:return 2*(i/11|0)+(i%11<6?0:1);case 4:return i/8|0;case 8:return i/13|0}},_=function(e,t){for(var r=e.slice(0),i=e.length,o=t.length,s=0;s<o;++s)r.push(0);for(s=0;s<i;){var d=a[r[s++]];if(d>=0)for(var l=0;l<o;++l)r[s+l]^=n[(d+t[l])%255]}return r.slice(i)},w=function(e,t,r,i){for(var n=e<<i,a=t-1;a>=0;--a)n>>i+a&1&&(n^=r<<a);return e<<i|n},$=function(e,t,r){for(var i=p[r],n=e.length,a=0;a<n;++a)for(var o=0;o<n;++o)t[a][o]||(e[a][o]^=i(a,o));return e},S=function(e,t,r,i){for(var n=e.length,a=21522^w(r<<3|i,5,1335,10),o=0;o<15;++o){var s=[n-1,n-2,n-3,n-4,n-5,n-6,n-7,n-8,7,5,4,3,2,1,0][o];e[[0,1,2,3,4,5,7,8,n-7,n-6,n-5,n-4,n-3,n-2,n-1][o]][8]=e[8][s]=a>>o&1}return e},x=function(e){for(var t=function(e){for(var t=0,r=0;r<e.length;++r)e[r]>=5&&(t+=e[r]-5+3);for(r=5;r<e.length;r+=2){var i=e[r];e[r-1]==i&&e[r-2]==3*i&&e[r-3]==i&&e[r-4]==i&&(e[r-5]>=4*i||e[r+1]>=4*i)&&(t+=40)}return t},r=e.length,i=0,n=0,a=0;a<r;++a){var o,s=e[a];o=[0];for(var d=0;d<r;){for(l=0;d<r&&s[d];++l)++d;for(o.push(l),l=0;d<r&&!s[d];++l)++d;o.push(l)}i+=t(o),o=[0];for(d=0;d<r;){var l;for(l=0;d<r&&e[d][a];++l)++d;for(o.push(l),l=0;d<r&&!e[d][a];++l)++d;o.push(l)}i+=t(o);var u=e[a+1]||[];n+=s[0];for(d=1;d<r;++d){var c=s[d];n+=c,s[d-1]==c&&u[d]===c&&u[d-1]===c&&(i+=3)}}return i+10*(Math.abs(n/r/r-.5)/.05|0)},k=function(t,r,i,n,a){var o=e[r],s=function(e,t,r,i){var n=[],a=0,o=8,s=r.length,d=function(e,t){if(t>=o){for(n.push(a|e>>(t-=o));t>=8;)n.push(e>>(t-=8)&255);a=0,o=8}t>0&&(a|=(e&(1<<t)-1)<<(o-=t))},l=g(e,t);switch(d(t,4),d(s,l),t){case 1:for(var u=2;u<s;u+=3)d(parseInt(r.substring(u-2,u+1),10),10);d(parseInt(r.substring(u-2),10),[0,4,7][s%3]);break;case 2:for(u=1;u<s;u+=2)d(45*m[r.charAt(u-1)]+m[r.charAt(u)],11);s%2==1&&d(m[r.charAt(u-1)],6);break;case 4:for(u=0;u<s;++u)d(r[u],8)}for(d(0,4),o<8&&n.push(a);n.length+1<i;)n.push(236,17);return n.length<i&&n.push(236),n}(r,i,t,b(r,n)>>3);s=function(e,t,r){for(var i=[],n=e.length/t|0,a=0,o=t-e.length%t,s=0;s<o;++s)i.push(a),a+=n;for(s=o;s<t;++s)i.push(a),a+=n+1;i.push(a);var d=[];for(s=0;s<t;++s)d.push(_(e.slice(i[s],i[s+1]),r));var l=[],u=e.length/t|0;for(s=0;s<u;++s)for(var c=0;c<t;++c)l.push(e[i[c]+s]);for(c=o;c<t;++c)l.push(e[i[c+1]-1]);for(s=0;s<r.length;++s)for(c=0;c<t;++c)l.push(d[c][s]);return l}(s,o[1][n],d[o[0][n]]);var l=function(t){for(var r=e[t],i=function(e){return 4*e+17}(t),n=[],a=[],o=0;o<i;++o)n.push([]),a.push([]);var s=function(e,t,r,i,o){for(var s=0;s<r;++s)for(var d=0;d<i;++d)n[e+s][t+d]=o[s]>>d&1,a[e+s][t+d]=1};s(0,0,9,9,[127,65,93,93,93,65,383,0,64]),s(i-8,0,8,9,[256,127,65,93,93,93,65,127]),s(0,i-8,9,8,[254,130,186,186,186,130,254,0,0]);for(o=9;o<i-8;++o)n[6][o]=n[o][6]=1&~o,a[6][o]=a[o][6]=1;var d=r[2],l=d.length;for(o=0;o<l;++o)for(var u=0==o?l-1:l,c=0==o||o==l-1?1:0;c<u;++c)s(d[o],d[c],5,5,[31,17,21,17,31]);if(v(t)){var f=w(t,6,7973,12),h=0;for(o=0;o<6;++o)for(c=0;c<3;++c)n[o][i-11+c]=n[i-11+c][o]=f>>h++&1,a[o][i-11+c]=a[i-11+c][o]=1}return{matrix:n,reserved:a}}(r),u=l.matrix,c=l.reserved;if(function(e,t,r){for(var i=e.length,n=0,a=-1,o=i-1;o>=0;o-=2){6==o&&--o;for(var s=a<0?i-1:0,d=0;d<i;++d){for(var l=o;l>o-2;--l)t[s][l]||(e[s][l]=r[n>>3]>>(7&~n)&1,++n);s+=a}a=-a}}(u,c,s),a<0){$(u,c,0),S(u,0,n,0);var f=0,h=x(u);for($(u,c,0),a=1;a<8;++a){$(u,c,a),S(u,0,n,a);var p=x(u);h>p&&(h=p,f=a),$(u,c,a)}a=f}return $(u,c,a),S(u,0,n,a),u},j={generate:function(e,n){var a=(n=n||{}).version||-1,o={L:1,M:0,Q:3,H:2}[(n.ecclevel||"L").toUpperCase()],s=n.mode?{numeric:1,alphanumeric:2,octet:4}[n.mode.toLowerCase()]:-1,d="mask"in n?n.mask:-1;if(s<0)s="string"==typeof e?e.match(t)?1:e.match(i)?2:4:4;else if(1!=s&&2!=s&&4!=s)throw"invalid or unsupported mode";if(null===(e=function(e,i){switch(e){case 1:return i.match(t)?i:null;case 2:return i.match(r)?i.toUpperCase():null;case 4:if("string"==typeof i){for(var n=[],a=0;a<i.length;++a){var o=i.charCodeAt(a);o<128?n.push(o):o<2048?n.push(192|o>>6,128|63&o):o<65536?n.push(224|o>>12,128|o>>6&63,128|63&o):n.push(240|o>>18,128|o>>12&63,128|o>>6&63,128|63&o)}return n}return i}}(s,e)))throw"invalid data format";if(o<0||o>3)throw"invalid ECC level";if(a<0){for(a=1;a<=40&&!(e.length<=y(a,s,o));++a);if(a>40)throw"too large data"}else if(a<1||a>40)throw"invalid version";if(-1!=d&&(d<0||d>8))throw"invalid mask";return k(e,a,s,o,d)},generateHTML:function(e,t){t=t||{};for(var r=j.generate(e,t),i=Math.max(t.modulesize||5,.5),n=Math.max(null!==t.margin?t.margin:4,0),a=document.createElement("div"),o=r.length,s=['<table border="0" cellspacing="0" cellpadding="0" style="border:'+i*n+'px solid #fff;background:#fff">'],d=0;d<o;++d){s.push("<tr>");for(var l=0;l<o;++l)s.push('<td style="width:'+i+"px;height:"+i+"px"+(r[d][l]?";background:#000":"")+'"></td>');s.push("</tr>")}return a.className="qrcode",a.innerHTML=s.join("")+"</table>",a},generateSVG:function(e,t){t=t||{};var r=j.generate(e,t),i=r.length,n=Math.max(t.modulesize||5,.5),a=Math.max(null!==t.margin?t.margin:4,0),o=n*(i+2*a),s=' class= "fg" width="'+n+'" height="'+n+'"/>',d=document.createElementNS("http://www.w3.org/2000/svg","svg");d.setAttribute("viewBox","0 0 "+o+" "+o),d.setAttribute("style","shape-rendering:crispEdges"),t.modulesize&&(d.setAttribute("width",o),d.setAttribute("height",o));for(var l=["<style scoped>.bg{fill:#FFF}.fg{fill:#000}</style>",'<rect class="bg" x="0" y="0"','width="'+o+'" height="'+o+'"/>'],u=a*n,c=0;c<i;++c){for(var f=a*n,h=0;h<i;++h)r[c][h]&&l.push('<rect x="'+f+'" y="'+u+'"',s),f+=n;u+=n}return d.innerHTML=l.join(""),d},generatePNG:function(e,t){t=t||{};var r,i=j.generate(e,t),n=Math.max(t.modulesize||5,.5),a=Math.max(null!==t.margin?t.margin:4,0),o=i.length,s=n*(o+2*a),d=document.createElement("canvas");if(d.width=d.height=s,!(r=d.getContext("2d")))throw"canvas support is needed for PNG output";r.fillStyle="#fff",r.fillRect(0,0,s,s),r.fillStyle="#000";for(var l=0;l<o;++l)for(var u=0;u<o;++u)i[l][u]&&r.fillRect(n*(a+u),n*(a+l),n,n);return d.toDataURL()}};return j})?i.apply(t,[]):i)||(e.exports=n)},function(e,t,r){r.r(t);var i=r(0),n=r.n(i);function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){var t="function"==typeof Map?new Map:void 0;return(d=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))return e;var r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return l(e,arguments,c(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),u(i,e)})(e)}function l(e,t,r){return(l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct:function(e,t,r){var i=[null];i.push.apply(i,t);var n=new(Function.bind.apply(e,i));return r&&u(n,r.prototype),n}).apply(null,arguments)}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var f=function(e){function t(){var e,r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this,(e=!(r=c(t).call(this))||"object"!==a(r)&&"function"!=typeof r?s(this):r)._defineProperty=e._defineProperty.bind(s(e)),e.attachShadow({mode:"open"}),Object.keys(t.defaultAttributes).map(e._defineProperty),e}var r,i,l;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(t,d(HTMLElement)),r=t,l=[{key:"defaultAttributes",get:function(){return{data:null,format:"png",modulesize:5,margin:4}}},{key:"observedAttributes",get:function(){return Object.keys(t.defaultAttributes)}}],(i=[{key:"attributeChangedCallback",value:function(e,t,r){var i=this[e+"Changed"];i&&"function"==typeof i&&i.call(this,t,r),this.generate()}},{key:"_defineProperty",value:function(e){var r=this;Object.defineProperty(this,e,{get:function(){var i=r.getAttribute(e);return null===i?t.defaultAttributes[e]:i},set:function(t){r.setAttribute(e,t)}})}},{key:"getOptions",value:function(){var e=this.modulesize,t=this.margin;return{modulesize:null!==e?parseInt(e):e,margin:null!==t?parseInt(t):t}}},{key:"generate",value:function(){null!==this.data?"png"===this.format?this.generatePNG():"html"===this.format?this.generateHTML():"svg"===this.format?this.generateSVG():this.shadowRoot.innerHTML="<div>qr-code: "+this.format+" not supported!</div>":this.shadowRoot.innerHTML="<div>qr-code: no data!</div>"}},{key:"generatePNG",value:function(){try{var e=document.createElement("img");e.src=n.a.generatePNG(this.data,this.getOptions()),this.clear(),this.shadowRoot.appendChild(e)}catch(e){this.shadowRoot.innerHTML="<div>qr-code: no canvas support!</div>"}}},{key:"generateHTML",value:function(){var e=n.a.generateHTML(this.data,this.getOptions());this.clear(),this.shadowRoot.appendChild(e)}},{key:"generateSVG",value:function(){var e=n.a.generateSVG(this.data,this.getOptions());this.clear(),this.shadowRoot.appendChild(e)}},{key:"clear",value:function(){for(;this.shadowRoot.lastChild;)this.shadowRoot.removeChild(this.shadowRoot.lastChild)}}])&&o(r.prototype,i),l&&o(r,l),t}();customElements.define("qr-code",f)}]);let l,u,c,f,h,m,p,v,b,g=e=>e;const y=n(r(a(i,"sign-in-form")));class _ extends y{constructor(){super(...arguments),this.templates={},this.issuer="Unknown",this.__emailValidator=()=>!this.errors.some((e=>e.startsWith("email"))),this.__passwordValidator=()=>!this.errors.some((e=>e.startsWith("password"))),this.__newPasswordValidator=()=>!this.errors.some((e=>e.startsWith("new_password")&&!e.endsWith("_error"))),this.__mfaTotpCodeValidator=()=>!this.errors.some((e=>e.startsWith("mfa_totp_code")&&!e.endsWith("_error"))),this.__renderEmail=()=>{var e;const{disabledSelector:r,readonlySelector:i,errors:n}=this,a=n.find((e=>e.startsWith("email"))),o=null==a?void 0:a.replace("email","v8n"),d=o?this.t(o).toString():"",u=this.in("busy");return t(l||(l=g` <div> ${0} <vaadin-email-field error-message="${0}" data-testid="email" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-email-field> ${0} </div> `),this.renderTemplateOrSlot("email:before"),d,this.t("email").toString(),s(null===(e=this.form.credential)||void 0===e?void 0:e.email),u||r.matches("email",!0),i.matches("email",!0),this.__emailValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r;const i=e.target.value,n=null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.password)&&void 0!==r?r:"";this.edit({credential:{email:i,password:n},type:"password"})}),this.renderTemplateOrSlot("email:after"))},this.__renderPassword=()=>{var e;const{disabledSelector:r,readonlySelector:i,errors:n}=this,a=n.find((e=>e.startsWith("password"))),o=null==a?void 0:a.replace("password","v8n"),d=o?this.t(o).toString():"",l=this.in("busy");return t(u||(u=g` <div> ${0} <vaadin-password-field error-message="${0}" data-testid="password" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-password-field> ${0} </div> `),this.renderTemplateOrSlot("password:before"),d,this.t("password").toString(),s(null===(e=this.form.credential)||void 0===e?void 0:e.password),l||r.matches("password",!0),i.matches("password",!0),this.__passwordValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r;const i=null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.email)&&void 0!==r?r:"",n=e.target.value;this.edit({credential:{email:i,password:n},type:"password"})}),this.renderTemplateOrSlot("password:after"))},this.__renderNewPassword=()=>{var e;const{disabledSelector:r,readonlySelector:i,errors:n}=this,a=n.find((e=>e.startsWith("new_password")&&!e.endsWith("_error"))),o=null==a?void 0:a.replace("new_password","v8n"),d=o?this.t(o).toString():"",l=this.in("busy");return t(c||(c=g` <div> ${0} <vaadin-password-field error-message="${0}" data-testid="new-password" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-password-field> ${0} </div> `),this.renderTemplateOrSlot("new-password:before"),d,this.t("new_password").toString(),s(null===(e=this.form.credential)||void 0===e?void 0:e.new_password),l||r.matches("new-password",!0),i.matches("new-password",!0),this.__newPasswordValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r,i,n;this.edit({type:"password",credential:{email:null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.email)&&void 0!==r?r:"",password:null!==(n=null===(i=this.form.credential)||void 0===i?void 0:i.password)&&void 0!==n?n:"",new_password:e.target.value}})}),this.renderTemplateOrSlot("new-password:after"))},this.__renderMfaTotpCode=()=>{var r;const{disabledSelector:i,readonlySelector:n,errors:a}=this,o=this.__mfaSecretCode,d="mfa_totp_code",l="mfa-totp-code",u=a.find((e=>e.startsWith(d)&&!e.endsWith("_error"))),c=null==u?void 0:u.replace(d,"v8n"),h=c?this.t(c).toString():"",m=this.in("busy");return t(f||(f=g` <div> ${0} <vaadin-text-field error-message="${0}" helper-text="${0}" placeholder="123456" data-testid="${0}" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" autofocus @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot(`${l}:before`),h,o?this.t("mfa_totp_code_hint"):"",l,this.t(d).toString(),s(null===(r=this.form.credential)||void 0===r?void 0:r.mfa_totp_code),m||i.matches(l,!0),n.matches(l,!0),this.__mfaTotpCodeValidator,(e=>"Enter"===e.key&&this.submit()),(t=>{const r=t.target.value,i=e(e({},this.form.credential),{},{mfa_totp_code:r});o&&(i.mfa_secret_code=o),this.edit({type:"password",credential:i})}),this.renderTemplateOrSlot(`${l}:after`))},this.__renderMfaSecretCode=()=>{var e,r;const i="mfa-secret-code",n=this.__mfaSecretCode,a=encodeURIComponent(this.issuer),o=encodeURIComponent(null!==(r=null===(e=this.form.credential)||void 0===e?void 0:e.email)&&void 0!==r?r:""),s=new URL(`otpauth://totp/${a}:${o}`);return s.searchParams.set("secret",n),s.searchParams.set("issuer",this.issuer),t(h||(h=g` <div> ${0} <div data-testid="${0}" class="flex space-x-m overflow-hidden rounded border p-m mb-m border-contrast-10" style="background:#fff;color:#000"> <qr-code modulesize="2" margin="0" format="svg" class="inline-flex" data="${0}"> </qr-code> <div class="break-all font-semibold leading-s text-xs tracking-widest"> ${0} </div> </div> ${0} </div> `),this.renderTemplateOrSlot(`${i}:before`),i,s.toString(),n,this.renderTemplateOrSlot(`${i}:after`))},this.__renderMfaRememberDevice=()=>{var r;const{__mfaSecretCode:i,form:n,lang:a,ns:o}=this,s="mfa-remember-device",d=this.in("busy")||this.disabledSelector.matches(s,!0);return t(m||(m=g` <div> ${0} <vaadin-checkbox data-testid="${0}" class="mb-m" ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n class="block" lang="${0}" key="mfa_remember_device" ns="${0}"></foxy-i18n> <foxy-i18n class="block text-xs ${0}" lang="${0}" key="mfa_remember_device_hint" ns="${0}"> </foxy-i18n> </vaadin-checkbox> ${0} </div> `),this.renderTemplateOrSlot(`${s}:before`),s,d,!!(null===(r=n.credential)||void 0===r?void 0:r.mfa_remember_device),(t=>{var r,a;const o=t.currentTarget,s=e(e({},n.credential),{},{mfa_remember_device:o.checked,mfa_totp_code:null!==(a=null===(r=n.credential)||void 0===r?void 0:r.mfa_totp_code)&&void 0!==a?a:""});i&&(s.mfa_secret_code=i),this.edit({credential:s})}),a,o,d?"text-disabled":"text-secondary",a,o,this.renderTemplateOrSlot(`${s}:after`))},this.__renderError=()=>t(p||(p=g` <div> ${0} <p class="leading-s flex items-start text-s rounded p-s bg-error-10 text-error"> <iron-icon class="flex-shrink-0 mr-s icon-inline text-l" icon="lumo:error"></iron-icon> <foxy-i18n data-testid="error" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </p> ${0} </div> `),this.renderTemplateOrSlot("error:before"),this.lang,this.errors[0],this.ns,this.renderTemplateOrSlot("error:after")),this.__renderSubmit=()=>{const e=this.in({idle:{snapshot:{dirty:"valid"}}})||this.in({idle:{snapshot:{clean:"valid"}}})||this.in({idle:{template:{dirty:"valid"}}})||this.in({idle:{template:{clean:"valid"}}});return t(v||(v=g` <div> ${0} <vaadin-button data-testid="submit" class="w-full mt-m" theme="primary" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="sign_in"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("submit:before"),!e||this.in("busy")||this.disabledSelector.matches("submit",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("submit:after"))}}static get properties(){return e(e({},super.properties),{},{issuer:{type:String}})}static get v8n(){return[({credential:e})=>!!(null==e?void 0:e.email)||"email_required",({credential:e})=>{var t;return d(null!==(t=null==e?void 0:e.email)&&void 0!==t?t:"")||"email_invalid_email"},({credential:e})=>!!(null==e?void 0:e.password)||"password_required",({credential:e})=>{var t;return 0!==(null===(t=null==e?void 0:e.new_password)||void 0===t?void 0:t.length)||"new_password_required"},({credential:e})=>{var t;return 0!==(null===(t=null==e?void 0:e.mfa_totp_code)||void 0===t?void 0:t.length)||"mfa_totp_code_required"}]}render(){var e,r,i,n;const{hiddenSelector:a,errors:s,lang:d,form:l,ns:u}=this,c=this.__mfaSecretCode,f=null===(e=l.credential)||void 0===e?void 0:e.mfa_totp_code,h=!!c||!!f||s.some((e=>e.startsWith("mfa"))),m="string"==typeof(null===(r=this.form.credential)||void 0===r?void 0:r.new_password)||s.some((e=>e.startsWith("new_password_"))),p=!h&&!f||a.matches("mfa-totp-code",!0),v=!h||h&&c||a.matches("mfa-remember-device",!0),y=!c||a.matches("mfa-secret-code",!0),_=h||a.matches("new-password",!0),w=s.some((e=>e.endsWith("_error"))),$=this.in("busy");return t(b||(b=g` <main aria-live="polite" aria-busy="${0}" class="relative font-lumo text-m leading-m"> ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="busy" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </main> `),$,a.matches("email",!0)?"":this.__renderEmail(),h||a.matches("password",!0)?"":this.__renderPassword(),_||!m?"":this.__renderNewPassword(),p?"":this.__renderMfaTotpCode(),y?"":this.__renderMfaSecretCode(),v?"":this.__renderMfaRememberDevice(),a.matches("error",!0)||!w?"":this.__renderError(),a.matches("submit",!0)?"":this.__renderSubmit(),o({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!$}),d,u,null!==(n=null===(i=customElements.get("foxy-spinner"))||void 0===i?void 0:i.defaultNS)&&void 0!==n?n:"")}async _fetch(...e){try{return await super._fetch(...e)}catch(e){let t="unknown_error";try{const r=(await e.json())._embedded["fx:errors"][0].code;"string"==typeof r&&(t=r)}catch(e){}throw[t]}}get __mfaSecretCode(){var e;const t=null===(e=this.form.credential)||void 0===e?void 0:e.mfa_secret_code;if(t)return t;const r="mfa_required",i=this.errors.find((e=>e.startsWith(r)));return null==i?void 0:i.replace(r,"").trim()}}customElements.define("foxy-sign-in-form",_);export{_ as SignInForm};
|
package/dist/cdn/foxy-spinner.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import"./shared-
|
|
1
|
+
import"./shared-93a1be98.js";import"./shared-7415fa7e.js";import"./shared-d8bf2eac.js";import{_ as t}from"./shared-a8ced8bf.js";import{h as e,s,L as i}from"./shared-7f33a83a.js";import{I as r}from"./shared-4f037e43.js";import{a as o,T as a}from"./shared-19044260.js";import"./shared-35a7a4d6.js";import"./shared-2af327d0.js";let n,c,l,d,p,h,x=t=>t;const m=o(a(r(i)),"spinner");class f extends m{constructor(){super(...arguments),this.layout="horizontal",this.state="busy"}static get properties(){return t(t({},super.properties),{},{layout:{type:String},state:{type:String}})}render(){let t,i,r,o;return"end"===this.state?(i=e(n||(n=x`<iron-icon data-testid="icon" icon="icons:done-all"></iron-icon>`)),r="loading_end",o="text-tertiary"):"error"===this.state?(i=e(c||(c=x`<iron-icon data-testid="icon" icon="icons:error-outline"></iron-icon>`)),r="loading_error",o="text-error"):"paused"===this.state?(i=e(l||(l=x`<iron-icon data-testid="icon" icon="icons:more-horiz"></iron-icon>`)),r="loading_paused",o="text-tertiary"):"empty"===this.state?(i=e(d||(d=x`<iron-icon data-testid="icon" icon="icons:info-outline"></iron-icon>`)),r="loading_empty",o="text-tertiary"):(i=s(p||(p=x`
|
|
2
2
|
<svg data-testid="icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 22 22" preserveAspectRatio="xMidYMid" class="animate-spin h-full w-full">
|
|
3
3
|
<circle cx="11" cy="11" fill="none" stroke="#e15b64" stroke-width="2" r="8" stroke-dasharray="24 12" class="stroke-current"></circle>
|
|
4
4
|
</svg>
|
|
5
|
-
`)),r="loading_busy",o="text-tertiary"),t="horizontal"===this.layout?"flex items-center space-x-s h-xxs":"flex flex-col items-center space-y-s",e(h||(h=x` <div class="font-lumo leading-none text-s ${0} ${0}"> <div class="w-xxs h-xss flex items-center justify-center">${0}</div> <foxy-i18n data-testid="text" class="${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </div> `),t,o,i,"no-label"===this.layout?"sr-only":"",this.lang,r,this.ns)}}customElements.define("foxy-spinner",
|
|
5
|
+
`)),r="loading_busy",o="text-tertiary"),t="horizontal"===this.layout?"flex items-center space-x-s h-xxs":"flex flex-col items-center space-y-s",e(h||(h=x` <div class="font-lumo leading-none text-s ${0} ${0}"> <div class="w-xxs h-xss flex items-center justify-center">${0}</div> <foxy-i18n data-testid="text" class="${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </div> `),t,o,i,"no-label"===this.layout?"sr-only":"",this.lang,r,this.ns)}}customElements.define("foxy-spinner",f);export{f as Spinner};
|