UNPKG

@safe-stars/components

Version:

React component library for buying Telegram Stars in Telegram Mini Apps via Safe Stars.

151 lines (139 loc) 7.79 kB
"use strict";const n=require("./index-CtZaCMo8.cjs"),a=require("./if-defined-MmHKu2JE.cjs"),x=require("./ref-D1Ke0Dq9.cjs"),y=require("./ConstantsUtil-B0ngppsM.cjs"),u=n.proxy({isLegalCheckboxChecked:!1}),p={state:u,subscribe(r){return n.subscribe(u,()=>r(u))},subscribeKey(r,e){return n.subscribeKey(u,r,e)},setIsLegalCheckboxChecked(r){u.isLegalCheckboxChecked=r}},m=n.i` label { display: flex; align-items: center; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; column-gap: var(--wui-spacing-1xs); } label > input[type='checkbox'] { height: 0; width: 0; opacity: 0; pointer-events: none; position: absolute; } label > span { width: var(--wui-spacing-xl); height: var(--wui-spacing-xl); min-width: var(--wui-spacing-xl); min-height: var(--wui-spacing-xl); border-radius: var(--wui-border-radius-3xs); border-width: 1px; border-style: solid; border-color: var(--wui-color-gray-glass-010); display: flex; align-items: center; justify-content: center; transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-lg); will-change: background-color; } label > span:hover, label > input[type='checkbox']:focus-visible + span { background-color: var(--wui-color-gray-glass-010); } label input[type='checkbox']:checked + span { background-color: var(--wui-color-blue-base-90); } label > span > wui-icon { opacity: 0; transition: opacity var(--wui-ease-out-power-1) var(--wui-duration-lg); will-change: opacity; } label > input[type='checkbox']:checked + span wui-icon { opacity: 1; } `;var w=function(r,e,o,i){var l=arguments.length,t=l<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,o):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(r,e,o,i);else for(var s=r.length-1;s>=0;s--)(c=r[s])&&(t=(l<3?c(t):l>3?c(e,o,t):c(e,o))||t);return l>3&&t&&Object.defineProperty(e,o,t),t};let h=class extends n.i$1{constructor(){super(...arguments),this.inputElementRef=x.e(),this.checked=void 0}render(){return n.x` <label> <input ${x.n(this.inputElementRef)} ?checked=${a.o(this.checked)} type="checkbox" @change=${this.dispatchChangeEvent} /> <span> <wui-icon name="checkmarkBold" color="inverse-100" size="xxs"></wui-icon> </span> <slot></slot> </label> `}dispatchChangeEvent(){var e;this.dispatchEvent(new CustomEvent("checkboxChange",{detail:(e=this.inputElementRef.value)==null?void 0:e.checked,bubbles:!0,composed:!0}))}};h.styles=[n.resetStyles,m];w([a.n({type:Boolean})],h.prototype,"checked",void 0);h=w([a.customElement("wui-checkbox")],h);const v=n.i` :host { display: flex; align-items: center; justify-content: center; } wui-checkbox { padding: var(--wui-spacing-s); } a { text-decoration: none; color: var(--wui-color-fg-150); font-weight: 500; } `;var g=function(r,e,o,i){var l=arguments.length,t=l<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,o):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(r,e,o,i);else for(var s=r.length-1;s>=0;s--)(c=r[s])&&(t=(l<3?c(t):l>3?c(e,o,t):c(e,o))||t);return l>3&&t&&Object.defineProperty(e,o,t),t};let d=class extends n.i$1{constructor(){super(),this.unsubscribe=[],this.checked=p.state.isLegalCheckboxChecked,this.unsubscribe.push(p.subscribeKey("isLegalCheckboxChecked",e=>{this.checked=e}))}disconnectedCallback(){this.unsubscribe.forEach(e=>e())}render(){var l;const{termsConditionsUrl:e,privacyPolicyUrl:o}=n.OptionsController.state,i=(l=n.OptionsController.state.features)==null?void 0:l.legalCheckbox;return!e&&!o||!i?null:n.x` <wui-checkbox ?checked=${this.checked} @checkboxChange=${this.onCheckboxChange.bind(this)} data-testid="wui-checkbox" > <wui-text color="fg-250" variant="small-400" align="left"> I agree to our ${this.termsTemplate()} ${this.andTemplate()} ${this.privacyTemplate()} </wui-text> </wui-checkbox> `}andTemplate(){const{termsConditionsUrl:e,privacyPolicyUrl:o}=n.OptionsController.state;return e&&o?"and":""}termsTemplate(){const{termsConditionsUrl:e}=n.OptionsController.state;return e?n.x`<a rel="noreferrer" target="_blank" href=${e}>terms of service</a>`:null}privacyTemplate(){const{privacyPolicyUrl:e}=n.OptionsController.state;return e?n.x`<a rel="noreferrer" target="_blank" href=${e}>privacy policy</a>`:null}onCheckboxChange(){p.setIsLegalCheckboxChecked(!this.checked)}};d.styles=[v];g([a.r()],d.prototype,"checked",void 0);d=g([a.customElement("w3m-legal-checkbox")],d);const C=n.i` .reown-logo { height: var(--wui-spacing-xxl); } a { text-decoration: none; cursor: pointer; } a:hover { opacity: 0.9; } `;var k=function(r,e,o,i){var l=arguments.length,t=l<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,o):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(r,e,o,i);else for(var s=r.length-1;s>=0;s--)(c=r[s])&&(t=(l<3?c(t):l>3?c(e,o,t):c(e,o))||t);return l>3&&t&&Object.defineProperty(e,o,t),t};let f=class extends n.i$1{render(){return n.x` <a href=${y.REOWN_URL} rel="noreferrer" target="_blank" style="text-decoration: none;"> <wui-flex justifyContent="center" alignItems="center" gap="xs" .padding=${["0","0","l","0"]} > <wui-text variant="small-500" color="fg-100"> UX by </wui-text> <wui-icon name="reown" size="xxxl" class="reown-logo"></wui-icon> </wui-flex> </a> `}};f.styles=[n.resetStyles,n.elementStyles,C];f=k([a.customElement("wui-ux-by-reown")],f);const $=n.i` :host > wui-flex { background-color: var(--wui-color-gray-glass-005); } :host wui-ux-by-reown { padding-top: 0; } :host wui-ux-by-reown.branding-only { padding-top: var(--wui-spacing-m); } a { text-decoration: none; color: var(--wui-color-fg-175); font-weight: 500; } `;var O=function(r,e,o,i){var l=arguments.length,t=l<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,o):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(r,e,o,i);else for(var s=r.length-1;s>=0;s--)(c=r[s])&&(t=(l<3?c(t):l>3?c(e,o,t):c(e,o))||t);return l>3&&t&&Object.defineProperty(e,o,t),t};let b=class extends n.i$1{render(){var t;const{termsConditionsUrl:e,privacyPolicyUrl:o}=n.OptionsController.state,i=(t=n.OptionsController.state.features)==null?void 0:t.legalCheckbox;return!e&&!o||i?n.x` <wui-flex flexDirection="column"> <wui-ux-by-reown class="branding-only"></wui-ux-by-reown> </wui-flex> `:n.x` <wui-flex flexDirection="column"> <wui-flex .padding=${["m","s","s","s"]} justifyContent="center"> <wui-text color="fg-250" variant="small-400" align="center"> By connecting your wallet, you agree to our <br /> ${this.termsTemplate()} ${this.andTemplate()} ${this.privacyTemplate()} </wui-text> </wui-flex> <wui-ux-by-reown></wui-ux-by-reown> </wui-flex> `}andTemplate(){const{termsConditionsUrl:e,privacyPolicyUrl:o}=n.OptionsController.state;return e&&o?"and":""}termsTemplate(){const{termsConditionsUrl:e}=n.OptionsController.state;return e?n.x`<a href=${e}>Terms of Service</a>`:null}privacyTemplate(){const{privacyPolicyUrl:e}=n.OptionsController.state;return e?n.x`<a href=${e}>Privacy Policy</a>`:null}};b.styles=[$];b=O([a.customElement("w3m-legal-footer")],b);exports.OptionsStateController=p; //# sourceMappingURL=index-Dykd8oDe.cjs.map