@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
JavaScript
;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