@sentropic/design-system-angular 0.36.63 → 0.38.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 (319) hide show
  1. package/LICENSE +21 -0
  2. package/LICENSE.THIRD-PARTY.md +110 -0
  3. package/dist/Accordion.js +3 -3
  4. package/dist/Alert.js +3 -3
  5. package/dist/AnomalySwimLaneChart.js +3 -3
  6. package/dist/AppChrome.js +3 -3
  7. package/dist/AppHeader.js +3 -3
  8. package/dist/AppShell.js +3 -3
  9. package/dist/ArcDiagramChart.d.ts +3 -1
  10. package/dist/ArcDiagramChart.d.ts.map +1 -1
  11. package/dist/ArcDiagramChart.js +9 -23
  12. package/dist/ArcDiagramChart.js.map +1 -1
  13. package/dist/AreaChart.js +3 -3
  14. package/dist/AreaRangeChart.js +3 -3
  15. package/dist/AreaSplineRangeChart.js +3 -3
  16. package/dist/AspectRatio.js +3 -3
  17. package/dist/Autosave.js +3 -3
  18. package/dist/Avatar.js +3 -3
  19. package/dist/AvatarGroup.js +3 -3
  20. package/dist/BackToTop.js +3 -3
  21. package/dist/Badge.js +3 -3
  22. package/dist/BarChart.js +3 -3
  23. package/dist/BellCurveChart.js +5 -5
  24. package/dist/BoxPlotChart.js +3 -3
  25. package/dist/Breadcrumb.js +3 -3
  26. package/dist/BulletChart.js +5 -5
  27. package/dist/BumpChart.js +5 -5
  28. package/dist/Button.d.ts +5 -1
  29. package/dist/Button.d.ts.map +1 -1
  30. package/dist/Button.js +15 -3
  31. package/dist/Button.js.map +1 -1
  32. package/dist/ButtonGroup.js +3 -3
  33. package/dist/Calendar.d.ts +12 -1
  34. package/dist/Calendar.d.ts.map +1 -1
  35. package/dist/Calendar.js +27 -3
  36. package/dist/Calendar.js.map +1 -1
  37. package/dist/CalendarHeatmapChart.d.ts.map +1 -1
  38. package/dist/CalendarHeatmapChart.js +27 -25
  39. package/dist/CalendarHeatmapChart.js.map +1 -1
  40. package/dist/CandlestickChart.js +3 -3
  41. package/dist/Card.js +3 -3
  42. package/dist/ChatComposer.js +3 -3
  43. package/dist/ChatMessage.js +3 -3
  44. package/dist/ChatThread.js +3 -3
  45. package/dist/Checkbox.d.ts +3 -1
  46. package/dist/Checkbox.d.ts.map +1 -1
  47. package/dist/Checkbox.js +9 -3
  48. package/dist/Checkbox.js.map +1 -1
  49. package/dist/CheckboxGroup.js +3 -3
  50. package/dist/ChordDiagram.js +3 -3
  51. package/dist/CodeSnippet.js +3 -3
  52. package/dist/Col.js +3 -3
  53. package/dist/Collapsible.js +3 -3
  54. package/dist/ColorScaleBar.js +3 -3
  55. package/dist/ColorSwatch.js +3 -3
  56. package/dist/ColumnPyramidChart.js +3 -3
  57. package/dist/ColumnRangeChart.js +3 -3
  58. package/dist/ComboChart.js +3 -3
  59. package/dist/Combobox.js +3 -3
  60. package/dist/ConfigItemCard.js +3 -3
  61. package/dist/Container.js +3 -3
  62. package/dist/ContentSwitcher.js +3 -3
  63. package/dist/ContextPanel.js +3 -3
  64. package/dist/ContourChart.d.ts.map +1 -1
  65. package/dist/ContourChart.js +51 -45
  66. package/dist/ContourChart.js.map +1 -1
  67. package/dist/CopyButton.js +3 -3
  68. package/dist/Dashboard.js +3 -3
  69. package/dist/DashboardGrid.js +3 -3
  70. package/dist/DataImage.js +3 -3
  71. package/dist/DataTable.js +3 -3
  72. package/dist/DatePicker.js +3 -3
  73. package/dist/DecompositionTreeChart.js +3 -3
  74. package/dist/Density2DChart.js +3 -3
  75. package/dist/DependencyWheelChart.d.ts +3 -1
  76. package/dist/DependencyWheelChart.d.ts.map +1 -1
  77. package/dist/DependencyWheelChart.js +9 -23
  78. package/dist/DependencyWheelChart.js.map +1 -1
  79. package/dist/DisplaySettings.js +3 -3
  80. package/dist/DivergentBarChart.js +3 -3
  81. package/dist/Divider.js +3 -3
  82. package/dist/DonutChart.js +3 -3
  83. package/dist/Drawer.js +3 -3
  84. package/dist/Dropdown.js +3 -3
  85. package/dist/DumbbellChart.js +5 -5
  86. package/dist/Embed.js +3 -3
  87. package/dist/EmptyState.js +3 -3
  88. package/dist/ErrorBarChart.js +3 -3
  89. package/dist/ErrorSummary.js +3 -3
  90. package/dist/EventFeedPanel.js +5 -5
  91. package/dist/FieldCard.js +3 -3
  92. package/dist/FileUploader.js +3 -3
  93. package/dist/FilterBar.js +3 -3
  94. package/dist/FilterPill.js +3 -3
  95. package/dist/FlamegraphChart.js +3 -3
  96. package/dist/Flex.js +3 -3
  97. package/dist/Footer.js +3 -3
  98. package/dist/ForceGraph.js +3 -3
  99. package/dist/Form.js +3 -3
  100. package/dist/FormGroup.js +3 -3
  101. package/dist/FunnelChart.js +3 -3
  102. package/dist/GanttChart.js +3 -3
  103. package/dist/GaugeChart.js +3 -3
  104. package/dist/{GeoMap.d.ts → GeoChart.d.ts} +57 -57
  105. package/dist/GeoChart.d.ts.map +1 -0
  106. package/dist/{GeoMap.js → GeoChart.js} +10 -10
  107. package/dist/GeoChart.js.map +1 -0
  108. package/dist/GraphLegend.js +3 -3
  109. package/dist/Grid.js +3 -3
  110. package/dist/HLCChart.js +3 -3
  111. package/dist/Header.js +3 -3
  112. package/dist/HeatmapChart.d.ts.map +1 -1
  113. package/dist/HeatmapChart.js +51 -45
  114. package/dist/HeatmapChart.js.map +1 -1
  115. package/dist/HeikinAshiChart.js +3 -3
  116. package/dist/Hidden.js +3 -3
  117. package/dist/Highlight.js +3 -3
  118. package/dist/HistogramChart.js +3 -3
  119. package/dist/HollowCandlestickChart.js +3 -3
  120. package/dist/Icon.d.ts +6 -1
  121. package/dist/Icon.d.ts.map +1 -1
  122. package/dist/Icon.js +46 -4
  123. package/dist/Icon.js.map +1 -1
  124. package/dist/IconButton.js +3 -3
  125. package/dist/IdentityMenu.js +3 -3
  126. package/dist/Inline.d.ts +16 -1
  127. package/dist/Inline.d.ts.map +1 -1
  128. package/dist/Inline.js +36 -5
  129. package/dist/Inline.js.map +1 -1
  130. package/dist/InlineLoading.js +3 -3
  131. package/dist/Input.d.ts +3 -1
  132. package/dist/Input.d.ts.map +1 -1
  133. package/dist/Input.js +9 -3
  134. package/dist/Input.js.map +1 -1
  135. package/dist/ItemChart.js +3 -3
  136. package/dist/KanbanBoard.js +3 -3
  137. package/dist/KpiCard.d.ts.map +1 -1
  138. package/dist/KpiCard.js +9 -4
  139. package/dist/KpiCard.js.map +1 -1
  140. package/dist/LanguageSelector.js +3 -3
  141. package/dist/LanguageToggle.js +3 -3
  142. package/dist/LineChart.d.ts +12 -0
  143. package/dist/LineChart.d.ts.map +1 -1
  144. package/dist/LineChart.js +15 -6
  145. package/dist/LineChart.js.map +1 -1
  146. package/dist/Link.js +3 -3
  147. package/dist/ListReportPage.js +3 -3
  148. package/dist/LoadingState.js +3 -3
  149. package/dist/LollipopChart.js +3 -3
  150. package/dist/MarimekkoChart.js +5 -5
  151. package/dist/MasterDetail.js +3 -3
  152. package/dist/MediaContent.js +3 -3
  153. package/dist/Menu.js +3 -3
  154. package/dist/MenuPopover.d.ts +25 -3
  155. package/dist/MenuPopover.d.ts.map +1 -1
  156. package/dist/MenuPopover.js +105 -15
  157. package/dist/MenuPopover.js.map +1 -1
  158. package/dist/MenuTriggerButton.js +3 -3
  159. package/dist/MessageActions.js +3 -3
  160. package/dist/MessageStatusBadge.js +3 -3
  161. package/dist/Modal.js +3 -3
  162. package/dist/MultiSelect.js +3 -3
  163. package/dist/NavActionStack.js +3 -3
  164. package/dist/NavDrawer.js +3 -3
  165. package/dist/NavItem.js +3 -3
  166. package/dist/NavRail.js +3 -3
  167. package/dist/NavSection.d.ts +1 -1
  168. package/dist/NavSection.d.ts.map +1 -1
  169. package/dist/NavSection.js +20 -9
  170. package/dist/NavSection.js.map +1 -1
  171. package/dist/NavShell.js +3 -3
  172. package/dist/Notification.js +3 -3
  173. package/dist/NumberInput.d.ts +3 -1
  174. package/dist/NumberInput.d.ts.map +1 -1
  175. package/dist/NumberInput.js +9 -3
  176. package/dist/NumberInput.js.map +1 -1
  177. package/dist/OHLCChart.js +5 -5
  178. package/dist/ObjectPage.js +3 -3
  179. package/dist/OrderedList.js +3 -3
  180. package/dist/OrganizationChart.js +5 -5
  181. package/dist/OverflowMenu.js +3 -3
  182. package/dist/Overline.js +3 -3
  183. package/dist/PackedBubblesChart.js +5 -5
  184. package/dist/Pagination.js +3 -3
  185. package/dist/PaginationNav.js +3 -3
  186. package/dist/PanelSection.d.ts +12 -0
  187. package/dist/PanelSection.d.ts.map +1 -1
  188. package/dist/PanelSection.js +16 -4
  189. package/dist/PanelSection.js.map +1 -1
  190. package/dist/PanelStack.d.ts +17 -0
  191. package/dist/PanelStack.d.ts.map +1 -1
  192. package/dist/PanelStack.js +20 -3
  193. package/dist/PanelStack.js.map +1 -1
  194. package/dist/ParallelCoordinatesChart.js +5 -5
  195. package/dist/ParetoChart.js +5 -5
  196. package/dist/PasswordInput.js +3 -3
  197. package/dist/PointAndFigureChart.d.ts.map +1 -1
  198. package/dist/PointAndFigureChart.js +19 -15
  199. package/dist/PointAndFigureChart.js.map +1 -1
  200. package/dist/PolygonChart.js +5 -5
  201. package/dist/Popover.js +3 -3
  202. package/dist/Popper.js +3 -3
  203. package/dist/Portal.js +3 -3
  204. package/dist/PriorityMatrix.d.ts +103 -0
  205. package/dist/PriorityMatrix.d.ts.map +1 -0
  206. package/dist/PriorityMatrix.js +495 -0
  207. package/dist/PriorityMatrix.js.map +1 -0
  208. package/dist/ProgressBar.js +3 -3
  209. package/dist/ProgressIndicator.js +3 -3
  210. package/dist/Quote.js +3 -3
  211. package/dist/RadarChart.js +3 -3
  212. package/dist/Radio.js +3 -3
  213. package/dist/RadioGroup.js +3 -3
  214. package/dist/RangeSlider.js +3 -3
  215. package/dist/Rating.js +3 -3
  216. package/dist/RenkoChart.d.ts.map +1 -1
  217. package/dist/RenkoChart.js +22 -16
  218. package/dist/RenkoChart.js.map +1 -1
  219. package/dist/RibbonChart.js +3 -3
  220. package/dist/RoseChart.js +3 -3
  221. package/dist/Row.js +3 -3
  222. package/dist/SankeyChart.js +3 -3
  223. package/dist/ScatterPlot.js +3 -3
  224. package/dist/ScoreCard.js +3 -3
  225. package/dist/Search.d.ts.map +1 -1
  226. package/dist/Search.js +7 -5
  227. package/dist/Search.js.map +1 -1
  228. package/dist/Select.d.ts +3 -1
  229. package/dist/Select.d.ts.map +1 -1
  230. package/dist/Select.js +9 -3
  231. package/dist/Select.js.map +1 -1
  232. package/dist/SelectableList.js +3 -3
  233. package/dist/SelectableRow.js +3 -3
  234. package/dist/SelectionChip.d.ts.map +1 -1
  235. package/dist/SelectionChip.js +7 -5
  236. package/dist/SelectionChip.js.map +1 -1
  237. package/dist/SideNav.js +3 -3
  238. package/dist/SkeletonText.js +3 -3
  239. package/dist/SkipLink.js +3 -3
  240. package/dist/SlideIndicator.js +3 -3
  241. package/dist/Slider.js +3 -3
  242. package/dist/SolidGaugeChart.js +3 -3
  243. package/dist/Sparkline.js +3 -3
  244. package/dist/Stack.js +3 -3
  245. package/dist/StackedBarChart.d.ts.map +1 -1
  246. package/dist/StackedBarChart.js +32 -18
  247. package/dist/StackedBarChart.js.map +1 -1
  248. package/dist/StateTimelineChart.js +3 -3
  249. package/dist/StatusDot.js +3 -3
  250. package/dist/StatusHistoryChart.js +3 -3
  251. package/dist/StepLineChart.js +3 -3
  252. package/dist/Stepper.js +3 -3
  253. package/dist/StreamgraphChart.js +3 -3
  254. package/dist/StreamingMessage.js +3 -3
  255. package/dist/StructuredList.js +3 -3
  256. package/dist/SunburstChart.js +5 -5
  257. package/dist/Switch.js +3 -3
  258. package/dist/Table.js +3 -3
  259. package/dist/TableOfContents.js +3 -3
  260. package/dist/Tabs.js +3 -3
  261. package/dist/Tag.js +3 -3
  262. package/dist/Textarea.d.ts +3 -1
  263. package/dist/Textarea.d.ts.map +1 -1
  264. package/dist/Textarea.js +9 -3
  265. package/dist/Textarea.js.map +1 -1
  266. package/dist/ThemeProvider.js +3 -3
  267. package/dist/Tile.js +3 -3
  268. package/dist/TileGroup.js +3 -3
  269. package/dist/TileMapChart.js +3 -3
  270. package/dist/TimePicker.js +3 -3
  271. package/dist/TimeRangePicker.d.ts +23 -2
  272. package/dist/TimeRangePicker.d.ts.map +1 -1
  273. package/dist/TimeRangePicker.js +156 -24
  274. package/dist/TimeRangePicker.js.map +1 -1
  275. package/dist/Timeline.js +3 -3
  276. package/dist/TimelineChart.d.ts.map +1 -1
  277. package/dist/TimelineChart.js +4 -4
  278. package/dist/TimelineChart.js.map +1 -1
  279. package/dist/Toast.js +3 -3
  280. package/dist/Toggle.js +3 -3
  281. package/dist/Toggletip.js +3 -3
  282. package/dist/Tooltip.js +3 -3
  283. package/dist/TraceWaterfallChart.js +3 -3
  284. package/dist/Transcription.js +3 -3
  285. package/dist/TreeView.js +3 -3
  286. package/dist/TreegraphChart.js +5 -5
  287. package/dist/TreemapChart.js +5 -5
  288. package/dist/Typography.js +3 -3
  289. package/dist/UnorderedList.js +3 -3
  290. package/dist/UtilityPanel.js +3 -3
  291. package/dist/VariablePieChart.js +3 -3
  292. package/dist/VectorFieldChart.d.ts.map +1 -1
  293. package/dist/VectorFieldChart.js +20 -16
  294. package/dist/VectorFieldChart.js.map +1 -1
  295. package/dist/VennChart.js +3 -3
  296. package/dist/ViolinChart.js +3 -3
  297. package/dist/WaffleChart.js +3 -3
  298. package/dist/WaterfallChart.js +3 -3
  299. package/dist/WindBarbChart.d.ts.map +1 -1
  300. package/dist/WindBarbChart.js +19 -15
  301. package/dist/WindBarbChart.js.map +1 -1
  302. package/dist/Wizard.js +4 -4
  303. package/dist/WordCloudChart.js +3 -3
  304. package/dist/chartScale.d.ts +8 -0
  305. package/dist/chartScale.d.ts.map +1 -1
  306. package/dist/chartScale.js +48 -5
  307. package/dist/chartScale.js.map +1 -1
  308. package/dist/index.d.ts +4 -2
  309. package/dist/index.d.ts.map +1 -1
  310. package/dist/index.js +2 -1
  311. package/dist/index.js.map +1 -1
  312. package/dist/priorityLabels.d.ts +143 -0
  313. package/dist/priorityLabels.d.ts.map +1 -0
  314. package/dist/priorityLabels.js +240 -0
  315. package/dist/priorityLabels.js.map +1 -0
  316. package/dist/styles.css +87 -4
  317. package/package.json +8 -6
  318. package/dist/GeoMap.d.ts.map +0 -1
  319. package/dist/GeoMap.js.map +0 -1
