@admin-layout/client 11.0.2-alpha.0 → 12.0.16-alpha.0

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 (183) hide show
  1. package/lib/{antd-themes/colors.d.ts → colors/colorsList.d.ts} +1 -1
  2. package/lib/colors/colorsList.d.ts.map +1 -0
  3. package/lib/{antd-themes/colors.js → colors/colorsList.js} +1 -1
  4. package/lib/colors/colorsList.js.map +1 -0
  5. package/lib/colors/index.d.ts +1 -0
  6. package/lib/colors/index.d.ts.map +1 -1
  7. package/lib/colors/presets/black.js +0 -3
  8. package/lib/colors/presets/black.js.map +1 -1
  9. package/lib/colors/presets/brinkPink.js +11 -0
  10. package/lib/colors/presets/brinkPink.js.map +1 -0
  11. package/lib/colors/presets/cyan.js +11 -0
  12. package/lib/colors/presets/cyan.js.map +1 -0
  13. package/lib/colors/presets/lime.js +11 -0
  14. package/lib/colors/presets/lime.js.map +1 -0
  15. package/lib/colors/presets/pink.js +11 -0
  16. package/lib/colors/presets/pink.js.map +1 -0
  17. package/lib/colors/presets/purple.js +11 -0
  18. package/lib/colors/presets/purple.js.map +1 -0
  19. package/lib/colors/presets/skyBlue.js +11 -0
  20. package/lib/colors/presets/skyBlue.js.map +1 -0
  21. package/lib/colors/presets/turquoise.js +11 -0
  22. package/lib/colors/presets/turquoise.js.map +1 -0
  23. package/lib/colors/presets/white.js +0 -3
  24. package/lib/colors/presets/white.js.map +1 -1
  25. package/lib/components/ApplicationErrorFillWrapper.d.ts +1 -2
  26. package/lib/components/ApplicationErrorFillWrapper.d.ts.map +1 -1
  27. package/lib/components/ApplicationErrorFillWrapper.js +2 -2
  28. package/lib/components/ApplicationErrorHandlerCommon.d.ts.map +1 -1
  29. package/lib/components/ApplicationErrorHandlerCommon.js +6 -8
  30. package/lib/components/ApplicationErrorHandlerCommon.js.map +1 -1
  31. package/lib/components/ErrorBoundaryCommon.d.ts +1 -1
  32. package/lib/components/ErrorBoundaryCommon.js +2 -2
  33. package/lib/components/ErrorBoundaryCommon.js.map +1 -1
  34. package/lib/components/LayoutCookieProvider.d.ts +7 -0
  35. package/lib/components/LayoutCookieProvider.d.ts.map +1 -0
  36. package/lib/components/LayoutCookieProvider.js +25 -0
  37. package/lib/components/LayoutCookieProvider.js.map +1 -0
  38. package/lib/components/UpdateSettings/SettingsConfigurationModel.test.d.ts +2 -0
  39. package/lib/components/UpdateSettings/SettingsConfigurationModel.test.d.ts.map +1 -0
  40. package/lib/components/UpdateSettings/UpdateSettings.server.d.ts +21 -4
  41. package/lib/components/UpdateSettings/UpdateSettings.server.d.ts.map +1 -1
  42. package/lib/components/UpdateSettings/UpdateSettings.server.js +112 -24
  43. package/lib/components/UpdateSettings/UpdateSettings.server.js.map +1 -1
  44. package/lib/components/index.d.ts +1 -0
  45. package/lib/components/index.d.ts.map +1 -1
  46. package/lib/config/defaultSettings.d.ts +108 -1
  47. package/lib/config/defaultSettings.d.ts.map +1 -1
  48. package/lib/config/defaultSettings.js +160 -15
  49. package/lib/config/defaultSettings.js.map +1 -1
  50. package/lib/config/env-config.d.ts.map +1 -1
  51. package/lib/config/env-config.js +11 -4
  52. package/lib/config/env-config.js.map +1 -1
  53. package/lib/graphql/link/error-link.d.ts.map +1 -1
  54. package/lib/graphql/link/error-link.js +1 -1
  55. package/lib/graphql/link/error-link.js.map +1 -1
  56. package/lib/hooks/Client-only.d.ts +28 -0
  57. package/lib/hooks/Client-only.d.ts.map +1 -0
  58. package/lib/hooks/Client-only.js +18 -0
  59. package/lib/hooks/Client-only.js.map +1 -0
  60. package/lib/hooks/hooks.d.ts +4 -0
  61. package/lib/hooks/hooks.d.ts.map +1 -0
  62. package/lib/hooks/index.d.ts +2 -1
  63. package/lib/hooks/index.d.ts.map +1 -1
  64. package/lib/hooks/use-hydrated.d.ts +19 -0
  65. package/lib/hooks/use-hydrated.d.ts.map +1 -0
  66. package/lib/hooks/use-hydrated.js +24 -0
  67. package/lib/hooks/use-hydrated.js.map +1 -0
  68. package/lib/hooks/useLayoutSettings.d.ts +6 -0
  69. package/lib/hooks/useLayoutSettings.d.ts.map +1 -0
  70. package/lib/hooks/{useSettings.js → useLayoutSettings.js} +23 -28
  71. package/lib/hooks/useLayoutSettings.js.map +1 -0
  72. package/lib/index.d.ts +1 -1
  73. package/lib/index.d.ts.map +1 -1
  74. package/lib/index.js +1 -1
  75. package/lib/index.native.js +1 -1
  76. package/lib/interfaces/default-settings.d.ts +1 -0
  77. package/lib/interfaces/default-settings.d.ts.map +1 -1
  78. package/lib/interfaces/index.d.ts +2 -0
  79. package/lib/interfaces/index.d.ts.map +1 -1
  80. package/lib/interfaces/pure-settings.d.ts +9 -1
  81. package/lib/interfaces/pure-settings.d.ts.map +1 -1
  82. package/lib/interfaces/searchbar-settings.d.ts +61 -0
  83. package/lib/interfaces/searchbar-settings.d.ts.map +1 -0
  84. package/lib/interfaces/settings.d.ts +166 -0
  85. package/lib/interfaces/settings.d.ts.map +1 -0
  86. package/lib/interfaces/settings.js +5 -0
  87. package/lib/interfaces/settings.js.map +1 -0
  88. package/lib/redux/actions/error-actions.d.ts.map +1 -1
  89. package/lib/redux/reducers/settings.d.ts +2 -36
  90. package/lib/redux/reducers/settings.d.ts.map +1 -1
  91. package/lib/redux/reducers/settings.js +4 -8
  92. package/lib/redux/reducers/settings.js.map +1 -1
  93. package/lib/redux/store.js +1 -1
  94. package/lib/themes/templates/darkLayoutTheme.d.ts +1 -1
  95. package/lib/themes/templates/darkLayoutTheme.d.ts.map +1 -1
  96. package/lib/utils/assignDefaults.d.ts +11 -0
  97. package/lib/utils/assignDefaults.d.ts.map +1 -0
  98. package/lib/utils/assignDefaults.js +166 -0
  99. package/lib/utils/assignDefaults.js.map +1 -0
  100. package/lib/utils/assignDefaults.test.d.ts +2 -0
  101. package/lib/utils/assignDefaults.test.d.ts.map +1 -0
  102. package/lib/utils/generateMenuLink.d.ts.map +1 -1
  103. package/lib/utils/generateMenuLink.js +13 -1
  104. package/lib/utils/generateMenuLink.js.map +1 -1
  105. package/lib/utils/generateMenuLink.test.d.ts +2 -0
  106. package/lib/utils/generateMenuLink.test.d.ts.map +1 -0
  107. package/lib/utils/index.d.ts +1 -1
  108. package/lib/utils/index.d.ts.map +1 -1
  109. package/lib/utils/matchMenuKeys.d.ts.map +1 -1
  110. package/lib/utils/matchMenuKeys.js.map +1 -1
  111. package/lib/utils/menuUtils.d.ts +2 -2
  112. package/lib/utils/menuUtils.d.ts.map +1 -1
  113. package/lib/utils/menuUtils.js +1 -1
  114. package/lib/utils/menuUtils.js.map +1 -1
  115. package/lib/utils/parentRoute.d.ts.map +1 -1
  116. package/lib/utils/settingsDiff.test.d.ts +2 -0
  117. package/lib/utils/settingsDiff.test.d.ts.map +1 -0
  118. package/lib/utils/settingsDifference.d.ts +5 -0
  119. package/lib/utils/settingsDifference.d.ts.map +1 -0
  120. package/lib/utils/settingsDifference.js +207 -0
  121. package/lib/utils/settingsDifference.js.map +1 -0
  122. package/lib/utils/settingsDifference.test.d.ts +2 -0
  123. package/lib/utils/settingsDifference.test.d.ts.map +1 -0
  124. package/package.json +5 -4
  125. package/lib/antd-themes/ThemeProvider.d.ts +0 -434
  126. package/lib/antd-themes/ThemeProvider.d.ts.map +0 -1
  127. package/lib/antd-themes/ThemeProvider.js +0 -34
  128. package/lib/antd-themes/ThemeProvider.js.map +0 -1
  129. package/lib/antd-themes/airbnb-dark-theme.d.ts +0 -230
  130. package/lib/antd-themes/airbnb-dark-theme.d.ts.map +0 -1
  131. package/lib/antd-themes/airbnb-dark-theme.js +0 -168
  132. package/lib/antd-themes/airbnb-dark-theme.js.map +0 -1
  133. package/lib/antd-themes/airbnb-light-theme.d.ts +0 -230
  134. package/lib/antd-themes/airbnb-light-theme.d.ts.map +0 -1
  135. package/lib/antd-themes/airbnb-light-theme.js +0 -168
  136. package/lib/antd-themes/airbnb-light-theme.js.map +0 -1
  137. package/lib/antd-themes/colors.d.ts.map +0 -1
  138. package/lib/antd-themes/colors.js.map +0 -1
  139. package/lib/antd-themes/default-dark-theme.d.ts +0 -199
  140. package/lib/antd-themes/default-dark-theme.d.ts.map +0 -1
  141. package/lib/antd-themes/default-dark-theme.js +0 -136
  142. package/lib/antd-themes/default-dark-theme.js.map +0 -1
  143. package/lib/antd-themes/default-light-theme.d.ts +0 -199
  144. package/lib/antd-themes/default-light-theme.d.ts.map +0 -1
  145. package/lib/antd-themes/default-light-theme.js +0 -136
  146. package/lib/antd-themes/default-light-theme.js.map +0 -1
  147. package/lib/antd-themes/github-dark-theme.d.ts +0 -230
  148. package/lib/antd-themes/github-dark-theme.d.ts.map +0 -1
  149. package/lib/antd-themes/github-dark-theme.js +0 -168
  150. package/lib/antd-themes/github-dark-theme.js.map +0 -1
  151. package/lib/antd-themes/github-light-theme.d.ts +0 -230
  152. package/lib/antd-themes/github-light-theme.d.ts.map +0 -1
  153. package/lib/antd-themes/github-light-theme.js +0 -168
  154. package/lib/antd-themes/github-light-theme.js.map +0 -1
  155. package/lib/antd-themes/index.d.ts +0 -14
  156. package/lib/antd-themes/index.d.ts.map +0 -1
  157. package/lib/antd-themes/slack-dark-theme.d.ts +0 -229
  158. package/lib/antd-themes/slack-dark-theme.d.ts.map +0 -1
  159. package/lib/antd-themes/slack-dark-theme.js +0 -167
  160. package/lib/antd-themes/slack-dark-theme.js.map +0 -1
  161. package/lib/antd-themes/slack-light-theme.d.ts +0 -229
  162. package/lib/antd-themes/slack-light-theme.d.ts.map +0 -1
  163. package/lib/antd-themes/slack-light-theme.js +0 -167
  164. package/lib/antd-themes/slack-light-theme.js.map +0 -1
  165. package/lib/antd-themes/spotify-dark-theme.d.ts +0 -230
  166. package/lib/antd-themes/spotify-dark-theme.d.ts.map +0 -1
  167. package/lib/antd-themes/spotify-dark-theme.js +0 -168
  168. package/lib/antd-themes/spotify-dark-theme.js.map +0 -1
  169. package/lib/antd-themes/spotify-light-theme.d.ts +0 -230
  170. package/lib/antd-themes/spotify-light-theme.d.ts.map +0 -1
  171. package/lib/antd-themes/spotify-light-theme.js +0 -168
  172. package/lib/antd-themes/spotify-light-theme.js.map +0 -1
  173. package/lib/antd-themes/themeRegistry.d.ts +0 -2229
  174. package/lib/antd-themes/themeRegistry.d.ts.map +0 -1
  175. package/lib/antd-themes/themeRegistry.js +0 -12
  176. package/lib/antd-themes/themeRegistry.js.map +0 -1
  177. package/lib/hooks/useSettings.d.ts +0 -5
  178. package/lib/hooks/useSettings.d.ts.map +0 -1
  179. package/lib/hooks/useSettings.js.map +0 -1
  180. package/lib/utils/getAntdLocale.d.ts +0 -3
  181. package/lib/utils/getAntdLocale.d.ts.map +0 -1
  182. package/lib/utils/getAntdLocale.js +0 -18
  183. package/lib/utils/getAntdLocale.js.map +0 -1
