1(function (root, factory) {
2 const api = factory();
3 if (typeof module === 'object' && module.exports) module.exports = api;
4 root.PixelPalette = api;
5})(typeof globalThis !== 'undefined' ? globalThis : this, function () {
6 const DEFAULT_PALETTE = [
7 '#000000', '#1d2b53', '#7e2553', '#008751', '#ab5236', '#5f574f', '#c2c3c7', '#fff1e8',
8 '#ff004d', '#ffa300', '#ffec27', '#00e436', '#29adff', '#83769c', '#ff77a8', '#ffccaa',
9 '#ffffff', '#333333', '#666666', '#999999', '#d9d9d9', '#4b692f', '#44891a', '#a3ce27',
10 '#be2633', '#e06f8b', '#493c2b', '#a46422', '#eb8931', '#f7e26b', '#2f484e', '#8db7d2'
11 ];
12
13 function normalizeHex(value) {
14 if (typeof value !== 'string') return '#000000';
15 let v = value.trim();
16 if (!v.startsWith('#')) v = '#' + v;
17 if (/^#[0-9a-fA-F]{3}$/.test(v)) {
18 v = '#' + v.slice(1).split('').map((c) => c + c).join('');
19 }
20 if (!/^#[0-9a-fA-F]{6}$/.test(v)) return '#000000';
21 return v.toLowerCase();
22 }
23
24 return { DEFAULT_PALETTE, normalizeHex };
25});
26
Discussion
No comments yet. Start the discussion. Recorded by @patrick-toulme.