@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.
Files changed (29) hide show
  1. package/Index.d.ts +1 -1
  2. package/Index.d.ts.map +1 -1
  3. package/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.d.ts +1 -1
  4. package/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.d.ts.map +1 -1
  5. package/Theming/Strategies/JoyThemeGeneratorStrategy.d.ts +1 -1
  6. package/Theming/Strategies/JoyThemeGeneratorStrategy.d.ts.map +1 -1
  7. package/Theming/Strategies/MaterialThemeGeneratorStrategy.d.ts +1 -1
  8. package/Theming/Strategies/MaterialThemeGeneratorStrategy.d.ts.map +1 -1
  9. package/Theming/Strategies/MemphisThemeGeneratorStrategy.d.ts +1 -1
  10. package/Theming/Strategies/MemphisThemeGeneratorStrategy.d.ts.map +1 -1
  11. package/Theming/Strategies/TailwindThemeGeneratorStrategy.d.ts +48 -0
  12. package/Theming/Strategies/TailwindThemeGeneratorStrategy.d.ts.map +1 -0
  13. package/Theming/Strategies/TailwindThemeGeneratorStrategy.js +69 -0
  14. package/Theming/Strategies/TailwindThemeGeneratorStrategy.js.map +1 -0
  15. package/Theming/Strategies/index.d.ts +2 -1
  16. package/Theming/Strategies/index.d.ts.map +1 -1
  17. package/Theming/Strategies/index.js +1 -0
  18. package/Theming/Strategies/index.js.map +1 -1
  19. package/Theming/Strategies/interfaces/IThemeGeneratorStrategy.d.ts +27 -0
  20. package/Theming/Strategies/interfaces/IThemeGeneratorStrategy.d.ts.map +1 -0
  21. package/Theming/Strategies/interfaces/IThemeGeneratorStrategy.js +3 -0
  22. package/Theming/Strategies/interfaces/IThemeGeneratorStrategy.js.map +1 -0
  23. package/package.json +20 -20
  24. /package/tailwind/v3/{mosaik-bootstrap.tailwind.config.cjs → presets/mosaik-bootstrap.tailwind.presets.cjs} +0 -0
  25. /package/tailwind/v3/{mosaik-cosmopolitan.tailwind.config.cjs → presets/mosaik-cosmopolitan.tailwind.presets.cjs} +0 -0
  26. /package/tailwind/v3/{mosaik-fluent.tailwind.config.cjs → presets/mosaik-fluent.tailwind.presets.cjs} +0 -0
  27. /package/tailwind/v3/{mosaik-joy.tailwind.config.cjs → presets/mosaik-joy.tailwind.presets.cjs} +0 -0
  28. /package/tailwind/v3/{mosaik-material.tailwind.config.cjs → presets/mosaik-material.tailwind.presets.cjs} +0 -0
  29. /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,8CAA8C,CAAC;AAC5F,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
+ {"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,2BAA2B,CAAC;AAKzE;;;;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
+ {"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,2BAA2B,CAAC;AAKzE;;;;;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
+ {"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,2BAA2B,CAAC;AAIzE;;;;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
+ {"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,2BAA2B,CAAC;AAKzE;;;;;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"}
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,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,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.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;AAE1F,aAAa"}
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,3 @@
1
+ // #region Imports
2
+ export {};
3
+ //# sourceMappingURL=IThemeGeneratorStrategy.js.map
@@ -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.177",
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.177",
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.config.cjs",
30
- "require": "./tailwind/v3/mosaik-bootstrap.tailwind.config.cjs"
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.config.cjs",
38
- "require": "./tailwind/v3/mosaik-cosmopolitan.tailwind.config.cjs"
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.config.cjs",
46
- "require": "./tailwind/v3/mosaik-fluent.tailwind.config.cjs"
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.config.cjs",
54
- "require": "./tailwind/v3/mosaik-joy.tailwind.config.cjs"
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.config.cjs",
62
- "require": "./tailwind/v3/mosaik-material.tailwind.config.cjs"
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.config.cjs",
70
- "require": "./tailwind/v3/mosaik-memphis.tailwind.config.cjs"
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",