@@ -0,0 +1,240 @@
1
+ /**
2
+ * Internal priority-label placement for the DS PriorityMatrix component.
3
+ *
4
+ * STRUCTURAL TWIN of packages/dataviz-core/src/priorityMatrix.ts: same
5
+ * algorithm, same types, same behaviour. Duplicated (not imported) on purpose:
6
+ * the DS layer must not depend on @sentropic/dataviz-core, so this copy is
7
+ * kept in sync by hand. A shared golden-vector test pins all five copies to
8
+ * identical placements. Not exported from the package barrel (internal
9
+ * component use only).
10
+ */
11
+ /**
12
+ * Quadrant of a datum given thresholds (defaults 50/50).
13
+ * x = complexity (low left), y = value (high top).
14
+ */
15
+ export function priorityQuadrant(x, y, xThreshold = 50, yThreshold = 50) {
16
+ if (x < xThreshold && y >= yThreshold)
17
+ return 'quick-wins';
18
+ if (x >= xThreshold && y >= yThreshold)
19
+ return 'major-projects';
20
+ if (x < xThreshold && y < yThreshold)
21
+ return 'wait';
22
+ return 'drop';
23
+ }
24
+ /**
25
+ * Rough box estimate from a label string when the caller has no measurement.
26
+ * Single line up to 12 chars, two lines beyond; capped at 120px wide.
27
+ *
28
+ * This is a glyph-count MODEL, not a measurement: it assumes narrow latin
29
+ * glyphs at 11px. Wide latin runs overflow the box (Inter 11px measured in
30
+ * Chromium, review figures: "MMMMMMMMMM" by 17.7px, "WWWWWWWWWWWW" by 26.7px;
31
+ * same-direction check with DejaVu Sans 11px advances: 12.9px and 34.5px) and
32
+ * CJK text overflows further ("データ可視化の基盤" by 24.0px in Inter 11px).
33
+ * The non-overlap behaviour only holds for narrow latin; there is currently
34
+ * no prop to pass caller-measured boxes through the DS components.
35
+ */
36
+ export function estimatePriorityLabelBox(label) {
37
+ const chars = [...label].length;
38
+ if (chars === 0)
39
+ return { w: 12, h: 20 };
40
+ const lines = chars > 12 ? 2 : 1;
41
+ const longest = lines === 2 ? Math.ceil(chars / 2) : chars;
42
+ return { w: Math.min(120, 12 + 7 * longest), h: lines === 2 ? 34 : 20 };
43
+ }
44
+ const CANDIDATE_GAP = 8;
45
+ function mulberry32(seed) {
46
+ let a = seed >>> 0;
47
+ return () => {
48
+ a |= 0;
49
+ a = (a + 0x6d2b79f5) | 0;
50
+ let t = Math.imul(a ^ (a >>> 15), 1 | a);
51
+ t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;
52
+ return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
53
+ };
54
+ }
55
+ function overlapArea(ax, ay, aw, ah, bx, by, bw, bh) {
56
+ const dx = Math.min(ax + aw, bx + bw) - Math.max(ax, bx);
57
+ const dy = Math.min(ay + ah, by + bh) - Math.max(ay, by);
58
+ return dx > 0 && dy > 0 ? dx * dy : 0;
59
+ }
60
+ function pointInBox(px, py, x, y, w, h, pad = 4) {
61
+ return px > x - pad && px < x + w + pad && py > y - pad && py < y + h + pad;
62
+ }
63
+ function clampInto(x, y, w, h, f) {
64
+ const minX = f.marginLeft;
65
+ const minY = f.marginTop;
66
+ const maxX = f.marginLeft + f.plotWidth - w;
67
+ const maxY = f.marginTop + f.plotHeight - h;
68
+ // Box wider/taller than the plot: pin to the origin instead of inverting.
69
+ if (maxX < minX)
70
+ return { x: minX, y: Math.min(Math.max(y, minY), Math.max(minY, f.marginTop + f.plotHeight - h)) };
71
+ if (maxY < minY)
72
+ return { x: Math.min(Math.max(x, minX), maxX), y: minY };
73
+ return { x: Math.min(Math.max(x, minX), maxX), y: Math.min(Math.max(y, minY), maxY) };
74
+ }
75
+ /**
76
+ * Place one label per point. Never throws on degenerate input: non-finite
77
+ * coordinates fall back to the plot origin, empty arrays yield [].
78
+ *
79
+ * Cost model: label/label overlap area, point-cover (a label box covering ANY
80
+ * anchor — including its own — costs 300 in seeding, 800 in annealing, so
81
+ * opaque label boxes avoid hiding points), obstacle overlap, anchor distance,
82
+ * and out-of-frame penalties, refined by fixed-schedule simulated annealing.
83
+ *
84
+ * Complexity is O(n^2) per energy evaluation with max(1500, n*120) iterations,
85
+ * i.e. O(n^3) overall (the 1500 floor only dominates below 13 points, since n*120 passes 1500 at n=13). Measured
86
+ * (Node 22, desktop class, seeded random sets with long 2-line labels):
87
+ * n=13 in 3.2ms, n=30 in 13.7ms, n=50 in 36.8ms, n=80 in 137.8ms, n=100 in
88
+ * 258.9ms. Overlap counts are set-dependent (0/1/15/83/176 on that
89
+ * adversarial set). Recommended cap: around 50 points; beyond that both
90
+ * latency and overlaps degrade.
91
+ *
92
+ * Frame floor: with the shipped DS configuration (splitLabel boxes, threshold
93
+ * and name obstacles) the 13-point reference set is clean at 640x400, shows
94
+ * 1 overlap at 480x300 and 400x250, 9 overlaps at 320x200, 35 at 200x140, and
95
+ * 78 overlaps plus 12 out-of-plot boxes at 120x90. Do not render below
96
+ * roughly 480x300.
97
+ */
98
+ export function placePriorityLabels(points, boxes, frame, opts = {}) {
99
+ const xT = opts.xThreshold ?? 50;
100
+ const yT = opts.yThreshold ?? 50;
101
+ const seed = opts.seed ?? 42;
102
+ const obstacles = (opts.obstacles ?? []).filter((o) => Number.isFinite(o.x) && Number.isFinite(o.y) && o.w > 0 && o.h > 0);
103
+ const n = points.length;
104
+ if (n === 0)
105
+ return [];
106
+ const anchors = points.map((p) => ({
107
+ ax: Number.isFinite(p.x)
108
+ ? frame.marginLeft + (Math.min(Math.max(p.x, 0), 100) / 100) * frame.plotWidth
109
+ : frame.marginLeft,
110
+ ay: Number.isFinite(p.y)
111
+ ? frame.marginTop + (1 - Math.min(Math.max(p.y, 0), 100) / 100) * frame.plotHeight
112
+ : frame.marginTop,
113
+ }));
114
+ const sizes = points.map((_, i) => {
115
+ const b = boxes[i];
116
+ const w = b && Number.isFinite(b.w) && b.w > 0 ? b.w : 12;
117
+ const h = b && Number.isFinite(b.h) && b.h > 0 ? b.h : 20;
118
+ return { w, h };
119
+ });
120
+ const offsets = [
121
+ [0, -1], [1, -1], [1, 0], [1, 1], [0, 1], [-1, 1], [-1, 0], [-1, -1],
122
+ ];
123
+ const costAt = (idx, x, y, pos) => {
124
+ let c = 0;
125
+ const { w, h } = sizes[idx];
126
+ const left = frame.marginLeft;
127
+ const top = frame.marginTop;
128
+ const right = left + frame.plotWidth;
129
+ const bottom = top + frame.plotHeight;
130
+ c += (Math.max(left - x, 0) + Math.max(x + w - right, 0) + Math.max(top - y, 0) + Math.max(y + h - bottom, 0)) * 400;
131
+ for (let j = 0; j < n; j++) {
132
+ if (j === idx || pos[j] === undefined)
133
+ continue;
134
+ c += overlapArea(x, y, w, h, pos[j].x, pos[j].y, sizes[j].w, sizes[j].h) * 2;
135
+ }
136
+ for (let j = 0; j < n; j++) {
137
+ if (pointInBox(anchors[j].ax, anchors[j].ay, x, y, w, h))
138
+ c += 300;
139
+ }
140
+ // Obstacles (threshold bands, quadrant names) cost 4x a label/label overlap
141
+ // per px2. That is a nudge, not a veto: crossing a 6px band with a 68x20
142
+ // box costs 960 here against 2720 for fully overlapping another label,
143
+ // about a third, so a band is still crossed when nothing else fits.
144
+ for (const o of obstacles) {
145
+ c += overlapArea(x, y, w, h, o.x, o.y, o.w, o.h) * 8;
146
+ }
147
+ c += Math.hypot(x + w / 2 - anchors[idx].ax, y + h / 2 - anchors[idx].ay) * 0.5;
148
+ return c;
149
+ };
150
+ // Greedy seeding in stable y-then-x order.
151
+ const order = points.map((_, i) => i).sort((a, b) => anchors[a].ay - anchors[b].ay || anchors[a].ax - anchors[b].ax);
152
+ const pos = new Array(n);
153
+ for (const idx of order) {
154
+ let bestX = anchors[idx].ax;
155
+ let bestY = anchors[idx].ay;
156
+ let bestC = Infinity;
157
+ for (const [dx, dy] of offsets) {
158
+ const cx = anchors[idx].ax + dx * (sizes[idx].w / 2 + CANDIDATE_GAP) - sizes[idx].w / 2;
159
+ const cy = anchors[idx].ay + dy * (sizes[idx].h / 2 + CANDIDATE_GAP) - sizes[idx].h / 2;
160
+ const cc = costAt(idx, cx, cy, pos);
161
+ if (cc < bestC) {
162
+ bestC = cc;
163
+ bestX = cx;
164
+ bestY = cy;
165
+ }
166
+ }
167
+ const cl = clampInto(bestX, bestY, sizes[idx].w, sizes[idx].h, frame);
168
+ pos[idx] = cl;
169
+ }
170
+ // Simulated-annealing refinement (fixed seed ⇒ deterministic).
171
+ const rnd = mulberry32(seed);
172
+ const energy = () => {
173
+ let e = 0;
174
+ for (let i = 0; i < n; i++) {
175
+ const { w, h } = sizes[i];
176
+ e += Math.hypot(pos[i].x + w / 2 - anchors[i].ax, pos[i].y + h / 2 - anchors[i].ay) * 0.6;
177
+ if (pos[i].x < frame.marginLeft ||
178
+ pos[i].y < frame.marginTop ||
179
+ pos[i].x + w > frame.marginLeft + frame.plotWidth ||
180
+ pos[i].y + h > frame.marginTop + frame.plotHeight) {
181
+ e += 5000;
182
+ }
183
+ for (let j = 0; j < n; j++) {
184
+ if (pointInBox(anchors[j].ax, anchors[j].ay, pos[i].x, pos[i].y, w, h))
185
+ e += 800;
186
+ }
187
+ for (const o of obstacles) {
188
+ e += overlapArea(pos[i].x, pos[i].y, w, h, o.x, o.y, o.w, o.h) * 12;
189
+ }
190
+ for (let j = i + 1; j < n; j++) {
191
+ e += overlapArea(pos[i].x, pos[i].y, w, h, pos[j].x, pos[j].y, sizes[j].w, sizes[j].h) * 3;
192
+ }
193
+ }
194
+ return e;
195
+ };
196
+ let e = energy();
197
+ let temp = 800;
198
+ const iters = Math.max(1500, n * 120);
199
+ const cool = Math.pow(1 / 800, 1 / iters);
200
+ for (let k = 0; k < iters; k++) {
201
+ const i = Math.floor(rnd() * n);
202
+ const ox = pos[i].x;
203
+ const oy = pos[i].y;
204
+ const step = 6 + temp / 40;
205
+ const cl = clampInto(pos[i].x + (rnd() * 2 - 1) * step, pos[i].y + (rnd() * 2 - 1) * step, sizes[i].w, sizes[i].h, frame);
206
+ pos[i] = cl;
207
+ const ne = energy();
208
+ if (ne < e || rnd() < Math.exp((e - ne) / Math.max(temp, 1e-9))) {
209
+ e = ne;
210
+ }
211
+ else {
212
+ pos[i] = { x: ox, y: oy };
213
+ }
214
+ temp *= cool;
215
+ }
216
+ return points.map((p, i) => {
217
+ const { w, h } = sizes[i];
218
+ const bx = pos[i].x;
219
+ const by = pos[i].y;
220
+ // Leader from the closest point of the box to the anchor (edge-clamped;
221
+ // zero-length when the anchor lies inside the box) to the anchor.
222
+ const cx = Math.min(Math.max(anchors[i].ax, bx), bx + w);
223
+ const cy = Math.min(Math.max(anchors[i].ay, by), by + h);
224
+ return {
225
+ index: i,
226
+ x: bx,
227
+ y: by,
228
+ w,
229
+ h,
230
+ anchorX: anchors[i].ax,
231
+ anchorY: anchors[i].ay,
232
+ leaderX1: cx,
233
+ leaderY1: cy,
234
+ leaderX2: anchors[i].ax,
235
+ leaderY2: anchors[i].ay,
236
+ quadrant: priorityQuadrant(p.x, p.y, xT, yT),
237
+ };
238
+ });
239
+ }
240
+ //# sourceMappingURL=priorityLabels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"priorityLabels.js","sourceRoot":"","sources":["../src/priorityLabels.ts"],"names":[],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -1573,7 +1573,9 @@
1573
1573
 
