@synergy-design-system/metadata 3.8.0 → 3.10.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 (239) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/data/core/component/component:syn-chart.json +181 -0
  3. package/data/core/setup/setup:angular-components-module.json +1 -1
  4. package/data/core/setup/setup:angular-forms-module.json +1 -1
  5. package/data/core/setup/setup:angular-package.json +2 -2
  6. package/data/core/setup/setup:angular-validators-module.json +1 -1
  7. package/data/core/setup/setup:components-package.json +2 -2
  8. package/data/core/setup/setup:react-package.json +2 -2
  9. package/data/core/setup/setup:tokens-package.json +10 -2
  10. package/data/core/setup/setup:vue-package.json +2 -2
  11. package/data/core/token/token:tokens-charts-js-index-d-ts.json +31 -0
  12. package/data/core/token/token:tokens-charts-js-index-js.json +31 -0
  13. package/data/core/token/token:tokens-charts-scss-tokens-scss.json +31 -0
  14. package/data/core/token/token:tokens-charts-themes-sick2025-dark-css.json +32 -0
  15. package/data/core/token/token:tokens-charts-themes-sick2025-light-css.json +32 -0
  16. package/data/core/token/token:tokens-figma-variables-sick2018-dark-json.json +1 -1
  17. package/data/core/token/token:tokens-figma-variables-sick2018-light-json.json +1 -1
  18. package/data/core/token/token:tokens-figma-variables-sick2025-dark-json.json +1 -1
  19. package/data/core/token/token:tokens-figma-variables-sick2025-light-json.json +1 -1
  20. package/data/core/token/token:tokens-js-index-d-ts.json +1 -1
  21. package/data/core/token/token:tokens-js-index-js.json +1 -1
  22. package/data/core/token/token:tokens-scss-tokens-scss.json +1 -1
  23. package/data/core/token/token:tokens-themes-sick2018-dark-css.json +1 -1
  24. package/data/core/token/token:tokens-themes-sick2018-light-css.json +1 -1
  25. package/data/core/token/token:tokens-themes-sick2025-dark-css.json +1 -1
  26. package/data/core/token/token:tokens-themes-sick2025-light-css.json +1 -1
  27. package/data/index.json +108 -1
  28. package/data/layers/examples/component/component:syn-chart.md +191 -0
  29. package/data/layers/full/component/component:syn-accordion/angular/accordion.component.ts +1 -1
  30. package/data/layers/full/component/component:syn-accordion/vue/SynVueAccordion.vue +1 -1
  31. package/data/layers/full/component/component:syn-alert/angular/alert.component.ts +1 -1
  32. package/data/layers/full/component/component:syn-alert/vue/SynVueAlert.vue +1 -1
  33. package/data/layers/full/component/component:syn-badge/angular/badge.component.ts +1 -1
  34. package/data/layers/full/component/component:syn-badge/vue/SynVueBadge.vue +1 -1
  35. package/data/layers/full/component/component:syn-breadcrumb/angular/breadcrumb.component.ts +1 -1
  36. package/data/layers/full/component/component:syn-breadcrumb/vue/SynVueBreadcrumb.vue +1 -1
  37. package/data/layers/full/component/component:syn-breadcrumb-item/angular/breadcrumb-item.component.ts +1 -1
  38. package/data/layers/full/component/component:syn-breadcrumb-item/vue/SynVueBreadcrumbItem.vue +1 -1
  39. package/data/layers/full/component/component:syn-button/angular/button.component.ts +1 -1
  40. package/data/layers/full/component/component:syn-button/vue/SynVueButton.vue +1 -1
  41. package/data/layers/full/component/component:syn-button-group/angular/button-group.component.ts +1 -1
  42. package/data/layers/full/component/component:syn-button-group/vue/SynVueButtonGroup.vue +1 -1
  43. package/data/layers/full/component/component:syn-card/angular/card.component.ts +1 -1
  44. package/data/layers/full/component/component:syn-card/vue/SynVueCard.vue +1 -1
  45. package/data/layers/full/component/component:syn-chart/angular/chart.component.ts +84 -0
  46. package/data/layers/full/component/component:syn-chart/components/chart.component.ts +181 -0
  47. package/data/layers/full/component/component:syn-chart/components/chart.palettes.ts +110 -0
  48. package/data/layers/full/component/component:syn-chart/components/chart.styles.ts +15 -0
  49. package/data/layers/full/component/component:syn-chart/components/chart.ts +14 -0
  50. package/data/layers/full/component/component:syn-chart/components/types.ts +5 -0
  51. package/data/layers/full/component/component:syn-chart/react/SynChartJSXElement.ts +1 -0
  52. package/data/layers/full/component/component:syn-chart/react/chart.ts +28 -0
  53. package/data/layers/full/component/component:syn-chart/vue/SynVueChart.vue +76 -0
  54. package/data/layers/full/component/component:syn-checkbox/angular/checkbox.component.ts +1 -1
  55. package/data/layers/full/component/component:syn-checkbox/vue/SynVueCheckbox.vue +1 -1
  56. package/data/layers/full/component/component:syn-combobox/angular/combobox.component.ts +1 -1
  57. package/data/layers/full/component/component:syn-combobox/vue/SynVueCombobox.vue +1 -1
  58. package/data/layers/full/component/component:syn-details/angular/details.component.ts +1 -1
  59. package/data/layers/full/component/component:syn-details/vue/SynVueDetails.vue +1 -1
  60. package/data/layers/full/component/component:syn-dialog/angular/dialog.component.ts +1 -1
  61. package/data/layers/full/component/component:syn-dialog/vue/SynVueDialog.vue +1 -1
  62. package/data/layers/full/component/component:syn-divider/angular/divider.component.ts +1 -1
  63. package/data/layers/full/component/component:syn-divider/vue/SynVueDivider.vue +1 -1
  64. package/data/layers/full/component/component:syn-drawer/angular/drawer.component.ts +1 -1
  65. package/data/layers/full/component/component:syn-drawer/vue/SynVueDrawer.vue +1 -1
  66. package/data/layers/full/component/component:syn-dropdown/angular/dropdown.component.ts +1 -1
  67. package/data/layers/full/component/component:syn-dropdown/vue/SynVueDropdown.vue +1 -1
  68. package/data/layers/full/component/component:syn-file/angular/file.component.ts +1 -1
  69. package/data/layers/full/component/component:syn-file/vue/SynVueFile.vue +1 -1
  70. package/data/layers/full/component/component:syn-header/angular/header.component.ts +1 -1
  71. package/data/layers/full/component/component:syn-header/vue/SynVueHeader.vue +1 -1
  72. package/data/layers/full/component/component:syn-icon/angular/icon.component.ts +1 -1
  73. package/data/layers/full/component/component:syn-icon/vue/SynVueIcon.vue +1 -1
  74. package/data/layers/full/component/component:syn-icon-button/angular/icon-button.component.ts +1 -1
  75. package/data/layers/full/component/component:syn-icon-button/vue/SynVueIconButton.vue +1 -1
  76. package/data/layers/full/component/component:syn-input/angular/input.component.ts +1 -1
  77. package/data/layers/full/component/component:syn-input/vue/SynVueInput.vue +1 -1
  78. package/data/layers/full/component/component:syn-menu/angular/menu.component.ts +1 -1
  79. package/data/layers/full/component/component:syn-menu/vue/SynVueMenu.vue +1 -1
  80. package/data/layers/full/component/component:syn-menu-item/angular/menu-item.component.ts +1 -1
  81. package/data/layers/full/component/component:syn-menu-item/vue/SynVueMenuItem.vue +1 -1
  82. package/data/layers/full/component/component:syn-menu-label/angular/menu-label.component.ts +1 -1
  83. package/data/layers/full/component/component:syn-menu-label/vue/SynVueMenuLabel.vue +1 -1
  84. package/data/layers/full/component/component:syn-nav-item/angular/nav-item.component.ts +1 -1
  85. package/data/layers/full/component/component:syn-nav-item/vue/SynVueNavItem.vue +1 -1
  86. package/data/layers/full/component/component:syn-optgroup/angular/optgroup.component.ts +1 -1
  87. package/data/layers/full/component/component:syn-optgroup/vue/SynVueOptgroup.vue +1 -1
  88. package/data/layers/full/component/component:syn-option/angular/option.component.ts +1 -1
  89. package/data/layers/full/component/component:syn-option/vue/SynVueOption.vue +1 -1
  90. package/data/layers/full/component/component:syn-pagination/angular/pagination.component.ts +1 -1
  91. package/data/layers/full/component/component:syn-pagination/vue/SynVuePagination.vue +1 -1
  92. package/data/layers/full/component/component:syn-popup/angular/popup.component.ts +1 -1
  93. package/data/layers/full/component/component:syn-popup/vue/SynVuePopup.vue +1 -1
  94. package/data/layers/full/component/component:syn-prio-nav/angular/prio-nav.component.ts +1 -1
  95. package/data/layers/full/component/component:syn-prio-nav/vue/SynVuePrioNav.vue +1 -1
  96. package/data/layers/full/component/component:syn-progress-bar/angular/progress-bar.component.ts +1 -1
  97. package/data/layers/full/component/component:syn-progress-bar/vue/SynVueProgressBar.vue +1 -1
  98. package/data/layers/full/component/component:syn-progress-ring/angular/progress-ring.component.ts +1 -1
  99. package/data/layers/full/component/component:syn-progress-ring/vue/SynVueProgressRing.vue +1 -1
  100. package/data/layers/full/component/component:syn-radio/angular/radio.component.ts +1 -1
  101. package/data/layers/full/component/component:syn-radio/vue/SynVueRadio.vue +1 -1
  102. package/data/layers/full/component/component:syn-radio-button/angular/radio-button.component.ts +1 -1
  103. package/data/layers/full/component/component:syn-radio-button/vue/SynVueRadioButton.vue +1 -1
  104. package/data/layers/full/component/component:syn-radio-group/angular/radio-group.component.ts +1 -1
  105. package/data/layers/full/component/component:syn-radio-group/vue/SynVueRadioGroup.vue +1 -1
  106. package/data/layers/full/component/component:syn-range/angular/range.component.ts +1 -1
  107. package/data/layers/full/component/component:syn-range/vue/SynVueRange.vue +1 -1
  108. package/data/layers/full/component/component:syn-range-tick/angular/range-tick.component.ts +1 -1
  109. package/data/layers/full/component/component:syn-range-tick/vue/SynVueRangeTick.vue +1 -1
  110. package/data/layers/full/component/component:syn-select/angular/select.component.ts +1 -1
  111. package/data/layers/full/component/component:syn-select/vue/SynVueSelect.vue +1 -1
  112. package/data/layers/full/component/component:syn-side-nav/angular/side-nav.component.ts +1 -1
  113. package/data/layers/full/component/component:syn-side-nav/vue/SynVueSideNav.vue +1 -1
  114. package/data/layers/full/component/component:syn-spinner/angular/spinner.component.ts +1 -1
  115. package/data/layers/full/component/component:syn-spinner/vue/SynVueSpinner.vue +1 -1
  116. package/data/layers/full/component/component:syn-switch/angular/switch.component.ts +1 -1
  117. package/data/layers/full/component/component:syn-switch/vue/SynVueSwitch.vue +1 -1
  118. package/data/layers/full/component/component:syn-tab/angular/tab.component.ts +1 -1
  119. package/data/layers/full/component/component:syn-tab/vue/SynVueTab.vue +1 -1
  120. package/data/layers/full/component/component:syn-tab-group/angular/tab-group.component.ts +1 -1
  121. package/data/layers/full/component/component:syn-tab-group/vue/SynVueTabGroup.vue +1 -1
  122. package/data/layers/full/component/component:syn-tab-panel/angular/tab-panel.component.ts +1 -1
  123. package/data/layers/full/component/component:syn-tab-panel/vue/SynVueTabPanel.vue +1 -1
  124. package/data/layers/full/component/component:syn-tag/angular/tag.component.ts +1 -1
  125. package/data/layers/full/component/component:syn-tag/vue/SynVueTag.vue +1 -1
  126. package/data/layers/full/component/component:syn-tag-group/angular/tag-group.component.ts +1 -1
  127. package/data/layers/full/component/component:syn-tag-group/vue/SynVueTagGroup.vue +1 -1
  128. package/data/layers/full/component/component:syn-textarea/angular/textarea.component.ts +1 -1
  129. package/data/layers/full/component/component:syn-textarea/vue/SynVueTextarea.vue +1 -1
  130. package/data/layers/full/component/component:syn-tooltip/angular/tooltip.component.ts +1 -1
  131. package/data/layers/full/component/component:syn-tooltip/vue/SynVueTooltip.vue +1 -1
  132. package/data/layers/full/component/component:syn-validate/angular/validate.component.ts +1 -1
  133. package/data/layers/full/component/component:syn-validate/vue/SynVueValidate.vue +1 -1
  134. package/data/layers/full/setup/setup:angular-package/angular/CHANGELOG.md +19 -0
  135. package/data/layers/full/setup/setup:angular-package/angular/README.md +4 -0
  136. package/data/layers/full/setup/setup:angular-package/angular/package.json +1 -1
  137. package/data/layers/full/setup/setup:components-package/components/CHANGELOG.md +18 -0
  138. package/data/layers/full/setup/setup:components-package/components/README.md +84 -2
  139. package/data/layers/full/setup/setup:components-package/components/package.json +8 -5
  140. package/data/layers/full/setup/setup:react-package/react/CHANGELOG.md +19 -0
  141. package/data/layers/full/setup/setup:react-package/react/README.md +4 -0
  142. package/data/layers/full/setup/setup:react-package/react/package.json +1 -1
  143. package/data/layers/full/setup/setup:react-package/react/syn-jsx-elements.ts +19 -0
  144. package/data/layers/full/setup/setup:tokens-package/tokens/CHANGELOG.md +16 -0
  145. package/data/layers/full/setup/setup:tokens-package/tokens/README.md +119 -19
  146. package/data/layers/full/setup/setup:tokens-package/tokens/package.json +11 -6
  147. package/data/layers/full/setup/setup:vue-package/vue/CHANGELOG.md +19 -0
  148. package/data/layers/full/setup/setup:vue-package/vue/README.md +4 -0
  149. package/data/layers/full/setup/setup:vue-package/vue/package.json +9 -2
  150. package/data/layers/full/tokens/charts/js/index.d.ts +664 -0
  151. package/data/layers/full/tokens/charts/js/index.js +664 -0
  152. package/data/layers/full/tokens/charts/scss/_tokens.scss +136 -0
  153. package/data/layers/full/tokens/charts/themes/sick2025_dark.css +142 -0
  154. package/data/layers/full/tokens/charts/themes/sick2025_light.css +142 -0
  155. package/data/layers/full/tokens/figma-variables/sick2025-light.json +12 -12
  156. package/data/layers/full/tokens/js/index.d.ts +1 -1
  157. package/data/layers/full/tokens/js/index.js +1 -1
  158. package/data/layers/full/tokens/scss/_tokens.scss +1 -1
  159. package/data/layers/full/tokens/themes/sick2018_dark.css +1 -1
  160. package/data/layers/full/tokens/themes/sick2018_light.css +1 -1
  161. package/data/layers/full/tokens/themes/sick2025_dark.css +1 -1
  162. package/data/layers/full/tokens/themes/sick2025_light.css +12 -12
  163. package/data/layers/interface/component/component:syn-chart.json +51 -0
  164. package/data/layers/interface/component/component:syn-chart.md +61 -0
  165. package/data/layers/rules/component/component:syn-chart.md +39 -0
  166. package/data/manifest.json +3 -3
  167. package/package.json +5 -5
  168. package/dist/intentPolicy/capabilities/action.d.ts +0 -2
  169. package/dist/intentPolicy/capabilities/action.js +0 -26
  170. package/dist/intentPolicy/capabilities/assistance.d.ts +0 -2
  171. package/dist/intentPolicy/capabilities/assistance.js +0 -10
  172. package/dist/intentPolicy/capabilities/disclosure.d.ts +0 -2
  173. package/dist/intentPolicy/capabilities/disclosure.js +0 -14
  174. package/dist/intentPolicy/capabilities/feedback.d.ts +0 -2
  175. package/dist/intentPolicy/capabilities/feedback.js +0 -42
  176. package/dist/intentPolicy/capabilities/index.d.ts +0 -6
  177. package/dist/intentPolicy/capabilities/index.js +0 -22
  178. package/dist/intentPolicy/capabilities/input.d.ts +0 -2
  179. package/dist/intentPolicy/capabilities/input.js +0 -38
  180. package/dist/intentPolicy/capabilities/navigation.d.ts +0 -2
  181. package/dist/intentPolicy/capabilities/navigation.js +0 -54
  182. package/dist/intentPolicy/capabilities/status.d.ts +0 -2
  183. package/dist/intentPolicy/capabilities/status.js +0 -14
  184. package/dist/intentPolicy/capabilities/structure.d.ts +0 -2
  185. package/dist/intentPolicy/capabilities/structure.js +0 -22
  186. package/dist/intentPolicy/categories/action.d.ts +0 -2
  187. package/dist/intentPolicy/categories/action.js +0 -4
  188. package/dist/intentPolicy/categories/assistance.d.ts +0 -2
  189. package/dist/intentPolicy/categories/assistance.js +0 -4
  190. package/dist/intentPolicy/categories/disclosure.d.ts +0 -2
  191. package/dist/intentPolicy/categories/disclosure.js +0 -4
  192. package/dist/intentPolicy/categories/feedback.d.ts +0 -2
  193. package/dist/intentPolicy/categories/feedback.js +0 -4
  194. package/dist/intentPolicy/categories/index.d.ts +0 -5
  195. package/dist/intentPolicy/categories/index.js +0 -22
  196. package/dist/intentPolicy/categories/input.d.ts +0 -2
  197. package/dist/intentPolicy/categories/input.js +0 -4
  198. package/dist/intentPolicy/categories/navigation.d.ts +0 -2
  199. package/dist/intentPolicy/categories/navigation.js +0 -4
  200. package/dist/intentPolicy/categories/status.d.ts +0 -2
  201. package/dist/intentPolicy/categories/status.js +0 -4
  202. package/dist/intentPolicy/categories/structure.d.ts +0 -2
  203. package/dist/intentPolicy/categories/structure.js +0 -4
  204. package/dist/intentPolicy/intents/action.d.ts +0 -2
  205. package/dist/intentPolicy/intents/action.js +0 -38
  206. package/dist/intentPolicy/intents/assistance.d.ts +0 -2
  207. package/dist/intentPolicy/intents/assistance.js +0 -14
  208. package/dist/intentPolicy/intents/disclosure.d.ts +0 -2
  209. package/dist/intentPolicy/intents/disclosure.js +0 -20
  210. package/dist/intentPolicy/intents/feedback.d.ts +0 -2
  211. package/dist/intentPolicy/intents/feedback.js +0 -32
  212. package/dist/intentPolicy/intents/index.d.ts +0 -7
  213. package/dist/intentPolicy/intents/index.js +0 -23
  214. package/dist/intentPolicy/intents/input.d.ts +0 -2
  215. package/dist/intentPolicy/intents/input.js +0 -62
  216. package/dist/intentPolicy/intents/navigation.d.ts +0 -2
  217. package/dist/intentPolicy/intents/navigation.js +0 -44
  218. package/dist/intentPolicy/intents/status.d.ts +0 -2
  219. package/dist/intentPolicy/intents/status.js +0 -26
  220. package/dist/intentPolicy/intents/structure.d.ts +0 -2
  221. package/dist/intentPolicy/intents/structure.js +0 -32
  222. package/dist/intentPolicy/patterns/action.d.ts +0 -2
  223. package/dist/intentPolicy/patterns/action.js +0 -195
  224. package/dist/intentPolicy/patterns/assistance.d.ts +0 -2
  225. package/dist/intentPolicy/patterns/assistance.js +0 -13
  226. package/dist/intentPolicy/patterns/disclosure.d.ts +0 -2
  227. package/dist/intentPolicy/patterns/disclosure.js +0 -23
  228. package/dist/intentPolicy/patterns/feedback.d.ts +0 -2
  229. package/dist/intentPolicy/patterns/feedback.js +0 -44
  230. package/dist/intentPolicy/patterns/index.d.ts +0 -6
  231. package/dist/intentPolicy/patterns/index.js +0 -22
  232. package/dist/intentPolicy/patterns/input.d.ts +0 -2
  233. package/dist/intentPolicy/patterns/input.js +0 -99
  234. package/dist/intentPolicy/patterns/navigation.d.ts +0 -2
  235. package/dist/intentPolicy/patterns/navigation.js +0 -192
  236. package/dist/intentPolicy/patterns/status.d.ts +0 -2
  237. package/dist/intentPolicy/patterns/status.js +0 -32
  238. package/dist/intentPolicy/patterns/structure.d.ts +0 -2
  239. package/dist/intentPolicy/patterns/structure.js +0 -107
