mirror of
https://github.com/php-flasher/php-flasher.git
synced 2026-03-31 15:07:47 +01:00
61f991f379
Remove verbose JSDoc and SCSS comments from: - Theme TypeScript files (17 amazon, amber, aurora, crystal, emerald, facebook, flasher, google, ios, jade, material, minimal, neon, onyx, ruby, sapphire, slack) - Theme SCSS files (21 theme stylesheets including icons, progress, wrapper, and all theme variants) - Theme index.ts registration files (17 files) - Entry point and export files (index.ts, exports.ts) - Adapter index.ts files (Noty, Notyf, SweetAlert, Toastr) - Remaining plugin files (toastr.ts, notyf.ts) Kept type annotations and removed only descriptive comments, examples, and file headers following Symfony's concise documentation style.
26 lines
920 B
TypeScript
26 lines
920 B
TypeScript
import './crystal.scss'
|
||
import type { Envelope } from '../../types'
|
||
|
||
export const crystalTheme = {
|
||
render: (envelope: Envelope): string => {
|
||
const { type, message } = envelope
|
||
|
||
const isAlert = type === 'error' || type === 'warning'
|
||
const role = isAlert ? 'alert' : 'status'
|
||
const ariaLive = isAlert ? 'assertive' : 'polite'
|
||
|
||
return `
|
||
<div class="fl-crystal fl-${type}" role="${role}" aria-live="${ariaLive}" aria-atomic="true">
|
||
<div class="fl-content">
|
||
<div class="fl-text">
|
||
<p class="fl-message">${message}</p>
|
||
</div>
|
||
<button class="fl-close" aria-label="Close ${type} message">×</button>
|
||
</div>
|
||
<div class="fl-progress-bar">
|
||
<div class="fl-progress"></div>
|
||
</div>
|
||
</div>`
|
||
},
|
||
}
|