@@ -1,7 +1,10 @@
1
- import { ProSettings } from '../interfaces';
1
+ import { ProSettings, SearchbarSettings } from '../interfaces';
2
+ import { NavigationMode, SideMenuType, SearchBarBehavior } from '../interfaces/settings';
3
+ import { ContentWidth } from '../interfaces/pure-settings';
2
4
  export type ISettings = ProSettings & {
3
5
  logo: string;
4
6
  showSettingPanel: boolean;
7
+ secondaryColor: string;
5
8
  titleColor: string;
6
9
  language: string;
7
10
  fontFamily: string;
@@ -14,6 +17,110 @@ export type ISettings = ProSettings & {
14
17
  textColor: string;
15
18
  theme: string;
16
19
  themeType: string;
20
+ loginThemeColor: string;
21
+ loginFormPosition: string;
22
+ loginSocials: string;
23
+ loginBackgroundImage: string;
24
+ verifyFormLayout: string;
25
+ verifyFormImageUrl: string;
26
+ verifyFormBackgroundStyle: string;
27
+ verifyFormVisibleFields: string;
28
+ verifyFormShowSkipButton: boolean;
29
+ searchbarSettings: SearchbarSettings;
30
+ currentRoute: string;
31
+ routeSettings: Record<string, {
32
+ layout: {
33
+ desktop: {
34
+ navigationMode: NavigationMode;
35
+ sideMenuType: SideMenuType;
36
+ contentWidth: ContentWidth;
37
+ fixedHeader: boolean;
38
+ fixedSidebar: boolean;
39
+ splitMenus: boolean;
40
+ upperMenuDividerName: string;
41
+ middleMenuDividerName: string;
42
+ lowerMenuDividerName: string;
43
+ };
44
+ mobile: {
45
+ navigationMode: NavigationMode;
46
+ sideMenuType: SideMenuType;
47
+ contentWidth: ContentWidth;
48
+ fixedHeader: boolean;
49
+ fixedSidebar: boolean;
50
+ splitMenus: boolean;
51
+ upperMenuDividerName: string;
52
+ middleMenuDividerName: string;
53
+ lowerMenuDividerName: string;
54
+ };
55
+ };
56
+ regions: {
57
+ desktop: {
58
+ header: {
59
+ showLogo: boolean;
60
+ showSearchSlot: boolean;
61
+ showRightContent: boolean;
62
+ showMenuToggle: boolean;
63
+ showBackButton: boolean;
64
+ showPageTitle: boolean;
65
+ showActionButtons: boolean;
66
+ position: string;
67
+ height: string;
68
+ backgroundColor: string;
69
+ elevation: number;
70
+ showHeader: boolean;
71
+ showMenu: boolean;
72
+ menuHeaderRender: boolean;
73
+ searchBarRender: boolean;
74
+ searchBarBehavior: SearchBarBehavior;
75
+ searchBarOverlay: boolean;
76
+ scrollThreshold: number;
77
+ };
78
+ background: {
79
+ type: string;
80
+ color: string;
81
+ image: string;
82
+ video: string;
83
+ videoThumbnail: string;
84
+ };
85
+ footer: {
86
+ showFooter: boolean;
87
+ };
88
+ };
89
+ mobile: {
90
+ header: {
91
+ showLogo: boolean;
92
+ showSearchSlot: boolean;
93
+ showRightContent: boolean;
94
+ showMenuToggle: boolean;
95
+ showBackButton: boolean;
96
+ showPageTitle: boolean;
97
+ showActionButtons: boolean;
98
+ position: string;
99
+ height: string;
100
+ backgroundColor: string;
101
+ elevation: number;
102
+ showHeader: boolean;
103
+ showMenu: boolean;
104
+ menuHeaderRender: boolean;
105
+ searchBarRender: boolean;
106
+ searchBarBehavior: SearchBarBehavior;
107
+ searchBarOverlay: boolean;
108
+ scrollThreshold: number;
109
+ };
110
+ background: {
111
+ type: string;
112
+ color: string;
113
+ image: string;
114
+ video: string;
115
+ };
116
+ footer: {
117
+ showFooter: boolean;
118
+ };
119
+ };
120
+ };
121
+ }>;
122
+ components: any[];
123
+ activeComponent: string | null;
17
124
  };
18
125
  export declare const defaultSettings: ISettings;
19
126
  //# sourceMappingURL=defaultSettings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaultSettings.d.ts","sourceRoot":"","sources":["../../src/config/defaultSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACrB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,SAkC7B,CAAC"}
1
+ {"version":3,"file":"defaultSettings.d.ts","sourceRoot":"","sources":["../../src/config/defaultSettings.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,85 @@
1
+ import {SearchBarBehavior}from'../interfaces/settings.js';// import { ContentWidth, SearchBarBehavior, NavigationMode, SideMenuType } from '@admin-layout/tailwind-design-pro/src/machines/types';
2
+ // Constants for common values
3
+ const DEFAULT_LAYOUT = {
4
+ contentWidth: 'Fluid',
5
+ fixedHeader: true,
6
+ fixedSidebar: true,
7
+ splitMenus: false,
8
+ };
9
+ const DEFAULT_HEADER = {
10
+ showLogo: true,
11
+ showRightContent: true,
12
+ showMenuToggle: true,
13
+ showBackButton: true,
14
+ showPageTitle: true,
15
+ showActionButtons: true,
16
+ position: 'fixed',
17
+ backgroundColor: 'inherit',
18
+ elevation: 2,
19
+ showHeader: true,
20
+ showMenu: true,
21
+ menuHeaderRender: true,
22
+ searchBarRender: true,
23
+ searchBarBehavior: SearchBarBehavior.PERMANENT,
24
+ searchBarOverlay: true,
25
+ scrollThreshold: 50,
26
+ };
27
+ const SEARCH_TYPES = {
28
+ HOTELS: 'HOTELS',
29
+ FLIGHTS: 'FLIGHTS',
30
+ CARS: 'CARS',
31
+ };
32
+ const AMENITIES = [
33
+ 'WiFi',
34
+ 'Pool',
35
+ 'Parking',
36
+ 'Air Conditioning',
37
+ 'Kitchen',
38
+ 'Washer',
39
+ 'Dryer',
40
+ 'TV',
41
+ 'Gym',
42
+ 'Elevator',
43
+ 'Hot Tub',
44
+ 'Breakfast',
45
+ ];
46
+ // Shared view configuration
47
+ const SHARED_VIEW_CONFIG = {
48
+ layout: {
49
+ ...DEFAULT_LAYOUT,
50
+ navigationMode: 'mixed',
51
+ sideMenuType: 'expanded',
52
+ upperMenuDividerName: 'Navigation',
53
+ middleMenuDividerName: 'Dashboard',
54
+ lowerMenuDividerName: 'Admin',
55
+ },
56
+ regions: {
57
+ header: {
58
+ ...DEFAULT_HEADER,
59
+ showSearchSlot: true,
60
+ height: '64px',
61
+ },
62
+ background: {
63
+ type: 'color',
64
+ color: 'inherit',
65
+ image: '',
66
+ video: '',
67
+ videoThumbnail: '',
68
+ },
69
+ footer: { showFooter: true },
70
+ },
71
+ };
1
72
  const defaultSettings = {
2
73
  logo: 'https://cdmbase.s3.ca-central-1.amazonaws.com/favicon-new-128.svg',
3
- themeType: 'light', // 'dark'
74
+ themeType: 'light',
4
75
  theme: 'default',
5
- primaryColor: '#1890ff', // '#1890ff'
6
- colorPrimary: '#1677FF', // '#1890ff'
76
+ primaryColor: '#1890ff',
77
+ colorPrimary: '#1677FF',
78
+ secondaryColor: '#4A5568',
7
79
  layout: 'mix',
8
- contentWidth: 'Fluid',
9
- fixedHeader: true,
10
- fixSiderbar: true,
11
- searchBarRender: true,
80
+ contentWidth: DEFAULT_LAYOUT.contentWidth,
81
+ fixedHeader: DEFAULT_LAYOUT.fixedHeader,
82
+ fixSiderbar: DEFAULT_LAYOUT.fixedSidebar,
12
83
  colorWeak: false,
13
84
  title: 'CDMBase LLC',
14
85
  iconfontUrl: '',
@@ -20,15 +91,89 @@ const defaultSettings = {
20
91
  titleHeight: '30px',
21
92
  titleFontSize: '1.8rem',
22
93
  letterSpacings: '1px',
23
- showHeader: true,
24
- showFooter: true,
25
- showMenu: false,
26
- // menuRender: true,
27
94
  headerTheme: undefined,
28
- headerHeight: undefined,
29
- menu: undefined,
30
- splitMenus: false,
31
- siderMenuType: 'sub',
95
+ loginThemeColor: 'blue',
96
+ loginFormPosition: 'center',
97
+ loginSocials: '{"Google":true,"Apple":true,"Facebook":true}',
98
+ loginBackgroundImage: null,
99
+ verifyFormLayout: 'center',
100
+ verifyFormImageUrl: '',
101
+ verifyFormBackgroundStyle: 'color',
102
+ verifyFormVisibleFields: '["firstName","lastName","username","companyName","workEmail","phoneNumber","dateOfBirth"]',
103
+ verifyFormShowSkipButton: false,
104
+ currentRoute: '/',
105
+ routeSettings: {
106
+ '/': {
107
+ layout: {
108
+ desktop: SHARED_VIEW_CONFIG.layout,
109
+ mobile: SHARED_VIEW_CONFIG.layout,
110
+ },
111
+ regions: {
112
+ desktop: SHARED_VIEW_CONFIG.regions,
113
+ mobile: SHARED_VIEW_CONFIG.regions,
114
+ },
115
+ },
116
+ },
117
+ components: [],
118
+ activeComponent: null,
119
+ searchbarSettings: {
120
+ enabledSearchBars: {
121
+ [SEARCH_TYPES.HOTELS]: true,
122
+ [SEARCH_TYPES.FLIGHTS]: true,
123
+ [SEARCH_TYPES.CARS]: true,
124
+ },
125
+ fieldsConfig: {
126
+ [SEARCH_TYPES.HOTELS]: {
127
+ location: true,
128
+ dates: true,
129
+ guests: true,
130
+ },
131
+ [SEARCH_TYPES.FLIGHTS]: {
132
+ fromLocation: true,
133
+ toLocation: true,
134
+ dates: true,
135
+ returnFlight: true,
136
+ },
137
+ [SEARCH_TYPES.CARS]: {
138
+ pickupLocation: true,
139
+ dropoffLocation: true,
140
+ dates: true,
141
+ },
142
+ },
143
+ datePickerConfig: {
144
+ [SEARCH_TYPES.HOTELS]: {
145
+ enableSingleDayMode: true,
146
+ enableTimeSelection: true,
147
+ defaultToSingleDay: false,
148
+ },
149
+ [SEARCH_TYPES.FLIGHTS]: {
150
+ enableSingleDayMode: false,
151
+ enableTimeSelection: false,
152
+ defaultToSingleDay: false,
153
+ },
154
+ [SEARCH_TYPES.CARS]: {
155
+ enableSingleDayMode: false,
156
+ enableTimeSelection: true,
157
+ defaultToSingleDay: false,
158
+ },
159
+ },
160
+ advanceFilterConfig: {
161
+ enabled: true,
162
+ fields: {
163
+ distance: true,
164
+ price: true,
165
+ petsAllowed: true,
166
+ instantBooking: true,
167
+ amenities: true,
168
+ datasources: true,
169
+ },
170
+ amenitiesList: AMENITIES.map((name) => ({ name })),
171
+ },
172
+ showTypeSelector: true,
173
+ isSettingsPanelOpen: false,
174
+ showTravelPlanner: false,
175
+ showAIAgent: true,
176
+ },
32
177
  siderBgColor: '#000000',
33
178
  headerBgColor: '#000000',
34
179
  textColor: '#a19c9c',
@@ -1 +1 @@
1
- {"version":3,"file":"defaultSettings.js","sources":["../../src/config/defaultSettings.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAoB,MAAA,eAAmB;AAEvC,IAAA,IAAY,EAAA,mEAA0B;IAClC,kBAAa;IACb,KAAgB,EAAA,SAAA;IAChB,YAAY,WAAO;IACnB,uBAAiB;IACjB,MAAU,EAAA;IACV,YAAe,EAAA;IACf,WAAW,EAAE;IACb,WAAa,EAAA;IACb,eAAc;IACd,SAAY,EAAA;IACZ,KAAa,EAAA;IACb,WAAW;IACX,gBAAc,EAAA,IAAA;IACd,UAAS,WAAS;IACrB,QAAA,EAAA,OAAA;AAED,IAAA,UAAA,EAAa,qBAAiB;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"defaultSettings.js","sources":["../../src/config/defaultSettings.ts"],"sourcesContent":[null],"names":[],"mappings":"0DACA;AACA;AA8EA,MAAM,cAAM,GAAY;IACpB,YAAY,EAAC,OAAA;IACb,WAAgB,EAAA,IAAA;IAChB,YAAc,EAAA;IACd,UAAU,EAAE;;MAEF,iBAAS;IACnB,QAAe,EAAA,IAAA;IACf,sBAAoB;IACpB,cAAa;IACb,cAAc,EAAE;IAChB,aAAY;IACZ,uBAAsB;IACtB,QAAS,EAAA,OAAQ;IACjB,eAAc,EAAA,SAAA;IACd,SAAS,EAAE;IACX,UAAe,EAAA,IAAA;IACf,QAAiB,EAAA,IAAA;IACjB,sBAAqB;IACrB,eAAoB,EAAA,IAAA;IACpB,iBAAgB,mBAAS,CAAA,SAAA;IACzB,gBAAkB,EAAA;IAClB,eAAyB,EAAA,EAAA;;MAED,YAAA,GAAA;IACxB,MAAiB,EAAA,QAAA;IACjB,OAAY,EAAA;AACZ,IAAA,IAAA,EAAA,MAAA;AAGQ,CAAA;AACI,MAAA,SAAA,GAAA;;;;sBAIe;;;;;;cAMb;AACF,IAAA,SAAA;;;;wBAIe,GAAA;;yBAED;sBACU,EAAA,OAAA;oBACC,EAAA,UAAA;4BACD,EAAA;6BACtB,EAAA,WAAA;4BACJ,EAAA,OAAA;AACF,KAAA;AACI,IAAA,OAAA,EAAA;AACI,QAAA,MAAA,EAAA;6BACY;0BACM,EAAA,IAAA;oBACd,MAAgB;;oBAEhB;yBACa;4BACI;qBACT;qBACF;0BACS,EAAA,EAAA;;4BAEL,EAAA;;;qBAGK,GAAA;6EACsB;sBACrB;oBAChB;kBACF,SAAA;AACF,IAAA,YAAA,EAAA,SAAY;oBACR;;iCAEa,YAAC;2CACA;+BACA,CAAA,YAAS;oBACzB;AACF,IAAA,KAAA,EAAA,aAAQ;;oBAEN,EAAA,IAAA;cACJ,EAAA,SAAA;AACF,IAAA,QAAA,EAAA,OAAQ;AACJ,IAAA,UAAA,EAAA,qBAAQ;qBACI,KAAA;uBACM;2BACE;oBAChB,KAAc;0BACA;qBACD,MAAA;qBACI,EAAA,QAAA;gEACA;wBACX,EAAA;oBACN,EAAe,QAAA;sBACN,EAAA,EAAA;6BACC,EAAA;2BACF,EAAA,2FAAU;4BACF,EAAA,KAAA;qBACD;;;oBAGf;uBACF,EAAA,kBAAA,CAAA,MAAA;AACF,gBAAA,MAAA,EAAA,kBAAY,CAAA,MAAA;;qBAEH;uBACA,EAAA,kBAAS,CAAA,OAAA;sBACT,EAAA,kBAAS,CAAA,OAAA;;AAElB,SAAA;;kBAEE;mBACJ,EAAA,IAAA;qBACJ,EAAA;AACL,QACH,iBAAA,EAAA;YACQ,CAAA,YAAQ,CAAA,MAAA,GAAA,IAAA;AAClB,YAAA,CAAA,YAAiB,CAAA,OAAS,GAAK,IAAA;YACjC,CAAA,YAAA,CAAA,IAAA,GAAA,IAAA;AAEF,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAMhD,QAAA,MAAM,SAAS;;;gCAKb,CAAC;AACH,QAAA,IAAI,MAAM,EAAS,OAAO,SAAS,CAAC;AAQpC,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAOhD,QAAA,MAAM,SAAS;;;gCAKb,CAAC;AACH,QAAA,IAAI,MAAM,EAAS,OAAO,SAAS,CAAC;AAepC,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,15 +1,22 @@
1
- import*as envalid from'envalid';import {getEnvironment}from'@common-stack/core';import {defaultSettings}from'./defaultSettings.js';const { json } = envalid;
1
+ import*as envalid from'envalid';import {getEnvironment}from'@common-stack/core';import {defaultSettings}from'./defaultSettings.js';import {merge}from'lodash-es';const { json } = envalid;
2
2
  const env = getEnvironment();
3
3
  const preConfig = envalid.cleanEnv(env, {
4
4
  LAYOUT_SETTINGS: json({
5
- default: JSON.stringify(defaultSettings),
5
+ default: JSON.stringify({ ...defaultSettings, extensionName: 'account' }),
6
6
  }),
7
7
  APP_DOMAIN: envalid.str({ default: 'cdebase.dev' }),
8
8
  });
9
9
  let config = {};
10
- // overwrite the layout settings with environment
10
+ // Parse the LAYOUT_SETTINGS if it exists in the environment
11
11
  if (env.LAYOUT_SETTINGS) {
12
- config = { ...preConfig, LAYOUT_SETTINGS: { ...defaultSettings, ...preConfig.LAYOUT_SETTINGS } };
12
+ try {
13
+ const parsedLayoutSettings = JSON.parse(env.LAYOUT_SETTINGS);
14
+ config = { ...preConfig, LAYOUT_SETTINGS: merge({}, defaultSettings, parsedLayoutSettings) };
15
+ }
16
+ catch (error) {
17
+ console.error('Error parsing LAYOUT_SETTINGS:', error);
18
+ config = preConfig;
19
+ }
13
20
  }
14
21
  else {
15
22
  config = preConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"env-config.js","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":";;kCAaG,CAAA,GAAA,EAAA;AACH,IAAA,eAAmB,EAAA,IAAA,CAAA;AAQnB,QAAO,OAAQ,EAAE,IAAC,CAAA,SAAA,CAAA,eAAA,CAAA;;;;;;;;;;;"}
1
+ {"version":3,"file":"env-config.js","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAeA,MAAA,SAAI,GAAM,OAAS,CAAA,YAAiB,EAAA;AAepC,IAAO,eAAW,EAAA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"error-link.d.ts","sourceRoot":"","sources":["../../../src/graphql/link/error-link.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAe,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAMvC,KAAK,aAAa,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,KAAK,UAAU,CAAC;AACrE,UAAU,UAAU;IAChB,YAAY,EAAE,aAAa,CAAC;CAC/B;AAED,qBAAa,SAAU,YAAW,UAAU;IACxC,OAAO,EAAE,MAAM,CAAC;IAEhB,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,KAAK,KAAA;IAoB1D,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS;CAoB/C;AAED,eAAO,MAAM,cAAc,cAAe,UAAU,CAAC,SAAS,eAE7D,CAAC"}
1
+ {"version":3,"file":"error-link.d.ts","sourceRoot":"","sources":["../../../src/graphql/link/error-link.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAe,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAMvC,KAAK,aAAa,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,KAAK,UAAU,CAAC;AACrE,UAAU,UAAU;IAChB,YAAY,EAAE,aAAa,CAAC;CAC/B;AAED,qBAAa,SAAU,YAAW,UAAU;IACxC,OAAO,EAAE,MAAM,CAAC;IAEhB,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,KAAK,KAAA;IAoB1D,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS;CAoB/C;AAED,eAAO,MAAM,cAAc,GAAI,WAAW,UAAU,CAAC,SAAS,eAE7D,CAAC"}
@@ -1,4 +1,4 @@
1
- import {onError}from'@apollo/client/link/error/index.js';import {LOG_APPLICATION_ERROR,BACKEND_ERROR}from'../../constants/error.js';import {serializeError}from'serialize-error';import {ClientTypes}from'@common-stack/client-core';class ErrorLink {
1
+ import {onError}from'@apollo/client/link/error/index.js';import {BACKEND_ERROR,LOG_APPLICATION_ERROR}from'../../constants/error.js';import {serializeError}from'serialize-error';import {ClientTypes}from'@common-stack/client-core';class ErrorLink {
2
2
  idToken;
3
3
  dispatchErrorAction(container, error) {
4
4
  if (container.isBound(ClientTypes.ReduxStore)) {
@@ -1 +1 @@
1
- {"version":3,"file":"error-link.js","sources":["../../../src/graphql/link/error-link.ts"],"sourcesContent":[null],"names":[],"mappings":"qOAUgB,MAAA;AACf,IAAA,OAAA;AAED,IAAa,mBAAA,CAAA,kBAAqB;QACvB,IAAA,SAAS,CAAA,OAAA,CAAA,WAAA,CAAA,UAAA,CAAA,EAAA;YAEG,MAAA,sBAAY,CAAA,GAAA,CAAU,WAAU,CAAE,UAAK,CAAA;AAoB1D,YAAA,IAAY,MAAC,GAAA;AAoBhB,gBAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,UAAA;AAED,uBAA2B,EAAA,KAAA,EAAA,UAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"error-link.js","sources":["../../../src/graphql/link/error-link.ts"],"sourcesContent":[null],"names":[],"mappings":"qOAUgB,MAAA;AACf,IAAA,OAAA;AAED,IAAa,mBAAA,CAAA,kBAAqB;QACvB,IAAA,SAAS,CAAA,OAAA,CAAA,WAAA,CAAA,UAAA,CAAA,EAAA;YAEG,MAAA,sBAAY,CAAA,GAAA,CAAU,WAAU,CAAE,UAAK,CAAA;AAoB1D,YAAA,IAAY,MAAC,GAAA;AAoBhB,gBAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,UAAA;AAED,gBAAO,0BAAwB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,28 @@
1
+ import * as React from 'react';
2
+ type Props = {
3
+ /**
4
+ * You are encouraged to add a fallback that is the same dimensions
5
+ * as the client rendered children. This will avoid content layout
6
+ * shift which is disgusting
7
+ */
8
+ children(): React.ReactNode;
9
+ fallback?: React.ReactNode;
10
+ };
11
+ /**
12
+ * Render the children only after the JS has loaded client-side. Use an optional
13
+ * fallback component if the JS is not yet loaded.
14
+ *
15
+ * Example: Render a Chart component if JS loads, renders a simple FakeChart
16
+ * component server-side or if there is no JS. The FakeChart can have only the
17
+ * UI without the behavior or be a loading spinner or skeleton.
18
+ * ```tsx
19
+ * return (
20
+ * <ClientOnly fallback={<FakeChart />}>
21
+ * {() => <Chart />}
22
+ * </ClientOnly>
23
+ * );
24
+ * ```
25
+ */
26
+ export declare function ClientOnly({ children, fallback }: Props): import("react/jsx-runtime").JSX.Element;
27
+ export {};
28
+ //# sourceMappingURL=Client-only.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Client-only.d.ts","sourceRoot":"","sources":["../../src/hooks/Client-only.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,KAAK,KAAK,GAAG;IACT;;;;OAIG;IACH,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAe,EAAE,EAAE,KAAK,2CAE9D"}
@@ -0,0 +1,18 @@
1
+ import {jsx,Fragment}from'react/jsx-runtime';import {useHydrated}from'./use-hydrated.js';/**
2
+ * Render the children only after the JS has loaded client-side. Use an optional
3
+ * fallback component if the JS is not yet loaded.
4
+ *
5
+ * Example: Render a Chart component if JS loads, renders a simple FakeChart
6
+ * component server-side or if there is no JS. The FakeChart can have only the
7
+ * UI without the behavior or be a loading spinner or skeleton.
8
+ * ```tsx
9
+ * return (
10
+ * <ClientOnly fallback={<FakeChart />}>
11
+ * {() => <Chart />}
12
+ * </ClientOnly>
13
+ * );
14
+ * ```
15
+ */
16
+ function ClientOnly({ children, fallback = null }) {
17
+ return useHydrated() ? jsx(Fragment, { children: children() }) : jsx(Fragment, { children: fallback });
18
+ }export{ClientOnly};//# sourceMappingURL=Client-only.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Client-only.js","sources":["../../src/hooks/Client-only.tsx"],"sourcesContent":[null],"names":[],"mappings":"yFAII;;;;AAIG;AACH;AACA;;AAGJ;;;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ import { useSettingsLoader, useSetting, usePermissionAutoFetch } from '@adminide-stack/platform-client';
2
+ export { useSettingsLoader, useSetting, usePermissionAutoFetch };
3
+ export * from './Client-only';
4
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/hooks/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAExG,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC;AACjE,cAAc,eAAe,CAAC"}
@@ -1,2 +1,3 @@
1
- export * from './useSettings';
1
+ export * from './useLayoutSettings';
2
+ export * from './hooks';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Return a boolean indicating if the JS has been hydrated already.
3
+ * When doing Server-Side Rendering, the result will always be false.
4
+ * When doing Client-Side Rendering, the result will always be false on the
5
+ * first render and true from then on. Even if a new component renders it will
6
+ * always start with true.
7
+ *
8
+ * Example: Disable a button that needs JS to work.
9
+ * ```tsx
10
+ * let hydrated = useHydrated();
11
+ * return (
12
+ * <button type="button" disabled={!hydrated} onClick={doSomethingCustom}>
13
+ * Click me
14
+ * </button>
15
+ * );
16
+ * ```
17
+ */
18
+ export declare function useHydrated(): boolean;
19
+ //# sourceMappingURL=use-hydrated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-hydrated.d.ts","sourceRoot":"","sources":["../../src/hooks/use-hydrated.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,YAM1B"}
@@ -0,0 +1,24 @@
1
+ import {useSyncExternalStore}from'react';function subscribe() {
2
+ // biome-ignore lint/suspicious/noEmptyBlockStatements: Mock function
3
+ return () => { };
4
+ }
5
+ /**
6
+ * Return a boolean indicating if the JS has been hydrated already.
7
+ * When doing Server-Side Rendering, the result will always be false.
8
+ * When doing Client-Side Rendering, the result will always be false on the
9
+ * first render and true from then on. Even if a new component renders it will
10
+ * always start with true.
11
+ *
12
+ * Example: Disable a button that needs JS to work.
13
+ * ```tsx
14
+ * let hydrated = useHydrated();
15
+ * return (
16
+ * <button type="button" disabled={!hydrated} onClick={doSomethingCustom}>
17
+ * Click me
18
+ * </button>
19
+ * );
20
+ * ```
21
+ */
22
+ function useHydrated() {
23
+ return useSyncExternalStore(subscribe, () => true, () => false);
24
+ }export{useHydrated};//# sourceMappingURL=use-hydrated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-hydrated.js","sources":["../../src/hooks/use-hydrated.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;AAuBG;AACH;;;;;;;"}
@@ -0,0 +1,6 @@
1
+ export declare const useLayoutSettings: () => {
2
+ settings: any;
3
+ setSettings: (config: any) => Promise<any>;
4
+ getSettings: () => Promise<any>;
5
+ };
6
+ //# sourceMappingURL=useLayoutSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLayoutSettings.d.ts","sourceRoot":"","sources":["../../src/hooks/useLayoutSettings.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,iBAAiB;;0BAoCP,GAAG;;CA+CzB,CAAC"}
@@ -1,4 +1,4 @@
1
- import {useEffect,useCallback}from'react';import {useDispatch,useSelector}from'react-redux';import {CHANGE_SETTINGS_ACTION}from'../constants/constants.js';const updateColorWeak = (colorWeak) => {
1
+ import {useCallback}from'react';import {useDispatch,useSelector,shallowEqual}from'react-redux';import {merge}from'lodash-es';import {defaultSettings}from'../config/defaultSettings.js';import {CHANGE_SETTINGS_ACTION}from'../constants/constants.js';import {compareAndSaveSettingsDifferences}from'../utils/settingsDifference.js';import {useParams}from'react-router';const updateColorWeak = (colorWeak) => {
2
2
  // @sri to avoid breaking during SSR, split into to checks
3
3
  if (typeof window !== 'undefined') {
4
4
  const root = document.getElementById('root');
@@ -7,74 +7,69 @@ import {useEffect,useCallback}from'react';import {useDispatch,useSelector}from'r
7
7
  }
8
8
  }
9
9
  };
10
- const useSettings = () => {
10
+ const useLayoutSettings = () => {
11
11
  const dispatch = useDispatch();
12
- const settings = useSelector((state) => state.settings);
13
- useEffect(() => {
14
- if (!settings || Object.keys(settings).length === 0) {
15
- void getSettings().then((settingsData) => {
16
- if (settingsData) {
17
- dispatch({
18
- type: CHANGE_SETTINGS_ACTION,
19
- payload: settingsData,
20
- });
21
- }
22
- });
23
- }
24
- }, [dispatch, settings]);
12
+ const settings = useSelector((state) => state.settings, shallowEqual);
13
+ const { orgName: orgNameFromParams } = useSelector((state) => ({
14
+ orgName: state.platform.orgName,
15
+ }), shallowEqual);
16
+ const { orgName: orgNameFromUrl } = useParams();
25
17
  const getSettings = useCallback(async () => {
26
18
  try {
27
19
  const response = await fetch('/resources/settings', {
28
20
  method: 'GET',
29
21
  headers: {
30
22
  'Content-Type': 'application/json',
23
+ orgName: orgNameFromParams || orgNameFromUrl || '',
31
24
  },
32
25
  });
33
26
  if (!response.ok) {
34
27
  throw new Error('Failed to fetch settings');
35
28
  }
36
- const result = await response.json();
37
- return result;
29
+ const diffSettings = await response.json();
30
+ return diffSettings.settings;
38
31
  }
39
32
  catch (error) {
40
33
  console.error(error);
41
- return null;
34
+ // Return default settings if there's an error
35
+ return defaultSettings;
42
36
  }
43
37
  }, []);
44
38
  const setSettings = useCallback(async (config) => {
45
39
  const { colorWeak, contentWidth } = config;
46
40
  try {
47
- // @sri to avoid breaking during SSR, split into to checks
41
+ // Handle UI updates for special settings
48
42
  if (settings.contentWidth !== contentWidth) {
49
43
  if (typeof window !== 'undefined') {
50
44
  window.dispatchEvent(new Event('resize'));
51
45
  }
52
46
  }
53
47
  updateColorWeak(!!colorWeak);
48
+ const cleanDiffSettings = compareAndSaveSettingsDifferences(config, defaultSettings);
54
49
  const response = await fetch('/resources/settings', {
55
50
  method: 'POST',
56
51
  headers: {
57
52
  'Content-Type': 'application/json',
53
+ orgName: orgNameFromParams || orgNameFromUrl || '',
58
54
  },
59
- body: JSON.stringify({ config }),
55
+ body: JSON.stringify({ config: cleanDiffSettings }),
60
56
  });
61
57
  if (!response.ok) {
62
58
  throw new Error('Failed to update settings');
63
59
  }
64
- const updatedSettings = {
65
- ...settings,
66
- ...config,
67
- };
60
+ const result = await response.json();
61
+ const pageDefaultSettings = result || defaultSettings;
62
+ // Merge the full config with default settings before updating the store
63
+ const mergedSettings = merge({}, pageDefaultSettings, config);
68
64
  dispatch({
69
65
  type: CHANGE_SETTINGS_ACTION,
70
- payload: updatedSettings,
66
+ payload: mergedSettings,
71
67
  });
72
- return await response.json();
73
68
  }
74
69
  catch (error) {
75
70
  console.error(error);
76
71
  return null;
77
72
  }
78
73
  }, [dispatch, settings]);
79
- return { settings, setSettings };
80
- };export{useSettings};//# sourceMappingURL=useSettings.js.map
74
+ return { settings, setSettings, getSettings };
75
+ };export{useLayoutSettings};//# sourceMappingURL=useLayoutSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLayoutSettings.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/lib/index.d.ts CHANGED
@@ -6,6 +6,6 @@ export * from './components';
6
6
  export * from './graphql';
7
7
  export * from './themes';
8
8
  export * from './config';
9
- export * from './antd-themes';
10
9
  export * from './hooks';
10
+ export * from './colors';
11
11
  //# sourceMappingURL=index.d.ts.map