@@ -0,0 +1,181 @@
1
+ import {
2
+ type EChartsType, init, use,
3
+ } from 'echarts/core.js';
4
+ import { CanvasRenderer } from 'echarts/renderers.js';
5
+ import { html } from 'lit';
6
+ import type { CSSResultGroup, PropertyValues } from 'lit';
7
+ import { property } from 'lit/decorators.js';
8
+ import { query } from 'lit/decorators/query.js';
9
+ import { LineChart } from 'echarts/charts.js';
10
+ import {
11
+ GridComponent, LegendComponent, TitleComponent, TooltipComponent,
12
+ } from 'echarts/components.js';
13
+ import { classMap } from 'lit/directives/class-map.js';
14
+ import SynergyElement from '../../internal/synergy-element.js';
15
+ import componentStyles from '../../styles/component.styles.js';
16
+ import styles from './chart.styles.js';
17
+ import { PALETTE_TOKENS, type SynChartPalette } from './chart.palettes.js';
18
+ import type { ECConfig } from './types.js';
19
+
20
+ // TODO: Check, should we let the user define the *use* so the bundle size is optimized for their specific use case?
21
+ use([
22
+ CanvasRenderer,
23
+ LineChart,
24
+ TitleComponent,
25
+ TooltipComponent,
26
+ LegendComponent,
27
+ GridComponent,
28
+ ]);
29
+
30
+ /**
31
+ * @summary The `<syn-chart>` component is a container for displaying charts. It provides a structured layout and styling for chart elements, allowing for consistent presentation across different types of charts. The chart component is based on [Apache ECharts](https://echarts.apache.org)
32
+ *
33
+ * @documentation https://synergy-design-system.github.io/?path=/docs/charting-syn-chart--docs
34
+ * @status experimental
35
+ * @since 0.0.0
36
+ *
37
+ * @csspart base - The component's base wrapper.
38
+ */
39
+ export default class SynChart extends SynergyElement {
40
+ static styles: CSSResultGroup = [
41
+ componentStyles,
42
+ styles,
43
+ ];
44
+
45
+ @query('.chart')
46
+ private chartContainer: HTMLDivElement;
47
+
48
+ private chartInstance: EChartsType;
49
+
50
+ private resizeObserver: ResizeObserver;
51
+
52
+ /**
53
+ * The ECharts configuration option object.
54
+ *
55
+ * This property maps 1:1 to the ECharts `option` parameter passed to `setOption()`.
56
+ * Consult the [ECharts option documentation](https://echarts.apache.org/en/option.html)
57
+ * and assign the object directly to this property.
58
+ *
59
+ * > **Note:** Currently only **line charts** (`series[].type: 'line'`) are supported.
60
+ * > Support for additional chart types (bar, pie, etc.) will be added in future releases or can be requested.
61
+ *
62
+ * Assigning a new object completely replaces the previous chart configuration (`notMerge: true`).
63
+ * To update only parts of the chart, access the underlying ECharts instance directly and
64
+ * call `setOption()` with custom merge options.
65
+ *
66
+ * @example
67
+ * ```js
68
+ * chart.config = {
69
+ * xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed'] },
70
+ * yAxis: { type: 'value' },
71
+ * series: [{ type: 'line', data: [150, 230, 224] }],
72
+ * };
73
+ * ```
74
+ */
75
+ @property({ attribute: false })
76
+ config: ECConfig = {};
77
+
78
+ /**
79
+ * The color palette to apply to chart series.
80
+ *
81
+ * - `categorical` (default) — 12 distinct colors for comparing unrelated data series
82
+ * - `sequential-01` … `sequential-07` — 10-step single-hue ramps:
83
+ * `01`=primary, `02`=accent, `03`=muted, `04`=purple, `05`=teal, `06`=magenta, `07`=neutral
84
+ * - `sequential-status-critical`, `sequential-status-error`, `sequential-status-info`,
85
+ * `sequential-status-success`, `sequential-status-warning` — 10-step status ramps
86
+ *
87
+ * The palette sets the ECharts `color` array. If `config.color` is explicitly provided,
88
+ * it takes precedence over the palette.
89
+ */
90
+ @property({ reflect: true })
91
+ palette: SynChartPalette = 'categorical';
92
+
93
+ /** Resolves palette CSS custom properties to computed color values and applies them to the chart. */
94
+ private applyPalette(): void {
95
+ if (!this.chartInstance) return;
96
+ // If the user explicitly set config.color, respect it — palette is a default only
97
+ if (Array.isArray(this.config.color) && this.config.color.length > 0) return;
98
+
99
+ const tokens = PALETTE_TOKENS[this.palette];
100
+ const computedStyles = getComputedStyle(this);
101
+ const colors = tokens
102
+ .map(token => computedStyles.getPropertyValue(token).trim())
103
+ .filter(Boolean);
104
+
105
+ if (colors.length > 0) {
106
+ this.chartInstance.setOption({ color: colors }, { notMerge: false });
107
+ }
108
+ }
109
+
110
+ protected updated(changedProperties: PropertyValues<this>): void {
111
+ if (changedProperties.has('config') && this.chartInstance) {
112
+ this.chartInstance.setOption(this.config, { notMerge: true });
113
+ }
114
+ if ((changedProperties.has('palette') || changedProperties.has('config')) && this.chartInstance) {
115
+ this.applyPalette();
116
+ }
117
+ }
118
+
119
+ // Initialize echarts instance and resize observer
120
+ protected firstUpdated(_changedProperties: PropertyValues): void {
121
+ if (this.chartContainer !== null && this.chartContainer !== undefined) {
122
+ this.chartInstance = init(this.chartContainer);
123
+ // Resize observer
124
+ this.resizeObserver = new ResizeObserver(() => {
125
+ this.chartInstance?.resize();
126
+ });
127
+ this.resizeObserver.observe(this.chartContainer);
128
+
129
+ // Apply config if already set before first render
130
+ if (Object.keys(this.config).length > 0) {
131
+ this.chartInstance.setOption(this.config);
132
+ }
133
+ // Apply palette after config so colors blend in without replacing the full config
134
+ this.applyPalette();
135
+ }
136
+ }
137
+
138
+ disconnectedCallback(): void {
139
+ super.disconnectedCallback();
140
+ this.resizeObserver?.disconnect();
141
+ this.chartInstance?.dispose();
142
+ }
143
+
144
+ /**
145
+ * Returns the underlying ECharts instance, giving direct access to the full
146
+ * [ECharts API](https://echarts.apache.org/en/api.html#echartsInstance).
147
+ *
148
+ * Use this when the `config` property alone is not sufficient — for example to
149
+ * imperatively call `setOption()` with custom merge flags, listen to ECharts events,
150
+ * trigger actions, or retrieve chart data.
151
+ *
152
+ * Returns `undefined` if called before the component has been connected to the DOM
153
+ * (i.e. before `firstUpdated` has run).
154
+ *
155
+ * @example
156
+ * ```js
157
+ * const instance = chart.getInstance();
158
+ *
159
+ * // Listen to ECharts events
160
+ * instance?.on('click', params => console.log(params));
161
+ *
162
+ * // Partial update without replacing the full option
163
+ * instance?.setOption({ series: [{ data: [1, 2, 3] }] }, { replaceMerge: 'series' });
164
+ * ```
165
+ */
166
+ getInstance(): EChartsType | undefined {
167
+ return this.chartInstance;
168
+ }
169
+
170
+ // eslint-disable-next-line class-methods-use-this
171
+ render() {
172
+ return html`
173
+ <div
174
+ part="base"
175
+ class=${classMap({
176
+ chart: true,
177
+ })}>
178
+ </div>
179
+ `;
180
+ }
181
+ }
@@ -0,0 +1,110 @@
1
+ /**
2
+ * The available color palettes for `syn-chart`.
3
+ * Palette names correspond 1:1 to the Synergy design token groups.
4
+ *
5
+ * - `categorical` — 12 distinct colors for comparing unrelated data series
6
+ * - `sequential-01` … `sequential-07` — 10-step single-hue ramps, ordered from darkest to brightest
7
+ * (`01`=primary, `02`=accent, `03`=muted, `04`=purple, `05`=teal, `06`=magenta, `07`=neutral)
8
+ * - `sequential-status-critical/error/info/success/warning` — 10-step status color ramps, ordered from darkest to brightest
9
+ */
10
+ export type SynChartPalette =
11
+ | 'categorical'
12
+ | 'sequential-01'
13
+ | 'sequential-02'
14
+ | 'sequential-03'
15
+ | 'sequential-04'
16
+ | 'sequential-05'
17
+ | 'sequential-06'
18
+ | 'sequential-07'
19
+ | 'sequential-status-critical'
20
+ | 'sequential-status-error'
21
+ | 'sequential-status-info'
22
+ | 'sequential-status-success'
23
+ | 'sequential-status-warning';
24
+
25
+ /** Maps each palette name to the ordered list of CSS custom property names to resolve. */
26
+ export const PALETTE_TOKENS: Record<SynChartPalette, string[]> = {
27
+ categorical: [
28
+ '--syn-categorical-01', '--syn-categorical-02', '--syn-categorical-03',
29
+ '--syn-categorical-04', '--syn-categorical-05', '--syn-categorical-06',
30
+ '--syn-categorical-07', '--syn-categorical-08', '--syn-categorical-09',
31
+ '--syn-categorical-10', '--syn-categorical-11', '--syn-categorical-12',
32
+ ],
33
+ 'sequential-01': [
34
+ '--syn-sequential-01-100', '--syn-sequential-01-90', '--syn-sequential-01-80',
35
+ '--syn-sequential-01-70', '--syn-sequential-01-60', '--syn-sequential-01-50',
36
+ '--syn-sequential-01-40', '--syn-sequential-01-30', '--syn-sequential-01-20',
37
+ '--syn-sequential-01-10',
38
+ ],
39
+ 'sequential-02': [
40
+ '--syn-sequential-02-100', '--syn-sequential-02-90', '--syn-sequential-02-80',
41
+ '--syn-sequential-02-70', '--syn-sequential-02-60', '--syn-sequential-02-50',
42
+ '--syn-sequential-02-40', '--syn-sequential-02-30', '--syn-sequential-02-20',
43
+ '--syn-sequential-02-10',
44
+ ],
45
+ 'sequential-03': [
46
+ '--syn-sequential-03-100', '--syn-sequential-03-90', '--syn-sequential-03-80',
47
+ '--syn-sequential-03-70', '--syn-sequential-03-60', '--syn-sequential-03-50',
48
+ '--syn-sequential-03-40', '--syn-sequential-03-30', '--syn-sequential-03-20',
49
+ '--syn-sequential-03-10',
50
+ ],
51
+ 'sequential-04': [
52
+ '--syn-sequential-04-100', '--syn-sequential-04-90', '--syn-sequential-04-80',
53
+ '--syn-sequential-04-70', '--syn-sequential-04-60', '--syn-sequential-04-50',
54
+ '--syn-sequential-04-40', '--syn-sequential-04-30', '--syn-sequential-04-20',
55
+ '--syn-sequential-04-10',
56
+ ],
57
+ 'sequential-05': [
58
+ '--syn-sequential-05-100', '--syn-sequential-05-90', '--syn-sequential-05-80',
59
+ '--syn-sequential-05-70', '--syn-sequential-05-60', '--syn-sequential-05-50',
60
+ '--syn-sequential-05-40', '--syn-sequential-05-30', '--syn-sequential-05-20',
61
+ '--syn-sequential-05-10',
62
+ ],
63
+ 'sequential-06': [
64
+ '--syn-sequential-06-100', '--syn-sequential-06-90', '--syn-sequential-06-80',
65
+ '--syn-sequential-06-70', '--syn-sequential-06-60', '--syn-sequential-06-50',
66
+ '--syn-sequential-06-40', '--syn-sequential-06-30', '--syn-sequential-06-20',
67
+ '--syn-sequential-06-10',
68
+ ],
69
+ 'sequential-07': [
70
+ '--syn-sequential-07-100', '--syn-sequential-07-90', '--syn-sequential-07-80',
71
+ '--syn-sequential-07-70', '--syn-sequential-07-60', '--syn-sequential-07-50',
72
+ '--syn-sequential-07-40', '--syn-sequential-07-30', '--syn-sequential-07-20',
73
+ '--syn-sequential-07-10',
74
+ ],
75
+ 'sequential-status-critical': [
76
+ '--syn-sequential-status-critical-100', '--syn-sequential-status-critical-90',
77
+ '--syn-sequential-status-critical-80', '--syn-sequential-status-critical-70',
78
+ '--syn-sequential-status-critical-60', '--syn-sequential-status-critical-50',
79
+ '--syn-sequential-status-critical-40', '--syn-sequential-status-critical-30',
80
+ '--syn-sequential-status-critical-20', '--syn-sequential-status-critical-10',
81
+ ],
82
+ 'sequential-status-error': [
83
+ '--syn-sequential-status-error-100', '--syn-sequential-status-error-90',
84
+ '--syn-sequential-status-error-80', '--syn-sequential-status-error-70',
85
+ '--syn-sequential-status-error-60', '--syn-sequential-status-error-50',
86
+ '--syn-sequential-status-error-40', '--syn-sequential-status-error-30',
87
+ '--syn-sequential-status-error-20', '--syn-sequential-status-error-10',
88
+ ],
89
+ 'sequential-status-info': [
90
+ '--syn-sequential-status-info-100', '--syn-sequential-status-info-90',
91
+ '--syn-sequential-status-info-80', '--syn-sequential-status-info-70',
92
+ '--syn-sequential-status-info-60', '--syn-sequential-status-info-50',
93
+ '--syn-sequential-status-info-40', '--syn-sequential-status-info-30',
94
+ '--syn-sequential-status-info-20', '--syn-sequential-status-info-10',
95
+ ],
96
+ 'sequential-status-success': [
97
+ '--syn-sequential-status-success-100', '--syn-sequential-status-success-90',
98
+ '--syn-sequential-status-success-80', '--syn-sequential-status-success-70',
99
+ '--syn-sequential-status-success-60', '--syn-sequential-status-success-50',
100
+ '--syn-sequential-status-success-40', '--syn-sequential-status-success-30',
101
+ '--syn-sequential-status-success-20', '--syn-sequential-status-success-10',
102
+ ],
103
+ 'sequential-status-warning': [
104
+ '--syn-sequential-status-warning-100', '--syn-sequential-status-warning-90',
105
+ '--syn-sequential-status-warning-80', '--syn-sequential-status-warning-70',
106
+ '--syn-sequential-status-warning-60', '--syn-sequential-status-warning-50',
107
+ '--syn-sequential-status-warning-40', '--syn-sequential-status-warning-30',
108
+ '--syn-sequential-status-warning-20', '--syn-sequential-status-warning-10',
109
+ ],
110
+ };
@@ -0,0 +1,15 @@
1
+ import { css } from 'lit';
2
+
3
+ export default css`
4
+ :host {
5
+ aspect-ratio: 16 / 9;
6
+ display: block;
7
+ min-height: 180px;
8
+ width: 100%;
9
+ }
10
+
11
+ .chart {
12
+ height: 100%;
13
+ width: 100%;
14
+ }
15
+ `;
@@ -0,0 +1,14 @@
1
+ import SynChart from './chart.component.js';
2
+
3
+ export * from './chart.component.js';
4
+ export default SynChart;
5
+
6
+ SynChart.define('syn-chart');
7
+
8
+ declare global {
9
+ interface HTMLElementTagNameMap {
10
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11
+ // @ts-ignore – false positive: conflict between source and dist declaration
12
+ 'syn-chart': SynChart;
13
+ }
14
+ }
@@ -0,0 +1,5 @@
1
+ import type { LineSeriesOption } from 'echarts/charts.js';
2
+ import type { ComposeOption } from 'echarts/core.js';
3
+
4
+ // Scoped option type — only includes the components and chart types registered via use()
5
+ export type ECConfig = ComposeOption<LineSeriesOption>;
@@ -0,0 +1 @@
1
+ export type SynChartJSXElement = SynCustomElement<SynChart, []>;
@@ -0,0 +1,28 @@
1
+ // ---------------------------------------------------------------------
2
+ // 🔒 AUTOGENERATED @synergy-design-system/react wrappers for @synergy-design-system/components
3
+ // Please do not edit this file directly!
4
+ // It will get recreated when running pnpm build.
5
+ // ---------------------------------------------------------------------
6
+ import * as React from 'react';
7
+ import { createComponent } from '@lit/react';
8
+ import Component from '@synergy-design-system/components/components/chart/chart.component.js';
9
+
10
+ const tagName = 'syn-chart';
11
+ Component.define('syn-chart');
12
+
13
+ /**
14
+ * @summary The `<syn-chart>` component is a container for displaying charts. It provides a structured layout and styling for chart elements, allowing for consistent presentation across different types of charts. The chart component is based on [Apache ECharts](https://echarts.apache.org)
15
+ *
16
+ * @documentation https://synergy-design-system.github.io/?path=/docs/charting-syn-chart--docs
17
+ * @status experimental
18
+ * @since 0.0.0
19
+ *
20
+ * @csspart base - The component's base wrapper.
21
+ */
22
+ export const SynChart = createComponent({
23
+ displayName: 'SynChart',
24
+ elementClass: Component,
25
+ events: {},
26
+ react: React,
27
+ tagName,
28
+ });
@@ -0,0 +1,76 @@
1
+ <script setup lang="ts">
2
+ // ---------------------------------------------------------------------
3
+ // 🔒 AUTOGENERATED @synergy-design-system/vue wrappers for @synergy-design-system/components
4
+ // Please do not edit this file directly!
5
+ // It will get recreated when running pnpm build.
6
+ // ---------------------------------------------------------------------
7
+
8
+ /**
9
+ * @summary The `<syn-chart>` component is a container for displaying charts. It provides a structured layout and styling for chart elements, allowing for consistent presentation across different types of charts. The chart component is based on [Apache ECharts](https://echarts.apache.org)
10
+ *
11
+ * @documentation https://synergy-design-system.github.io/?path=/docs/charting-syn-chart--docs
12
+ * @status experimental
13
+ * @since 0.0.0
14
+ *
15
+ * @csspart base - The component's base wrapper.
16
+ */
17
+ import { computed, ref } from 'vue';
18
+ import '@synergy-design-system/components/components/chart/chart.js';
19
+
20
+ import type SynChart from '@synergy-design-system/components/components/chart/chart.component.js';
21
+
22
+ // DOM Reference to the element
23
+ const nativeElement = ref<SynChart>();
24
+
25
+ defineExpose({
26
+ nativeElement,
27
+ });
28
+
29
+ // Map attributes
30
+ const props = defineProps<{
31
+ /**
32
+ * The color palette to apply to chart series.
33
+
34
+ - `categorical` (default) — 12 distinct colors for comparing unrelated data series
35
+ - `sequential-01` … `sequential-07` — 10-step single-hue ramps:
36
+ `01`=primary, `02`=accent, `03`=muted, `04`=purple, `05`=teal, `06`=magenta, `07`=neutral
37
+ - `sequential-status-critical`, `sequential-status-error`, `sequential-status-info`,
38
+ `sequential-status-success`, `sequential-status-warning` — 10-step status ramps
39
+
40
+ The palette sets the ECharts `color` array.
41
+ * If `config.color` is explicitly provided,
42
+ it takes precedence over the palette.
43
+ */
44
+ palette?: SynChart['palette'];
45
+
46
+ /**
47
+ * The ECharts configuration option object.
48
+
49
+ This property maps 1:1 to the ECharts `option` parameter passed to `setOption()`.
50
+ Consult the [ECharts option documentation](https://echarts.apache.org/en/option.html)
51
+ and assign the object directly to this property.
52
+
53
+ > **Note:** Currently only **line charts** (`series[].type: 'line'`) are supported.
54
+ > Support for additional chart types (bar, pie, etc.) will be added in future releases or can be requested.
55
+
56
+ Assigning a new object completely replaces the previous chart configuration (`notMerge: true`).
57
+ To update only parts of the chart, access the underlying ECharts instance directly and
58
+ call `setOption()` with custom merge options.
59
+ */
60
+ config?: SynChart['config'];
61
+ }>();
62
+
63
+ // Make sure prop binding only forwards the props that are actually there.
64
+ // This is needed because :param="param" also adds an empty attribute
65
+ // when using web-components, which breaks optional arguments like size in SynInput
66
+ // @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
67
+ const visibleProps = computed(() =>
68
+ Object.fromEntries(
69
+ Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
70
+ ),
71
+ );
72
+ </script>
73
+
74
+ <template>
75
+ <syn-chart v-bind="visibleProps" ref="nativeElement"> </syn-chart>
76
+ </template>
@@ -12,7 +12,7 @@ import {
12
12
  EventEmitter,
13
13
  AfterContentInit,
14
14
  } from '@angular/core';
