UNPKG

ripple

Version:

Ripple is an elegant TypeScript UI framework

158 lines (118 loc) 3.14 kB
// @ts-nocheck import * as _$_ from 'ripple/internal/server'; import { track } from 'ripple/server'; export function IfTruthy() { return _$_.tsrx_element(() => { const show = true; _$_.regular_block(() => { let __out = ''; __out += '<!--[-->'; if (show) { __out += '<div class="shown">Visible</div>'; } __out += '<!--]-->'; _$_.output_push(__out); }); }); } export function IfFalsy() { return _$_.tsrx_element(() => { const show = false; _$_.regular_block(() => { let __out = ''; __out += '<!--[-->'; if (show) { __out += '<div class="shown">Visible</div>'; } __out += '<!--]-->'; _$_.output_push(__out); }); }); } export function IfElse() { return _$_.tsrx_element(() => { const isLoggedIn = true; _$_.regular_block(() => { let __out = ''; __out += '<!--[-->'; if (isLoggedIn) { __out += '<div class="logged-in">Welcome back!</div>'; } else { __out += '<div class="logged-out">Please log in</div>'; } __out += '<!--]-->'; _$_.output_push(__out); }); }); } export function ReactiveIf() { return _$_.tsrx_element(() => { let lazy = _$_.track(true, '19a16ff0'); _$_.regular_block(() => { let __out = ''; __out += '<button class="toggle">Toggle</button><!--[-->'; if (lazy.value) { __out += '<div class="content">Content visible</div>'; } __out += '<!--]-->'; _$_.output_push(__out); }); }); } export function ReactiveIfElse() { return _$_.tsrx_element(() => { let lazy_1 = _$_.track(false, '41177f39'); _$_.regular_block(() => { let __out = ''; __out += '<button class="toggle">Toggle</button><!--[-->'; if (lazy_1.value) { __out += '<div class="on">ON</div>'; } else { __out += '<div class="off">OFF</div>'; } __out += '<!--]-->'; _$_.output_push(__out); }); }); } export function NestedIf() { return _$_.tsrx_element(() => { let lazy_2 = _$_.track(true, '7894e1df'); let lazy_3 = _$_.track(true, 'f21b8c26'); _$_.regular_block(() => { let __out = ''; __out += '<button class="outer-toggle">Outer</button><button class="inner-toggle">Inner</button><!--[-->'; if (lazy_2.value) { __out += '<div class="outer-content">Outer<!--[-->'; if (lazy_3.value) { __out += '<span class="inner-content">Inner</span>'; } __out += '<!--]--></div>'; } __out += '<!--]-->'; _$_.output_push(__out); }); }); } export function IfElseIfChain() { return _$_.tsrx_element(() => { let lazy_4 = _$_.track('loading', '4c69c94a'); _$_.regular_block(() => { let __out = ''; __out += '<div><button class="success">Success</button><button class="error">Error</button><button class="loading">Loading</button><!--[-->'; if (lazy_4.value === 'loading') { __out += '<div class="state">Loading...</div>'; } else { __out += '<!--[-->'; if (lazy_4.value === 'success') { __out += '<div class="state">Success!</div>'; } else { __out += '<div class="state">Error occurred</div>'; } __out += '<!--]-->'; } __out += '<!--]--></div>'; _$_.output_push(__out); }); }); }