@oxyhq/bloom 0.6.13 → 0.6.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/lib/commonjs/hooks/useControllableState.js +35 -0
  2. package/lib/commonjs/hooks/useControllableState.js.map +1 -0
  3. package/lib/commonjs/theme/BloomThemeProvider.js +148 -112
  4. package/lib/commonjs/theme/BloomThemeProvider.js.map +1 -1
  5. package/lib/commonjs/theme/build-theme.js +110 -0
  6. package/lib/commonjs/theme/build-theme.js.map +1 -0
  7. package/lib/commonjs/theme/color-presets.js +15 -0
  8. package/lib/commonjs/theme/color-presets.js.map +1 -1
  9. package/lib/commonjs/theme/index.js +15 -1
  10. package/lib/commonjs/theme/index.js.map +1 -1
  11. package/lib/commonjs/theme/persistence.js +147 -0
  12. package/lib/commonjs/theme/persistence.js.map +1 -0
  13. package/lib/commonjs/theme/use-isomorphic-layout-effect.js +15 -0
  14. package/lib/commonjs/theme/use-isomorphic-layout-effect.js.map +1 -0
  15. package/lib/module/hooks/useControllableState.js +31 -0
  16. package/lib/module/hooks/useControllableState.js.map +1 -0
  17. package/lib/module/theme/BloomThemeProvider.js +149 -112
  18. package/lib/module/theme/BloomThemeProvider.js.map +1 -1
  19. package/lib/module/theme/build-theme.js +105 -0
  20. package/lib/module/theme/build-theme.js.map +1 -0
  21. package/lib/module/theme/color-presets.js +15 -0
  22. package/lib/module/theme/color-presets.js.map +1 -1
  23. package/lib/module/theme/index.js +3 -1
  24. package/lib/module/theme/index.js.map +1 -1
  25. package/lib/module/theme/persistence.js +139 -0
  26. package/lib/module/theme/persistence.js.map +1 -0
  27. package/lib/module/theme/use-isomorphic-layout-effect.js +12 -0
  28. package/lib/module/theme/use-isomorphic-layout-effect.js.map +1 -0
  29. package/lib/typescript/commonjs/hooks/useControllableState.d.ts +19 -0
  30. package/lib/typescript/commonjs/hooks/useControllableState.d.ts.map +1 -0
  31. package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts +35 -12
  32. package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts.map +1 -1
  33. package/lib/typescript/commonjs/theme/build-theme.d.ts +20 -0
  34. package/lib/typescript/commonjs/theme/build-theme.d.ts.map +1 -0
  35. package/lib/typescript/commonjs/theme/color-presets.d.ts +18 -3
  36. package/lib/typescript/commonjs/theme/color-presets.d.ts.map +1 -1
  37. package/lib/typescript/commonjs/theme/index.d.ts +7 -4
  38. package/lib/typescript/commonjs/theme/index.d.ts.map +1 -1
  39. package/lib/typescript/commonjs/theme/persistence.d.ts +50 -0
  40. package/lib/typescript/commonjs/theme/persistence.d.ts.map +1 -0
  41. package/lib/typescript/commonjs/theme/use-isomorphic-layout-effect.d.ts +8 -0
  42. package/lib/typescript/commonjs/theme/use-isomorphic-layout-effect.d.ts.map +1 -0
  43. package/lib/typescript/module/hooks/useControllableState.d.ts +19 -0
  44. package/lib/typescript/module/hooks/useControllableState.d.ts.map +1 -0
  45. package/lib/typescript/module/theme/BloomThemeProvider.d.ts +35 -12
  46. package/lib/typescript/module/theme/BloomThemeProvider.d.ts.map +1 -1
  47. package/lib/typescript/module/theme/build-theme.d.ts +20 -0
  48. package/lib/typescript/module/theme/build-theme.d.ts.map +1 -0
  49. package/lib/typescript/module/theme/color-presets.d.ts +18 -3
  50. package/lib/typescript/module/theme/color-presets.d.ts.map +1 -1
  51. package/lib/typescript/module/theme/index.d.ts +7 -4
  52. package/lib/typescript/module/theme/index.d.ts.map +1 -1
  53. package/lib/typescript/module/theme/persistence.d.ts +50 -0
  54. package/lib/typescript/module/theme/persistence.d.ts.map +1 -0
  55. package/lib/typescript/module/theme/use-isomorphic-layout-effect.d.ts +8 -0
  56. package/lib/typescript/module/theme/use-isomorphic-layout-effect.d.ts.map +1 -0
  57. package/package.json +1 -1
  58. package/src/__tests__/BloomThemeProvider.modes.test.tsx +159 -0
  59. package/src/__tests__/BloomThemeProvider.persistence.test.tsx +321 -0
  60. package/src/__tests__/persistence.test.ts +155 -0
  61. package/src/__tests__/theme.test.ts +1 -1
  62. package/src/hooks/useControllableState.ts +44 -0
  63. package/src/theme/BloomThemeProvider.tsx +251 -157
  64. package/src/theme/build-theme.ts +128 -0
  65. package/src/theme/color-presets.ts +19 -3
  66. package/src/theme/index.ts +16 -4
  67. package/src/theme/persistence.ts +174 -0
  68. package/src/theme/use-isomorphic-layout-effect.ts +10 -0
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useCallback","useContext","useMemo","useRef","useState","useColorScheme","useRNColorScheme","Platform","APP_COLOR_PRESETS","getAdaptiveColors","applyDarkClass","applyColorPresetVars","setColorSchemeSafe","FontLoader","jsx","_jsx","hslVarToCSS","value","parts","split","map","s","trim","length","alpha","parseFloat","replace","extractHue","hslVar","parseInt","hsl","h","l","buildTheme","appColor","resolved","isAdaptive","isDark","themeColors","OS","adaptive","preset","vars","light","dark","primaryHue","destructiveHue","surface","background","mutedForeground","primaryColor","primaryForeground","backgroundSecondary","backgroundTertiary","text","textSecondary","textTertiary","border","borderLight","primary","primaryLight","primaryDark","secondary","tint","icon","iconActive","success","error","warning","info","primarySubtle","primarySubtleForeground","negative","negativeForeground","negativeSubtle","negativeSubtleForeground","contrast50","card","shadow","overlay","mode","colors","isLight","BloomThemeContext","BloomThemeProvider","controlledMode","colorPreset","controlledPreset","onModeChange","onColorPresetChange","fonts","onFontsLoading","children","rnScheme","internalPreset","setInternalPreset","undefined","effectiveMode","lastApplied","applyKey","current","setMode","newMode","setColorPreset","contextValue","theme","Provider","enabled","fallback","BloomColorScope","parent","Error"],"sourceRoot":"../../../src","sources":["theme/BloomThemeProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","useColorScheme","useRNColorScheme","useControllableState","FontLoader","applyDarkClass","applyColorPresetVars","buildTheme","readPersistedTheme","readPersistedThemeSync","removePersistedTheme","writePersistedTheme","setColorSchemeSafe","useIsomorphicLayoutEffect","jsx","_jsx","DEFAULT_PRESET","DEFAULT_MODE","BloomThemeContext","useThemeState","controlledMode","controlledPreset","defaultMode","defaultPreset","persistKey","storage","onModeChange","onColorPresetChange","syncResult","syncState","kind","state","initialMode","mode","initialPreset","colorPreset","hydrated","setHydrated","setModeInternal","value","defaultValue","setPresetInternal","modeRef","current","presetRef","cancelled","then","undefined","setMode","next","setColorPreset","resetTheme","BloomThemeProvider","defaultColorPreset","awaitHydration","onHydrating","fonts","onFontsLoading","children","rnScheme","isAdaptive","effectiveMode","resolved","contextValue","theme","shouldAwait","Boolean","isGated","Provider","enabled","fallback","BloomColorScope","parent","Error"],"sourceRoot":"../../../src","sources":["theme/BloomThemeProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ import { Platform } from 'react-native';
4
+ import { APP_COLOR_PRESETS } from "./color-presets.js";
5
+ import { getAdaptiveColors } from "./adaptive-colors.js";
6
+ /**
7
+ * Status colors used across the design system. Independent of the accent
8
+ * preset so semantic intent stays stable across themes.
9
+ */
10
+ export const STATUS_COLORS = {
11
+ success: '#10B981',
12
+ error: '#EF4444',
13
+ warning: '#F59E0B',
14
+ info: '#3B82F6'
15
+ };
16
+
17
+ /**
18
+ * Convert a shadcn-style HSL CSS variable (`'H S% L%'` or `'H S% L% / A'`)
19
+ * into a fully-resolved `hsl()` / `hsla()` color string consumable by both
20
+ * web `style` and React Native.
21
+ */
22
+ function hslVarToColor(hslVar) {
23
+ const parts = hslVar.split('/').map(p => p.trim());
24
+ const triple = parts[0] ?? '0 0% 0%';
25
+ const components = triple.replace(/\s+/g, ', ');
26
+ if (parts.length === 2) {
27
+ const alpha = parseFloat(parts[1] ?? '100') / 100;
28
+ return `hsla(${components}, ${alpha})`;
29
+ }
30
+ return `hsl(${components})`;
31
+ }
32
+ function extractHue(hslVar) {
33
+ const first = hslVar.split(/\s+/)[0] ?? '0';
34
+ const hue = parseInt(first, 10);
35
+ return Number.isFinite(hue) ? hue : 0;
36
+ }
37
+ function hsl(h, s, l) {
38
+ return `hsl(${h}, ${s}%, ${l}%)`;
39
+ }
40
+ function readToken(tokens, key, fallback = '0 0% 0%') {
41
+ return hslVarToColor(tokens[key] ?? fallback);
42
+ }
43
+ function buildColorsFromPreset(preset, resolved) {
44
+ const config = APP_COLOR_PRESETS[preset];
45
+ const tokens = resolved === 'dark' ? config.dark : config.light;
46
+ const isDark = resolved === 'dark';
47
+ const primaryHue = extractHue(tokens['--primary'] ?? '0 0% 50%');
48
+ const destructiveHue = extractHue(tokens['--destructive'] ?? '0 0% 0%');
49
+ const background = readToken(tokens, '--background');
50
+ const surface = readToken(tokens, '--surface');
51
+ const mutedForeground = readToken(tokens, '--muted-foreground', '0 0% 50%');
52
+ const primaryColor = readToken(tokens, '--primary', '0 0% 50%');
53
+ const primaryForeground = readToken(tokens, '--primary-foreground', '0 0% 100%');
54
+ return {
55
+ background,
56
+ backgroundSecondary: surface,
57
+ backgroundTertiary: readToken(tokens, '--muted'),
58
+ text: readToken(tokens, '--foreground', '0 0% 100%'),
59
+ textSecondary: mutedForeground,
60
+ textTertiary: mutedForeground,
61
+ border: readToken(tokens, '--border', '0 0% 20%'),
62
+ borderLight: readToken(tokens, '--input', '0 0% 20%'),
63
+ primary: primaryColor,
64
+ primaryForeground,
65
+ // Legacy aliases retained for backwards compatibility with downstream
66
+ // consumers. `primaryLight` should be a brand tint, not the surface, but
67
+ // changing this is a breaking change handled in a separate major.
68
+ primaryLight: surface,
69
+ primaryDark: background,
70
+ // `secondary` historically mirrored `primary`. Retained for compatibility.
71
+ secondary: primaryColor,
72
+ tint: primaryColor,
73
+ icon: mutedForeground,
74
+ iconActive: primaryColor,
75
+ ...STATUS_COLORS,
76
+ primarySubtle: isDark ? hsl(primaryHue, 50, 10) : hsl(primaryHue, 70, 93),
77
+ primarySubtleForeground: isDark ? hsl(primaryHue, 70, 65) : hsl(primaryHue, 90, 25),
78
+ negative: hsl(destructiveHue, 84, 45),
79
+ negativeForeground: '#FFFFFF',
80
+ negativeSubtle: isDark ? hsl(destructiveHue, 50, 10) : hsl(destructiveHue, 90, 95),
81
+ negativeSubtleForeground: isDark ? hsl(destructiveHue, 70, 65) : hsl(destructiveHue, 80, 40),
82
+ contrast50: isDark ? hsl(primaryHue, 15, 12) : hsl(primaryHue, 10, 93),
83
+ card: surface,
84
+ shadow: isDark ? 'rgba(0, 0, 0, 0.3)' : 'rgba(0, 0, 0, 0.1)',
85
+ overlay: 'rgba(0, 0, 0, 0.5)'
86
+ };
87
+ }
88
+
89
+ /**
90
+ * Build a `Theme` from a color preset and a resolved light/dark mode.
91
+ *
92
+ * When `isAdaptive` is true and the platform exposes adaptive (Material You /
93
+ * iOS dynamic) colors, those override the preset-derived palette.
94
+ */
95
+ export function buildTheme(preset, resolved, isAdaptive = false) {
96
+ const adaptive = isAdaptive && Platform.OS !== 'web' ? getAdaptiveColors() : undefined;
97
+ const colors = adaptive ?? buildColorsFromPreset(preset, resolved);
98
+ return {
99
+ mode: resolved,
100
+ colors,
101
+ isDark: resolved === 'dark',
102
+ isLight: resolved === 'light'
103
+ };
104
+ }
105
+ //# sourceMappingURL=build-theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","APP_COLOR_PRESETS","getAdaptiveColors","STATUS_COLORS","success","error","warning","info","hslVarToColor","hslVar","parts","split","map","p","trim","triple","components","replace","length","alpha","parseFloat","extractHue","first","hue","parseInt","Number","isFinite","hsl","h","s","l","readToken","tokens","key","fallback","buildColorsFromPreset","preset","resolved","config","dark","light","isDark","primaryHue","destructiveHue","background","surface","mutedForeground","primaryColor","primaryForeground","backgroundSecondary","backgroundTertiary","text","textSecondary","textTertiary","border","borderLight","primary","primaryLight","primaryDark","secondary","tint","icon","iconActive","primarySubtle","primarySubtleForeground","negative","negativeForeground","negativeSubtle","negativeSubtleForeground","contrast50","card","shadow","overlay","buildTheme","isAdaptive","adaptive","OS","undefined","colors","mode","isLight"],"sourceRoot":"../../../src","sources":["theme/build-theme.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,20 @@
1
1
  "use strict";