15
- import type { SynCheckbox } from '@synergy-design-system/components';
15
+ import type SynCheckbox from '@synergy-design-system/components/components/checkbox/checkbox.component.js';
16
16
  import type { SynBlurEvent } from '@synergy-design-system/components';
17
17
  import type { SynChangeEvent } from '@synergy-design-system/components';
18
18
  import type { SynFocusEvent } from '@synergy-design-system/components';
@@ -39,7 +39,7 @@ import type { SynChangeEvent } from '@synergy-design-system/components';
39
39
  import type { SynFocusEvent } from '@synergy-design-system/components';
40
40
  import type { SynInputEvent } from '@synergy-design-system/components';
41
41
  import type { SynInvalidEvent } from '@synergy-design-system/components';
42
- import type { SynCheckbox } from '@synergy-design-system/components';
42
+ import type SynCheckbox from '@synergy-design-system/components/components/checkbox/checkbox.component.js';
43
43
 
44
44
  // DOM Reference to the element
45
45
  const nativeElement = ref<SynCheckbox>();
@@ -12,7 +12,7 @@ import {
12
12
  EventEmitter,
13
13
  AfterContentInit,
14
14
  } from '@angular/core';
15
- import type { SynCombobox } from '@synergy-design-system/components';
15
+ import type SynCombobox from '@synergy-design-system/components/components/combobox/combobox.component.js';
16
16
  import type { SynChangeEvent } from '@synergy-design-system/components';
