@breadstone/mosaik-elements-angular 0.0.43 → 0.0.44

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.
@@ -53498,7 +53498,6 @@ const MOSAIK_THEME = new InjectionToken('MOSAIK_THEME');
53498
53498
  const MOSAIK_THEME_MODE = new InjectionToken('MOSAIK_THEME_MODE');
53499
53499
 
53500
53500
  // #region Imports
53501
- // #endregion
53502
53501
  /**
53503
53502
  * @public
53504
53503
  */
@@ -53531,27 +53530,56 @@ function provideTheme(config) {
53531
53530
  function merge(theme, overrides) {
53532
53531
  return {
53533
53532
  name: theme.name,
53534
- scheme: {
53535
- ...theme.scheme,
53536
- ...overrides?.scheme
53537
- },
53538
- palette: {
53539
- ...theme.palette,
53540
- ...overrides?.palette
53541
- },
53533
+ scheme: Object.keys(theme.scheme).reduce((acc, key) => {
53534
+ acc[key] = {
53535
+ ...theme.scheme[key],
53536
+ ...overrides?.scheme?.[key] ? overrides.scheme[key] : {}
53537
+ };
53538
+ return acc;
53539
+ }, {}),
53540
+ palette: Object.keys(theme.palette).reduce((acc, key) => {
53541
+ acc[key] = {
53542
+ ...theme.palette[key],
53543
+ ...overrides?.palette?.[key] ? overrides.palette[key] : {}
53544
+ };
53545
+ return acc;
53546
+ }, {}),
53542
53547
  fontFamily: overrides?.fontFamily ?? theme.fontFamily,
53543
- typography: {
53548
+ typography: Object.keys({
53544
53549
  ...theme.typography,
53545
53550
  ...overrides?.typography
53546
- },
53551
+ }).reduce((acc, key) => {
53552
+ const value = overrides?.typography?.[key] !== undefined
53553
+ ? {
53554
+ ...theme.typography[key],
53555
+ ...overrides.typography[key]
53556
+ }
53557
+ : theme.typography[key];
53558
+ acc[key] = value;
53559
+ return acc;
53560
+ }, {}),
53547
53561
  layout: {
53548
53562
  ...theme.layout,
53549
53563
  ...overrides?.layout
53550
53564
  },
53551
- elevation: {
53565
+ elevation: Object.keys({
53552
53566
  ...theme.elevation,
53553
53567
  ...overrides?.elevation
53554
- }
53568
+ }).reduce((acc, key) => {
53569
+ const base = theme.elevation[key];
53570
+ const override = overrides?.elevation?.[key];
53571
+ if (override) {
53572
+ // Only assign properties that are not undefined
53573
+ acc[key] = Object.fromEntries(Object.entries({
53574
+ ...base,
53575
+ ...override
53576
+ }).filter(([_, v]) => v !== undefined));
53577
+ }
53578
+ else {
53579
+ acc[key] = base;
53580
+ }
53581
+ return acc;
53582
+ }, {})
53555
53583
  };
53556
53584
  }
53557
53585