// @requirements REQ-PRODUCT-STORAGE-EXCEPTIONS // @requirements REQ-UK-EXCEPTIONS REQ-PRODUCT-MOBILE REQ-PRODUCT-A11Y import {readFile} from 'node:fs/promises'; import {build as bundle} from 'esbuild'; import {compileLegalDocuments} from 'notabenda/content'; import {renderLegalLinks} from 'notabenda'; import {storageExceptionExampleConfig} from './config.mjs'; export async function storageExceptionFiles(base){ const build=compileLegalDocuments(storageExceptionExampleConfig(base),{mode:'preview'}); const client=(await bundle({entryPoints:[new URL('./client.mjs',import.meta.url).pathname],bundle:true,minify:true,platform:'browser',format:'esm',target:'es2022',write:false})).outputFiles[0].text; const html=`Storage settings · Juniper Notes
Juniper Notes

Storage settings

A few settings.
Always your call.

Turn a feature off here, then reload to see the setting remembered. Optional recommendations have their own consent controls.

UK exception profiles · Draft integration example

Checking saved settings… These features stay off until the controls are ready.

About this integration

The profiles require a host assessment and usable information and objection controls. This local example does not establish the eligibility of an actual analytics provider or deployment.

Integration guide → · More privacy controls →

`; return {...build.files,'storage-exceptions/site.json':JSON.stringify(build.publicConfig),'storage-exceptions/index.html':html,'assets/storage-exceptions.mjs':client,'assets/storage-exceptions.css':await readFile(new URL('../../packages/notabenda/dist/storage-exceptions.css',import.meta.url),'utf8'),'assets/storage-exception-example.css':await readFile(new URL('./style.css',import.meta.url),'utf8')}; }