17
17
  import type { SynClearEvent } from '@synergy-design-system/components';
18
18
  import type { SynInputEvent } from '@synergy-design-system/components';
@@ -82,7 +82,7 @@ import type { SynHideEvent } from '@synergy-design-system/components';
82
82
  import type { SynAfterHideEvent } from '@synergy-design-system/components';
83
83
  import type { SynInvalidEvent } from '@synergy-design-system/components';
84
84
  import type { SynErrorEvent } from '@synergy-design-system/components';
85
- import type { SynCombobox } from '@synergy-design-system/components';
85
+ import type SynCombobox from '@synergy-design-system/components/components/combobox/combobox.component.js';
86
86
 
87
87
  // DOM Reference to the element
88
88
  const nativeElement = ref<SynCombobox>();
@@ -12,7 +12,7 @@ import {
12
12
  EventEmitter,
13
13
  AfterContentInit,
14
14
  } from '@angular/core';
15
- import type { SynDetails } from '@synergy-design-system/components';
15
+ import type SynDetails from '@synergy-design-system/components/components/details/details.component.js';
16
16
  import type { SynShowEvent } from '@synergy-design-system/components';
17
17
  import type { SynAfterShowEvent } from '@synergy-design-system/components';
18
18
  import type { SynHideEvent } from '@synergy-design-system/components';