1574
1574
  .st-contentSwitcher__option--selected {
1575
1575
  background: var(--st-semantic-surface-default);
1576
- box-shadow: var(--st-shadow-subtle);
1576
+ box-shadow:
1577
+ inset 0 0 0 1px var(--st-semantic-border-interactive),
1578
+ var(--st-shadow-subtle);
1577
1579
  color: var(--st-semantic-text-primary);
1578
1580
  }
1579
1581
 
@@ -3318,6 +3320,34 @@
3318
3320
 
3319
3321
  .st-highlight__body p { margin: 0; }
3320
3322
 
3323
+ /* Icon (.st-icon) — stroke width and colour come from the theme tokens
3324
+ (--st-component-icon-strokeWidth / --st-component-icon-color).
3325
+ - The selectors only match the DS defaults: stroke-width 2.25 set by no prop
3326
+ (an explicit strokeWidth prop is marked data-st-icon-stroke) and stroke
3327
+ currentColor. An explicit prop or colour keeps its presentation attribute.
3328
+ - The rules live in the cascade layer `st-icon`. A layered rule still beats
3329
+ the SVG presentation attributes, and ANY unlayered consumer rule beats it,
3330
+ whatever its specificity or position.
3331
+ - A consumer rule inside a layer (Tailwind v4 utilities, any @layer CSS) only
3332
+ wins if `st-icon` comes BEFORE that layer in the layer order, which is set
3333
+ by first appearance. Declare it first, before Tailwind:
3334
+ @layer st-icon;
3335
+ @import "tailwindcss";
3336
+ or load this stylesheet before any layered CSS. If `st-icon` is declared
3337
+ after the consumer's layers, the token rules beat the consumer's layered
3338
+ rules on the icon.
3339
+ - The var() fallbacks reproduce the former render when no theme is loaded.
3340
+ Same rules as the Svelte Icon component. */
3341
+ @layer st-icon {
3342
+ :where(.st-icon[stroke-width="2.25"]:not([data-st-icon-stroke])) {
3343
+ stroke-width: var(--st-component-icon-strokeWidth, 2.25);
3344
+ }
3345
+
3346
+ :where(.st-icon[stroke="currentColor"]) {
3347
+ stroke: var(--st-component-icon-color, currentColor);
3348
+ }
3349
+ }
3350
+
3321
3351
  .st-iconButton {
3322
3352
  align-items: center;
3323
3353
  background: transparent;
@@ -4055,7 +4085,14 @@
4055
4085
  max-height: calc(100vh - 2rem);
4056
4086
  overflow: auto;
4057
4087
  padding: 0;
4058
- position: absolute;
4088
+ /* The Popover API UA sheet gives [popover] `inset: 0; margin: auto`: without
4089
+ this reset the top-layer panel is re-centred between its top/left and the
4090
+ viewport edges instead of sitting on the trigger. Inline top/left win. */
4091
+ inset: auto;
4092
+ margin: 0;
4093
+ /* Viewport coordinates from getBoundingClientRect: fixed, never absolute
4094
+ (absolute + document coords broke inside any positioned ancestor). */
4095
+ position: fixed;
4059
4096
  z-index: var(--st-component-popover-zIndex, 80);
4060
4097
  }
