@oxyhq/bloom 0.7.1 → 0.7.3
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.
- package/lib/commonjs/portal/index.js +18 -1
- package/lib/commonjs/portal/index.js.map +1 -1
- package/lib/commonjs/theme/BloomThemeProvider.js +21 -1
- package/lib/commonjs/theme/BloomThemeProvider.js.map +1 -1
- package/lib/commonjs/theme/apply-dark-class.js +6 -3
- package/lib/commonjs/theme/apply-dark-class.js.map +1 -1
- package/lib/commonjs/theme/native-root-vars.js +6 -1
- package/lib/commonjs/theme/native-root-vars.js.map +1 -1
- package/lib/commonjs/theme/preset-vars.js +67 -1
- package/lib/commonjs/theme/preset-vars.js.map +1 -1
- package/lib/module/portal/index.js +18 -1
- package/lib/module/portal/index.js.map +1 -1
- package/lib/module/theme/BloomThemeProvider.js +21 -1
- package/lib/module/theme/BloomThemeProvider.js.map +1 -1
- package/lib/module/theme/apply-dark-class.js +6 -3
- package/lib/module/theme/apply-dark-class.js.map +1 -1
- package/lib/module/theme/native-root-vars.js +6 -1
- package/lib/module/theme/native-root-vars.js.map +1 -1
- package/lib/module/theme/preset-vars.js +66 -1
- package/lib/module/theme/preset-vars.js.map +1 -1
- package/lib/typescript/commonjs/portal/index.d.ts +10 -0
- package/lib/typescript/commonjs/portal/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts +23 -0
- package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/apply-dark-class.d.ts +6 -3
- package/lib/typescript/commonjs/theme/apply-dark-class.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/native-root-vars.d.ts +6 -1
- package/lib/typescript/commonjs/theme/native-root-vars.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/preset-vars.d.ts +35 -2
- package/lib/typescript/commonjs/theme/preset-vars.d.ts.map +1 -1
- package/lib/typescript/module/portal/index.d.ts +10 -0
- package/lib/typescript/module/portal/index.d.ts.map +1 -1
- package/lib/typescript/module/theme/BloomThemeProvider.d.ts +23 -0
- package/lib/typescript/module/theme/BloomThemeProvider.d.ts.map +1 -1
- package/lib/typescript/module/theme/apply-dark-class.d.ts +6 -3
- package/lib/typescript/module/theme/apply-dark-class.d.ts.map +1 -1
- package/lib/typescript/module/theme/native-root-vars.d.ts +6 -1
- package/lib/typescript/module/theme/native-root-vars.d.ts.map +1 -1
- package/lib/typescript/module/theme/preset-vars.d.ts +35 -2
- package/lib/typescript/module/theme/preset-vars.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/native-root-vars.test.ts +4 -2
- package/src/__tests__/preset-vars.test.ts +45 -4
- package/src/portal/index.tsx +26 -1
- package/src/react-native-css.d.ts +3 -2
- package/src/theme/BloomThemeProvider.tsx +30 -1
- package/src/theme/apply-dark-class.ts +6 -3
- package/src/theme/native-root-vars.ts +6 -1
- package/src/theme/preset-vars.ts +84 -3
|
@@ -72,7 +72,24 @@ function createPortalGroup() {
|
|
|
72
72
|
Portal
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
|
-
|
|
75
|
+
/**
|
|
76
|
+
* `DefaultPortal` is a `globalThis`-guarded singleton so that every physical copy of
|
|
77
|
+
* this module shares ONE portal group (one `Context`, one `Provider`/`Outlet`/`Portal`
|
|
78
|
+
* triple).
|
|
79
|
+
*
|
|
80
|
+
* Why this is required: like the theme module, `exports["./portal"]` ships a
|
|
81
|
+
* `react-native` → `./src/...` condition alongside the `lib/module` / `lib/commonjs`
|
|
82
|
+
* forks, and the `Portal` component is consumed cross-subpath from `./tooltip`,
|
|
83
|
+
* `./prompt-input`, `./dialog`, `./select`, `./menu`, `./context-menu`, and `./popover`
|
|
84
|
+
* while the `Provider`/`Outlet` are mounted once at the app root via `@oxyhq/bloom/portal`.
|
|
85
|
+
* A bundler can resolve those subpaths through different export conditions, so without a
|
|
86
|
+
* guard each physical copy runs its own `createPortalGroup()` and a `<Portal>` from copy
|
|
87
|
+
* A would register against the `Provider`'s map in copy B — its content would never reach
|
|
88
|
+
* the `Outlet`. Anchoring the group on `globalThis` (keyed by `__oxyhq_bloom_portal_group__`)
|
|
89
|
+
* collapses all copies onto one group. Same src-vs-lib dual-instance class as
|
|
90
|
+
* `BloomThemeContext`.
|
|
91
|
+
*/
|
|
92
|
+
const DefaultPortal = globalThis.__oxyhq_bloom_portal_group__ ??= createPortalGroup();
|
|
76
93
|
const Provider = exports.Provider = DefaultPortal.Provider;
|
|
77
94
|
const Outlet = exports.Outlet = /*#__PURE__*/(0, _react.memo)(DefaultPortal.Outlet);
|
|
78
95
|
const Portal = exports.Portal = DefaultPortal.Portal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createPortalGroup","Context","createContext","outlet","append","remove","displayName","Provider","props","map","useRef","setOutlet","useState","useCallback","id","component","current","jsx","Fragment","children","values","contextValue","useMemo","value","Outlet","ctx","useContext","Platform","OS","View","style","styles","portalOutlet","Portal","useId","useEffect","DefaultPortal","exports","memo","StyleSheet","create","position","top","left","right","bottom","pointerEvents","zIndex"],"sourceRoot":"../../../src","sources":["portal/index.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createPortalGroup","Context","createContext","outlet","append","remove","displayName","Provider","props","map","useRef","setOutlet","useState","useCallback","id","component","current","jsx","Fragment","children","values","contextValue","useMemo","value","Outlet","ctx","useContext","Platform","OS","View","style","styles","portalOutlet","Portal","useId","useEffect","DefaultPortal","globalThis","__oxyhq_bloom_portal_group__","exports","memo","StyleSheet","create","position","top","left","right","bottom","pointerEvents","zIndex"],"sourceRoot":"../../../src","sources":["portal/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -26,7 +26,27 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
26
26
|
|
|
27
27
|
const DEFAULT_PRESET = 'oxy';
|
|
28
28
|
const DEFAULT_MODE = 'system';
|
|
29
|
-
|
|
29
|
+
/**
|
|
30
|
+
* `BloomThemeContext` is a `globalThis`-guarded singleton so that every physical
|
|
31
|
+
* copy of this module returns the SAME React context object.
|
|
32
|
+
*
|
|
33
|
+
* Why this is required: `package.json`'s `exports["./theme"]` ships a
|
|
34
|
+
* `react-native` → `./src/...` condition alongside the `import` → `./lib/module/...`
|
|
35
|
+
* and `require` → `./lib/commonjs/...` forks, so up to three physical copies of the
|
|
36
|
+
* theme module can coexist in a single bundle. A bundler can resolve them through
|
|
37
|
+
* DIFFERENT conditions across import paths — e.g. an app importing `@oxyhq/bloom/theme`
|
|
38
|
+
* lands on the `src` copy while `@oxyhq/bloom/toast`'s `Toast.tsx` imports
|
|
39
|
+
* `../theme/use-theme` relatively and lands on a different physical copy. With a plain
|
|
40
|
+
* module-level `createContext(...)`, each copy creates its OWN context object: the
|
|
41
|
+
* mounted `<BloomThemeProvider>` writes into context A while `useTheme`/`useBloomTheme`/
|
|
42
|
+
* `Toast`/`Dialog` read context B, so `useContext` returns `null` and they throw
|
|
43
|
+
* "must be used within a <BloomThemeProvider>" even when correctly wrapped. This is the
|
|
44
|
+
* same src-vs-lib dual-instance class react-native-css guards its `StyleCollection`/
|
|
45
|
+
* root-variable families against. Anchoring the context on `globalThis` (keyed by the
|
|
46
|
+
* `__oxyhq_bloom_theme_context__` property) collapses all copies onto one object. The
|
|
47
|
+
* `??=` runs `createContext` at most once per process.
|
|
48
|
+
*/
|
|
49
|
+
const BloomThemeContext = exports.BloomThemeContext = globalThis.__oxyhq_bloom_theme_context__ ??= /*#__PURE__*/(0, _react.createContext)(null);
|
|
30
50
|
function useThemeState({
|
|
31
51
|
controlledMode,
|
|
32
52
|
controlledPreset,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_react","_interopRequireWildcard","_reactNative","_useControllableState","_FontLoader","_applyDarkClass","_buildTheme","_styleBuilder","_nativeRootVars","_persistence","_setColorSchemeSafe","_useIsomorphicLayoutEffect","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_PRESET","DEFAULT_MODE","BloomThemeContext","exports","createContext","useThemeState","controlledMode","controlledPreset","defaultMode","defaultPreset","persistKey","storage","onModeChange","onColorPresetChange","syncResult","useState","readPersistedThemeSync","syncState","kind","state","initialMode","mode","initialPreset","colorPreset","hydrated","setHydrated","setModeInternal","useControllableState","value","defaultValue","setPresetInternal","modeRef","useRef","current","presetRef","useEffect","cancelled","readPersistedTheme","then","undefined","setMode","useCallback","next","writePersistedTheme","setColorPreset","resetTheme","removePersistedTheme","BloomThemeProvider","defaultColorPreset","awaitHydration","onHydrating","fonts","onFontsLoading","nativeWrapperStyle","children","rnScheme","useRNColorScheme","isAdaptive","effectiveMode","resolved","useIsomorphicLayoutEffect","setColorSchemeSafe","applyDarkClass","applyColorPresetVars","applyNativeRootVars","contextValue","useMemo","theme","buildTheme","shouldAwait","Boolean","isGated","nativeVars","Platform","OS","buildScopeVars","VariableProvider","getVariableContextProvider","content","jsx","FontLoader","enabled","fallback","Provider","nativeTree","View","style","flex"],"sourceRoot":"../../../src","sources":["theme/BloomThemeProvider.tsx"],"mappings":";;;;;;;AAIAA,OAAA;AAEA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AASA,IAAAG,YAAA,GAAAH,OAAA;AAQA,IAAAI,qBAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAEA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAEA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,YAAA,GAAAV,OAAA;AAQA,IAAAW,mBAAA,GAAAX,OAAA;AACA,IAAAY,0BAAA,GAAAZ,OAAA;AAA2E,IAAAa,WAAA,GAAAb,OAAA;AAAA,SAAAE,wBAAAY,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAd,uBAAA,YAAAA,CAAAY,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAxC3E;AACA;AACA;AACA;;AAwCA,MAAMkB,cAA4B,GAAG,KAAK;AAC1C,MAAMC,YAAuB,GAAG,QAAQ;
|
|
1
|
+
{"version":3,"names":["require","_react","_interopRequireWildcard","_reactNative","_useControllableState","_FontLoader","_applyDarkClass","_buildTheme","_styleBuilder","_nativeRootVars","_persistence","_setColorSchemeSafe","_useIsomorphicLayoutEffect","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_PRESET","DEFAULT_MODE","BloomThemeContext","exports","globalThis","__oxyhq_bloom_theme_context__","createContext","useThemeState","controlledMode","controlledPreset","defaultMode","defaultPreset","persistKey","storage","onModeChange","onColorPresetChange","syncResult","useState","readPersistedThemeSync","syncState","kind","state","initialMode","mode","initialPreset","colorPreset","hydrated","setHydrated","setModeInternal","useControllableState","value","defaultValue","setPresetInternal","modeRef","useRef","current","presetRef","useEffect","cancelled","readPersistedTheme","then","undefined","setMode","useCallback","next","writePersistedTheme","setColorPreset","resetTheme","removePersistedTheme","BloomThemeProvider","defaultColorPreset","awaitHydration","onHydrating","fonts","onFontsLoading","nativeWrapperStyle","children","rnScheme","useRNColorScheme","isAdaptive","effectiveMode","resolved","useIsomorphicLayoutEffect","setColorSchemeSafe","applyDarkClass","applyColorPresetVars","applyNativeRootVars","contextValue","useMemo","theme","buildTheme","shouldAwait","Boolean","isGated","nativeVars","Platform","OS","buildScopeVars","VariableProvider","getVariableContextProvider","content","jsx","FontLoader","enabled","fallback","Provider","nativeTree","View","style","flex"],"sourceRoot":"../../../src","sources":["theme/BloomThemeProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,10 +19,13 @@ function applyDarkClass(resolved) {
|
|
|
19
19
|
* No-op on native — only affects web.
|
|
20
20
|
*
|
|
21
21
|
* Writes both the raw HSL triples (e.g. `--primary: 185 100% 20%`) and the
|
|
22
|
-
* resolved `--color-*` vars (`--color-primary:
|
|
22
|
+
* resolved `--color-*` vars (`--color-primary: rgb(0 94 102)`) so both
|
|
23
23
|
* shadcn-style `hsl(var(--primary))` plumbing and Tailwind v4 `@theme`
|
|
24
|
-
* utilities resolve consistently.
|
|
25
|
-
*
|
|
24
|
+
* utilities resolve consistently. The resolved vars are emitted as `rgb(...)`
|
|
25
|
+
* (not `hsl(...)`) so the alpha utilities (`bg-primary/10`) resolve on native —
|
|
26
|
+
* see `getPresetVars` / `hslTripletToRgb`. Includes extended tokens (card,
|
|
27
|
+
* chart-*, content-area, sidebar-*) so consumer apps don't need to synthesize
|
|
28
|
+
* them.
|
|
26
29
|
*/
|
|
27
30
|
function applyColorPresetVars(preset, resolved) {
|
|
28
31
|
if (_reactNative.Platform.OS !== 'web' || typeof document === 'undefined') return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_colorPresets","_presetVars","applyDarkClass","resolved","Platform","OS","document","documentElement","classList","toggle","applyColorPresetVars","preset","APP_COLOR_PRESETS","vars","getPresetVars","includeResolvedColorVars","root","style","key","value","Object","entries","setProperty"],"sourceRoot":"../../../src","sources":["theme/apply-dark-class.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEO,SAASG,cAAcA,CAACC,QAA0B,EAAE;EACzD,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;IAC5DA,QAAQ,CAACC,eAAe,CAACC,SAAS,CAACC,MAAM,CAAC,MAAM,EAAEN,QAAQ,KAAK,MAAM,CAAC;EACxE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,oBAAoBA,CAACC,MAAoB,EAAER,QAA0B,EAAE;EACrF,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;EAC9D,IAAI,CAACM,+BAAiB,CAACD,MAAM,CAAC,EAAE;EAEhC,MAAME,IAAI,GAAG,IAAAC,yBAAa,EAACH,MAAM,EAAER,QAAQ,EAAE;IAAEY,wBAAwB,EAAE;EAAK,CAAC,CAAC;EAChF,MAAMC,IAAI,GAAGV,QAAQ,CAACC,eAAe,CAACU,KAAK;EAE3C,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACR,IAAI,CAAC,EAAE;IAC/CG,IAAI,CAACM,WAAW,CAACJ,GAAG,EAAEC,KAAK,CAAC;EAC9B;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_colorPresets","_presetVars","applyDarkClass","resolved","Platform","OS","document","documentElement","classList","toggle","applyColorPresetVars","preset","APP_COLOR_PRESETS","vars","getPresetVars","includeResolvedColorVars","root","style","key","value","Object","entries","setProperty"],"sourceRoot":"../../../src","sources":["theme/apply-dark-class.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEO,SAASG,cAAcA,CAACC,QAA0B,EAAE;EACzD,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;IAC5DA,QAAQ,CAACC,eAAe,CAACC,SAAS,CAACC,MAAM,CAAC,MAAM,EAAEN,QAAQ,KAAK,MAAM,CAAC;EACxE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,oBAAoBA,CAACC,MAAoB,EAAER,QAA0B,EAAE;EACrF,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;EAC9D,IAAI,CAACM,+BAAiB,CAACD,MAAM,CAAC,EAAE;EAEhC,MAAME,IAAI,GAAG,IAAAC,yBAAa,EAACH,MAAM,EAAER,QAAQ,EAAE;IAAEY,wBAAwB,EAAE;EAAK,CAAC,CAAC;EAChF,MAAMC,IAAI,GAAGV,QAAQ,CAACC,eAAe,CAACU,KAAK;EAE3C,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACR,IAAI,CAAC,EAAE;IAC/CG,IAAI,CAACM,WAAW,CAACJ,GAAG,EAAEC,KAAK,CAAC;EAC9B;AACF","ignoreList":[]}
|
|
@@ -31,11 +31,16 @@ var _styleBuilder = require("./color-scope/style-builder.js");
|
|
|
31
31
|
* families hold only react-native-css's own `__rn-css-rem`/`__rn-css-color` entries
|
|
32
32
|
* (Bloom's `global.css` defines the `hsl(var(--primary))` indirection but not the HSL
|
|
33
33
|
* triples themselves — those are injected at runtime), so the whole tree below the
|
|
34
|
-
* navigator renders monochrome. Writing the
|
|
34
|
+
* navigator renders monochrome. Writing the vars into `rootVariables` here is the
|
|
35
35
|
* exact same mechanism react-native-css uses for compiled `:root {}` / `@theme` vars
|
|
36
36
|
* (`StyleCollection.inject` does `rootVariables(name).set(valueArray)`), so portaled
|
|
37
37
|
* content resolves the palette identically regardless of React-tree position.
|
|
38
38
|
*
|
|
39
|
+
* The raw tokens are written as HSL triples (`primary: '205 87% 53%'`) and the
|
|
40
|
+
* resolved Tailwind v4 `--color-*` vars as sRGB `rgb(...)` (`color-primary:
|
|
41
|
+
* 'rgb(31 153 239)'`) — the latter so `color-mix`-based alpha utilities resolve
|
|
42
|
+
* on native (see `getPresetVars` / `hslTripletToRgb`).
|
|
43
|
+
*
|
|
39
44
|
* Why a STATIC `import`, not a runtime `require` (critical)
|
|
40
45
|
* ---------------------------------------------------------
|
|
41
46
|
* react-native-css@3.0.7 ships both a `dist/commonjs` and a `dist/module` build, and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_nativeInternal","require","_styleBuilder","applyNativeRootVars","colorPreset","mode","rootVariables","vars","buildScopeVars","key","value","Object","entries","name","startsWith","slice","set"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.ts"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,mBAAmBA,CAACC,WAAyB,EAAEC,IAAsB,EAAQ;EAC3F,IAAI,OAAOC,6BAAa,KAAK,UAAU,EAAE;EAEzC,MAAMC,IAAI,GAAG,IAAAC,4BAAc,EAACJ,WAAW,EAAEC,IAAI,CAAC;EAC9C,KAAK,MAAM,CAACI,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,IAAI,CAAC,EAAE;IAC/C;IACA,MAAMM,IAAI,GAAGJ,GAAG,CAACK,UAAU,CAAC,IAAI,CAAC,GAAGL,GAAG,CAACM,KAAK,CAAC,CAAC,CAAC,GAAGN,GAAG;IACtD,IAAAH,6BAAa,EAACO,IAAI,CAAC,CAACG,GAAG,CAAC,CAAC,CAACN,KAAK,CAAC,CAAC,CAAC;EACpC;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_nativeInternal","require","_styleBuilder","applyNativeRootVars","colorPreset","mode","rootVariables","vars","buildScopeVars","key","value","Object","entries","name","startsWith","slice","set"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.ts"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,mBAAmBA,CAACC,WAAyB,EAAEC,IAAsB,EAAQ;EAC3F,IAAI,OAAOC,6BAAa,KAAK,UAAU,EAAE;EAEzC,MAAMC,IAAI,GAAG,IAAAC,4BAAc,EAACJ,WAAW,EAAEC,IAAI,CAAC;EAC9C,KAAK,MAAM,CAACI,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,IAAI,CAAC,EAAE;IAC/C;IACA,MAAMM,IAAI,GAAGJ,GAAG,CAACK,UAAU,CAAC,IAAI,CAAC,GAAGL,GAAG,CAACM,KAAK,CAAC,CAAC,CAAC,GAAGN,GAAG;IACtD,IAAAH,6BAAa,EAACO,IAAI,CAAC,CAACG,GAAG,CAAC,CAAC,CAACN,KAAK,CAAC,CAAC,CAAC;EACpC;AACF","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.applyPresetVarsToDocument = applyPresetVarsToDocument;
|
|
7
7
|
exports.getPresetVars = getPresetVars;
|
|
8
|
+
exports.hslTripletToRgb = hslTripletToRgb;
|
|
8
9
|
var _reactNative = require("react-native");
|
|
9
10
|
var _colorPresets = require("./color-presets.js");
|
|
10
11
|
function extractHue(hslVar) {
|
|
@@ -13,6 +14,71 @@ function extractHue(hslVar) {
|
|
|
13
14
|
function extractSat(hslVar) {
|
|
14
15
|
return parseInt(hslVar.split(' ')[1] ?? '0', 10);
|
|
15
16
|
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Convert a shadcn-style HSL triple (`'H S% L%'`, optionally with an alpha tail
|
|
20
|
+
* `'H S% L% / A'`) into an sRGB `rgb(...)` string.
|
|
21
|
+
*
|
|
22
|
+
* Why rgb and not hsl (the native alpha-utility bug this fixes)
|
|
23
|
+
* -------------------------------------------------------------
|
|
24
|
+
* Tailwind v4 compiles an alpha-on-theme-color utility (`bg-primary/10`) into a
|
|
25
|
+
* `color-mix(... var(--color-primary) 10%, transparent)` declaration. On native,
|
|
26
|
+
* react-native-css resolves that `color-mix` at runtime via `colorjs.io/fn`, but
|
|
27
|
+
* its `color-mix` implementation registers ONLY the `sRGB`, `P3`, and `OKLab`
|
|
28
|
+
* color spaces — never `HSL`. So if `--color-primary` resolves to an `hsl(...)`
|
|
29
|
+
* string, `parse('hsl(...)')` throws, the mix is swallowed, and the utility
|
|
30
|
+
* silently produces no color. Emitting the resolved var as `rgb(...)` (a space
|
|
31
|
+
* colorjs.io always has registered) makes the alpha utilities resolve on native,
|
|
32
|
+
* matching web. Full (non-alpha) utilities already worked because React Native's
|
|
33
|
+
* native color parser handles `hsl()` directly; only `color-mix` was affected.
|
|
34
|
+
*
|
|
35
|
+
* Output is space-separated channels (`rgb(31 153 239)`), the modern CSS syntax
|
|
36
|
+
* parsed by both `colorjs.io/fn` (with only sRGB/P3/OKLab registered) and
|
|
37
|
+
* react-native-web / browsers. An alpha tail emits `rgb(r g b / a)`, likewise
|
|
38
|
+
* parsed by both.
|
|
39
|
+
*
|
|
40
|
+
* Pure function — standard HSL→sRGB conversion, channels rounded to integers.
|
|
41
|
+
* Tolerates a `deg` suffix on the hue and `%` suffixes on saturation/lightness.
|
|
42
|
+
*/
|
|
43
|
+
function hslTripletToRgb(triplet) {
|
|
44
|
+
const [colorPart, alphaPart] = triplet.split('/').map(part => part.trim());
|
|
45
|
+
const channels = (colorPart ?? '').split(/\s+/).filter(Boolean);
|
|
46
|
+
const hue = parseFloat((channels[0] ?? '0').replace(/deg$/i, ''));
|
|
47
|
+
const sat = parseFloat((channels[1] ?? '0').replace('%', '')) / 100;
|
|
48
|
+
const light = parseFloat((channels[2] ?? '0').replace('%', '')) / 100;
|
|
49
|
+
const h = Number.isFinite(hue) ? hue : 0;
|
|
50
|
+
const s = Number.isFinite(sat) ? sat : 0;
|
|
51
|
+
const l = Number.isFinite(light) ? light : 0;
|
|
52
|
+
const chroma = (1 - Math.abs(2 * l - 1)) * s;
|
|
53
|
+
const huePrime = (h % 360 + 360) % 360 / 60;
|
|
54
|
+
const second = chroma * (1 - Math.abs(huePrime % 2 - 1));
|
|
55
|
+
let r = 0;
|
|
56
|
+
let g = 0;
|
|
57
|
+
let b = 0;
|
|
58
|
+
if (huePrime < 1) {
|
|
59
|
+
[r, g, b] = [chroma, second, 0];
|
|
60
|
+
} else if (huePrime < 2) {
|
|
61
|
+
[r, g, b] = [second, chroma, 0];
|
|
62
|
+
} else if (huePrime < 3) {
|
|
63
|
+
[r, g, b] = [0, chroma, second];
|
|
64
|
+
} else if (huePrime < 4) {
|
|
65
|
+
[r, g, b] = [0, second, chroma];
|
|
66
|
+
} else if (huePrime < 5) {
|
|
67
|
+
[r, g, b] = [second, 0, chroma];
|
|
68
|
+
} else {
|
|
69
|
+
[r, g, b] = [chroma, 0, second];
|
|
70
|
+
}
|
|
71
|
+
const match = l - chroma / 2;
|
|
72
|
+
const red = Math.round((r + match) * 255);
|
|
73
|
+
const green = Math.round((g + match) * 255);
|
|
74
|
+
const blue = Math.round((b + match) * 255);
|
|
75
|
+
if (alphaPart !== undefined && alphaPart !== '') {
|
|
76
|
+
const alpha = alphaPart.endsWith('%') ? parseFloat(alphaPart) / 100 : parseFloat(alphaPart);
|
|
77
|
+
const safeAlpha = Number.isFinite(alpha) ? alpha : 1;
|
|
78
|
+
return `rgb(${red} ${green} ${blue} / ${safeAlpha})`;
|
|
79
|
+
}
|
|
80
|
+
return `rgb(${red} ${green} ${blue})`;
|
|
81
|
+
}
|
|
16
82
|
const RESOLVED_COLOR_MAP = {
|
|
17
83
|
'--background': '--color-background',
|
|
18
84
|
'--foreground': '--color-foreground',
|
|
@@ -79,7 +145,7 @@ function getPresetVars(colorName, mode, options = {}) {
|
|
|
79
145
|
};
|
|
80
146
|
for (const [rawKey, colorKey] of Object.entries(RESOLVED_COLOR_MAP)) {
|
|
81
147
|
const value = extended[rawKey];
|
|
82
|
-
if (value) resolved[colorKey] =
|
|
148
|
+
if (value) resolved[colorKey] = hslTripletToRgb(value);
|
|
83
149
|
}
|
|
84
150
|
return resolved;
|
|
85
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_colorPresets","extractHue","hslVar","parseInt","split","extractSat","RESOLVED_COLOR_MAP","getPresetVars","colorName","mode","options","preset","APP_COLOR_PRESETS","base","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_colorPresets","extractHue","hslVar","parseInt","split","extractSat","hslTripletToRgb","triplet","colorPart","alphaPart","map","part","trim","channels","filter","Boolean","hue","parseFloat","replace","sat","light","h","Number","isFinite","s","l","chroma","Math","abs","huePrime","second","r","g","b","match","red","round","green","blue","undefined","alpha","endsWith","safeAlpha","RESOLVED_COLOR_MAP","getPresetVars","colorName","mode","options","preset","APP_COLOR_PRESETS","base","dark","get","key","primary","foreground","min","isDark","extended","includeResolvedColorVars","resolved","rawKey","colorKey","Object","entries","value","applyPresetVarsToDocument","Platform","OS","document","vars","root","documentElement","style","setProperty"],"sourceRoot":"../../../src","sources":["theme/preset-vars.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -67,7 +67,24 @@ function createPortalGroup() {
|
|
|
67
67
|
Portal
|
|
68
68
|
};
|
|
69
69
|
}
|
|
70
|
-
|
|
70
|
+
/**
|
|
71
|
+
* `DefaultPortal` is a `globalThis`-guarded singleton so that every physical copy of
|
|
72
|
+
* this module shares ONE portal group (one `Context`, one `Provider`/`Outlet`/`Portal`
|
|
73
|
+
* triple).
|
|
74
|
+
*
|
|
75
|
+
* Why this is required: like the theme module, `exports["./portal"]` ships a
|
|
76
|
+
* `react-native` → `./src/...` condition alongside the `lib/module` / `lib/commonjs`
|
|
77
|
+
* forks, and the `Portal` component is consumed cross-subpath from `./tooltip`,
|
|
78
|
+
* `./prompt-input`, `./dialog`, `./select`, `./menu`, `./context-menu`, and `./popover`
|
|
79
|
+
* while the `Provider`/`Outlet` are mounted once at the app root via `@oxyhq/bloom/portal`.
|
|
80
|
+
* A bundler can resolve those subpaths through different export conditions, so without a
|
|
81
|
+
* guard each physical copy runs its own `createPortalGroup()` and a `<Portal>` from copy
|
|
82
|
+
* A would register against the `Provider`'s map in copy B — its content would never reach
|
|
83
|
+
* the `Outlet`. Anchoring the group on `globalThis` (keyed by `__oxyhq_bloom_portal_group__`)
|
|
84
|
+
* collapses all copies onto one group. Same src-vs-lib dual-instance class as
|
|
85
|
+
* `BloomThemeContext`.
|
|
86
|
+
*/
|
|
87
|
+
const DefaultPortal = globalThis.__oxyhq_bloom_portal_group__ ??= createPortalGroup();
|
|
71
88
|
export const Provider = DefaultPortal.Provider;
|
|
72
89
|
export const Outlet = /*#__PURE__*/memo(DefaultPortal.Outlet);
|
|
73
90
|
export const Portal = DefaultPortal.Portal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","Fragment","memo","useCallback","useContext","useEffect","useId","useMemo","useRef","useState","View","StyleSheet","Platform","jsx","_jsx","_Fragment","createPortalGroup","Context","outlet","append","remove","displayName","Provider","props","map","setOutlet","id","component","current","children","Object","values","contextValue","value","Outlet","ctx","OS","style","styles","portalOutlet","Portal","DefaultPortal","create","position","top","left","right","bottom","pointerEvents","zIndex"],"sourceRoot":"../../../src","sources":["portal/index.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["React","createContext","Fragment","memo","useCallback","useContext","useEffect","useId","useMemo","useRef","useState","View","StyleSheet","Platform","jsx","_jsx","_Fragment","createPortalGroup","Context","outlet","append","remove","displayName","Provider","props","map","setOutlet","id","component","current","children","Object","values","contextValue","value","Outlet","ctx","OS","style","styles","portalOutlet","Portal","DefaultPortal","globalThis","__oxyhq_bloom_portal_group__","create","position","top","left","right","bottom","pointerEvents","zIndex"],"sourceRoot":"../../../src","sources":["portal/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,7 +19,27 @@ import { useIsomorphicLayoutEffect } from "./use-isomorphic-layout-effect.js";
|
|
|
19
19
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
20
20
|
const DEFAULT_PRESET = 'oxy';
|
|
21
21
|
const DEFAULT_MODE = 'system';
|
|
22
|
-
|
|
22
|
+
/**
|
|
23
|
+
* `BloomThemeContext` is a `globalThis`-guarded singleton so that every physical
|
|
24
|
+
* copy of this module returns the SAME React context object.
|
|
25
|
+
*
|
|
26
|
+
* Why this is required: `package.json`'s `exports["./theme"]` ships a
|
|
27
|
+
* `react-native` → `./src/...` condition alongside the `import` → `./lib/module/...`
|
|
28
|
+
* and `require` → `./lib/commonjs/...` forks, so up to three physical copies of the
|
|
29
|
+
* theme module can coexist in a single bundle. A bundler can resolve them through
|
|
30
|
+
* DIFFERENT conditions across import paths — e.g. an app importing `@oxyhq/bloom/theme`
|
|
31
|
+
* lands on the `src` copy while `@oxyhq/bloom/toast`'s `Toast.tsx` imports
|
|
32
|
+
* `../theme/use-theme` relatively and lands on a different physical copy. With a plain
|
|
33
|
+
* module-level `createContext(...)`, each copy creates its OWN context object: the
|
|
34
|
+
* mounted `<BloomThemeProvider>` writes into context A while `useTheme`/`useBloomTheme`/
|
|
35
|
+
* `Toast`/`Dialog` read context B, so `useContext` returns `null` and they throw
|
|
36
|
+
* "must be used within a <BloomThemeProvider>" even when correctly wrapped. This is the
|
|
37
|
+
* same src-vs-lib dual-instance class react-native-css guards its `StyleCollection`/
|
|
38
|
+
* root-variable families against. Anchoring the context on `globalThis` (keyed by the
|
|
39
|
+
* `__oxyhq_bloom_theme_context__` property) collapses all copies onto one object. The
|
|
40
|
+
* `??=` runs `createContext` at most once per process.
|
|
41
|
+
*/
|
|
42
|
+
export const BloomThemeContext = globalThis.__oxyhq_bloom_theme_context__ ??= /*#__PURE__*/createContext(null);
|
|
23
43
|
function useThemeState({
|
|
24
44
|
controlledMode,
|
|
25
45
|
controlledPreset,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useCallback","useEffect","useMemo","useRef","useState","Platform","View","useColorScheme","useRNColorScheme","useControllableState","FontLoader","applyDarkClass","applyColorPresetVars","buildTheme","buildScopeVars","getVariableContextProvider","applyNativeRootVars","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","nativeWrapperStyle","children","rnScheme","isAdaptive","effectiveMode","resolved","contextValue","theme","shouldAwait","Boolean","isGated","nativeVars","OS","VariableProvider","content","enabled","fallback","Provider","nativeTree","style","flex"],"sourceRoot":"../../../src","sources":["theme/BloomThemeProvider.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,OAAO,uBAAoB;AAE3B,OAAOA,KAAK,IACVC,aAAa,EACbC,WAAW,EAEXC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SACEC,QAAQ,EACRC,IAAI,EACJC,cAAc,IAAIC,gBAAgB,QAG7B,cAAc;AAErB,SAASC,oBAAoB,QAAQ,kCAA+B;AACpE,SAASC,UAAU,QAAQ,qBAAqB;AAEhD,SAASC,cAAc,EAAEC,oBAAoB,QAAQ,uBAAoB;AACzE,SAASC,UAAU,QAAQ,kBAAe;AAE1C,SAASC,cAAc,EAAEC,0BAA0B,QAAQ,gCAA6B;AACxF,SAASC,mBAAmB,QAAQ,oBAAoB;AACxD,SACEC,kBAAkB,EAClBC,sBAAsB,EACtBC,oBAAoB,EACpBC,mBAAmB,QAGd,kBAAe;AACtB,SAASC,kBAAkB,QAAQ,4BAAyB;AAC5D,SAASC,yBAAyB,QAAQ,mCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG3E,MAAMC,cAA4B,GAAG,KAAK;AAC1C,MAAMC,YAAuB,GAAG,QAAQ;
|
|
1
|
+
{"version":3,"names":["React","createContext","useCallback","useEffect","useMemo","useRef","useState","Platform","View","useColorScheme","useRNColorScheme","useControllableState","FontLoader","applyDarkClass","applyColorPresetVars","buildTheme","buildScopeVars","getVariableContextProvider","applyNativeRootVars","readPersistedTheme","readPersistedThemeSync","removePersistedTheme","writePersistedTheme","setColorSchemeSafe","useIsomorphicLayoutEffect","jsx","_jsx","DEFAULT_PRESET","DEFAULT_MODE","BloomThemeContext","globalThis","__oxyhq_bloom_theme_context__","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","nativeWrapperStyle","children","rnScheme","isAdaptive","effectiveMode","resolved","contextValue","theme","shouldAwait","Boolean","isGated","nativeVars","OS","VariableProvider","content","enabled","fallback","Provider","nativeTree","style","flex"],"sourceRoot":"../../../src","sources":["theme/BloomThemeProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,10 +14,13 @@ export function applyDarkClass(resolved) {
|
|
|
14
14
|
* No-op on native — only affects web.
|
|
15
15
|
*
|
|
16
16
|
* Writes both the raw HSL triples (e.g. `--primary: 185 100% 20%`) and the
|
|
17
|
-
* resolved `--color-*` vars (`--color-primary:
|
|
17
|
+
* resolved `--color-*` vars (`--color-primary: rgb(0 94 102)`) so both
|
|
18
18
|
* shadcn-style `hsl(var(--primary))` plumbing and Tailwind v4 `@theme`
|
|
19
|
-
* utilities resolve consistently.
|
|
20
|
-
*
|
|
19
|
+
* utilities resolve consistently. The resolved vars are emitted as `rgb(...)`
|
|
20
|
+
* (not `hsl(...)`) so the alpha utilities (`bg-primary/10`) resolve on native —
|
|
21
|
+
* see `getPresetVars` / `hslTripletToRgb`. Includes extended tokens (card,
|
|
22
|
+
* chart-*, content-area, sidebar-*) so consumer apps don't need to synthesize
|
|
23
|
+
* them.
|
|
21
24
|
*/
|
|
22
25
|
export function applyColorPresetVars(preset, resolved) {
|
|
23
26
|
if (Platform.OS !== 'web' || typeof document === 'undefined') return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","APP_COLOR_PRESETS","getPresetVars","applyDarkClass","resolved","OS","document","documentElement","classList","toggle","applyColorPresetVars","preset","vars","includeResolvedColorVars","root","style","key","value","Object","entries","setProperty"],"sourceRoot":"../../../src","sources":["theme/apply-dark-class.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,iBAAiB,QAA2B,oBAAiB;AACtE,SAASC,aAAa,QAAQ,kBAAe;AAE7C,OAAO,SAASC,cAAcA,CAACC,QAA0B,EAAE;EACzD,IAAIJ,QAAQ,CAACK,EAAE,KAAK,KAAK,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;IAC5DA,QAAQ,CAACC,eAAe,CAACC,SAAS,CAACC,MAAM,CAAC,MAAM,EAAEL,QAAQ,KAAK,MAAM,CAAC;EACxE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,oBAAoBA,CAACC,MAAoB,EAAEP,QAA0B,EAAE;EACrF,IAAIJ,QAAQ,CAACK,EAAE,KAAK,KAAK,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;EAC9D,IAAI,CAACL,iBAAiB,CAACU,MAAM,CAAC,EAAE;EAEhC,MAAMC,IAAI,GAAGV,aAAa,CAACS,MAAM,EAAEP,QAAQ,EAAE;IAAES,wBAAwB,EAAE;EAAK,CAAC,CAAC;EAChF,MAAMC,IAAI,GAAGR,QAAQ,CAACC,eAAe,CAACQ,KAAK;EAE3C,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACP,IAAI,CAAC,EAAE;IAC/CE,IAAI,CAACM,WAAW,CAACJ,GAAG,EAAEC,KAAK,CAAC;EAC9B;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Platform","APP_COLOR_PRESETS","getPresetVars","applyDarkClass","resolved","OS","document","documentElement","classList","toggle","applyColorPresetVars","preset","vars","includeResolvedColorVars","root","style","key","value","Object","entries","setProperty"],"sourceRoot":"../../../src","sources":["theme/apply-dark-class.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,iBAAiB,QAA2B,oBAAiB;AACtE,SAASC,aAAa,QAAQ,kBAAe;AAE7C,OAAO,SAASC,cAAcA,CAACC,QAA0B,EAAE;EACzD,IAAIJ,QAAQ,CAACK,EAAE,KAAK,KAAK,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;IAC5DA,QAAQ,CAACC,eAAe,CAACC,SAAS,CAACC,MAAM,CAAC,MAAM,EAAEL,QAAQ,KAAK,MAAM,CAAC;EACxE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,oBAAoBA,CAACC,MAAoB,EAAEP,QAA0B,EAAE;EACrF,IAAIJ,QAAQ,CAACK,EAAE,KAAK,KAAK,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;EAC9D,IAAI,CAACL,iBAAiB,CAACU,MAAM,CAAC,EAAE;EAEhC,MAAMC,IAAI,GAAGV,aAAa,CAACS,MAAM,EAAEP,QAAQ,EAAE;IAAES,wBAAwB,EAAE;EAAK,CAAC,CAAC;EAChF,MAAMC,IAAI,GAAGR,QAAQ,CAACC,eAAe,CAACQ,KAAK;EAE3C,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACP,IAAI,CAAC,EAAE;IAC/CE,IAAI,CAACM,WAAW,CAACJ,GAAG,EAAEC,KAAK,CAAC;EAC9B;AACF","ignoreList":[]}
|
|
@@ -27,11 +27,16 @@ import { buildScopeVars } from "./color-scope/style-builder.js";
|
|
|
27
27
|
* families hold only react-native-css's own `__rn-css-rem`/`__rn-css-color` entries
|
|
28
28
|
* (Bloom's `global.css` defines the `hsl(var(--primary))` indirection but not the HSL
|
|
29
29
|
* triples themselves — those are injected at runtime), so the whole tree below the
|
|
30
|
-
* navigator renders monochrome. Writing the
|
|
30
|
+
* navigator renders monochrome. Writing the vars into `rootVariables` here is the
|
|
31
31
|
* exact same mechanism react-native-css uses for compiled `:root {}` / `@theme` vars
|
|
32
32
|
* (`StyleCollection.inject` does `rootVariables(name).set(valueArray)`), so portaled
|
|
33
33
|
* content resolves the palette identically regardless of React-tree position.
|
|
34
34
|
*
|
|
35
|
+
* The raw tokens are written as HSL triples (`primary: '205 87% 53%'`) and the
|
|
36
|
+
* resolved Tailwind v4 `--color-*` vars as sRGB `rgb(...)` (`color-primary:
|
|
37
|
+
* 'rgb(31 153 239)'`) — the latter so `color-mix`-based alpha utilities resolve
|
|
38
|
+
* on native (see `getPresetVars` / `hslTripletToRgb`).
|
|
39
|
+
*
|
|
35
40
|
* Why a STATIC `import`, not a runtime `require` (critical)
|
|
36
41
|
* ---------------------------------------------------------
|
|
37
42
|
* react-native-css@3.0.7 ships both a `dist/commonjs` and a `dist/module` build, and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["rootVariables","buildScopeVars","applyNativeRootVars","colorPreset","mode","vars","key","value","Object","entries","name","startsWith","slice","set"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,kCAAkC;AAEhE,SAASC,cAAc,QAAQ,gCAA6B;AAG5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,WAAyB,EAAEC,IAAsB,EAAQ;EAC3F,IAAI,OAAOJ,aAAa,KAAK,UAAU,EAAE;EAEzC,MAAMK,IAAI,GAAGJ,cAAc,CAACE,WAAW,EAAEC,IAAI,CAAC;EAC9C,KAAK,MAAM,CAACE,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,IAAI,CAAC,EAAE;IAC/C;IACA,MAAMK,IAAI,GAAGJ,GAAG,CAACK,UAAU,CAAC,IAAI,CAAC,GAAGL,GAAG,CAACM,KAAK,CAAC,CAAC,CAAC,GAAGN,GAAG;IACtDN,aAAa,CAACU,IAAI,CAAC,CAACG,GAAG,CAAC,CAAC,CAACN,KAAK,CAAC,CAAC,CAAC;EACpC;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["rootVariables","buildScopeVars","applyNativeRootVars","colorPreset","mode","vars","key","value","Object","entries","name","startsWith","slice","set"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,kCAAkC;AAEhE,SAASC,cAAc,QAAQ,gCAA6B;AAG5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,WAAyB,EAAEC,IAAsB,EAAQ;EAC3F,IAAI,OAAOJ,aAAa,KAAK,UAAU,EAAE;EAEzC,MAAMK,IAAI,GAAGJ,cAAc,CAACE,WAAW,EAAEC,IAAI,CAAC;EAC9C,KAAK,MAAM,CAACE,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,IAAI,CAAC,EAAE;IAC/C;IACA,MAAMK,IAAI,GAAGJ,GAAG,CAACK,UAAU,CAAC,IAAI,CAAC,GAAGL,GAAG,CAACM,KAAK,CAAC,CAAC,CAAC,GAAGN,GAAG;IACtDN,aAAa,CAACU,IAAI,CAAC,CAACG,GAAG,CAAC,CAAC,CAACN,KAAK,CAAC,CAAC,CAAC;EACpC;AACF","ignoreList":[]}
|
|
@@ -8,6 +8,71 @@ function extractHue(hslVar) {
|
|
|
8
8
|
function extractSat(hslVar) {
|
|
9
9
|
return parseInt(hslVar.split(' ')[1] ?? '0', 10);
|
|
10
10
|
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Convert a shadcn-style HSL triple (`'H S% L%'`, optionally with an alpha tail
|
|
14
|
+
* `'H S% L% / A'`) into an sRGB `rgb(...)` string.
|
|
15
|
+
*
|
|
16
|
+
* Why rgb and not hsl (the native alpha-utility bug this fixes)
|
|
17
|
+
* -------------------------------------------------------------
|
|
18
|
+
* Tailwind v4 compiles an alpha-on-theme-color utility (`bg-primary/10`) into a
|
|
19
|
+
* `color-mix(... var(--color-primary) 10%, transparent)` declaration. On native,
|
|
20
|
+
* react-native-css resolves that `color-mix` at runtime via `colorjs.io/fn`, but
|
|
21
|
+
* its `color-mix` implementation registers ONLY the `sRGB`, `P3`, and `OKLab`
|
|
22
|
+
* color spaces — never `HSL`. So if `--color-primary` resolves to an `hsl(...)`
|
|
23
|
+
* string, `parse('hsl(...)')` throws, the mix is swallowed, and the utility
|
|
24
|
+
* silently produces no color. Emitting the resolved var as `rgb(...)` (a space
|
|
25
|
+
* colorjs.io always has registered) makes the alpha utilities resolve on native,
|
|
26
|
+
* matching web. Full (non-alpha) utilities already worked because React Native's
|
|
27
|
+
* native color parser handles `hsl()` directly; only `color-mix` was affected.
|
|
28
|
+
*
|
|
29
|
+
* Output is space-separated channels (`rgb(31 153 239)`), the modern CSS syntax
|
|
30
|
+
* parsed by both `colorjs.io/fn` (with only sRGB/P3/OKLab registered) and
|
|
31
|
+
* react-native-web / browsers. An alpha tail emits `rgb(r g b / a)`, likewise
|
|
32
|
+
* parsed by both.
|
|
33
|
+
*
|
|
34
|
+
* Pure function — standard HSL→sRGB conversion, channels rounded to integers.
|
|
35
|
+
* Tolerates a `deg` suffix on the hue and `%` suffixes on saturation/lightness.
|
|
36
|
+
*/
|
|
37
|
+
export function hslTripletToRgb(triplet) {
|
|
38
|
+
const [colorPart, alphaPart] = triplet.split('/').map(part => part.trim());
|
|
39
|
+
const channels = (colorPart ?? '').split(/\s+/).filter(Boolean);
|
|
40
|
+
const hue = parseFloat((channels[0] ?? '0').replace(/deg$/i, ''));
|
|
41
|
+
const sat = parseFloat((channels[1] ?? '0').replace('%', '')) / 100;
|
|
42
|
+
const light = parseFloat((channels[2] ?? '0').replace('%', '')) / 100;
|
|
43
|
+
const h = Number.isFinite(hue) ? hue : 0;
|
|
44
|
+
const s = Number.isFinite(sat) ? sat : 0;
|
|
45
|
+
const l = Number.isFinite(light) ? light : 0;
|
|
46
|
+
const chroma = (1 - Math.abs(2 * l - 1)) * s;
|
|
47
|
+
const huePrime = (h % 360 + 360) % 360 / 60;
|
|
48
|
+
const second = chroma * (1 - Math.abs(huePrime % 2 - 1));
|
|
49
|
+
let r = 0;
|
|
50
|
+
let g = 0;
|
|
51
|
+
let b = 0;
|
|
52
|
+
if (huePrime < 1) {
|
|
53
|
+
[r, g, b] = [chroma, second, 0];
|
|
54
|
+
} else if (huePrime < 2) {
|
|
55
|
+
[r, g, b] = [second, chroma, 0];
|
|
56
|
+
} else if (huePrime < 3) {
|
|
57
|
+
[r, g, b] = [0, chroma, second];
|
|
58
|
+
} else if (huePrime < 4) {
|
|
59
|
+
[r, g, b] = [0, second, chroma];
|
|
60
|
+
} else if (huePrime < 5) {
|
|
61
|
+
[r, g, b] = [second, 0, chroma];
|
|
62
|
+
} else {
|
|
63
|
+
[r, g, b] = [chroma, 0, second];
|
|
64
|
+
}
|
|
65
|
+
const match = l - chroma / 2;
|
|
66
|
+
const red = Math.round((r + match) * 255);
|
|
67
|
+
const green = Math.round((g + match) * 255);
|
|
68
|
+
const blue = Math.round((b + match) * 255);
|
|
69
|
+
if (alphaPart !== undefined && alphaPart !== '') {
|
|
70
|
+
const alpha = alphaPart.endsWith('%') ? parseFloat(alphaPart) / 100 : parseFloat(alphaPart);
|
|
71
|
+
const safeAlpha = Number.isFinite(alpha) ? alpha : 1;
|
|
72
|
+
return `rgb(${red} ${green} ${blue} / ${safeAlpha})`;
|
|
73
|
+
}
|
|
74
|
+
return `rgb(${red} ${green} ${blue})`;
|
|
75
|
+
}
|
|
11
76
|
const RESOLVED_COLOR_MAP = {
|
|
12
77
|
'--background': '--color-background',
|
|
13
78
|
'--foreground': '--color-foreground',
|
|
@@ -74,7 +139,7 @@ export function getPresetVars(colorName, mode, options = {}) {
|
|
|
74
139
|
};
|
|
75
140
|
for (const [rawKey, colorKey] of Object.entries(RESOLVED_COLOR_MAP)) {
|
|
76
141
|
const value = extended[rawKey];
|
|
77
|
-
if (value) resolved[colorKey] =
|
|
142
|
+
if (value) resolved[colorKey] = hslTripletToRgb(value);
|
|
78
143
|
}
|
|
79
144
|
return resolved;
|
|
80
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","APP_COLOR_PRESETS","extractHue","hslVar","parseInt","split","extractSat","
|
|
1
|
+
{"version":3,"names":["Platform","APP_COLOR_PRESETS","extractHue","hslVar","parseInt","split","extractSat","hslTripletToRgb","triplet","colorPart","alphaPart","map","part","trim","channels","filter","Boolean","hue","parseFloat","replace","sat","light","h","Number","isFinite","s","l","chroma","Math","abs","huePrime","second","r","g","b","match","red","round","green","blue","undefined","alpha","endsWith","safeAlpha","RESOLVED_COLOR_MAP","getPresetVars","colorName","mode","options","preset","base","dark","get","key","primary","foreground","min","isDark","extended","includeResolvedColorVars","resolved","rawKey","colorKey","Object","entries","value","applyPresetVarsToDocument","OS","document","vars","root","documentElement","style","setProperty"],"sourceRoot":"../../../src","sources":["theme/preset-vars.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,iBAAiB,QAA8C,oBAAiB;AAEzF,SAASC,UAAUA,CAACC,MAAc,EAAU;EAC1C,OAAOC,QAAQ,CAACD,MAAM,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;AAClD;AAEA,SAASC,UAAUA,CAACH,MAAc,EAAU;EAC1C,OAAOC,QAAQ,CAACD,MAAM,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,eAAeA,CAACC,OAAe,EAAU;EACvD,MAAM,CAACC,SAAS,EAAEC,SAAS,CAAC,GAAGF,OAAO,CAACH,KAAK,CAAC,GAAG,CAAC,CAACM,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACC,IAAI,CAAC,CAAC,CAAC;EAC5E,MAAMC,QAAQ,GAAG,CAACL,SAAS,IAAI,EAAE,EAAEJ,KAAK,CAAC,KAAK,CAAC,CAACU,MAAM,CAACC,OAAO,CAAC;EAE/D,MAAMC,GAAG,GAAGC,UAAU,CAAC,CAACJ,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,EAAEK,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;EACjE,MAAMC,GAAG,GAAGF,UAAU,CAAC,CAACJ,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,EAAEK,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG;EACnE,MAAME,KAAK,GAAGH,UAAU,CAAC,CAACJ,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,EAAEK,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG;EAErE,MAAMG,CAAC,GAAGC,MAAM,CAACC,QAAQ,CAACP,GAAG,CAAC,GAAGA,GAAG,GAAG,CAAC;EACxC,MAAMQ,CAAC,GAAGF,MAAM,CAACC,QAAQ,CAACJ,GAAG,CAAC,GAAGA,GAAG,GAAG,CAAC;EACxC,MAAMM,CAAC,GAAGH,MAAM,CAACC,QAAQ,CAACH,KAAK,CAAC,GAAGA,KAAK,GAAG,CAAC;EAE5C,MAAMM,MAAM,GAAG,CAAC,CAAC,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGH,CAAC,GAAG,CAAC,CAAC,IAAID,CAAC;EAC5C,MAAMK,QAAQ,GAAK,CAAER,CAAC,GAAG,GAAG,GAAI,GAAG,IAAI,GAAG,GAAI,EAAG;EACjD,MAAMS,MAAM,GAAGJ,MAAM,IAAI,CAAC,GAAGC,IAAI,CAACC,GAAG,CAAEC,QAAQ,GAAG,CAAC,GAAI,CAAC,CAAC,CAAC;EAE1D,IAAIE,CAAC,GAAG,CAAC;EACT,IAAIC,CAAC,GAAG,CAAC;EACT,IAAIC,CAAC,GAAG,CAAC;EACT,IAAIJ,QAAQ,GAAG,CAAC,EAAE;IAChB,CAACE,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAG,CAACP,MAAM,EAAEI,MAAM,EAAE,CAAC,CAAC;EACjC,CAAC,MAAM,IAAID,QAAQ,GAAG,CAAC,EAAE;IACvB,CAACE,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAG,CAACH,MAAM,EAAEJ,MAAM,EAAE,CAAC,CAAC;EACjC,CAAC,MAAM,IAAIG,QAAQ,GAAG,CAAC,EAAE;IACvB,CAACE,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAEP,MAAM,EAAEI,MAAM,CAAC;EACjC,CAAC,MAAM,IAAID,QAAQ,GAAG,CAAC,EAAE;IACvB,CAACE,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAEH,MAAM,EAAEJ,MAAM,CAAC;EACjC,CAAC,MAAM,IAAIG,QAAQ,GAAG,CAAC,EAAE;IACvB,CAACE,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAG,CAACH,MAAM,EAAE,CAAC,EAAEJ,MAAM,CAAC;EACjC,CAAC,MAAM;IACL,CAACK,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAG,CAACP,MAAM,EAAE,CAAC,EAAEI,MAAM,CAAC;EACjC;EAEA,MAAMI,KAAK,GAAGT,CAAC,GAAGC,MAAM,GAAG,CAAC;EAC5B,MAAMS,GAAG,GAAGR,IAAI,CAACS,KAAK,CAAC,CAACL,CAAC,GAAGG,KAAK,IAAI,GAAG,CAAC;EACzC,MAAMG,KAAK,GAAGV,IAAI,CAACS,KAAK,CAAC,CAACJ,CAAC,GAAGE,KAAK,IAAI,GAAG,CAAC;EAC3C,MAAMI,IAAI,GAAGX,IAAI,CAACS,KAAK,CAAC,CAACH,CAAC,GAAGC,KAAK,IAAI,GAAG,CAAC;EAE1C,IAAIzB,SAAS,KAAK8B,SAAS,IAAI9B,SAAS,KAAK,EAAE,EAAE;IAC/C,MAAM+B,KAAK,GAAG/B,SAAS,CAACgC,QAAQ,CAAC,GAAG,CAAC,GACjCxB,UAAU,CAACR,SAAS,CAAC,GAAG,GAAG,GAC3BQ,UAAU,CAACR,SAAS,CAAC;IACzB,MAAMiC,SAAS,GAAGpB,MAAM,CAACC,QAAQ,CAACiB,KAAK,CAAC,GAAGA,KAAK,GAAG,CAAC;IACpD,OAAO,OAAOL,GAAG,IAAIE,KAAK,IAAIC,IAAI,MAAMI,SAAS,GAAG;EACtD;EAEA,OAAO,OAAOP,GAAG,IAAIE,KAAK,IAAIC,IAAI,GAAG;AACvC;AAEA,MAAMK,kBAA0C,GAAG;EACjD,cAAc,EAAE,oBAAoB;EACpC,cAAc,EAAE,oBAAoB;EACpC,WAAW,EAAE,iBAAiB;EAC9B,sBAAsB,EAAE,4BAA4B;EACpD,aAAa,EAAE,mBAAmB;EAClC,wBAAwB,EAAE,8BAA8B;EACxD,SAAS,EAAE,eAAe;EAC1B,oBAAoB,EAAE,0BAA0B;EAChD,UAAU,EAAE,gBAAgB;EAC5B,qBAAqB,EAAE,2BAA2B;EAClD,eAAe,EAAE,qBAAqB;EACtC,UAAU,EAAE,gBAAgB;EAC5B,SAAS,EAAE,eAAe;EAC1B,QAAQ,EAAE,cAAc;EACxB,WAAW,EAAE,iBAAiB;EAC9B,sBAAsB,EAAE,4BAA4B;EACpD,WAAW,EAAE,iBAAiB;EAC9B,sBAAsB,EAAE,4BAA4B;EACpD,QAAQ,EAAE,cAAc;EACxB,mBAAmB,EAAE;AACvB,CAAC;AAoBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAC3BC,SAAuB,EACvBC,IAAsB,EACtBC,OAA0B,GAAG,CAAC,CAAC,EACjB;EACd,MAAMC,MAAM,GAAGhD,iBAAiB,CAAC6C,SAAS,CAAC;EAC3C,MAAMI,IAAI,GAAGH,IAAI,KAAK,OAAO,GAAGE,MAAM,CAAC5B,KAAK,GAAG4B,MAAM,CAACE,IAAI;EAC1D,MAAMC,GAAG,GAAIC,GAAW,IAAaH,IAAI,CAACG,GAAG,CAAC,IAAI,SAAS;EAC3D,MAAMC,OAAO,GAAGF,GAAG,CAAC,WAAW,CAAC;EAChC,MAAMG,UAAU,GAAGH,GAAG,CAAC,cAAc,CAAC;EACtC,MAAMnC,GAAG,GAAGf,UAAU,CAACoD,OAAO,CAAC;EAC/B,MAAMlC,GAAG,GAAGQ,IAAI,CAAC4B,GAAG,CAAClD,UAAU,CAACgD,OAAO,CAAC,EAAE,EAAE,CAAC;EAC7C,MAAMG,MAAM,GAAGV,IAAI,KAAK,MAAM;EAE9B,MAAMW,QAAsB,GAAG;IAC7B,GAAGR,IAAI;IACP;IACA;IACA;IACA,QAAQ,EAAEO,MAAM,GAAG,GAAGxC,GAAG,UAAU,GAAG,GAAGA,GAAG,UAAU;IACtD,mBAAmB,EAAEsC,UAAU;IAC/B,WAAW,EAAE,GAAGtC,GAAG,IAAIG,GAAG,OAAO;IACjC,WAAW,EAAE,GAAGH,GAAG,IAAIG,GAAG,OAAO;IACjC,WAAW,EAAE,GAAGH,GAAG,IAAIG,GAAG,OAAO;IACjC,WAAW,EAAE,GAAGH,GAAG,IAAIG,GAAG,KAAKqC,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG;IAClD,WAAW,EAAE,GAAGxC,GAAG,IAAIG,GAAG,KAAKqC,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG;IAClD,gBAAgB,EAAEA,MAAM,GAAG,GAAGxC,GAAG,SAAS,GAAGmC,GAAG,CAAC,WAAW,CAAC;IAC7D,sBAAsB,EAAEG,UAAU;IAClC,mBAAmB,EAAED,OAAO;IAC5B,8BAA8B,EAAEF,GAAG,CAAC,sBAAsB,CAAC;IAC3D,kBAAkB,EAAEK,MAAM,GAAGL,GAAG,CAAC,WAAW,CAAC,GAAGA,GAAG,CAAC,UAAU,CAAC;IAC/D,6BAA6B,EAAEK,MAAM,GAAGF,UAAU,GAAGH,GAAG,CAAC,qBAAqB,CAAC;IAC/E,kBAAkB,EAAEA,GAAG,CAAC,UAAU,CAAC;IACnC,gBAAgB,EAAEA,GAAG,CAAC,QAAQ;EAChC,CAAC;EAED,IAAI,CAACJ,OAAO,CAACW,wBAAwB,EAAE,OAAOD,QAAQ;EAEtD,MAAME,QAAsB,GAAG;IAAE,GAAGF;EAAS,CAAC;EAC9C,KAAK,MAAM,CAACG,MAAM,EAAEC,QAAQ,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACpB,kBAAkB,CAAC,EAAE;IACnE,MAAMqB,KAAK,GAAGP,QAAQ,CAACG,MAAM,CAAC;IAC9B,IAAII,KAAK,EAAEL,QAAQ,CAACE,QAAQ,CAAC,GAAGvD,eAAe,CAAC0D,KAAK,CAAC;EACxD;EACA,OAAOL,QAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,yBAAyBA,CACvCpB,SAAuB,EACvBC,IAAsB,EACtBC,OAA2B,EACrB;EACN,IAAIhD,QAAQ,CAACmE,EAAE,KAAK,KAAK,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;EAE9D,MAAMC,IAAI,GAAGxB,aAAa,CAACC,SAAS,EAAEC,IAAI,EAAEC,OAAO,CAAC;EACpD,MAAMsB,IAAI,GAAGF,QAAQ,CAACG,eAAe,CAACC,KAAK;EAC3C,KAAK,MAAM,CAACnB,GAAG,EAAEY,KAAK,CAAC,IAAIF,MAAM,CAACC,OAAO,CAACK,IAAI,CAAC,EAAE;IAC/CC,IAAI,CAACG,WAAW,CAACpB,GAAG,EAAEY,KAAK,CAAC;EAC9B;AACF","ignoreList":[]}
|