@@ -42,7 +42,7 @@ import type { SynShowEvent } from '@synergy-design-system/components';
42
42
  import type { SynAfterShowEvent } from '@synergy-design-system/components';
43
43
  import type { SynHideEvent } from '@synergy-design-system/components';
44
44
  import type { SynAfterHideEvent } from '@synergy-design-system/components';
45
- import type { SynDetails } from '@synergy-design-system/components';
45
+ import type SynDetails from '@synergy-design-system/components/components/details/details.component.js';
46
46
 
47
47
  // DOM Reference to the element
48
48
  const nativeElement = ref<SynDetails>();
@@ -12,7 +12,7 @@ import {
12
12
  EventEmitter,
13
13
  AfterContentInit,
14
14
  } from '@angular/core';
15
- import type { SynDialog } from '@synergy-design-system/components';
15
+ import type SynDialog from '@synergy-design-system/components/components/dialog/dialog.component.js';
16
16
  import type { SynShowEvent } from '@synergy-design-system/components';
17
17
  import type { SynAfterShowEvent } from '@synergy-design-system/components';
18
18
  import type { SynHideEvent } from '@synergy-design-system/components';
@@ -64,7 +64,7 @@ import type { SynHideEvent } from '@synergy-design-system/components';
64
64
  import type { SynAfterHideEvent } from '@synergy-design-system/components';