4061
4098
 
@@ -8088,7 +8125,7 @@
8088
8125
 
8089
8126
  .st-radioGroup__legend {
8090
8127
  color: var(--st-component-field-labelText, var(--st-semantic-text-primary));
8091
- font-size: 0.9375rem;
8128
+ font-size: var(--st-component-selection-legendFontSize, 0.9375rem);
8092
8129
  font-weight: 650;
8093
8130
  line-height: 1.3;
8094
8131
  padding: 0;
@@ -8777,7 +8814,15 @@
8777
8814
  }
8778
8815
 
8779
8816
  .st-calendar__day--inRange {
8780
- background: var(--st-component-control-hoverBackground, var(--st-semantic-surface-subtle));
8817
+ background: var(
8818
+ --st-component-calendar-rangeBackground,
8819
+ color-mix(
8820
+ in srgb,
8821
+ var(--st-semantic-action-primary) 32%,
8822
+ var(--st-component-popover-background, var(--st-semantic-surface-raised))
8823
+ )
8824
+ );
8825
+ color: var(--st-component-popover-text, var(--st-semantic-text-primary));
8781
8826
  }
8782
8827
 
8783
8828
  .st-calendar__day--selected {
@@ -18160,6 +18205,17 @@
18160
18205
  min-width: 16rem;
18161
18206
  }