2
2
 
3
+ /**
4
+ * Palette tokens for a single mode (light or dark) of a color preset.
5
+ *
6
+ * Keys carry a leading `--` for historical reasons (shadcn-style CSS variable
7
+ * names) — keep in mind the values are platform-agnostic **raw HSL triples**
8
+ * (e.g. `'185 100% 20%'` or `'185 100% 20% / 0.5'`), not CSS-resolved colors.
9
+ * The same map drives both:
10
+ * - the web layer (written verbatim into `document.documentElement.style`
11
+ * so Tailwind's `hsl(var(--primary))` plumbing picks them up), and
12
+ * - the native layer (`buildTheme` resolves them into `hsl(...)` strings
13
+ * consumable by React Native styles).
14
+ *
15
+ * The `--` prefix is an implementation detail we will drop in a future major.
16
+ */
17
+
3
18
  export const APP_COLOR_NAMES = ['teal', 'blue', 'green', 'amber', 'yellow', 'red', 'purple', 'pink', 'sky', 'orange', 'mint', 'oxy', 'faircoin'];
4
19
  export const HEX_TO_APP_COLOR = {
5
20
  '#005c67': 'teal',
@@ -1 +1 @@
1
- {"version":3,"names":["APP_COLOR_NAMES","HEX_TO_APP_COLOR","hexToAppColorName","hex","toLowerCase","APP_COLOR_PRESETS","teal","name","light","dark","blue","green","amber","yellow","red","purple","pink","sky","orange","mint","oxy","faircoin"],"sourceRoot":"../../../src","sources":["theme/color-presets.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["APP_COLOR_NAMES","HEX_TO_APP_COLOR","hexToAppColorName","hex","toLowerCase","APP_COLOR_PRESETS","teal","name","light","dark","blue","green","amber","yellow","red","purple","pink","sky","orange","mint","oxy","faircoin"],"sourceRoot":"../../../src","sources":["theme/color-presets.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,OAAO,MAAMA,eAAwC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;AAEzK,OAAO,MAAMC,gBAA8C,GAAG;EAC5D,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,OAAO;EAClB,SAAS,EAAE,OAAO;EAClB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE;AACb,CAAC;AAED,OAAO,SAASC,iBAAiBA,CAACC,GAAW,EAAgB;EAC3D,OAAOF,gBAAgB,CAACE,GAAG,CAACC,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM;AACtD;AAEA,OAAO,MAAMC,iBAAuD,GAAG;EACrEC,IAAI,EAAE;IACJC,IAAI,EAAE,MAAM;IACZJ,GAAG,EAAE,SAAS;IACdK,KAAK,EAAE;MACL,cAAc,EAAE,UAAU;MAC1B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,cAAc;MAC3B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,YAAY;MAC3B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,YAAY;MACvB,oBAAoB,EAAE,YAAY;MAClC,UAAU,EAAE,YAAY;MACxB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,YAAY;MACxB,SAAS,EAAE,YAAY;MACvB,QAAQ,EAAE,cAAc;MACxB,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJ,cAAc,EAAE,YAAY;MAC5B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,cAAc;MAC3B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,aAAa;MAC5B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,aAAa;MACxB,oBAAoB,EAAE,UAAU;MAChC,UAAU,EAAE,aAAa;MACzB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,aAAa;MACzB,SAAS,EAAE,aAAa;MACxB,QAAQ,EAAE,cAAc;MACxB,WAAW,EAAE;IACf;EACF,CAAC;EAEDC,IAAI,EAAE;IACJH,IAAI,EAAE,MAAM;IACZJ,GAAG,EAAE,SAAS;IACdK,KAAK,EAAE;MACL,cAAc,EAAE,UAAU;MAC1B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,YAAY;MAC3B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,YAAY;MACvB,oBAAoB,EAAE,YAAY;MAClC,UAAU,EAAE,YAAY;MACxB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,YAAY;MACxB,SAAS,EAAE,YAAY;MACvB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJ,cAAc,EAAE,YAAY;MAC5B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,aAAa;MAC5B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,aAAa;MACxB,oBAAoB,EAAE,UAAU;MAChC,UAAU,EAAE,aAAa;MACzB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,aAAa;MACzB,SAAS,EAAE,aAAa;MACxB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf;EACF,CAAC;EAEDE,KAAK,EAAE;IACLJ,IAAI,EAAE,OAAO;IACbJ,GAAG,EAAE,SAAS;IACdK,KAAK,EAAE;MACL,cAAc,EAAE,UAAU;MAC1B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,YAAY;MAC3B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,YAAY;MACvB,oBAAoB,EAAE,YAAY;MAClC,UAAU,EAAE,YAAY;MACxB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,YAAY;MACxB,SAAS,EAAE,YAAY;MACvB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJ,cAAc,EAAE,YAAY;MAC5B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,aAAa;MAC5B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,aAAa;MACxB,oBAAoB,EAAE,UAAU;MAChC,UAAU,EAAE,aAAa;MACzB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,aAAa;MACzB,SAAS,EAAE,aAAa;MACxB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf;EACF,CAAC;EAEDG,KAAK,EAAE;IACLL,IAAI,EAAE,OAAO;IACbJ,GAAG,EAAE,SAAS;IACdK,KAAK,EAAE;MACL,cAAc,EAAE,UAAU;MAC1B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,SAAS;MACjC,aAAa,EAAE,WAAW;MAC1B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,WAAW;MACtB,oBAAoB,EAAE,WAAW;MACjC,UAAU,EAAE,WAAW;MACvB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,WAAW;MACvB,SAAS,EAAE,WAAW;MACtB,QAAQ,EAAE,YAAY;MACtB,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJ,cAAc,EAAE,WAAW;MAC3B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,SAAS;MACjC,aAAa,EAAE,YAAY;MAC3B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,YAAY;MACvB,oBAAoB,EAAE,UAAU;MAChC,UAAU,EAAE,YAAY;MACxB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,YAAY;MACxB,SAAS,EAAE,YAAY;MACvB,QAAQ,EAAE,YAAY;MACtB,WAAW,EAAE;IACf;EACF,CAAC;EAEDI,MAAM,EAAE;IACNN,IAAI,EAAE,QAAQ;IACdJ,GAAG,EAAE,SAAS;IACdK,KAAK,EAAE;MACL,cAAc,EAAE,UAAU;MAC1B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,SAAS;MACjC,aAAa,EAAE,WAAW;MAC1B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,WAAW;MACtB,oBAAoB,EAAE,WAAW;MACjC,UAAU,EAAE,WAAW;MACvB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,WAAW;MACvB,SAAS,EAAE,WAAW;MACtB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJ,cAAc,EAAE,WAAW;MAC3B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,SAAS;MACjC,aAAa,EAAE,YAAY;MAC3B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,YAAY;MACvB,oBAAoB,EAAE,UAAU;MAChC,UAAU,EAAE,YAAY;MACxB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,YAAY;MACxB,SAAS,EAAE,YAAY;MACvB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf;EACF,CAAC;EAEDK,GAAG,EAAE;IACHP,IAAI,EAAE,KAAK;IACXJ,GAAG,EAAE,SAAS;IACdK,KAAK,EAAE;MACL,cAAc,EAAE,UAAU;MAC1B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,UAAU;MACzB,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,UAAU;MACrB,oBAAoB,EAAE,UAAU;MAChC,UAAU,EAAE,UAAU;MACtB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,UAAU;MACtB,SAAS,EAAE,UAAU;MACrB,QAAQ,EAAE,WAAW;MACrB,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJ,cAAc,EAAE,UAAU;MAC1B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,WAAW;MAC1B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,WAAW;MACtB,oBAAoB,EAAE,UAAU;MAChC,UAAU,EAAE,WAAW;MACvB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,WAAW;MACvB,SAAS,EAAE,WAAW;MACtB,QAAQ,EAAE,WAAW;MACrB,WAAW,EAAE;IACf;EACF,CAAC;EAEDM,MAAM,EAAE;IACNR,IAAI,EAAE,QAAQ;IACdJ,GAAG,EAAE,SAAS;IACdK,KAAK,EAAE;MACL,cAAc,EAAE,UAAU;MAC1B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,YAAY;MAC3B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,YAAY;MACvB,oBAAoB,EAAE,YAAY;MAClC,UAAU,EAAE,YAAY;MACxB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,YAAY;MACxB,SAAS,EAAE,YAAY;MACvB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJ,cAAc,EAAE,YAAY;MAC5B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,aAAa;MAC5B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,aAAa;MACxB,oBAAoB,EAAE,UAAU;MAChC,UAAU,EAAE,aAAa;MACzB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,aAAa;MACzB,SAAS,EAAE,aAAa;MACxB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf;EACF,CAAC;EAEDO,IAAI,EAAE;IACJT,IAAI,EAAE,MAAM;IACZJ,GAAG,EAAE,SAAS;IACdK,KAAK,EAAE;MACL,cAAc,EAAE,UAAU;MAC1B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,YAAY;MAC3B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,YAAY;MACvB,oBAAoB,EAAE,YAAY;MAClC,UAAU,EAAE,YAAY;MACxB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,YAAY;MACxB,SAAS,EAAE,YAAY;MACvB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJ,cAAc,EAAE,YAAY;MAC5B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,aAAa;MAC5B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,aAAa;MACxB,oBAAoB,EAAE,UAAU;MAChC,UAAU,EAAE,aAAa;MACzB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,aAAa;MACzB,SAAS,EAAE,aAAa;MACxB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf;EACF,CAAC;EAEDQ,GAAG,EAAE;IACHV,IAAI,EAAE,KAAK;IACXJ,GAAG,EAAE,SAAS;IACdK,KAAK,EAAE;MACL,cAAc,EAAE,UAAU;MAC1B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,YAAY;MAC3B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,YAAY;MACvB,oBAAoB,EAAE,YAAY;MAClC,UAAU,EAAE,YAAY;MACxB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,YAAY;MACxB,SAAS,EAAE,YAAY;MACvB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJ,cAAc,EAAE,YAAY;MAC5B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,aAAa;MAC5B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,aAAa;MACxB,oBAAoB,EAAE,UAAU;MAChC,UAAU,EAAE,aAAa;MACzB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,aAAa;MACzB,SAAS,EAAE,aAAa;MACxB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf;EACF,CAAC;EAEDS,MAAM,EAAE;IACNX,IAAI,EAAE,QAAQ;IACdJ,GAAG,EAAE,SAAS;IACdK,KAAK,EAAE;MACL,cAAc,EAAE,UAAU;MAC1B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,WAAW;MAC1B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,WAAW;MACtB,oBAAoB,EAAE,WAAW;MACjC,UAAU,EAAE,WAAW;MACvB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,WAAW;MACvB,SAAS,EAAE,WAAW;MACtB,QAAQ,EAAE,YAAY;MACtB,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJ,cAAc,EAAE,WAAW;MAC3B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,YAAY;MAC3B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,YAAY;MACvB,oBAAoB,EAAE,UAAU;MAChC,UAAU,EAAE,YAAY;MACxB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,YAAY;MACxB,SAAS,EAAE,YAAY;MACvB,QAAQ,EAAE,YAAY;MACtB,WAAW,EAAE;IACf;EACF,CAAC;EAEDU,IAAI,EAAE;IACJZ,IAAI,EAAE,MAAM;IACZJ,GAAG,EAAE,SAAS;IACdK,KAAK,EAAE;MACL,cAAc,EAAE,UAAU;MAC1B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,YAAY;MAC3B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,YAAY;MACvB,oBAAoB,EAAE,YAAY;MAClC,UAAU,EAAE,YAAY;MACxB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,YAAY;MACxB,SAAS,EAAE,YAAY;MACvB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJ,cAAc,EAAE,YAAY;MAC5B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,aAAa;MAC5B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,aAAa;MACxB,oBAAoB,EAAE,UAAU;MAChC,UAAU,EAAE,aAAa;MACzB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,aAAa;MACzB,SAAS,EAAE,aAAa;MACxB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf;EACF,CAAC;EAEDW,GAAG,EAAE;IACHb,IAAI,EAAE,KAAK;IACXJ,GAAG,EAAE,SAAS;IACdK,KAAK,EAAE;MACL,cAAc,EAAE,UAAU;MAC1B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,YAAY;MAC3B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,YAAY;MACvB,oBAAoB,EAAE,YAAY;MAClC,UAAU,EAAE,YAAY;MACxB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,YAAY;MACxB,SAAS,EAAE,YAAY;MACvB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJ,cAAc,EAAE,YAAY;MAC5B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,aAAa;MAC1B,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,aAAa;MAC5B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,aAAa;MACxB,oBAAoB,EAAE,UAAU;MAChC,UAAU,EAAE,aAAa;MACzB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,aAAa;MACzB,SAAS,EAAE,aAAa;MACxB,QAAQ,EAAE,aAAa;MACvB,WAAW,EAAE;IACf;EACF,CAAC;EACDY,QAAQ,EAAE;IACRd,IAAI,EAAE,UAAU;IAChBJ,GAAG,EAAE,SAAS;IACdK,KAAK,EAAE;MACL,cAAc,EAAE,UAAU;MAC1B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,WAAW;MACxB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,WAAW;MACnC,aAAa,EAAE,YAAY;MAC3B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,WAAW;MACtB,oBAAoB,EAAE,UAAU;MAChC,UAAU,EAAE,YAAY;MACxB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,WAAW;MACvB,SAAS,EAAE,WAAW;MACtB,QAAQ,EAAE,YAAY;MACtB,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJ,cAAc,EAAE,WAAW;MAC3B,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,UAAU;MAClC,WAAW,EAAE,YAAY;MACzB,sBAAsB,EAAE,SAAS;MACjC,aAAa,EAAE,YAAY;MAC3B,wBAAwB,EAAE,UAAU;MACpC,SAAS,EAAE,YAAY;MACvB,oBAAoB,EAAE,UAAU;MAChC,UAAU,EAAE,YAAY;MACxB,qBAAqB,EAAE,UAAU;MACjC,eAAe,EAAE,WAAW;MAC5B,UAAU,EAAE,YAAY;MACxB,SAAS,EAAE,YAAY;MACvB,QAAQ,EAAE,YAAY;MACtB,WAAW,EAAE;IACf;EACF;AACF,CAAC","ignoreList":[]}
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
- export { BloomThemeProvider, BloomColorScope, buildTheme } from "./BloomThemeProvider.js";
3
+ export { BloomThemeProvider, BloomColorScope } from "./BloomThemeProvider.js";
4
+ export { buildTheme, STATUS_COLORS } from "./build-theme.js";
4
5
  export { useTheme, useThemeColor, useBloomTheme } from "./use-theme.js";
5
6
  export { APP_COLOR_NAMES, APP_COLOR_PRESETS, HEX_TO_APP_COLOR, hexToAppColorName } from "./color-presets.js";
6
7
  export { applyDarkClass } from "./apply-dark-class.js";
7
8
  export { setColorSchemeSafe } from "./set-color-scheme-safe.js";
8
9
  export { initCssInteropDarkMode } from "./init-css-interop.js";
10
+ export { webLocalStorage } from "./persistence.js";
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BloomThemeProvider","BloomColorScope","buildTheme","useTheme","useThemeColor","useBloomTheme","APP_COLOR_NAMES","APP_COLOR_PRESETS","HEX_TO_APP_COLOR","hexToAppColorName","applyDarkClass","setColorSchemeSafe","initCssInteropDarkMode"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":";;AAAA,SAASA,kBAAkB,EAAEC,eAAe,EAAEC,UAAU,QAAQ,yBAAsB;AAEtF,SAASC,QAAQ,EAAEC,aAAa,EAAEC,aAAa,QAAQ,gBAAa;AAGpE,SAASC,eAAe,EAAEC,iBAAiB,EAAEC,gBAAgB,EAAEC,iBAAiB,QAAQ,oBAAiB;AACzG,SAASC,cAAc,QAAQ,uBAAoB;AACnD,SAASC,kBAAkB,QAAQ,4BAAyB;AAC5D,SAASC,sBAAsB,QAAQ,uBAAoB","ignoreList":[]}
1
+ {"version":3,"names":["BloomThemeProvider","BloomColorScope","buildTheme","STATUS_COLORS","useTheme","useThemeColor","useBloomTheme","APP_COLOR_NAMES","APP_COLOR_PRESETS","HEX_TO_APP_COLOR","hexToAppColorName","applyDarkClass","setColorSchemeSafe","initCssInteropDarkMode","webLocalStorage"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":";;AAAA,SAASA,kBAAkB,EAAEC,eAAe,QAAQ,yBAAsB;AAM1E,SAASC,UAAU,EAAEC,aAAa,QAAQ,kBAAe;AACzD,SAASC,QAAQ,EAAEC,aAAa,EAAEC,aAAa,QAAQ,gBAAa;AAGpE,SACEC,eAAe,EACfC,iBAAiB,EACjBC,gBAAgB,EAChBC,iBAAiB,QACZ,oBAAiB;AACxB,SAASC,cAAc,QAAQ,uBAAoB;AACnD,SAASC,kBAAkB,QAAQ,4BAAyB;AAC5D,SAASC,sBAAsB,QAAQ,uBAAoB;AAE3D,SAASC,eAAe,QAAQ,kBAAe","ignoreList":[]}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+
3
+ import { Platform } from 'react-native';
4
+ import { APP_COLOR_NAMES } from "./color-presets.js";
5
+ const VALID_PRESETS = new Set(APP_COLOR_NAMES);
6
+ const VALID_MODES = new Set(['light', 'dark', 'system', 'adaptive']);
7
+
8
+ /**
9
+ * Storage adapter for persisting Bloom theme state.
10
+ *
11
+ * Methods may be synchronous or asynchronous. The provider awaits both, so
12
+ * `AsyncStorage`-compatible adapters on native and `localStorage`-backed
13
+ * adapters on web both work without consumer-side branching.
14
+ *
15
+ * On web, a synchronous adapter lets Bloom hydrate before the first paint —
16
+ * preventing a flash of the default palette. On native, the provider can
17
+ * gate `children` rendering until hydration completes (see
18
+ * `awaitHydration` on `BloomThemeProvider`).
19
+ */
20
+
21
+ const isValidMode = value => typeof value === 'string' && VALID_MODES.has(value);
22
+ const isValidPreset = value => typeof value === 'string' && VALID_PRESETS.has(value);
23
+ function parsePersistedTheme(raw) {
24
+ if (typeof raw !== 'string') return null;
25
+ let parsed;
26
+ try {
27
+ parsed = JSON.parse(raw);
28
+ } catch {
29
+ return null;
30
+ }
31
+ if (!parsed || typeof parsed !== 'object') return null;
32
+ const obj = parsed;
33
+ const mode = isValidMode(obj.mode) ? obj.mode : undefined;
34
+ const colorPreset = isValidPreset(obj.colorPreset) ? obj.colorPreset : undefined;
35
+ if (!mode && !colorPreset) return null;
36
+ return {
37
+ mode,
38
+ colorPreset
39
+ };
40
+ }
41
+ const isThenable = value => !!value && typeof value.then === 'function';
42
+
43
+ /**
44
+ * Read persisted state during the first render. Returns a discriminated union
45
+ * so the provider can tell apart:
46
+ * - `none`: persistence not configured.
47
+ * - `sync`: adapter returned a value synchronously (web `localStorage`).
48
+ * Provider can render immediately with the resolved state.
49
+ * - `async`: adapter returned a Promise (native `AsyncStorage`). Provider
50
+ * must await `readPersistedTheme` before painting if gating is enabled.
51
+ */
52
+ export function readPersistedThemeSync(persistKey, storage) {
53
+ if (!persistKey || !storage) return {
54
+ kind: 'none'
55
+ };
56
+ let raw;
57
+ try {
58
+ raw = storage.getItem(persistKey);
59
+ } catch {
60
+ return {
61
+ kind: 'sync',
62
+ state: null
63
+ };
64
+ }
65
+ if (isThenable(raw)) return {
66
+ kind: 'async'
67
+ };
68
+ return {
69
+ kind: 'sync',
70
+ state: parsePersistedTheme(raw)
71
+ };
72
+ }
73
+ export async function readPersistedTheme(persistKey, storage) {
74
+ if (!persistKey || !storage) return null;
75
+ try {
76
+ const raw = await storage.getItem(persistKey);
77
+ return parsePersistedTheme(raw);
78
+ } catch {
79
+ return null;
80
+ }
81
+ }
82
+ export async function writePersistedTheme(persistKey, storage, state) {
83
+ if (!persistKey || !storage) return;
84
+ const payload = {};
85
+ if (state.mode !== undefined) payload.mode = state.mode;
86
+ if (state.colorPreset !== undefined) payload.colorPreset = state.colorPreset;
87
+ try {
88
+ await storage.setItem(persistKey, JSON.stringify(payload));
89
+ } catch {
90
+ // Persistence is best-effort: ignore quota and privacy-mode errors.
91
+ }
92
+ }
93
+ export async function removePersistedTheme(persistKey, storage) {
94
+ if (!persistKey || !storage) return;
95
+ try {
96
+ if (typeof storage.removeItem === 'function') {
97
+ await storage.removeItem(persistKey);
98
+ return;
99
+ }
100
+ await storage.setItem(persistKey, '');
101
+ } catch {
102
+ // Best-effort cleanup.
103
+ }
104
+ }
105
+
106
+ /**
107
+ * `localStorage`-backed storage adapter. Only defined on web; on native the
108
+ * export is `undefined` so consumers pass an `AsyncStorage` adapter explicitly.
109
+ */
110
+ export const webLocalStorage = (() => {
111
+ if (Platform.OS !== 'web') return undefined;
112
+ if (typeof globalThis === 'undefined') return undefined;
113
+ if (!('localStorage' in globalThis)) return undefined;
114
+ const ls = globalThis.localStorage;
115
+ return {
116
+ getItem: key => {
117
+ try {
118
+ return ls.getItem(key);
119
+ } catch {
120
+ return null;
121
+ }
122
+ },
123
+ setItem: (key, value) => {
124
+ try {
125
+ ls.setItem(key, value);
126
+ } catch {
127
+ // Swallow quota / privacy-mode errors.
128
+ }
129
+ },
130
+ removeItem: key => {
131
+ try {
132
+ ls.removeItem(key);
133
+ } catch {
134
+ // Swallow privacy-mode errors.
135
+ }
136
+ }
137
+ };
138
+ })();
139
+ //# sourceMappingURL=persistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","APP_COLOR_NAMES","VALID_PRESETS","Set","VALID_MODES","isValidMode","value","has","isValidPreset","parsePersistedTheme","raw","parsed","JSON","parse","obj","mode","undefined","colorPreset","isThenable","then","readPersistedThemeSync","persistKey","storage","kind","getItem","state","readPersistedTheme","writePersistedTheme","payload","setItem","stringify","removePersistedTheme","removeItem","webLocalStorage","OS","globalThis","ls","localStorage","key"],"sourceRoot":"../../../src","sources":["theme/persistence.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useLayoutEffect } from 'react';
4
+ import { Platform } from 'react-native';
5
+
6
+ /**
7
+ * `useLayoutEffect` on web (and native — react-native polyfills it) but falls
8
+ * back to `useEffect` during SSR to avoid the React warning. Bloom apps are
9
+ * primarily Expo (no SSR), but Next.js consumers of the web bundle need this.
10
+ */
11
+ export const useIsomorphicLayoutEffect = Platform.OS === 'web' && typeof document === 'undefined' ? useEffect : useLayoutEffect;
12
+ //# sourceMappingURL=use-isomorphic-layout-effect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useLayoutEffect","Platform","useIsomorphicLayoutEffect","OS","document"],"sourceRoot":"../../../src","sources":["theme/use-isomorphic-layout-effect.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,eAAe,QAAQ,OAAO;AAClD,SAASC,QAAQ,QAAQ,cAAc;;AAEvC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,yBAAyB,GACpCD,QAAQ,CAACE,EAAE,KAAK,KAAK,IAAI,OAAOC,QAAQ,KAAK,WAAW,GAAGL,SAAS,GAAGC,eAAe","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ export interface UseControllableStateOptions<T> {
2
+ /** Controlled value. When defined, the hook does not own internal state. */
3
+ value?: T;
4
+ /** Initial value used when uncontrolled. */
5
+ defaultValue: T;
6
+ /** Notified whenever the value changes, controlled or not. */
7
+ onChange?: (next: T) => void;
8
+ }
9
+ /**
10
+ * Canonical Radix/shadcn-style controllable state hook. Returns a tuple of the
11
+ * current value and a setter that:
12
+ * - updates internal state when uncontrolled, and
13
+ * - always calls `onChange` (so controlled parents stay in sync).
14
+ *
15
+ * Switching between controlled and uncontrolled at runtime is supported but
16
+ * discouraged; the hook keeps the latest `value` for reads either way.
17
+ */
18
+ export declare function useControllableState<T>({ value, defaultValue, onChange, }: UseControllableStateOptions<T>): [T, (next: T) => void];
19
+ //# sourceMappingURL=useControllableState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useControllableState.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useControllableState.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,4EAA4E;IAC5E,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,4CAA4C;IAC5C,YAAY,EAAE,CAAC,CAAC;IAChB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EACtC,KAAK,EACL,YAAY,EACZ,QAAQ,GACT,EAAE,2BAA2B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,CAmBzD"}
@@ -1,40 +1,63 @@
1
1
  import './init-css-interop';
2
2
  import React from 'react';
3
3
  import { type AppColorName } from './color-presets';
4
+ import { type BloomThemeStorage } from './persistence';
4
5
  import type { Theme, ThemeMode } from './types';
5
- /** Build a Theme object from a color preset name and resolved light/dark mode. */
6
- export declare function buildTheme(appColor: AppColorName, resolved: 'light' | 'dark', isAdaptive?: boolean): Theme;
7
6
  export interface BloomThemeContextValue {
8
7
  theme: Theme;
9
8
  mode: ThemeMode;
10
9
  colorPreset: AppColorName;
11
10
  setMode: (mode: ThemeMode) => void;
12
11
  setColorPreset: (preset: AppColorName) => void;
12
+ /**
13
+ * Restore mode and color preset to the provider defaults
14
+ * (`defaultMode` / `defaultColorPreset`) and clear the persisted entry.
15
+ * Use this when signing out or otherwise resetting per-user state.
16
+ */
17
+ resetTheme: () => void;
13
18
  }
14
19
  export declare const BloomThemeContext: React.Context<BloomThemeContextValue | null>;
15
20
  export interface BloomThemeProviderProps {
21
+ /** Controlled mode. Omit to use Bloom's internal state (with optional persistence). */
16
22
  mode?: ThemeMode;
23
+ /** Controlled color preset. Omit to use Bloom's internal state. */
17
24
  colorPreset?: AppColorName;
25
+ /** Initial mode when uncontrolled and nothing is persisted yet. */
26
+ defaultMode?: ThemeMode;
27
+ /** Initial color preset when uncontrolled and nothing is persisted yet. */
28
+ defaultColorPreset?: AppColorName;
18
29
  onModeChange?: (mode: ThemeMode) => void;
19
30
  onColorPresetChange?: (preset: AppColorName) => void;
20
31
  /**
21
- * Load and inject the Bloom font system (BlomusModernus + Inter Variable
22
- * + Geist Mono Variable). Default true. Set to false to opt out e.g.
23
- * apps that already ship their own font loader.
32
+ * Persist mode + preset under this storage key. Bloom becomes the single
33
+ * source of truth apps don't need their own theme store. Has no effect
34
+ * without `storage`.
24
35
  */
25
- fonts?: boolean;
36
+ persistKey?: string;
26
37
  /**
27
- * Rendered while native fonts load. Ignored on web. Useful for matching
28
- * an app-level splash screen so consumers don't see a system-font flash
29
- * before the bundled fonts resolve.
38
+ * Storage adapter paired with `persistKey`. Use `webLocalStorage` on web,
39
+ * or pass an `AsyncStorage`-compatible adapter on native.
30
40
  */
41
+ storage?: BloomThemeStorage;
42
+ /**
43
+ * Block rendering until persisted state has been read. Default `true` when
44
+ * both `persistKey` and `storage` are provided, ensuring native apps don't
45
+ * flash the default palette. Web hydrates synchronously so this is a no-op
46
+ * there.
47
+ */
48
+ awaitHydration?: boolean;
49
+ /** Rendered while async hydration is pending. */
50
+ onHydrating?: React.ReactNode;
51
+ /** Load and inject Bloom's font system. Default `true`. */
52
+ fonts?: boolean;
53
+ /** Rendered while native fonts load. Ignored on web. */
31
54
  onFontsLoading?: React.ReactNode;
32
55
  children: React.ReactNode;
33
56
  }
34
- export declare function BloomThemeProvider({ mode: controlledMode, colorPreset: controlledPreset, onModeChange, onColorPresetChange, fonts, onFontsLoading, children, }: BloomThemeProviderProps): import("react/jsx-runtime").JSX.Element;
57
+ export declare function BloomThemeProvider({ mode: controlledMode, colorPreset: controlledPreset, defaultMode, defaultColorPreset, onModeChange, onColorPresetChange, persistKey, storage, awaitHydration, onHydrating, fonts, onFontsLoading, children, }: BloomThemeProviderProps): import("react/jsx-runtime").JSX.Element;
35
58
  /**
36
- * Scoped color override for a subtree.
37
- * Inherits mode/dark from the parent BloomThemeProvider but overrides the color preset.
59
+ * Scoped color override for a subtree. Inherits the resolved mode from the
60
+ * parent `BloomThemeProvider` but renders descendants with a different preset.
38
61
  */
39
62
  export interface BloomColorScopeProps {
40
63
  colorPreset: AppColorName;
@@ -1 +1 @@
1
- {"version":3,"file":"BloomThemeProvider.d.ts","sourceRoot":"","sources":["../../../../src/theme/BloomThemeProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,oBAAoB,CAAC;AAC5B,OAAO,KAA4E,MAAM,OAAO,CAAC;AAEjG,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKvE,OAAO,KAAK,EAAE,KAAK,EAAe,SAAS,EAAE,MAAM,SAAS,CAAC;AAmB7D,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,UAAU,GAAE,OAAe,GAAG,KAAK,CAyEjH;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,YAAY,CAAC;IAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;CAChD;AAED,eAAO,MAAM,iBAAiB,8CAAqD,CAAC;AAEpF,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACrD;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,gBAAgB,EAC7B,YAAY,EACZ,mBAAmB,EACnB,KAAY,EACZ,cAAc,EACd,QAAQ,GACT,EAAE,uBAAuB,2CA2DzB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,YAAY,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,oBAAoB,2CAoB9E"}
1
+ {"version":3,"file":"BloomThemeProvider.d.ts","sourceRoot":"","sources":["../../../../src/theme/BloomThemeProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAQN,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAKL,KAAK,iBAAiB,EAEvB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAKhD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,YAAY,CAAC;IAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/C;;;;OAIG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,iBAAiB,8CAAqD,CAAC;AAEpF,MAAM,WAAW,uBAAuB;IACtC,uFAAuF;IACvF,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,mEAAmE;IACnE,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,mEAAmE;IACnE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAElC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAErD;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iDAAiD;IACjD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE9B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAkJD,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,gBAAgB,EAC7B,WAA0B,EAC1B,kBAAmC,EACnC,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,OAAO,EACP,cAAc,EACd,WAAW,EACX,KAAY,EACZ,cAAc,EACd,QAAQ,GACT,EAAE,uBAAuB,2CAkDzB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,YAAY,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,oBAAoB,2CAc9E"}
@@ -0,0 +1,20 @@
1
+ import { type AppColorName } from './color-presets';
2
+ import type { Theme } from './types';
3
+ /**
4
+ * Status colors used across the design system. Independent of the accent
5
+ * preset so semantic intent stays stable across themes.
6
+ */
7
+ export declare const STATUS_COLORS: {
8
+ readonly success: "#10B981";
9
+ readonly error: "#EF4444";
10
+ readonly warning: "#F59E0B";
11
+ readonly info: "#3B82F6";
12
+ };
13
+ /**
14
+ * Build a `Theme` from a color preset and a resolved light/dark mode.
15
+ *
16
+ * When `isAdaptive` is true and the platform exposes adaptive (Material You /
17
+ * iOS dynamic) colors, those override the preset-derived palette.
18
+ */
19
+ export declare function buildTheme(preset: AppColorName, resolved: 'light' | 'dark', isAdaptive?: boolean): Theme;
20
+ //# sourceMappingURL=build-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-theme.d.ts","sourceRoot":"","sources":["../../../../src/theme/build-theme.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,YAAY,EAAqB,MAAM,iBAAiB,CAAC;AAE1F,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,SAAS,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AA6FX;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,OAAO,GAAG,MAAM,EAC1B,UAAU,GAAE,OAAe,GAC1B,KAAK,CAUP"}