65
65
  import type { SynInitialFocusEvent } from '@synergy-design-system/components';
66
66
  import type { SynRequestCloseEvent } from '@synergy-design-system/components';
67
- import type { SynDialog } from '@synergy-design-system/components';
67
+ import type SynDialog from '@synergy-design-system/components/components/dialog/dialog.component.js';
68
68
 
69
69
  // DOM Reference to the element
70
70
  const nativeElement = ref<SynDialog>();
@@ -12,7 +12,7 @@ import {
12
12
  EventEmitter,
13
13
  AfterContentInit,
14
14
  } from '@angular/core';
15
- import type { SynDivider } from '@synergy-design-system/components';
15
+ import type SynDivider from '@synergy-design-system/components/components/divider/divider.component.js';
16
16
 
17
17
  import '@synergy-design-system/components/components/divider/divider.js';
18
18
 
@@ -18,7 +18,7 @@
18
18
  import { computed, ref } from 'vue';
19
19
  import '@synergy-design-system/components/components/divider/divider.js';
20
20
 
21
- import type { SynDivider } from '@synergy-design-system/components';
21
+ import type SynDivider from '@synergy-design-system/components/components/divider/divider.component.js';
22
22
 
23
23
  // DOM Reference to the element
24
24
  const nativeElement = ref<SynDivider>();
