@acorex/platform 19.2.20 → 19.3.0-next.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 (193) hide show
  1. package/common/index.d.ts +1 -0
  2. package/common/lib/app/application.types.d.ts +13 -3
  3. package/common/lib/file-storage/file-storage.types.d.ts +20 -12
  4. package/common/lib/filters/filters.types.d.ts +5 -0
  5. package/common/lib/layout/menu/badge-helper.d.ts +7 -0
  6. package/common/lib/layout/menu/index.d.ts +1 -0
  7. package/common/lib/layout/menu/menu.types.d.ts +1 -0
  8. package/common/lib/layout/task-badge/index.d.ts +2 -0
  9. package/common/lib/layout/task-badge/task-badge.service.d.ts +11 -0
  10. package/common/lib/layout/task-badge/task-badge.type.d.ts +6 -0
  11. package/common/lib/settings/setting-definition.provider.d.ts +7 -5
  12. package/common/lib/settings/setting.builder.d.ts +8 -5
  13. package/common/lib/settings/settings.service.d.ts +6 -5
  14. package/common/lib/settings/settings.types.d.ts +6 -10
  15. package/core/lib/data/index.d.ts +1 -0
  16. package/core/lib/data/value-transformer.d.ts +6 -0
  17. package/core/lib/types/core.types.d.ts +18 -0
  18. package/{layout/entity/lib → core/lib/types}/data.types.d.ts +3 -1
  19. package/core/lib/types/element.types.d.ts +6 -0
  20. package/core/lib/types/index.d.ts +6 -0
  21. package/core/lib/{types.d.ts → types/interactive.types.d.ts} +5 -25
  22. package/core/lib/types/scope.types.d.ts +10 -0
  23. package/core/lib/types/validation.types.d.ts +7 -0
  24. package/core/lib/utils/index.d.ts +1 -0
  25. package/core/lib/utils/object-util.d.ts +3 -0
  26. package/fesm2022/acorex-platform-common.mjs +79 -35
  27. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  28. package/fesm2022/acorex-platform-core.mjs +151 -6
  29. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  30. package/fesm2022/acorex-platform-layout-builder.mjs +44 -55
  31. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  32. package/fesm2022/acorex-platform-layout-designer.mjs +77 -35
  33. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  34. package/fesm2022/acorex-platform-layout-entity.mjs +240 -414
  35. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  36. package/fesm2022/acorex-platform-layout-search.mjs +7 -26
  37. package/fesm2022/acorex-platform-layout-search.mjs.map +1 -1
  38. package/fesm2022/acorex-platform-layout-setting.mjs +211 -278
  39. package/fesm2022/acorex-platform-layout-setting.mjs.map +1 -1
  40. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-LKhN00ob.mjs → acorex-platform-themes-default-entity-master-create-view.component-3gmbdeJ_.mjs} +4 -3
  41. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-3gmbdeJ_.mjs.map +1 -0
  42. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DnEL7Ej-.mjs +741 -0
  43. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DnEL7Ej-.mjs.map +1 -0
  44. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-8DdICjNs.mjs +91 -0
  45. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-8DdICjNs.mjs.map +1 -0
  46. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DadBeY1I.mjs +164 -0
  47. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DadBeY1I.mjs.map +1 -0
  48. package/fesm2022/{acorex-platform-themes-default-search-popup.component-BY3oQqbr.mjs → acorex-platform-themes-default-search-popup.component-BADEuoeJ.mjs} +9 -9
  49. package/fesm2022/{acorex-platform-themes-default-search-popup.component-BY3oQqbr.mjs.map → acorex-platform-themes-default-search-popup.component-BADEuoeJ.mjs.map} +1 -1
  50. package/fesm2022/acorex-platform-themes-default-setting-page.component-Cj73brIK.mjs +219 -0
  51. package/fesm2022/acorex-platform-themes-default-setting-page.component-Cj73brIK.mjs.map +1 -0
  52. package/fesm2022/acorex-platform-themes-default-setting-view.component-rrAq6hg2.mjs +103 -0
  53. package/fesm2022/acorex-platform-themes-default-setting-view.component-rrAq6hg2.mjs.map +1 -0
  54. package/fesm2022/acorex-platform-themes-default.mjs +108 -64
  55. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  56. package/fesm2022/acorex-platform-themes-shared-setting.provider-CXiRmniv.mjs +168 -0
  57. package/fesm2022/acorex-platform-themes-shared-setting.provider-CXiRmniv.mjs.map +1 -0
  58. package/fesm2022/acorex-platform-themes-shared.mjs +495 -240
  59. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  60. package/fesm2022/acorex-platform-widgets.mjs +4100 -1480
  61. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  62. package/layout/builder/lib/builder/builder.service.d.ts +1 -1
  63. package/layout/builder/lib/builder/index.d.ts +2 -1
  64. package/layout/builder/lib/builder/widget-categories.d.ts +10 -0
  65. package/layout/builder/lib/builder/widget-group.types.d.ts +10 -0
  66. package/layout/builder/lib/builder/widget-map.d.ts +8 -1
  67. package/layout/builder/lib/builder/widget-status.types.d.ts +2 -0
  68. package/layout/builder/lib/builder/widget.types.d.ts +11 -27
  69. package/layout/designer/lib/designer/components/widget-picker/widget-picker.component.d.ts +7 -3
  70. package/layout/designer/lib/designer/components/widget-picker/widget-picker.service.d.ts +12 -0
  71. package/layout/designer/lib/designer/index.d.ts +1 -0
  72. package/layout/designer/lib/designer/shared/designer.service.d.ts +1 -0
  73. package/layout/designer/lib/property-viewer/widget-property-viewer.component.d.ts +2 -1
  74. package/layout/entity/lib/entity-data-seeder.d.ts +2 -2
  75. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +4 -7
  76. package/layout/entity/lib/entity-storage-service.d.ts +39 -55
  77. package/layout/entity/lib/entity.types.d.ts +21 -0
  78. package/layout/entity/lib/index.d.ts +1 -2
  79. package/layout/entity/lib/widgets/lookup-widget/index.d.ts +0 -2
  80. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.d.ts +4 -0
  81. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +7 -9
  82. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.d.ts +5 -2
  83. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.d.ts +11 -3
  84. package/layout/search/lib/search.viewmodel.d.ts +0 -2
  85. package/layout/setting/lib/setting.viewmodel.d.ts +45 -111
  86. package/package.json +5 -5
  87. package/themes/default/lib/layouts/base/base-page.component.d.ts +14 -5
  88. package/themes/default/lib/layouts/base/base-page.types.d.ts +6 -1
  89. package/themes/default/lib/layouts/base/page-layout/page-layout.component.d.ts +5 -4
  90. package/themes/default/lib/layouts/base/simple-page/simple-page.layout.d.ts +2 -2
  91. package/themes/default/lib/layouts/entity-layouts/entity-category/entity-category.component.d.ts +16 -0
  92. package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +2 -2
  93. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +10 -8
  94. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +12 -4
  95. package/themes/default/lib/layouts/entity-layouts/entity-master-toolbar-view/entity-master-toolbar-view.component.d.ts +7 -0
  96. package/themes/default/lib/layouts/entity-layouts/entity-master-toolbar-view/filters/entity-filter-toolbar.component.d.ts +48 -0
  97. package/themes/default/lib/layouts/entity-layouts/entity-master-toolbar-view/views/entity-view-toolbar.component.d.ts +12 -0
  98. package/themes/default/lib/layouts/root-layout/components/header/header.component.d.ts +2 -2
  99. package/themes/default/lib/layouts/root-layout/components/horizontal-menu/horizontal-menu.component.d.ts +9 -3
  100. package/themes/default/lib/layouts/root-layout/components/side-menu/side-menu.component.d.ts +7 -1
  101. package/themes/default/lib/layouts/root-layout/horizontal/horizontal-layout.component.d.ts +2 -2
  102. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +2 -2
  103. package/themes/default/lib/layouts/root-layout/vertical/vertical-layout.component.d.ts +2 -2
  104. package/themes/default/lib/layouts/setting-layout/setting-page/setting-page.component.d.ts +61 -5
  105. package/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.d.ts +68 -6
  106. package/themes/shared/index.d.ts +1 -0
  107. package/themes/shared/lib/components/badge/badge.directive.d.ts +14 -0
  108. package/themes/shared/lib/components/layout-elements/layout-blocks.component.d.ts +4 -1
  109. package/themes/shared/lib/components/layout-elements/layout-side.component.d.ts +2 -2
  110. package/themes/shared/lib/components/slots/theme-slot.component.d.ts +2 -2
  111. package/themes/shared/lib/palette.provider.d.ts +1 -1
  112. package/themes/shared/lib/setting.keys.d.ts +2 -1
  113. package/themes/shared/lib/setting.provider.d.ts +4 -1
  114. package/themes/shared/lib/theme.service.d.ts +2 -2
  115. package/themes/shared/lib/theme.types.d.ts +11 -2
  116. package/themes/shared/lib/widgets/font-size-chooser/font-size-chooser-widget.component.d.ts +10 -0
  117. package/themes/shared/lib/widgets/font-size-chooser/font-size-chooser-widget.config.d.ts +7 -0
  118. package/themes/shared/lib/widgets/font-size-chooser/index.d.ts +2 -0
  119. package/themes/shared/lib/widgets/font-style-chooser/font-style-chooser-widget.component.d.ts +15 -0
  120. package/themes/shared/lib/widgets/font-style-chooser/font-style-chooser-widget.config.d.ts +7 -0
  121. package/themes/shared/lib/widgets/font-style-chooser/index.d.ts +2 -0
  122. package/themes/shared/lib/widgets/menu-orientation-chooser/index.d.ts +2 -0
  123. package/themes/shared/lib/widgets/menu-orientation-chooser/menu-orientation-chooser-widget.component.d.ts +15 -0
  124. package/themes/shared/lib/widgets/menu-orientation-chooser/menu-orientation-chooser-widget.config.d.ts +7 -0
  125. package/themes/shared/lib/widgets/theme-mode-chooser/index.d.ts +2 -0
  126. package/themes/shared/lib/widgets/theme-mode-chooser/theme-mode-chooser-widget.component.d.ts +16 -0
  127. package/themes/shared/lib/widgets/theme-mode-chooser/theme-mode-chooser-widget.config.d.ts +7 -0
  128. package/themes/shared/lib/widgets/theme-palette-chooser/index.d.ts +2 -0
  129. package/themes/shared/lib/widgets/theme-palette-chooser/theme-palette-chooser-widget.component.d.ts +13 -0
  130. package/themes/shared/lib/widgets/{theme-color-selection/theme-color-selection-widget.config.d.ts → theme-palette-chooser/theme-palette-chooser-widget.config.d.ts} +2 -2
  131. package/widgets/lib/properties/groups.d.ts +2 -0
  132. package/widgets/lib/widgets/advance/file/file-box-widget-edit.component.d.ts +5 -5
  133. package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget.component.d.ts +52 -0
  134. package/widgets/lib/widgets/charts/bar-chart/bar-chart.type.d.ts +29 -11
  135. package/widgets/lib/widgets/charts/bar-chart/index.d.ts +1 -1
  136. package/widgets/lib/widgets/charts/chart.type.d.ts +3 -0
  137. package/widgets/lib/widgets/charts/clock-calendar/clock-calendar-widget.component.d.ts +40 -0
  138. package/widgets/lib/widgets/charts/clock-calendar/clock-calendar-widget.config.d.ts +7 -0
  139. package/widgets/lib/widgets/charts/clock-calendar/clock-calendar.types.d.ts +50 -0
  140. package/widgets/lib/widgets/charts/clock-calendar/index.d.ts +3 -0
  141. package/widgets/lib/widgets/charts/donut-chart/donut-chart-widget.component.d.ts +54 -0
  142. package/widgets/lib/widgets/charts/donut-chart/donut-chart.type.d.ts +31 -21
  143. package/widgets/lib/widgets/charts/donut-chart/index.d.ts +1 -1
  144. package/widgets/lib/widgets/charts/gauge-chart/{gauge-chart-widget-edit.component.d.ts → gauge-chart-widget.component.d.ts} +3 -3
  145. package/widgets/lib/widgets/charts/gauge-chart/gauge-chart.type.d.ts +26 -11
  146. package/widgets/lib/widgets/charts/gauge-chart/index.d.ts +2 -1
  147. package/widgets/lib/widgets/charts/shared/chart-base.component.d.ts +44 -0
  148. package/widgets/lib/widgets/charts/shared/chart-base.type.d.ts +37 -0
  149. package/widgets/lib/widgets/charts/sticky-note/index.d.ts +1 -1
  150. package/widgets/lib/widgets/charts/sticky-note/{sticky-note-widget-edit.component.d.ts → sticky-note-widget.component.d.ts} +3 -3
  151. package/widgets/lib/widgets/charts/weather/index.d.ts +4 -0
  152. package/widgets/lib/widgets/charts/weather/weather-services/index.d.ts +3 -0
  153. package/widgets/lib/widgets/charts/weather/weather-services/weather-api.abstract.d.ts +174 -0
  154. package/widgets/lib/widgets/charts/weather/weather-services/weather-api.key.d.ts +2 -0
  155. package/widgets/lib/widgets/charts/weather/weather-services/weather-api.mock.service.d.ts +47 -0
  156. package/widgets/lib/widgets/charts/weather/weather-services/weather-api.service.d.ts +48 -0
  157. package/widgets/lib/widgets/charts/weather/weather-widget.component.d.ts +109 -0
  158. package/widgets/lib/widgets/charts/weather/weather-widget.config.d.ts +14 -0
  159. package/widgets/lib/widgets/charts/weather/weather.module.d.ts +11 -0
  160. package/widgets/lib/widgets/editors/select/select-box-widget-column.component.d.ts +0 -1
  161. package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +4 -1
  162. package/widgets/lib/widgets/editors/template-box/index.d.ts +6 -0
  163. package/widgets/lib/widgets/editors/template-box/template-box-widget-column.component.d.ts +10 -0
  164. package/widgets/lib/widgets/editors/template-box/template-box-widget-edit.component.d.ts +29 -0
  165. package/widgets/lib/widgets/editors/template-box/template-box-widget-filter.component.d.ts +6 -0
  166. package/widgets/lib/widgets/editors/template-box/template-box-widget-print.component.d.ts +10 -0
  167. package/widgets/lib/widgets/editors/template-box/template-box-widget-view.component.d.ts +11 -0
  168. package/widgets/lib/widgets/editors/template-box/template-box-widget.config.d.ts +7 -0
  169. package/widgets/lib/widgets/filters/select-filter/select-filter-widget-edit.component.d.ts +2 -5
  170. package/widgets/lib/widgets/index.d.ts +3 -0
  171. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-LKhN00ob.mjs.map +0 -1
  172. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BYUOmONk.mjs +0 -400
  173. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BYUOmONk.mjs.map +0 -1
  174. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-B9TUh-2S.mjs +0 -91
  175. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-B9TUh-2S.mjs.map +0 -1
  176. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-9U774Tr7.mjs +0 -135
  177. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-9U774Tr7.mjs.map +0 -1
  178. package/fesm2022/acorex-platform-themes-default-setting-page.component-_IStMWcu.mjs +0 -74
  179. package/fesm2022/acorex-platform-themes-default-setting-page.component-_IStMWcu.mjs.map +0 -1
  180. package/fesm2022/acorex-platform-themes-default-setting-view.component-CeHpcfsc.mjs +0 -73
  181. package/fesm2022/acorex-platform-themes-default-setting-view.component-CeHpcfsc.mjs.map +0 -1
  182. package/fesm2022/acorex-platform-themes-default-theme-palette-preview.page-D_EkB2k8.mjs +0 -146
  183. package/fesm2022/acorex-platform-themes-default-theme-palette-preview.page-D_EkB2k8.mjs.map +0 -1
  184. package/layout/builder/lib/builder/widget-groups.d.ts +0 -9
  185. package/layout/entity/lib/dexie-storage.service.d.ts +0 -16
  186. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-filter.component.d.ts +0 -6
  187. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-print.component.d.ts +0 -6
  188. package/themes/default/lib/layouts/filters-layout/simple-filter-builder/filters-view.component.d.ts +0 -13
  189. package/themes/default/lib/pages/theme-palette-preview/theme-palette-preview.page.d.ts +0 -85
  190. package/themes/shared/lib/widgets/theme-color-selection/index.d.ts +0 -2
  191. package/themes/shared/lib/widgets/theme-color-selection/theme-color-selection-widget-edit.component.d.ts +0 -6
  192. package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget-edit.component.d.ts +0 -40
  193. package/widgets/lib/widgets/charts/donut-chart/donut-chart-widget-edit.component.d.ts +0 -44
