@breadstone/mosaik-themes 0.0.177 → 0.0.178
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/Index.d.ts +1 -1
- package/Index.d.ts.map +1 -1
- package/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.d.ts +1 -1
- package/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.d.ts.map +1 -1
- package/Theming/Strategies/JoyThemeGeneratorStrategy.d.ts +1 -1
- package/Theming/Strategies/JoyThemeGeneratorStrategy.d.ts.map +1 -1
- package/Theming/Strategies/MaterialThemeGeneratorStrategy.d.ts +1 -1
- package/Theming/Strategies/MaterialThemeGeneratorStrategy.d.ts.map +1 -1
- package/Theming/Strategies/MemphisThemeGeneratorStrategy.d.ts +1 -1
- package/Theming/Strategies/MemphisThemeGeneratorStrategy.d.ts.map +1 -1
- package/Theming/Strategies/TailwindThemeGeneratorStrategy.d.ts +48 -0
- package/Theming/Strategies/TailwindThemeGeneratorStrategy.d.ts.map +1 -0
- package/Theming/Strategies/TailwindThemeGeneratorStrategy.js +69 -0
- package/Theming/Strategies/TailwindThemeGeneratorStrategy.js.map +1 -0
- package/Theming/Strategies/index.d.ts +2 -1
- package/Theming/Strategies/index.d.ts.map +1 -1
- package/Theming/Strategies/index.js +1 -0
- package/Theming/Strategies/index.js.map +1 -1
- package/Theming/Strategies/interfaces/IThemeGeneratorStrategy.d.ts +27 -0
- package/Theming/Strategies/interfaces/IThemeGeneratorStrategy.d.ts.map +1 -0
- package/Theming/Strategies/interfaces/IThemeGeneratorStrategy.js +3 -0
- package/Theming/Strategies/interfaces/IThemeGeneratorStrategy.js.map +1 -0
- package/package.json +20 -20
- /package/tailwind/v3/{mosaik-bootstrap.tailwind.config.cjs → presets/mosaik-bootstrap.tailwind.presets.cjs} +0 -0
- /package/tailwind/v3/{mosaik-cosmopolitan.tailwind.config.cjs → presets/mosaik-cosmopolitan.tailwind.presets.cjs} +0 -0
- /package/tailwind/v3/{mosaik-fluent.tailwind.config.cjs → presets/mosaik-fluent.tailwind.presets.cjs} +0 -0
- /package/tailwind/v3/{mosaik-joy.tailwind.config.cjs → presets/mosaik-joy.tailwind.presets.cjs} +0 -0
- /package/tailwind/v3/{mosaik-material.tailwind.config.cjs → presets/mosaik-material.tailwind.presets.cjs} +0 -0
- /package/tailwind/v3/{mosaik-memphis.tailwind.config.cjs → presets/mosaik-memphis.tailwind.presets.cjs} +0 -0
package/Index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export type { IThemeTypographyFontType } from './Theming/Utils/IThemeTypographyF
|
|
|
22
22
|
export type { ThemeMode } from './Theming/ThemeObserver';
|
|
23
23
|
export { ThemeObserver, ThemeObserverServiceLocator } from './Theming/ThemeObserver';
|
|
24
24
|
export { ThemeGeneratorServiceLocator, ThemeGenerator } from './Theming/ThemeGenerator';
|
|
25
|
-
export type { IThemeGeneratorStrategy } from './Theming/Strategies/IThemeGeneratorStrategy';
|
|
25
|
+
export type { IThemeGeneratorStrategy } from './Theming/Strategies/interfaces/IThemeGeneratorStrategy';
|
|
26
26
|
export { MaterialThemeGeneratorStrategy } from './Theming/Strategies/MaterialThemeGeneratorStrategy';
|
|
27
27
|
export { JoyThemeGeneratorStrategy } from './Theming/Strategies/JoyThemeGeneratorStrategy';
|
|
28
28
|
export { MemphisThemeGeneratorStrategy } from './Theming/Strategies/MemphisThemeGeneratorStrategy';
|
package/Index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Index.d.ts","sourceRoot":"","sources":["../src/Index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,YAAY,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACxF,YAAY,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Index.d.ts","sourceRoot":"","sources":["../src/Index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,YAAY,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACxF,YAAY,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AACvG,OAAO,EAAE,8BAA8B,EAAE,MAAM,qDAAqD,CAAC;AACrG,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,kCAAkC,EAAE,MAAM,yDAAyD,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CssColor } from '../Utils/CssColor';
|
|
2
2
|
import type { IThemePalette } from '../Utils/IThemePalette';
|
|
3
3
|
import type { IThemeScheme } from '../Utils/IThemeScheme';
|
|
4
|
-
import type { IThemeGeneratorStrategy } from './IThemeGeneratorStrategy';
|
|
4
|
+
import type { IThemeGeneratorStrategy } from './interfaces/IThemeGeneratorStrategy';
|
|
5
5
|
/**
|
|
6
6
|
* Cosmopolitan theme generator strategy.
|
|
7
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CosmopolitanThemeGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CosmopolitanThemeGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAKpF;;;;GAIG;AACH,qBAAa,kCAAmC,YAAW,uBAAuB;IAI9E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiC;;IAc5D,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa;IA8B3E,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY;CAMnF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CssColor } from '../Utils/CssColor';
|
|
2
2
|
import type { IThemePalette } from '../Utils/IThemePalette';
|
|
3
3
|
import type { IThemeScheme } from '../Utils/IThemeScheme';
|
|
4
|
-
import type { IThemeGeneratorStrategy } from './IThemeGeneratorStrategy';
|
|
4
|
+
import type { IThemeGeneratorStrategy } from './interfaces/IThemeGeneratorStrategy';
|
|
5
5
|
/**
|
|
6
6
|
* Joy UI theme generator strategy.
|
|
7
7
|
* Uses the same generation logic as Material Design.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JoyThemeGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Theming/Strategies/JoyThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"JoyThemeGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Theming/Strategies/JoyThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAKpF;;;;;GAKG;AACH,qBAAa,yBAA0B,YAAW,uBAAuB;IAIrE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiC;;IAc5D,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa;IAI3E,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY;CAMnF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CssColor } from '../Utils/CssColor';
|
|
2
2
|
import type { IThemePalette } from '../Utils/IThemePalette';
|
|
3
3
|
import type { IThemeScheme } from '../Utils/IThemeScheme';
|
|
4
|
-
import type { IThemeGeneratorStrategy } from './IThemeGeneratorStrategy';
|
|
4
|
+
import type { IThemeGeneratorStrategy } from './interfaces/IThemeGeneratorStrategy';
|
|
5
5
|
/**
|
|
6
6
|
* Material Design theme generator strategy.
|
|
7
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialThemeGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Theming/Strategies/MaterialThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MaterialThemeGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Theming/Strategies/MaterialThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAIpF;;;;GAIG;AACH,qBAAa,8BAA+B,YAAW,uBAAuB;;IAWnE,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa;IA8B3E,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY;CAuDnF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CssColor } from '../Utils/CssColor';
|
|
2
2
|
import type { IThemePalette } from '../Utils/IThemePalette';
|
|
3
3
|
import type { IThemeScheme } from '../Utils/IThemeScheme';
|
|
4
|
-
import type { IThemeGeneratorStrategy } from './IThemeGeneratorStrategy';
|
|
4
|
+
import type { IThemeGeneratorStrategy } from './interfaces/IThemeGeneratorStrategy';
|
|
5
5
|
/**
|
|
6
6
|
* Memphis theme generator strategy.
|
|
7
7
|
* Uses the same generation logic as Material Design.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemphisThemeGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Theming/Strategies/MemphisThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MemphisThemeGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Theming/Strategies/MemphisThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAKpF;;;;;GAKG;AACH,qBAAa,6BAA8B,YAAW,uBAAuB;IAIzE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiC;;IAc5D,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa;IAI3E,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY;CAMnF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { CssColor } from '../Utils/CssColor';
|
|
2
|
+
import type { IThemeGeneratorStrategy } from './interfaces/IThemeGeneratorStrategy';
|
|
3
|
+
import type { IThemePalette } from '../Utils/IThemePalette';
|
|
4
|
+
import type { IThemeScheme } from '../Utils/IThemeScheme';
|
|
5
|
+
/**
|
|
6
|
+
* Tailwind-like strategy.
|
|
7
|
+
*
|
|
8
|
+
* Generates a color palette with the following shade steps:
|
|
9
|
+
* 50, 100, 200, 300, 400, 500, 600, 700, 800, 900.
|
|
10
|
+
*
|
|
11
|
+
* Each returned color is a hex string (CssColor).
|
|
12
|
+
*/
|
|
13
|
+
export declare class TailwindThemeGeneratorStrategy implements IThemeGeneratorStrategy {
|
|
14
|
+
/**
|
|
15
|
+
* Generates a palette of shades based on a base/accent color.
|
|
16
|
+
*
|
|
17
|
+
* @param baseColor - The base/accent color (e.g. "#3498db")
|
|
18
|
+
* @param mode - 'light' or 'dark' mode: determines how light or dark the palette extremes are.
|
|
19
|
+
* @returns An IThemePalette mapping each shade step to a hex color.
|
|
20
|
+
*
|
|
21
|
+
* Example (light mode, baseColor = blue-ish):
|
|
22
|
+
* {
|
|
23
|
+
* "50": "#f5faff",
|
|
24
|
+
* "100": "#e1f3ff",
|
|
25
|
+
* ...
|
|
26
|
+
* "500": "#3498db",
|
|
27
|
+
* ...
|
|
28
|
+
* "900": "#0a2d4b"
|
|
29
|
+
* }
|
|
30
|
+
*/
|
|
31
|
+
generatePalette(baseColor: CssColor, mode: 'light' | 'dark'): IThemePalette;
|
|
32
|
+
/**
|
|
33
|
+
* Generates a semantic color scheme for UI usage, based on the generated palette.
|
|
34
|
+
*
|
|
35
|
+
* @param baseColor - The base/accent color
|
|
36
|
+
* @param mode - 'light' or 'dark'
|
|
37
|
+
* @returns An IThemeScheme with semantic color roles.
|
|
38
|
+
*
|
|
39
|
+
* Returned keys:
|
|
40
|
+
* - background → shade "50"
|
|
41
|
+
* - foreground → shade "900"
|
|
42
|
+
* - primary → shade "500"
|
|
43
|
+
* - accent → shade "700"
|
|
44
|
+
* - muted → shade "300"
|
|
45
|
+
*/
|
|
46
|
+
generateScheme(baseColor: CssColor, mode: 'light' | 'dark'): IThemeScheme;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=TailwindThemeGeneratorStrategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TailwindThemeGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Theming/Strategies/TailwindThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;;;;GAOG;AACH,qBAAa,8BAA+B,YAAW,uBAAuB;IAE1E;;;;;;;;;;;;;;;;OAgBG;IACI,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,aAAa;IAkBlF;;;;;;;;;;;;;OAaG;IACI,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,YAAY;CAYnF"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// themeStrategies.ts
|
|
2
|
+
import chroma from 'chroma-js';
|
|
3
|
+
/**
|
|
4
|
+
* Tailwind-like strategy.
|
|
5
|
+
*
|
|
6
|
+
* Generates a color palette with the following shade steps:
|
|
7
|
+
* 50, 100, 200, 300, 400, 500, 600, 700, 800, 900.
|
|
8
|
+
*
|
|
9
|
+
* Each returned color is a hex string (CssColor).
|
|
10
|
+
*/
|
|
11
|
+
export class TailwindThemeGeneratorStrategy {
|
|
12
|
+
/**
|
|
13
|
+
* Generates a palette of shades based on a base/accent color.
|
|
14
|
+
*
|
|
15
|
+
* @param baseColor - The base/accent color (e.g. "#3498db")
|
|
16
|
+
* @param mode - 'light' or 'dark' mode: determines how light or dark the palette extremes are.
|
|
17
|
+
* @returns An IThemePalette mapping each shade step to a hex color.
|
|
18
|
+
*
|
|
19
|
+
* Example (light mode, baseColor = blue-ish):
|
|
20
|
+
* {
|
|
21
|
+
* "50": "#f5faff",
|
|
22
|
+
* "100": "#e1f3ff",
|
|
23
|
+
* ...
|
|
24
|
+
* "500": "#3498db",
|
|
25
|
+
* ...
|
|
26
|
+
* "900": "#0a2d4b"
|
|
27
|
+
* }
|
|
28
|
+
*/
|
|
29
|
+
generatePalette(baseColor, mode) {
|
|
30
|
+
const steps = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
|
|
31
|
+
const base = chroma(baseColor);
|
|
32
|
+
const [h, s] = base.hsl();
|
|
33
|
+
const palette = {};
|
|
34
|
+
steps.forEach((step, idx) => {
|
|
35
|
+
const t = idx / (steps.length - 1);
|
|
36
|
+
const lightness = mode === 'light'
|
|
37
|
+
? 0.95 - t * 0.6 // from ~95% light → ~35% light
|
|
38
|
+
: 0.15 + t * 0.6; // from ~15% light → ~75% light
|
|
39
|
+
const col = chroma.hsl(h, s, lightness);
|
|
40
|
+
palette[step.toString()] = col.hex();
|
|
41
|
+
});
|
|
42
|
+
return palette;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Generates a semantic color scheme for UI usage, based on the generated palette.
|
|
46
|
+
*
|
|
47
|
+
* @param baseColor - The base/accent color
|
|
48
|
+
* @param mode - 'light' or 'dark'
|
|
49
|
+
* @returns An IThemeScheme with semantic color roles.
|
|
50
|
+
*
|
|
51
|
+
* Returned keys:
|
|
52
|
+
* - background → shade "50"
|
|
53
|
+
* - foreground → shade "900"
|
|
54
|
+
* - primary → shade "500"
|
|
55
|
+
* - accent → shade "700"
|
|
56
|
+
* - muted → shade "300"
|
|
57
|
+
*/
|
|
58
|
+
generateScheme(baseColor, mode) {
|
|
59
|
+
const p = this.generatePalette(baseColor, mode);
|
|
60
|
+
return {
|
|
61
|
+
background: p['50'],
|
|
62
|
+
foreground: p['900'],
|
|
63
|
+
primary: p['500'],
|
|
64
|
+
accent: p['700'],
|
|
65
|
+
muted: p['300']
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=TailwindThemeGeneratorStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TailwindThemeGeneratorStrategy.js","sourceRoot":"","sources":["../../../src/Theming/Strategies/TailwindThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAAA,qBAAqB;AAErB,OAAO,MAAM,MAAM,WAAW,CAAC;AAM/B;;;;;;;GAOG;AACH,MAAM,OAAO,8BAA8B;IAEvC;;;;;;;;;;;;;;;;OAgBG;IACI,eAAe,CAAC,SAAmB,EAAE,IAAsB;QAC9D,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,OAAO,GAA6B,EAAE,CAAC;QAE7C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACxB,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,KAAK,OAAO;gBAC9B,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAG,+BAA+B;gBAClD,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAE,+BAA+B;YACtD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,EAAc,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,cAAc,CAAC,SAAmB,EAAE,IAAsB;QAC7D,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEhD,OAAO;YACH,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC;YACnB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;YACjB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC;SAClB,CAAC;IACN,CAAC;CAEJ"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { IThemeGeneratorStrategy } from './IThemeGeneratorStrategy';
|
|
1
|
+
export type { IThemeGeneratorStrategy } from './interfaces/IThemeGeneratorStrategy';
|
|
2
2
|
export { MaterialThemeGeneratorStrategy } from './MaterialThemeGeneratorStrategy';
|
|
3
3
|
export { JoyThemeGeneratorStrategy } from './JoyThemeGeneratorStrategy';
|
|
4
4
|
export { MemphisThemeGeneratorStrategy } from './MemphisThemeGeneratorStrategy';
|
|
5
5
|
export { CosmopolitanThemeGeneratorStrategy } from './CosmopolitanThemeGeneratorStrategy';
|
|
6
|
+
export { TailwindThemeGeneratorStrategy } from './TailwindThemeGeneratorStrategy';
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Theming/Strategies/index.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Theming/Strategies/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -3,5 +3,6 @@ export { MaterialThemeGeneratorStrategy } from './MaterialThemeGeneratorStrategy
|
|
|
3
3
|
export { JoyThemeGeneratorStrategy } from './JoyThemeGeneratorStrategy';
|
|
4
4
|
export { MemphisThemeGeneratorStrategy } from './MemphisThemeGeneratorStrategy';
|
|
5
5
|
export { CosmopolitanThemeGeneratorStrategy } from './CosmopolitanThemeGeneratorStrategy';
|
|
6
|
+
export { TailwindThemeGeneratorStrategy } from './TailwindThemeGeneratorStrategy';
|
|
6
7
|
// #endregion
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Theming/Strategies/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAGlB,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Theming/Strategies/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAGlB,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF,aAAa"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { CssColor } from '../../Utils/CssColor';
|
|
2
|
+
import type { IThemePalette } from '../../Utils/IThemePalette';
|
|
3
|
+
import type { IThemeScheme } from '../../Utils/IThemeScheme';
|
|
4
|
+
/**
|
|
5
|
+
* Strategy interface for theme-specific palette and scheme generation.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export interface IThemeGeneratorStrategy {
|
|
10
|
+
/**
|
|
11
|
+
* Generates a color palette for the theme.
|
|
12
|
+
*
|
|
13
|
+
* @param baseColor - The base color to generate the palette from
|
|
14
|
+
* @param mode - The color mode (dark or light)
|
|
15
|
+
* @returns The generated palette
|
|
16
|
+
*/
|
|
17
|
+
generatePalette(baseColor: CssColor, mode: 'dark' | 'light'): IThemePalette;
|
|
18
|
+
/**
|
|
19
|
+
* Generates a color scheme for the theme.
|
|
20
|
+
*
|
|
21
|
+
* @param baseColor - The base color to generate the scheme from
|
|
22
|
+
* @param mode - The color mode (dark or light)
|
|
23
|
+
* @returns The generated scheme
|
|
24
|
+
*/
|
|
25
|
+
generateScheme(baseColor: CssColor, mode: 'dark' | 'light'): IThemeScheme;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=IThemeGeneratorStrategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IThemeGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../../src/Theming/Strategies/interfaces/IThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI7D;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IAEpC;;;;;;OAMG;IACH,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,CAAC;IAE5E;;;;;;OAMG;IACH,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;CAE7E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IThemeGeneratorStrategy.js","sourceRoot":"","sources":["../../../../src/Theming/Strategies/interfaces/IThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAAA,kBAAkB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@breadstone/mosaik-themes",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.178",
|
|
4
4
|
"description": "Mosaik elements various themes.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "andre.wehlert <awehlert@breadstone.de> (https://www.breadstone.de)",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"url": "git+ssh://git@github.com/RueDeRennes/mosaik.git"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@breadstone/mosaik-elements": "^0.0.
|
|
18
|
+
"@breadstone/mosaik-elements": "^0.0.178",
|
|
19
19
|
"chroma-js": "^3.2.0",
|
|
20
20
|
"tslib": "^2.8.1"
|
|
21
21
|
},
|
|
@@ -25,49 +25,49 @@
|
|
|
25
25
|
"types": "./Index.d.ts"
|
|
26
26
|
},
|
|
27
27
|
"./scss": "./_index.scss",
|
|
28
|
-
"./tailwind/v3/bootstrap": {
|
|
29
|
-
"import": "./tailwind/v3/mosaik-bootstrap.tailwind.
|
|
30
|
-
"require": "./tailwind/v3/mosaik-bootstrap.tailwind.
|
|
28
|
+
"./tailwind/v3/presets/bootstrap": {
|
|
29
|
+
"import": "./tailwind/v3/presets/mosaik-bootstrap.tailwind.presets.cjs",
|
|
30
|
+
"require": "./tailwind/v3/presets/mosaik-bootstrap.tailwind.presets.cjs"
|
|
31
31
|
},
|
|
32
32
|
"./tailwind/v3/plugins/bootstrap": {
|
|
33
33
|
"import": "./tailwind/v3/plugins/mosaik-bootstrap.tailwind.plugin.cjs",
|
|
34
34
|
"require": "./tailwind/v3/plugins/mosaik-bootstrap.tailwind.plugin.cjs"
|
|
35
35
|
},
|
|
36
|
-
"./tailwind/v3/cosmopolitan": {
|
|
37
|
-
"import": "./tailwind/v3/mosaik-cosmopolitan.tailwind.
|
|
38
|
-
"require": "./tailwind/v3/mosaik-cosmopolitan.tailwind.
|
|
36
|
+
"./tailwind/v3/presets/cosmopolitan": {
|
|
37
|
+
"import": "./tailwind/v3/presets/mosaik-cosmopolitan.tailwind.presets.cjs",
|
|
38
|
+
"require": "./tailwind/v3/presets/mosaik-cosmopolitan.tailwind.presets.cjs"
|
|
39
39
|
},
|
|
40
40
|
"./tailwind/v3/plugins/cosmopolitan": {
|
|
41
41
|
"import": "./tailwind/v3/plugins/mosaik-cosmopolitan.tailwind.plugin.cjs",
|
|
42
42
|
"require": "./tailwind/v3/plugins/mosaik-cosmopolitan.tailwind.plugin.cjs"
|
|
43
43
|
},
|
|
44
|
-
"./tailwind/v3/fluent": {
|
|
45
|
-
"import": "./tailwind/v3/mosaik-fluent.tailwind.
|
|
46
|
-
"require": "./tailwind/v3/mosaik-fluent.tailwind.
|
|
44
|
+
"./tailwind/v3/presets/fluent": {
|
|
45
|
+
"import": "./tailwind/v3/presets/mosaik-fluent.tailwind.presets.cjs",
|
|
46
|
+
"require": "./tailwind/v3/presets/mosaik-fluent.tailwind.presets.cjs"
|
|
47
47
|
},
|
|
48
48
|
"./tailwind/v3/plugins/fluent": {
|
|
49
49
|
"import": "./tailwind/v3/plugins/mosaik-fluent.tailwind.plugin.cjs",
|
|
50
50
|
"require": "./tailwind/v3/plugins/mosaik-fluent.tailwind.plugin.cjs"
|
|
51
51
|
},
|
|
52
|
-
"./tailwind/v3/joy": {
|
|
53
|
-
"import": "./tailwind/v3/mosaik-joy.tailwind.
|
|
54
|
-
"require": "./tailwind/v3/mosaik-joy.tailwind.
|
|
52
|
+
"./tailwind/v3/presets/joy": {
|
|
53
|
+
"import": "./tailwind/v3/presets/mosaik-joy.tailwind.presets.cjs",
|
|
54
|
+
"require": "./tailwind/v3/presets/mosaik-joy.tailwind.presets.cjs"
|
|
55
55
|
},
|
|
56
56
|
"./tailwind/v3/plugins/joy": {
|
|
57
57
|
"import": "./tailwind/v3/plugins/mosaik-joy.tailwind.plugin.cjs",
|
|
58
58
|
"require": "./tailwind/v3/plugins/mosaik-joy.tailwind.plugin.cjs"
|
|
59
59
|
},
|
|
60
|
-
"./tailwind/v3/material": {
|
|
61
|
-
"import": "./tailwind/v3/mosaik-material.tailwind.
|
|
62
|
-
"require": "./tailwind/v3/mosaik-material.tailwind.
|
|
60
|
+
"./tailwind/v3/presets/material": {
|
|
61
|
+
"import": "./tailwind/v3/presets/mosaik-material.tailwind.presets.cjs",
|
|
62
|
+
"require": "./tailwind/v3/presets/mosaik-material.tailwind.presets.cjs"
|
|
63
63
|
},
|
|
64
64
|
"./tailwind/v3/plugins/material": {
|
|
65
65
|
"import": "./tailwind/v3/plugins/mosaik-material.tailwind.plugin.cjs",
|
|
66
66
|
"require": "./tailwind/v3/plugins/mosaik-material.tailwind.plugin.cjs"
|
|
67
67
|
},
|
|
68
|
-
"./tailwind/v3/memphis": {
|
|
69
|
-
"import": "./tailwind/v3/mosaik-memphis.tailwind.
|
|
70
|
-
"require": "./tailwind/v3/mosaik-memphis.tailwind.
|
|
68
|
+
"./tailwind/v3/presets/memphis": {
|
|
69
|
+
"import": "./tailwind/v3/presets/mosaik-memphis.tailwind.presets.cjs",
|
|
70
|
+
"require": "./tailwind/v3/presets/mosaik-memphis.tailwind.presets.cjs"
|
|
71
71
|
},
|
|
72
72
|
"./tailwind/v3/plugins/memphis": {
|
|
73
73
|
"import": "./tailwind/v3/plugins/mosaik-memphis.tailwind.plugin.cjs",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/tailwind/v3/{mosaik-joy.tailwind.config.cjs → presets/mosaik-joy.tailwind.presets.cjs}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|