18162
18207
 
18208
+ .st-timeRangePicker__customExtra {
18209
+ display: flex;
18210
+ flex-direction: column;
18211
+ gap: var(--st-spacing-2, 0.5rem);
18212
+ }
18213
+
18214
+ /* Angular always renders the projection host; hide it when nothing is projected. */
18215
+ .st-timeRangePicker__customExtra:empty {
18216
+ display: none;
18217
+ }
18218
+
18163
18219
  .st-timeRangePicker__bounds {
18164
18220
  display: grid;
18165
18221
  gap: var(--st-spacing-3, 0.75rem);
@@ -18341,3 +18397,30 @@
18341
18397
  padding-block: 0;
18342
18398
  visibility: hidden;
18343
18399
  }
18400
+
18401
+ /* PriorityMatrix — 2x2 value/complexity matrix with placed labels. Token-only. */
18402
+ .st-priorityMatrix { color: var(--st-semantic-text-secondary); display: block; font-family: inherit; position: relative; width: 100%; }
18403
+ .st-priorityMatrix__visual { display: block; }
18404
+ .st-priorityMatrix svg { display: block; overflow: visible; }
18405
+ .st-priorityMatrix__title { fill: var(--st-semantic-text-primary); font-size: 0.875rem; font-weight: 700; }
18406
+ .st-priorityMatrix__quad--quick-wins { fill: color-mix(in srgb, var(--st-semantic-feedback-success) 12%, transparent); }
18407
+ .st-priorityMatrix__quad--major-projects { fill: color-mix(in srgb, var(--st-semantic-feedback-info) 12%, transparent); }
18408
+ .st-priorityMatrix__quad--wait { fill: color-mix(in srgb, var(--st-semantic-feedback-warning) 12%, transparent); }
18409
+ .st-priorityMatrix__quad--drop { fill: color-mix(in srgb, var(--st-semantic-border-subtle) 22%, transparent); }
18410
+ .st-priorityMatrix__threshold { stroke: var(--st-semantic-text-secondary); stroke-width: 1.5; stroke-dasharray: 5 4; }
18411
+ .st-priorityMatrix__quadName { fill: var(--st-semantic-text-secondary); font-size: 0.6875rem; font-weight: 600; }
18412
+ .st-priorityMatrix__grid { stroke: var(--st-semantic-border-subtle); stroke-dasharray: 2 3; stroke-width: 1; opacity: 0.7; }
18413
+ .st-priorityMatrix__axis { stroke: var(--st-semantic-border-subtle); stroke-width: 1; }
18414
+ .st-priorityMatrix__tick { fill: var(--st-semantic-text-secondary); font-size: 0.6875rem; }
18415
+ .st-priorityMatrix__axisLabel { fill: var(--st-semantic-text-secondary); font-size: 0.75rem; font-weight: 600; }
18416
+ .st-priorityMatrix__point--category1 { fill: var(--st-semantic-data-category1); }
18417
+ .st-priorityMatrix__point--category2 { fill: var(--st-semantic-data-category2); }
18418
+ .st-priorityMatrix__point--category3 { fill: var(--st-semantic-data-category3); }
18419
+ .st-priorityMatrix__point--category4 { fill: var(--st-semantic-data-category4); }
18420
+ .st-priorityMatrix__point--category5 { fill: var(--st-semantic-data-category5); }
18421
+ .st-priorityMatrix__point--category6 { fill: var(--st-semantic-data-category6); }
18422
+ .st-priorityMatrix__point--category7 { fill: var(--st-semantic-data-category7); }
18423
+ .st-priorityMatrix__point--category8 { fill: var(--st-semantic-data-category8); }
18424
+ .st-priorityMatrix__leader { stroke: var(--st-semantic-text-secondary); stroke-width: 1; opacity: 0.8; }
18425
+ .st-priorityMatrix__labelBox { fill: var(--st-semantic-surface-default); stroke: var(--st-semantic-border-subtle); stroke-width: 1; }
18426
+ .st-priorityMatrix__labelText { fill: var(--st-semantic-text-primary); font-size: 0.6875rem; }
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@sentropic/design-system-angular",
3
- "version": "0.36.63",
3
+ "version": "0.38.0",
4
+ "license": "MIT",
4
5
  "description": "Angular components for the Sentropic design system.",
5
6
  "type": "module",
6
7
  "publishConfig": {
@@ -39,12 +40,13 @@
39
40
  "@angular/core": "^20.0.0 || ^21.0.0 || ^22.0.0"
40
41
  },
41
42
  "devDependencies": {
42
- "@angular/common": "^21.2.17",
43
- "@angular/compiler": "^21.2.17",
44
- "@angular/compiler-cli": "^21.2.17",
45
- "@angular/core": "^21.2.17",
43
+ "@angular/common": "21.2.24",
44
+ "@angular/compiler": "21.2.24",
45
+ "@angular/compiler-cli": "21.2.24",
46
+ "@angular/core": "21.2.24",
47
+ "@angular/platform-browser": "21.2.24",
46
48
  "typescript": "^5.9.3",
47
49
  "vite": "^8.0.16",
48
- "vitest": "^4.1.6"
50
+ "vitest": "^4.1.11"
49
51
  }
50
52
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"GeoMap.d.ts","sourceRoot":"","sources":["../src/GeoMap.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"GeoMap.js","sourceRoot":"","sources":["../src/GeoMap.ts"],"names":[],"mappings":"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"}