ES6 Modules Test - Custom Admin

Testing extracted core utilities and UI notifications modules.

1. Debounce Test

Type in the input below. The output will update 300ms after you stop typing.

Waiting for input...

2. Notifications Test

3. Button Loading State Test

4. Utility Functions Test

5. Async Handler Test

'; const safe = escapeHtml(dangerous); document.getElementById('utility-output').innerHTML = ` Input: ${dangerous}
Escaped: ${safe} `; }); document.getElementById('test-url-validation').addEventListener('click', () => { const tests = [ 'https://circleseven.co.uk', 'http://example.com', 'not a url', 'ftp://files.example.com' ]; const results = tests.map(url => { const valid = isValidUrl(url); return `
${url}: ${valid ? '✓ Valid' : '✗ Invalid'}
`; }).join(''); document.getElementById('utility-output').innerHTML = results; }); // Test 5: Async Handler document.getElementById('async-success-btn').addEventListener('click', asyncHandler(async () => { await new Promise(resolve => setTimeout(resolve, 500)); showSuccess('Async operation completed successfully!'); }) ); document.getElementById('async-error-btn').addEventListener('click', asyncHandler(async () => { await new Promise(resolve => setTimeout(resolve, 500)); throw new Error('Simulated async error - this should be caught!'); }) ); console.log('✓ All modules loaded successfully!'); console.log('✓ DEBOUNCE_DELAY:', DEBOUNCE_DELAY);