@@ -12,7 +12,7 @@ import {
12
12
  EventEmitter,
13
13
  AfterContentInit,
14
14
  } from '@angular/core';
15
- import type { SynDrawer } from '@synergy-design-system/components';
15
+ import type SynDrawer from '@synergy-design-system/components/components/drawer/drawer.component.js';
16
16
  import type { SynShowEvent } from '@synergy-design-system/components';
17
17
  import type { SynAfterShowEvent } from '@synergy-design-system/components';
18
18
  import type { SynHideEvent } from '@synergy-design-system/components';
@@ -71,7 +71,7 @@ import type { SynHideEvent } from '@synergy-design-system/components';
71
71
  import type { SynAfterHideEvent } from '@synergy-design-system/components';
72
72
  import type { SynInitialFocusEvent } from '@synergy-design-system/components';
73
73
  import type { SynRequestCloseEvent } from '@synergy-design-system/components';
74
- import type { SynDrawer } from '@synergy-design-system/components';
74
+ import type SynDrawer from '@synergy-design-system/components/components/drawer/drawer.component.js';
75
75
 
76
76
  // DOM Reference to the element
77
77
  const nativeElement = ref<SynDrawer>();
@@ -12,7 +12,7 @@ import {
12
12
  EventEmitter,
13
13
  AfterContentInit,
14
14
  } from '@angular/core';