@@ -1,5 +1,17 @@
1
- import { AXPChartValue } from '../chart.type';
2
- export interface AXPBarChartOption {
1
+ import { AXPChartDataBase, AXPChartOptionBase } from '../shared/chart-base.type';
2
+ /**
3
+ * Bar chart data item interface
4
+ */
5
+ export interface AXPBarChartData extends AXPChartDataBase {
6
+ id: string;
7
+ label: string;
8
+ value: number;
9
+ color?: string;
10
+ }
11
+ /**
12
+ * Bar chart options interface
13
+ */
14
+ export interface AXPBarChartOption extends AXPChartOptionBase {
3
15
  width?: number;
4
16
  height?: number;
5
17
  margin?: {
@@ -8,14 +20,20 @@ export interface AXPBarChartOption {
8
20
  bottom: number;
9
21
  left: number;
10
22
  };
11
- transitionDelayMs: number;
23
+ barPadding?: number;
24
+ barCornerRadius?: number;
25
+ showXAxis?: boolean;
26
+ showYAxis?: boolean;
27
+ showGrid?: boolean;
28
+ transitionDuration?: number;
29
+ transitionDelayMs?: number;
12
30
  color?: string | string[];
31
+ hoverColor?: string;
32
+ showTooltip?: boolean;
33
+ tooltipFormat?: string;
13
34
  }
14
- export interface AXPBarChartData {
15
- id?: string;
16
- label: string;
17
- value: number;
18
- color?: string;
19
- }
20
- export interface AXPBarChartValue extends AXPChartValue<AXPBarChartData[], AXPBarChartOption> {
21
- }
35
+ /**
36
+ * Bar chart data type returned by getValue()
37
+ * Represents an array of bar chart data items
38
+ */
39
+ export type AXPBarChartValue = AXPBarChartData[];
@@ -1,2 +1,2 @@
1
- export * from './bar-chart-widget-edit.component';
1
+ export * from './bar-chart-widget.component';
2
2
  export * from './bar-chart-widget.config';
@@ -1,4 +1,7 @@
1
+ import { AXPWidgetCategory } from "@acorex/platform/layout/builder";
1
2
  export interface AXPChartValue<T, U> {
2
3
  data: T;
3
4
  options: U;
4
5
  }
6
+ export declare const AXP_WIDGETS_CHART_CATEGORY: AXPWidgetCategory;
7
+ export declare const AXP_WIDGETS_UTILITY_CATEGORY: AXPWidgetCategory;
@@ -0,0 +1,40 @@
1
+ import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
2
+ import { OnDestroy, OnInit, Signal } from '@angular/core';
3
+ import { AXPHourNumber } from './clock-calendar.types';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AXPClockCalendarWidgetViewComponent extends AXPWidgetComponent implements OnInit, OnDestroy {
6
+ private readonly cdr;
7
+ protected currentTime: Date;
8
+ protected currentDate: Date;
9
+ private clockSubscription;
10
+ protected readonly clockHours: number[];
11
+ protected readonly clockHourNumbers: AXPHourNumber[];
12
+ protected hourRotation: number;
13
+ protected minuteRotation: number;
14
+ protected secondRotation: number;
15
+ protected readonly displayLayout: Signal<string>;
16
+ protected readonly showDigitalClock: Signal<boolean>;
17
+ protected readonly showAnalogClock: Signal<boolean>;
18
+ protected readonly showDate: Signal<boolean>;
19
+ protected readonly showDayOfWeek: Signal<boolean>;
20
+ protected readonly use24Hour: Signal<boolean>;
21
+ protected readonly showSeconds: Signal<boolean>;
22
+ protected readonly dateFormat: Signal<string>;
23
+ protected readonly timezone: Signal<string>;
24
+ protected readonly showTimezoneIndicator: Signal<boolean>;
25
+ protected readonly displayTimezone: Signal<string>;
26
+ protected readonly timeFormat: Signal<string>;
27
+ ngOnInit(): void;
28
+ ngOnDestroy(): void;
29
+ private startClockTimer;
30
+ private stopClockTimer;
31
+ private updateTime;
32
+ private getAdjustedTime;
33
+ private updateClockHandsRotation;
34
+ protected initializeWidget(): void;
35
+ protected updateWidget(): void;
36
+ protected destroyWidget(): void;
37
+ protected getDayOfWeek(): string;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPClockCalendarWidgetViewComponent, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPClockCalendarWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
40
+ }
@@ -0,0 +1,7 @@
1
+ import { AXPWidgetConfig } from '@acorex/platform/layout/builder';
2
+ export declare const AXPClockCalendarWidget: AXPWidgetConfig;
3
+ declare module '@acorex/platform/layout/builder' {
4
+ interface AXPWidgetTypesMap {
5
+ clockCalendar: 'clock-calendar';
6
+ }
7
+ }
@@ -0,0 +1,50 @@
1
+ /**
2
+ * ACoreX Clock Calendar Widget Types
3
+ * Contains all types and interfaces for the Clock Calendar widget
4
+ */
5
+ /**
6
+ * Clock layout display options
7
+ */
8
+ export type AXPClockLayout = 'both' | 'digital' | 'analog';
9
+ /**
10
+ * Clock timezone options
11
+ */
12
+ export interface AXPTimezoneOption {
13
+ id: string;
14
+ title: string;
15
+ }
16
+ /**
17
+ * Date format options
18
+ */
19
+ export interface AXPDateFormatOption {
20
+ id: string;
21
+ title: string;
22
+ }
23
+ /**
24
+ * Hour number definition for the analog clock
25
+ */
26
+ export interface AXPHourNumber {
27
+ number: number;
28
+ angle: number;
29
+ }
30
+ /**
31
+ * Widget options for configuring the clock-calendar
32
+ */
33
+ export interface AXPClockCalendarOptions {
34
+ displayLayout?: AXPClockLayout;
35
+ showDate?: boolean;
36
+ showDayOfWeek?: boolean;
37
+ use24Hour?: boolean;
38
+ showSeconds?: boolean;
39
+ showHourMarkers?: boolean;
40
+ dateFormat?: string;
41
+ timezone?: string;
42
+ }
43
+ /**
44
+ * Common timezone options for the widget configuration
45
+ */
46
+ export declare const AXP_TIMEZONE_OPTIONS: AXPTimezoneOption[];
47
+ /**
48
+ * Common date format options for the widget configuration
49
+ */
50
+ export declare const AXP_DATE_FORMAT_OPTIONS: AXPDateFormatOption[];
@@ -0,0 +1,3 @@
1
+ export * from './clock-calendar-widget.component';
2
+ export * from './clock-calendar-widget.config';
3
+ export * from './clock-calendar.types';
@@ -0,0 +1,54 @@
1
+ import { ChangeDetectorRef, EventEmitter } from '@angular/core';
2
+ import { AXPChartBaseComponent } from '../shared/chart-base.component';
3
+ import { AXPDonutChartData, AXPDonutChartOption, AXPDonutChartValue } from './donut-chart.type';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AXPDonutChartWidgetViewComponent extends AXPChartBaseComponent<AXPDonutChartValue, AXPDonutChartOption> {
6
+ protected cdr: ChangeDetectorRef;
7
+ segmentClick: EventEmitter<AXPDonutChartData>;
8
+ private chartContainerEl;
9
+ private svg;
10
+ private chart;
11
+ private pieData;
12
+ private hiddenSegments;
13
+ private activeSegmentId;
14
+ private _tooltipVisible;
15
+ private _tooltipPosition;
16
+ private _tooltipData;
17
+ protected tooltipVisible: import("@angular/core").Signal<boolean>;
18
+ protected tooltipPosition: import("@angular/core").Signal<{
19
+ x: number;
20
+ y: number;
21
+ }>;
22
+ protected tooltipData: import("@angular/core").Signal<{
23
+ name: string;
24
+ value: number;
25
+ percentage: string;
26
+ id: string;
27
+ }>;
28
+ protected showLegend: import("@angular/core").Signal<boolean>;
29
+ protected showTooltip: import("@angular/core").Signal<boolean>;
30
+ protected showValue: import("@angular/core").Signal<boolean>;
31
+ protected showPercentage: import("@angular/core").Signal<boolean>;
32
+ protected legendPosition: import("@angular/core").Signal<any>;
33
+ constructor(cdr: ChangeDetectorRef);
34
+ protected trackByFn(index: number, item: AXPDonutChartData): string;
35
+ protected getColor(index: number): string;
36
+ protected isSegmentHidden(id: string): boolean;
37
+ protected createChart(): void;
38
+ protected updateChart(): void;
39
+ protected cleanupChart(): void;
40
+ protected onSegmentClick(item: AXPDonutChartData): void;
41
+ protected onLegendMouseEnter(item: AXPDonutChartData): void;
42
+ protected onLegendMouseLeave(): void;
43
+ private setupDimensions;
44
+ private renderDonutChart;
45
+ private setupColorScale;
46
+ private handleSegmentHover;
47
+ private updateTooltipPosition;
48
+ private addCenterContent;
49
+ private toggleSegment;
50
+ private calculateTotal;
51
+ private showNoDataMessage;
52
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPDonutChartWidgetViewComponent, never>;
53
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPDonutChartWidgetViewComponent, "ng-component", never, {}, { "segmentClick": "segmentClick"; }, never, never, true, never>;
54
+ }
@@ -1,28 +1,38 @@
1
- import { AXPChartValue } from '../chart.type';
2
- export interface AXPDonutChartData {
1
+ import { AXPChartDataBase, AXPChartOptionBase } from '../shared/chart-base.type';
2
+ /**
3
+ * Donut chart segment data item interface
4
+ */
5
+ export interface AXPDonutChartData extends AXPChartDataBase {
3
6
  id: string;
4
7
  name: string;
5
8
  value: number;
6
9
  color?: string;
7
10
  }
8
- export interface AXPDonutChartOption {
9
- width: number;
10
- height: number;
11
- tooltip?: {
12
- enabled: boolean;
13
- showPercentage: boolean;
14
- showValue: boolean;
15
- position?: 'auto' | 'fixed';
16
- offset?: number;
11
+ /**
12
+ * Donut chart options interface
13
+ */
14
+ export interface AXPDonutChartOption extends AXPChartOptionBase {
15
+ width?: number;
16
+ height?: number;
17
+ innerRadiusRatio?: number;
18
+ segmentCornerRadius?: number;
19
+ segmentPadding?: number;
20
+ showTooltip?: boolean;
21
+ showPercentage?: boolean;
22
+ showValue?: boolean;
23
+ showLegend?: boolean;
24
+ legendPosition?: 'bottom' | 'right' | 'top' | 'left';
25
+ animationEnabled?: boolean;
26
+ animationDuration?: number;
27
+ showCenterContent?: boolean;
28
+ centerContent?: {
29
+ label?: string;
30
+ showTotal?: boolean;
31
+ fontSize?: number;
17
32
  };
18
- legend?: {
19
- enabled: boolean;
20
- position?: 'bottom' | 'right';
21
- };
22
- animation?: {
23
- enabled: boolean;
24
- duration?: number;
25
- };
26
- }
27
- export interface AXPDonutChartValue extends AXPChartValue<AXPDonutChartData[], AXPDonutChartOption> {
28
33
  }
34
+ /**
35
+ * Donut chart data type returned by getValue()
36
+ * Represents an array of donut chart segments
37
+ */
38
+ export type AXPDonutChartValue = AXPDonutChartData[];
@@ -1,2 +1,2 @@
1
- export * from './donut-chart-widget-edit.component';
1
+ export * from './donut-chart-widget.component';
2
2
  export * from './donut-chart-widget.config';
@@ -1,7 +1,7 @@
1
1
  import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
2
2
  import { AXPGaugeChartValue } from './gauge-chart.type';
3
3
  import * as i0 from "@angular/core";
4
- export declare class AXPGaugeChartWidgetEditComponent extends AXPWidgetComponent<AXPGaugeChartValue> {
4
+ export declare class AXPGaugeChartWidgetViewComponent extends AXPWidgetComponent<AXPGaugeChartValue> {
5
5
  #private;
6
6
  private chartContainerEl;
7
7
  private chartEl;
@@ -50,6 +50,6 @@ export declare class AXPGaugeChartWidgetEditComponent extends AXPWidgetComponent
50
50
  */
51
51
  private radiansToDegrees;
52
52
  ngOnDestroy(): void;
53
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPGaugeChartWidgetEditComponent, never>;
54
- static ɵcmp: i0.ɵɵComponentDeclaration<AXPGaugeChartWidgetEditComponent, "ng-component", never, {}, {}, never, never, true, never>;
53
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPGaugeChartWidgetViewComponent, never>;
54
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPGaugeChartWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
55
55
  }
@@ -1,21 +1,36 @@
1
- import { AXPChartValue } from '../chart.type';
2
- export interface AXPGaugeChartData {
3
- id: string;
4
- name: string;
1
+ import { AXPChartDataBase, AXPChartOptionBase } from '../shared/chart-base.type';
2
+ /**
3
+ * Gauge chart data item interface
4
+ */
5
+ export interface AXPGaugeChartData extends AXPChartDataBase {
5
6
  value: number;
6
- color?: string;
7
7
  }
8
- export interface AXPGaugeChartOption {
9
- width: number;
10
- height: number;
8
+ /**
9
+ * Gauge chart options interface
10
+ */
11
+ export interface AXPGaugeChartOption extends AXPChartOptionBase {
11
12
  minValue: number;
12
13
  maxValue: number;
14
+ width?: number;
15
+ height?: number;
16
+ showValue?: boolean;
17
+ valueFormat?: string;
18
+ valueFontSize?: number;
19
+ gaugeWidth?: number;
20
+ cornerRadius?: number;
13
21
  thresholds?: {
14
- range: number;
22
+ value: number;
15
23
  color: string;
16
24
  }[];
17
25
  label?: string;
26
+ labelFontSize?: number;
27
+ baseColor?: string;
28
+ valueColor?: string;
29
+ backgroundColor?: string;
18
30
  animationDuration?: number;
19
31
  }
20
- export interface AXPGaugeChartValue extends AXPChartValue<AXPGaugeChartData, AXPGaugeChartOption> {
21
- }
32
+ /**
33
+ * Gauge chart data type returned by getValue()
34
+ * Represents a single gauge value
35
+ */
36
+ export type AXPGaugeChartValue = number;
@@ -1,2 +1,3 @@
1
- export * from './gauge-chart-widget-edit.component';
1
+ export * from './gauge-chart-widget.component';
2
2
  export * from './gauge-chart-widget.config';
3
+ export * from './gauge-chart.type';
@@ -0,0 +1,44 @@
1
+ import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
2
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy, OnInit } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Base component class for all chart components with common chart functionality
6
+ */
7
+ export declare abstract class AXPChartBaseComponent<TData, TOptions> extends AXPWidgetComponent<TData> implements OnInit, AfterViewInit, OnDestroy {
8
+ protected cdr: ChangeDetectorRef;
9
+ protected d3: typeof import('d3');
10
+ private injector;
11
+ protected isInitialized: import("@angular/core").WritableSignal<boolean>;
12
+ protected isRendered: import("@angular/core").WritableSignal<boolean>;
13
+ protected _internalData: import("@angular/core").WritableSignal<TData | null>;
14
+ protected chartData: import("@angular/core").Signal<TData>;
15
+ protected _lastOptionsSnapshot: string;
16
+ private effectRef;
17
+ constructor(cdr: ChangeDetectorRef);
18
+ ngOnInit(): void;
19
+ ngAfterViewInit(): void;
20
+ ngOnDestroy(): void;
21
+ /**
22
+ * Load D3.js library asynchronously
23
+ */
24
+ protected loadD3(): Promise<void>;
25
+ /**
26
+ * Set up reactive effects to track data and option changes
27
+ */
28
+ protected setupEffects(): void;
29
+ /**
30
+ * Abstract methods that child classes must implement
31
+ */
32
+ protected abstract createChart(): void;
33
+ protected abstract updateChart(): void;
34
+ protected abstract cleanupChart(): void;
35
+ /**
36
+ * Get dimensions of the container element
37
+ */
38
+ protected getContainerDimensions(containerElement: ElementRef<HTMLElement>): {
39
+ width: number;
40
+ height: number;
41
+ };
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPChartBaseComponent<any, any>, never>;
43
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXPChartBaseComponent<any, any>, never, never, {}, {}, never, never, true, never>;
44
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Common base types and utilities for all chart components
3
+ */
4
+ /**
5
+ * Base chart data interface that all chart data types extend
6
+ */
7
+ export interface AXPChartDataBase {
8
+ id: string;
9
+ color?: string;
10
+ }
11
+ /**
12
+ * Base chart options interface with common properties
13
+ */
14
+ export interface AXPChartOptionBase {
15
+ width?: number;
16
+ height?: number;
17
+ animationEnabled?: boolean;
18
+ animationDuration?: number;
19
+ showTooltip?: boolean;
20
+ tooltipPosition?: 'auto' | 'fixed';
21
+ showLegend?: boolean;
22
+ legendPosition?: 'bottom' | 'right' | 'top' | 'left';
23
+ theme?: 'light' | 'dark' | 'auto';
24
+ colorScheme?: string | string[];
25
+ }
26
+ /**
27
+ * Color utility functions for charts
28
+ */
29
+ export declare const AXPChartColors: {
30
+ defaultColors: string[];
31
+ getColor: (index: number, customPalette?: string[]) => string;
32
+ generatePalette: (baseColor: string, count: number) => string[];
33
+ };
34
+ /**
35
+ * Shared utility for loading D3.js dynamically
36
+ */
37
+ export declare function loadD3(): Promise<any>;
@@ -1,2 +1,2 @@
1
- export * from './sticky-note-widget-edit.component';
1
+ export * from './sticky-note-widget.component';
2
2
  export * from './sticky-note-widget.config';
@@ -1,7 +1,7 @@
1
1
  import { AXValueChangedEvent } from '@acorex/components/common';
2
2
  import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
3
3
  import * as i0 from "@angular/core";
4
- export declare class AXPStickyNoteWidgetEditComponent extends AXPWidgetComponent<string> {
4
+ export declare class AXPStickyNoteWidgetViewComponent extends AXPWidgetComponent<string> {
5
5
  protected isEditing: import("@angular/core").WritableSignal<boolean>;
6
6
  protected date: Date;
7
7
  protected value: import("@angular/core").WritableSignal<string>;
@@ -12,6 +12,6 @@ export declare class AXPStickyNoteWidgetEditComponent extends AXPWidgetComponent
12
12
  protected toggleEdit(): void;
13
13
  protected setColor(color: string): void;
14
14
  protected valueChange(event: AXValueChangedEvent<any>): void;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPStickyNoteWidgetEditComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<AXPStickyNoteWidgetEditComponent, "ng-component", never, {}, {}, never, never, true, never>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPStickyNoteWidgetViewComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPStickyNoteWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
17
17
  }
@@ -0,0 +1,4 @@
1
+ export * from './weather-services';
2
+ export * from './weather-widget.component';
3
+ export * from './weather-widget.config';
4
+ export * from './weather.module';
@@ -0,0 +1,3 @@
1
+ export * from './weather-api.abstract';
2
+ export * from './weather-api.mock.service';
3
+ export * from './weather-api.service';
@@ -0,0 +1,174 @@
1
+ import { Observable } from 'rxjs';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Weather location information
5
+ */
6
+ export interface AXPWeatherLocation {
7
+ /** City name */
8
+ city: string;
9
+ /** Country name */
10
+ country: string;
11
+ /** Formatted location display name */
12
+ displayName: string;
13
+ }
14
+ /**
15
+ * Weather current condition information
16
+ */
17
+ export interface AXPWeatherCondition {
18
+ /** Condition text */
19
+ condition: string;
20
+ /** Condition code */
21
+ conditionCode: number;
22
+ /** Icon URL */
23
+ iconUrl: string;
24
+ /** Temperature in Celsius */
25
+ tempC: number;
26
+ /** Temperature in Fahrenheit */
27
+ tempF: number;
28
+ /** Feels like temperature in Celsius */
29
+ feelsLikeC: number;
30
+ /** Feels like temperature in Fahrenheit */
31
+ feelsLikeF: number;
32
+ /** Humidity percentage */
33
+ humidity: number;
34
+ /** Wind speed in km/h */
35
+ windKph: number;
36
+ /** Wind speed in mph */
37
+ windMph: number;
38
+ /** Wind direction */
39
+ windDirection: string;
40
+ /** UV index */
41
+ uv: number;
42
+ /** Last updated timestamp */
43
+ lastUpdated: string;
44
+ }
45
+ /**
46
+ * Weather forecast data for a single day
47
+ */
48
+ export interface AXPWeatherForecastDay {
49
+ /** Date string */
50
+ date: string;
51
+ /** Day name (e.g., "Mon", "Tue") */
52
+ day: string;
53
+ /** Weather condition code */
54
+ condition: string;
55
+ /** Weather icon URL */
56
+ iconUrl: string;
57
+ /** Max temperature in Celsius */
58
+ maxTempC: number;
59
+ /** Max temperature in Fahrenheit */
60
+ maxTempF: number;
61
+ /** Min temperature in Celsius */
62
+ minTempC: number;
63
+ /** Min temperature in Fahrenheit */
64
+ minTempF: number;
65
+ }
66
+ /**
67
+ * Complete weather data response
68
+ */
69
+ export interface AXPWeatherData {
70
+ /** Location information */
71
+ location: AXPWeatherLocation;
72
+ /** Current weather data */
73
+ current: AXPWeatherCondition;
74
+ /** Forecast data */
75
+ forecast: AXPWeatherForecastDay[];
76
+ }
77
+ /**
78
+ * Weather API request options
79
+ */
80
+ export interface AXPWeatherRequestOptions {
81
+ /** Temperature unit */
82
+ tempUnit?: string;
83
+ /** Location query */
84
+ location?: string;
85
+ /** Use mock data */
86
+ useMockData?: boolean;
87
+ }
88
+ /**
89
+ * Weather UI condition display info
90
+ */
91
+ export interface AXPWeatherConditionDisplay {
92
+ /** Condition unique ID */
93
+ id: string;
94
+ /** Display name */
95
+ name: string;
96
+ /** Icon class (Font Awesome) */
97
+ icon: string;
98
+ /** Associated color */
99
+ color: string;
100
+ }
101
+ /**
102
+ * Abstract Weather API Service
103
+ * Base class that defines the interface and common functionality
104
+ * for weather data providers
105
+ */
106
+ export declare abstract class AXPWeatherApiAbstract {
107
+ /** Weather condition definitions mapping */
108
+ protected weatherConditions: Record<string, AXPWeatherConditionDisplay>;
109
+ /** Day of week mapping */
110
+ protected readonly dayNames: string[];
111
+ /**
112
+ * Get weather condition info by ID
113
+ * @param id Condition ID
114
+ * @returns Weather condition info or default if not found
115
+ */
116
+ getCondition(id: string): AXPWeatherConditionDisplay;
117
+ /**
118
+ * Get current weather data for given location
119
+ * @param options Weather request options
120
+ * @returns Observable with weather data
121
+ */
122
+ abstract getWeather(options: AXPWeatherRequestOptions): Observable<AXPWeatherData>;
123
+ /**
124
+ * Get weather forecast for a location
125
+ * @param options Weather request options with days
126
+ * @returns Observable of weather data with forecast
127
+ */
128
+ abstract getForecast(options: AXPWeatherRequestOptions & {
129
+ days?: number;
130
+ }): Observable<AXPWeatherData>;
131
+ /**
132
+ * Parse location string into city and display components
133
+ * @param location Location query string
134
+ * @returns Parsed location parts
135
+ */
136
+ protected parseLocation(location: string): {
137
+ city: string;
138
+ country: string;
139
+ display: string;
140
+ };
141
+ /**
142
+ * Format location name for display
143
+ * @param locationParts Parsed location parts
144
+ * @returns Formatted location name
145
+ */
146
+ protected formatLocationName(locationParts: {
147
+ city: string;
148
+ country: string;
149
+ display: string;
150
+ }): string;
151
+ /**
152
+ * Map API condition text to our internal condition IDs
153
+ * @param conditionText Condition text from API
154
+ * @returns Internal condition ID
155
+ */
156
+ protected mapApiConditionToId(conditionText: string): string;
157
+ /**
158
+ * Generate random integer between min and max (inclusive)
159
+ * Helper method for implementations
160
+ * @param min Minimum value
161
+ * @param max Maximum value
162
+ * @returns Random integer
163
+ */
164
+ protected getRandomInt(min: number, max: number): number;
165
+ /**
166
+ * Set the API key for the weather service
167
+ * This is only used by the real API implementation,
168
+ * but is defined in the abstract class for consistency
169
+ * @param key The API key
170
+ */
171
+ abstract setApiKey(key: string): void;
172
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPWeatherApiAbstract, never>;
173
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPWeatherApiAbstract>;
174
+ }
@@ -0,0 +1,2 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export declare const AXP_WEATHER_API_KEY: InjectionToken<string>;