15
- import type { SynDropdown } from '@synergy-design-system/components';
15
+ import type SynDropdown from '@synergy-design-system/components/components/dropdown/dropdown.component.js';
16
16
  import type { SynShowEvent } from '@synergy-design-system/components';
17
17
  import type { SynAfterShowEvent } from '@synergy-design-system/components';
18
18
  import type { SynHideEvent } from '@synergy-design-system/components';
@@ -36,7 +36,7 @@ import type { SynShowEvent } from '@synergy-design-system/components';
36
36
  import type { SynAfterShowEvent } from '@synergy-design-system/components';
37
37
  import type { SynHideEvent } from '@synergy-design-system/components';
38
38
  import type { SynAfterHideEvent } from '@synergy-design-system/components';
39
- import type { SynDropdown } from '@synergy-design-system/components';
39
+ import type SynDropdown from '@synergy-design-system/components/components/dropdown/dropdown.component.js';
40
40
 
41
41
  // DOM Reference to the element
42
42
  const nativeElement = ref<SynDropdown>();
@@ -12,7 +12,7 @@ import {
12
12
  EventEmitter,
13
13
  AfterContentInit,
14
14
  } from '@angular/core';
15
- import type { SynFile } from '@synergy-design-system/components';
15
+ import type SynFile from '@synergy-design-system/components/components/file/file.component.js';
16
16
  import type { SynBlurEvent } from '@synergy-design-system/components';
17
17
  import type { SynChangeEvent } from '@synergy-design-system/components';
18
18
  import type { SynErrorEvent } from '@synergy-design-system/components';
@@ -61,7 +61,7 @@ import type { SynChangeEvent } from '@synergy-design-system/components';
61
61
  import type { SynErrorEvent } from '@synergy-design-system/components';
62
62
  import type { SynFocusEvent } from '@synergy-design-system/components';
63
63
  import type { SynInputEvent } from '@synergy-design-system/components';
64
- import type { SynFile } from '@synergy-design-system/components';
64
+ import type SynFile from '@synergy-design-system/components/components/file/file.component.js';
65
65
 
66
66
  // DOM Reference to the element
67
67
  const nativeElement = ref<SynFile>();
@@ -12,7 +12,7 @@ import {
12
12
  EventEmitter,
13
13
  AfterContentInit,
14
14
  } from '@angular/core';
15
- import type { SynHeader } from '@synergy-design-system/components';
15
+ import type SynHeader from '@synergy-design-system/components/components/header/header.component.js';
16
16
  import type { SynBurgerMenuClosedEvent } from '@synergy-design-system/components';
17
17
  import type { SynBurgerMenuHiddenEvent } from '@synergy-design-system/components';
18
18
  import type { SynBurgerMenuOpenEvent } from '@synergy-design-system/components';
@@ -44,7 +44,7 @@ import '@synergy-design-system/components/components/header/header.js';
44
44
  import type { SynBurgerMenuClosedEvent } from '@synergy-design-system/components';
45
45
  import type { SynBurgerMenuHiddenEvent } from '@synergy-design-system/components';
46
46
  import type { SynBurgerMenuOpenEvent } from '@synergy-design-system/components';
47
- import type { SynHeader } from '@synergy-design-system/components';
47
+ import type SynHeader from '@synergy-design-system/components/components/header/header.component.js';
48
48
 
49
49
  // DOM Reference to the element
50
50
  const nativeElement = ref<SynHeader>();
@@ -12,7 +12,7 @@ import {
12
12
  EventEmitter,
13
13
  AfterContentInit,
14
14
  } from '@angular/core';
15
- import type { SynIcon } from '@synergy-design-system/components';
15
+ import type SynIcon from '@synergy-design-system/components/components/icon/icon.component.js';
16
16
  import type { SynLoadEvent } from '@synergy-design-system/components';
17
17
  import type { SynErrorEvent } from '@synergy-design-system/components';
18
18
  import '@synergy-design-system/components/components/icon/icon.js';
@@ -22,7 +22,7 @@ import '@synergy-design-system/components/components/icon/icon.js';
22
22
 
23
23
  import type { SynLoadEvent } from '@synergy-design-system/components';
24
24
  import type { SynErrorEvent } from '@synergy-design-system/components';
25
- import type { SynIcon } from '@synergy-design-system/components';
25
+ import type SynIcon from '@synergy-design-system/components/components/icon/icon.component.js';
26
26
 
27
27
  // DOM Reference to the element
28
28
  const nativeElement = ref<SynIcon>();