@fusedashlabs/widgets 0.4.4 → 0.5.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 (394) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +24 -3
  3. package/dist/catalog/engine.d.ts +9 -0
  4. package/dist/catalog/engine.d.ts.map +1 -0
  5. package/dist/catalog/engine.js +28 -0
  6. package/dist/catalog/engine.js.map +1 -0
  7. package/dist/catalog/evaluate.d.ts +11 -0
  8. package/dist/catalog/evaluate.d.ts.map +1 -0
  9. package/dist/catalog/evaluate.js +18 -0
  10. package/dist/catalog/evaluate.js.map +1 -0
  11. package/dist/catalog/index.d.ts +8 -0
  12. package/dist/catalog/index.d.ts.map +1 -0
  13. package/dist/catalog/index.js +25 -0
  14. package/dist/catalog/index.js.map +1 -0
  15. package/dist/catalog/load.d.ts +11 -0
  16. package/dist/catalog/load.d.ts.map +1 -0
  17. package/dist/catalog/load.js +140 -0
  18. package/dist/catalog/load.js.map +1 -0
  19. package/dist/catalog/schema.d.ts +5 -0
  20. package/dist/catalog/schema.d.ts.map +1 -0
  21. package/dist/catalog/schema.js +143 -0
  22. package/dist/catalog/schema.js.map +1 -0
  23. package/dist/catalog/types.d.ts +83 -0
  24. package/dist/catalog/types.d.ts.map +1 -0
  25. package/dist/catalog/types.js +45 -0
  26. package/dist/catalog/types.js.map +1 -0
  27. package/dist/catalog/when.d.ts +13 -0
  28. package/dist/catalog/when.d.ts.map +1 -0
  29. package/dist/catalog/when.js +236 -0
  30. package/dist/catalog/when.js.map +1 -0
  31. package/dist/components/approval-bar/element/ui9000-approval-bar.d.ts +17 -0
  32. package/dist/components/approval-bar/element/ui9000-approval-bar.d.ts.map +1 -0
  33. package/dist/components/approval-bar/element/ui9000-approval-bar.js +83 -0
  34. package/dist/components/approval-bar/element/ui9000-approval-bar.js.map +1 -0
  35. package/dist/components/approval-bar/index.d.ts +4 -0
  36. package/dist/components/approval-bar/index.d.ts.map +1 -0
  37. package/dist/components/approval-bar/index.js +11 -0
  38. package/dist/components/approval-bar/index.js.map +1 -0
  39. package/dist/components/approval-bar/lib/normalize.d.ts +7 -0
  40. package/dist/components/approval-bar/lib/normalize.d.ts.map +1 -0
  41. package/dist/components/approval-bar/lib/normalize.js +12 -0
  42. package/dist/components/approval-bar/lib/normalize.js.map +1 -0
  43. package/dist/components/approval-bar/metadata.json.d.ts +99 -0
  44. package/dist/components/approval-bar/metadata.json.js +63 -0
  45. package/dist/components/approval-bar/metadata.json.js.map +1 -0
  46. package/dist/components/bar-chart/element/styles.js +3 -3
  47. package/dist/components/bar-chart/element/styles.js.map +1 -1
  48. package/dist/components/bar-chart/metadata.json.d.ts +53 -0
  49. package/dist/components/bar-chart/metadata.json.js +21 -0
  50. package/dist/components/bar-chart/metadata.json.js.map +1 -1
  51. package/dist/components/box-plot-chart/element/styles.js +3 -3
  52. package/dist/components/box-plot-chart/element/styles.js.map +1 -1
  53. package/dist/components/button/element/ui9000-button.d.ts +15 -0
  54. package/dist/components/button/element/ui9000-button.d.ts.map +1 -0
  55. package/dist/components/button/element/ui9000-button.js +56 -0
  56. package/dist/components/button/element/ui9000-button.js.map +1 -0
  57. package/dist/components/button/index.d.ts +3 -0
  58. package/dist/components/button/index.d.ts.map +1 -0
  59. package/dist/components/button/index.js +9 -0
  60. package/dist/components/button/index.js.map +1 -0
  61. package/dist/components/button/metadata.json.d.ts +99 -0
  62. package/dist/components/button/metadata.json.js +63 -0
  63. package/dist/components/button/metadata.json.js.map +1 -0
  64. package/dist/components/chart-renderer/element/styles.d.ts.map +1 -1
  65. package/dist/components/chart-renderer/element/styles.js +4 -1
  66. package/dist/components/chart-renderer/element/styles.js.map +1 -1
  67. package/dist/components/chart-renderer/element/ui9000-chart-renderer.d.ts.map +1 -1
  68. package/dist/components/chart-renderer/element/ui9000-chart-renderer.js +12 -0
  69. package/dist/components/chart-renderer/element/ui9000-chart-renderer.js.map +1 -1
  70. package/dist/components/chart-renderer/metadata.json.d.ts +7 -1
  71. package/dist/components/chart-renderer/metadata.json.js +4 -1
  72. package/dist/components/chart-renderer/metadata.json.js.map +1 -1
  73. package/dist/components/checkbox/element/ui9000-checkbox.d.ts +16 -0
  74. package/dist/components/checkbox/element/ui9000-checkbox.d.ts.map +1 -0
  75. package/dist/components/checkbox/element/ui9000-checkbox.js +71 -0
  76. package/dist/components/checkbox/element/ui9000-checkbox.js.map +1 -0
  77. package/dist/components/checkbox/index.d.ts +3 -0
  78. package/dist/components/checkbox/index.d.ts.map +1 -0
  79. package/dist/components/checkbox/index.js +9 -0
  80. package/dist/components/checkbox/index.js.map +1 -0
  81. package/dist/components/checkbox/metadata.json.d.ts +99 -0
  82. package/dist/components/checkbox/metadata.json.js +63 -0
  83. package/dist/components/checkbox/metadata.json.js.map +1 -0
  84. package/dist/components/custom-widget/element/styles.d.ts +2 -0
  85. package/dist/components/custom-widget/element/styles.d.ts.map +1 -0
  86. package/dist/components/custom-widget/element/styles.js +286 -0
  87. package/dist/components/custom-widget/element/styles.js.map +1 -0
  88. package/dist/components/custom-widget/element/ui9000-custom-widget.d.ts +47 -0
  89. package/dist/components/custom-widget/element/ui9000-custom-widget.d.ts.map +1 -0
  90. package/dist/components/custom-widget/element/ui9000-custom-widget.js +242 -0
  91. package/dist/components/custom-widget/element/ui9000-custom-widget.js.map +1 -0
  92. package/dist/components/custom-widget/index.d.ts +4 -0
  93. package/dist/components/custom-widget/index.d.ts.map +1 -0
  94. package/dist/components/custom-widget/index.js +19 -0
  95. package/dist/components/custom-widget/index.js.map +1 -0
  96. package/dist/components/custom-widget/lib/content.d.ts +2 -0
  97. package/dist/components/custom-widget/lib/content.d.ts.map +1 -0
  98. package/dist/components/custom-widget/lib/index.d.ts +8 -0
  99. package/dist/components/custom-widget/lib/index.d.ts.map +1 -0
  100. package/dist/components/custom-widget/lib/layout.d.ts +35 -0
  101. package/dist/components/custom-widget/lib/layout.d.ts.map +1 -0
  102. package/dist/components/custom-widget/lib/layout.js +13 -0
  103. package/dist/components/custom-widget/lib/layout.js.map +1 -0
  104. package/dist/components/custom-widget/lib/markdown.d.ts +2 -0
  105. package/dist/components/custom-widget/lib/markdown.d.ts.map +1 -0
  106. package/dist/components/custom-widget/lib/normalize.d.ts +6 -0
  107. package/dist/components/custom-widget/lib/normalize.d.ts.map +1 -0
  108. package/dist/components/custom-widget/lib/normalize.js +144 -0
  109. package/dist/components/custom-widget/lib/normalize.js.map +1 -0
  110. package/dist/components/custom-widget/lib/table.d.ts +2 -0
  111. package/dist/components/custom-widget/lib/table.d.ts.map +1 -0
  112. package/dist/components/custom-widget/lib/types.d.ts +55 -0
  113. package/dist/components/custom-widget/lib/types.d.ts.map +1 -0
  114. package/dist/components/custom-widget/metadata.json.d.ts +97 -0
  115. package/dist/components/custom-widget/metadata.json.js +45 -0
  116. package/dist/components/custom-widget/metadata.json.js.map +1 -0
  117. package/dist/components/date-input/element/ui9000-date-input.d.ts +16 -0
  118. package/dist/components/date-input/element/ui9000-date-input.d.ts.map +1 -0
  119. package/dist/components/date-input/element/ui9000-date-input.js +71 -0
  120. package/dist/components/date-input/element/ui9000-date-input.js.map +1 -0
  121. package/dist/components/date-input/index.d.ts +3 -0
  122. package/dist/components/date-input/index.d.ts.map +1 -0
  123. package/dist/components/date-input/index.js +9 -0
  124. package/dist/components/date-input/index.js.map +1 -0
  125. package/dist/components/date-input/metadata.json.d.ts +99 -0
  126. package/dist/components/date-input/metadata.json.js +63 -0
  127. package/dist/components/date-input/metadata.json.js.map +1 -0
  128. package/dist/components/entity-detail/element/ui9000-entity-detail.d.ts +17 -0
  129. package/dist/components/entity-detail/element/ui9000-entity-detail.d.ts.map +1 -0
  130. package/dist/components/entity-detail/element/ui9000-entity-detail.js +91 -0
  131. package/dist/components/entity-detail/element/ui9000-entity-detail.js.map +1 -0
  132. package/dist/components/entity-detail/index.d.ts +4 -0
  133. package/dist/components/entity-detail/index.d.ts.map +1 -0
  134. package/dist/components/entity-detail/index.js +11 -0
  135. package/dist/components/entity-detail/index.js.map +1 -0
  136. package/dist/components/entity-detail/lib/normalize.d.ts +17 -0
  137. package/dist/components/entity-detail/lib/normalize.d.ts.map +1 -0
  138. package/dist/components/entity-detail/lib/normalize.js +34 -0
  139. package/dist/components/entity-detail/lib/normalize.js.map +1 -0
  140. package/dist/components/entity-detail/metadata.json.d.ts +110 -0
  141. package/dist/components/entity-detail/metadata.json.js +63 -0
  142. package/dist/components/entity-detail/metadata.json.js.map +1 -0
  143. package/dist/components/event-timeline/element/ui9000-event-timeline.d.ts +17 -0
  144. package/dist/components/event-timeline/element/ui9000-event-timeline.d.ts.map +1 -0
  145. package/dist/components/event-timeline/element/ui9000-event-timeline.js +78 -0
  146. package/dist/components/event-timeline/element/ui9000-event-timeline.js.map +1 -0
  147. package/dist/components/event-timeline/index.d.ts +4 -0
  148. package/dist/components/event-timeline/index.d.ts.map +1 -0
  149. package/dist/components/event-timeline/index.js +11 -0
  150. package/dist/components/event-timeline/index.js.map +1 -0
  151. package/dist/components/event-timeline/lib/normalize.d.ts +10 -0
  152. package/dist/components/event-timeline/lib/normalize.d.ts.map +1 -0
  153. package/dist/components/event-timeline/lib/normalize.js +25 -0
  154. package/dist/components/event-timeline/lib/normalize.js.map +1 -0
  155. package/dist/components/event-timeline/metadata.json.d.ts +124 -0
  156. package/dist/components/event-timeline/metadata.json.js +63 -0
  157. package/dist/components/event-timeline/metadata.json.js.map +1 -0
  158. package/dist/components/evidence-panel/element/ui9000-evidence-panel.d.ts +17 -0
  159. package/dist/components/evidence-panel/element/ui9000-evidence-panel.d.ts.map +1 -0
  160. package/dist/components/evidence-panel/element/ui9000-evidence-panel.js +84 -0
  161. package/dist/components/evidence-panel/element/ui9000-evidence-panel.js.map +1 -0
  162. package/dist/components/evidence-panel/index.d.ts +4 -0
  163. package/dist/components/evidence-panel/index.d.ts.map +1 -0
  164. package/dist/components/evidence-panel/index.js +11 -0
  165. package/dist/components/evidence-panel/index.js.map +1 -0
  166. package/dist/components/evidence-panel/lib/normalize.d.ts +19 -0
  167. package/dist/components/evidence-panel/lib/normalize.d.ts.map +1 -0
  168. package/dist/components/evidence-panel/lib/normalize.js +33 -0
  169. package/dist/components/evidence-panel/lib/normalize.js.map +1 -0
  170. package/dist/components/evidence-panel/metadata.json.d.ts +114 -0
  171. package/dist/components/evidence-panel/metadata.json.js +63 -0
  172. package/dist/components/evidence-panel/metadata.json.js.map +1 -0
  173. package/dist/components/form/element/ui9000-form.d.ts +21 -0
  174. package/dist/components/form/element/ui9000-form.d.ts.map +1 -0
  175. package/dist/components/form/element/ui9000-form.js +115 -0
  176. package/dist/components/form/element/ui9000-form.js.map +1 -0
  177. package/dist/components/form/index.d.ts +4 -0
  178. package/dist/components/form/index.d.ts.map +1 -0
  179. package/dist/components/form/index.js +11 -0
  180. package/dist/components/form/index.js.map +1 -0
  181. package/dist/components/form/lib/normalize.d.ts +14 -0
  182. package/dist/components/form/lib/normalize.d.ts.map +1 -0
  183. package/dist/components/form/lib/normalize.js +36 -0
  184. package/dist/components/form/lib/normalize.js.map +1 -0
  185. package/dist/components/form/metadata.json.d.ts +94 -0
  186. package/dist/components/form/metadata.json.js +63 -0
  187. package/dist/components/form/metadata.json.js.map +1 -0
  188. package/dist/components/histogram-chart/element/styles.js +2 -2
  189. package/dist/components/histogram-chart/element/styles.js.map +1 -1
  190. package/dist/components/histogram-chart/metadata.json.d.ts +47 -0
  191. package/dist/components/histogram-chart/metadata.json.js +21 -0
  192. package/dist/components/histogram-chart/metadata.json.js.map +1 -1
  193. package/dist/components/image/element/ui9000-image.d.ts +17 -0
  194. package/dist/components/image/element/ui9000-image.d.ts.map +1 -0
  195. package/dist/components/image/element/ui9000-image.js +74 -0
  196. package/dist/components/image/element/ui9000-image.js.map +1 -0
  197. package/dist/components/image/index.d.ts +4 -0
  198. package/dist/components/image/index.d.ts.map +1 -0
  199. package/dist/components/image/index.js +13 -0
  200. package/dist/components/image/index.js.map +1 -0
  201. package/dist/components/image/lib/url.d.ts +14 -0
  202. package/dist/components/image/lib/url.d.ts.map +1 -0
  203. package/dist/components/image/lib/url.js +23 -0
  204. package/dist/components/image/lib/url.js.map +1 -0
  205. package/dist/components/image/metadata.json.d.ts +95 -0
  206. package/dist/components/image/metadata.json.js +63 -0
  207. package/dist/components/image/metadata.json.js.map +1 -0
  208. package/dist/components/kpi-widget/metadata.json.d.ts +47 -0
  209. package/dist/components/kpi-widget/metadata.json.js +21 -0
  210. package/dist/components/kpi-widget/metadata.json.js.map +1 -1
  211. package/dist/components/line-chart/element/styles.js +2 -2
  212. package/dist/components/line-chart/element/styles.js.map +1 -1
  213. package/dist/components/lollipop/element/styles.js +3 -3
  214. package/dist/components/lollipop/element/styles.js.map +1 -1
  215. package/dist/components/map-chart/metadata.json.d.ts +54 -2
  216. package/dist/components/map-chart/metadata.json.js +23 -2
  217. package/dist/components/map-chart/metadata.json.js.map +1 -1
  218. package/dist/components/multi-select/element/ui9000-multi-select.d.ts +16 -0
  219. package/dist/components/multi-select/element/ui9000-multi-select.d.ts.map +1 -0
  220. package/dist/components/multi-select/element/ui9000-multi-select.js +77 -0
  221. package/dist/components/multi-select/element/ui9000-multi-select.js.map +1 -0
  222. package/dist/components/multi-select/index.d.ts +3 -0
  223. package/dist/components/multi-select/index.d.ts.map +1 -0
  224. package/dist/components/multi-select/index.js +9 -0
  225. package/dist/components/multi-select/index.js.map +1 -0
  226. package/dist/components/multi-select/metadata.json.d.ts +99 -0
  227. package/dist/components/multi-select/metadata.json.js +63 -0
  228. package/dist/components/multi-select/metadata.json.js.map +1 -0
  229. package/dist/components/network-graph/metadata.json.d.ts +53 -2
  230. package/dist/components/network-graph/metadata.json.js +23 -2
  231. package/dist/components/network-graph/metadata.json.js.map +1 -1
  232. package/dist/components/number-input/element/ui9000-number-input.d.ts +16 -0
  233. package/dist/components/number-input/element/ui9000-number-input.d.ts.map +1 -0
  234. package/dist/components/number-input/element/ui9000-number-input.js +71 -0
  235. package/dist/components/number-input/element/ui9000-number-input.js.map +1 -0
  236. package/dist/components/number-input/index.d.ts +3 -0
  237. package/dist/components/number-input/index.d.ts.map +1 -0
  238. package/dist/components/number-input/index.js +9 -0
  239. package/dist/components/number-input/index.js.map +1 -0
  240. package/dist/components/number-input/metadata.json.d.ts +99 -0
  241. package/dist/components/number-input/metadata.json.js +63 -0
  242. package/dist/components/number-input/metadata.json.js.map +1 -0
  243. package/dist/components/select/element/ui9000-select.d.ts +16 -0
  244. package/dist/components/select/element/ui9000-select.d.ts.map +1 -0
  245. package/dist/components/select/element/ui9000-select.js +73 -0
  246. package/dist/components/select/element/ui9000-select.js.map +1 -0
  247. package/dist/components/select/index.d.ts +3 -0
  248. package/dist/components/select/index.d.ts.map +1 -0
  249. package/dist/components/select/index.js +9 -0
  250. package/dist/components/select/index.js.map +1 -0
  251. package/dist/components/select/metadata.json.d.ts +99 -0
  252. package/dist/components/select/metadata.json.js +63 -0
  253. package/dist/components/select/metadata.json.js.map +1 -0
  254. package/dist/components/step-line-chart/element/styles.js +2 -2
  255. package/dist/components/step-line-chart/element/styles.js.map +1 -1
  256. package/dist/components/table/element/styles.d.ts +2 -0
  257. package/dist/components/table/element/styles.d.ts.map +1 -0
  258. package/dist/components/table/element/styles.js +105 -0
  259. package/dist/components/table/element/styles.js.map +1 -0
  260. package/dist/components/table/element/ui9000-table.d.ts +17 -0
  261. package/dist/components/table/element/ui9000-table.d.ts.map +1 -0
  262. package/dist/components/table/element/ui9000-table.js +113 -0
  263. package/dist/components/table/element/ui9000-table.js.map +1 -0
  264. package/dist/components/table/index.d.ts +4 -0
  265. package/dist/components/table/index.d.ts.map +1 -0
  266. package/dist/components/table/index.js +14 -0
  267. package/dist/components/table/index.js.map +1 -0
  268. package/dist/components/table/lib/table.d.ts +55 -0
  269. package/dist/components/table/lib/table.d.ts.map +1 -0
  270. package/dist/components/table/lib/table.js +181 -0
  271. package/dist/components/table/lib/table.js.map +1 -0
  272. package/dist/components/table/metadata.json.d.ts +88 -0
  273. package/dist/components/table/metadata.json.js +63 -0
  274. package/dist/components/table/metadata.json.js.map +1 -0
  275. package/dist/components/text/element/ui9000-text.d.ts +16 -0
  276. package/dist/components/text/element/ui9000-text.d.ts.map +1 -0
  277. package/dist/components/text/element/ui9000-text.js +90 -0
  278. package/dist/components/text/element/ui9000-text.js.map +1 -0
  279. package/dist/components/text/index.d.ts +4 -0
  280. package/dist/components/text/index.d.ts.map +1 -0
  281. package/dist/components/text/index.js +11 -0
  282. package/dist/components/text/index.js.map +1 -0
  283. package/dist/components/text/lib/content.d.ts +2 -0
  284. package/dist/components/text/lib/content.d.ts.map +1 -0
  285. package/dist/components/text/lib/markdown.d.ts +4 -0
  286. package/dist/components/text/lib/markdown.d.ts.map +1 -0
  287. package/dist/components/text/lib/markdown.js +125 -0
  288. package/dist/components/text/lib/markdown.js.map +1 -0
  289. package/dist/components/text/metadata.json.d.ts +98 -0
  290. package/dist/components/text/metadata.json.js +63 -0
  291. package/dist/components/text/metadata.json.js.map +1 -0
  292. package/dist/components/text-input/element/ui9000-text-input.d.ts +16 -0
  293. package/dist/components/text-input/element/ui9000-text-input.d.ts.map +1 -0
  294. package/dist/components/text-input/element/ui9000-text-input.js +70 -0
  295. package/dist/components/text-input/element/ui9000-text-input.js.map +1 -0
  296. package/dist/components/text-input/index.d.ts +3 -0
  297. package/dist/components/text-input/index.d.ts.map +1 -0
  298. package/dist/components/text-input/index.js +9 -0
  299. package/dist/components/text-input/index.js.map +1 -0
  300. package/dist/components/text-input/metadata.json.d.ts +99 -0
  301. package/dist/components/text-input/metadata.json.js +63 -0
  302. package/dist/components/text-input/metadata.json.js.map +1 -0
  303. package/dist/element/chart-shell-styles.d.ts.map +1 -1
  304. package/dist/element/chart-shell-styles.js +11 -4
  305. package/dist/element/chart-shell-styles.js.map +1 -1
  306. package/dist/element/dispatch-ui9000.d.ts +11 -0
  307. package/dist/element/dispatch-ui9000.d.ts.map +1 -0
  308. package/dist/element/dispatch-ui9000.js +21 -0
  309. package/dist/element/dispatch-ui9000.js.map +1 -0
  310. package/dist/element/surface-styles.d.ts +2 -0
  311. package/dist/element/surface-styles.d.ts.map +1 -0
  312. package/dist/element/surface-styles.js +84 -0
  313. package/dist/element/surface-styles.js.map +1 -0
  314. package/dist/element/ui9000-chart-base.d.ts +5 -0
  315. package/dist/element/ui9000-chart-base.d.ts.map +1 -1
  316. package/dist/element/ui9000-chart-base.js +7 -1
  317. package/dist/element/ui9000-chart-base.js.map +1 -1
  318. package/dist/index.d.ts +20 -2
  319. package/dist/index.d.ts.map +1 -1
  320. package/dist/index.js +116 -1
  321. package/dist/index.js.map +1 -1
  322. package/dist/lazy/approval-bar.d.ts +4 -0
  323. package/dist/lazy/approval-bar.d.ts.map +1 -0
  324. package/dist/lazy/approval-bar.js +5 -0
  325. package/dist/lazy/approval-bar.js.map +1 -0
  326. package/dist/lazy/button.d.ts +4 -0
  327. package/dist/lazy/button.d.ts.map +1 -0
  328. package/dist/lazy/button.js +5 -0
  329. package/dist/lazy/button.js.map +1 -0
  330. package/dist/lazy/checkbox.d.ts +4 -0
  331. package/dist/lazy/checkbox.d.ts.map +1 -0
  332. package/dist/lazy/checkbox.js +5 -0
  333. package/dist/lazy/checkbox.js.map +1 -0
  334. package/dist/lazy/custom-widget.d.ts +4 -0
  335. package/dist/lazy/custom-widget.d.ts.map +1 -0
  336. package/dist/lazy/custom-widget.js +5 -0
  337. package/dist/lazy/custom-widget.js.map +1 -0
  338. package/dist/lazy/date-input.d.ts +4 -0
  339. package/dist/lazy/date-input.d.ts.map +1 -0
  340. package/dist/lazy/date-input.js +5 -0
  341. package/dist/lazy/date-input.js.map +1 -0
  342. package/dist/lazy/entity-detail.d.ts +4 -0
  343. package/dist/lazy/entity-detail.d.ts.map +1 -0
  344. package/dist/lazy/entity-detail.js +5 -0
  345. package/dist/lazy/entity-detail.js.map +1 -0
  346. package/dist/lazy/event-timeline.d.ts +4 -0
  347. package/dist/lazy/event-timeline.d.ts.map +1 -0
  348. package/dist/lazy/event-timeline.js +5 -0
  349. package/dist/lazy/event-timeline.js.map +1 -0
  350. package/dist/lazy/evidence-panel.d.ts +4 -0
  351. package/dist/lazy/evidence-panel.d.ts.map +1 -0
  352. package/dist/lazy/evidence-panel.js +5 -0
  353. package/dist/lazy/evidence-panel.js.map +1 -0
  354. package/dist/lazy/form.d.ts +4 -0
  355. package/dist/lazy/form.d.ts.map +1 -0
  356. package/dist/lazy/form.js +5 -0
  357. package/dist/lazy/form.js.map +1 -0
  358. package/dist/lazy/image.d.ts +4 -0
  359. package/dist/lazy/image.d.ts.map +1 -0
  360. package/dist/lazy/image.js +5 -0
  361. package/dist/lazy/image.js.map +1 -0
  362. package/dist/lazy/index.d.ts +17 -1
  363. package/dist/lazy/index.d.ts.map +1 -1
  364. package/dist/lazy/index.js +128 -0
  365. package/dist/lazy/index.js.map +1 -1
  366. package/dist/lazy/multi-select.d.ts +4 -0
  367. package/dist/lazy/multi-select.d.ts.map +1 -0
  368. package/dist/lazy/multi-select.js +5 -0
  369. package/dist/lazy/multi-select.js.map +1 -0
  370. package/dist/lazy/number-input.d.ts +4 -0
  371. package/dist/lazy/number-input.d.ts.map +1 -0
  372. package/dist/lazy/number-input.js +5 -0
  373. package/dist/lazy/number-input.js.map +1 -0
  374. package/dist/lazy/select.d.ts +4 -0
  375. package/dist/lazy/select.d.ts.map +1 -0
  376. package/dist/lazy/select.js +5 -0
  377. package/dist/lazy/select.js.map +1 -0
  378. package/dist/lazy/table.d.ts +4 -0
  379. package/dist/lazy/table.d.ts.map +1 -0
  380. package/dist/lazy/table.js +5 -0
  381. package/dist/lazy/table.js.map +1 -0
  382. package/dist/lazy/text-input.d.ts +4 -0
  383. package/dist/lazy/text-input.d.ts.map +1 -0
  384. package/dist/lazy/text-input.js +5 -0
  385. package/dist/lazy/text-input.js.map +1 -0
  386. package/dist/lazy/text.d.ts +4 -0
  387. package/dist/lazy/text.d.ts.map +1 -0
  388. package/dist/lazy/text.js +5 -0
  389. package/dist/lazy/text.js.map +1 -0
  390. package/dist/lib/labelled-control.d.ts +12 -0
  391. package/dist/lib/labelled-control.d.ts.map +1 -0
  392. package/dist/lib/labelled-control.js +14 -0
  393. package/dist/lib/labelled-control.js.map +1 -0
  394. package/package.json +134 -1
@@ -0,0 +1,4 @@
1
+ export { Ui9000Table, registerTable } from './element/ui9000-table.js';
2
+ export { normalizeTableModel, buildLiveTableRowsFromSources, formatTableCell, parseTableHeaders, type CustomTableModel, type TableCellModel, type TableColumnSource, type TableHeader, } from './lib/table.js';
3
+ export { default as tableMetadata } from './metadata.json';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EACL,mBAAmB,EACnB,6BAA6B,EAC7B,eAAe,EACf,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { registerTable } from "./element/ui9000-table.js";
2
+ import { Ui9000Table } from "./element/ui9000-table.js";
3
+ import { buildLiveTableRowsFromSources, formatTableCell, normalizeTableModel, parseTableHeaders } from "./lib/table.js";
4
+ import { default as default2 } from "./metadata.json.js";
5
+ export {
6
+ Ui9000Table,
7
+ buildLiveTableRowsFromSources,
8
+ formatTableCell,
9
+ normalizeTableModel,
10
+ parseTableHeaders,
11
+ registerTable,
12
+ default2 as tableMetadata
13
+ };
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,55 @@
1
+ /** Client CustomWidget TableWidget — sources, zip-by-index rows, MCP preview fallback. */
2
+ export type TableColumnSource = {
3
+ type: 'dataset';
4
+ datasetId: string;
5
+ field: string;
6
+ } | {
7
+ type: 'chart';
8
+ field: string;
9
+ } | {
10
+ type: 'static';
11
+ field: string;
12
+ };
13
+ export interface TableHeaderContains {
14
+ key?: string;
15
+ source?: TableColumnSource;
16
+ }
17
+ export interface TableHeader {
18
+ label: string;
19
+ contains?: TableHeaderContains[];
20
+ }
21
+ export type DataRow = Record<string, string | number | boolean | null | undefined>;
22
+ export interface TableCellModel {
23
+ text: string;
24
+ badge?: 'success' | 'error';
25
+ }
26
+ export interface CustomTableModel {
27
+ columns: {
28
+ key: string;
29
+ label: string;
30
+ }[];
31
+ cells: TableCellModel[][];
32
+ }
33
+ export declare function stripDataPrefix(field: string): string;
34
+ export declare function buildQualifiedDatasetColumnKey(datasetId: string, field: string): string;
35
+ export declare function buildQualifiedChartColumnKey(field: string): string;
36
+ export declare function buildQualifiedStaticColumnKey(field: string): string;
37
+ export declare function getSourceFromContains(header: TableHeader): TableColumnSource | undefined;
38
+ export declare function parseTableHeaders(input: unknown): TableHeader[];
39
+ export declare function asDataRows(input: unknown): DataRow[];
40
+ /** Client `buildLiveTableRowsFromSources` — zip sources by row index, not a join. */
41
+ export declare function buildLiveTableRowsFromSources({ headers, datasetRows, chartRows, tableDataRows, }: {
42
+ headers: TableHeader[];
43
+ datasetRows: DataRow[];
44
+ chartRows: DataRow[];
45
+ tableDataRows?: DataRow[];
46
+ }): DataRow[];
47
+ /** Client `getCellValue` — stringify + Findings badge. */
48
+ export declare function formatTableCell(header: TableHeader, row: DataRow): TableCellModel;
49
+ export declare function normalizeTableModel(widget: {
50
+ headers?: unknown;
51
+ data?: unknown;
52
+ tableData?: unknown;
53
+ tablePreviewRows?: unknown;
54
+ }): CustomTableModel | null;
55
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/lib/table.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAClC;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAEnF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAgBD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,GAAG,SAAS,CAExF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE,CAqB/D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,CAKpD;AAED,qFAAqF;AACrF,wBAAgB,6BAA6B,CAAC,EAC5C,OAAO,EACP,WAAW,EACX,SAAS,EACT,aAAkB,GACnB,EAAE;IACD,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;CAC3B,GAAG,OAAO,EAAE,CAwDZ;AAsBD,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,GAAG,cAAc,CA8BjF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,gBAAgB,GAAG,IAAI,CAqB1B"}
@@ -0,0 +1,181 @@
1
+ function stripDataPrefix(field) {
2
+ return field.startsWith("data.") ? field.slice("data.".length) : field;
3
+ }
4
+ function buildQualifiedDatasetColumnKey(datasetId, field) {
5
+ return `${field}__${datasetId}`;
6
+ }
7
+ function buildQualifiedChartColumnKey(field) {
8
+ return `${field}__chart`;
9
+ }
10
+ function buildQualifiedStaticColumnKey(field) {
11
+ return `${field}__static`;
12
+ }
13
+ function parseSource(raw) {
14
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) return void 0;
15
+ const o = raw;
16
+ const field = typeof o.field === "string" ? stripDataPrefix(o.field.trim()) : "";
17
+ if (!field) return void 0;
18
+ if (o.type === "chart" || o.type === "static") return { type: o.type, field };
19
+ if (o.type === "dataset") {
20
+ const datasetId = typeof o.datasetId === "string" ? o.datasetId.trim() : "";
21
+ if (!datasetId) return void 0;
22
+ return { type: "dataset", datasetId, field };
23
+ }
24
+ return void 0;
25
+ }
26
+ function getSourceFromContains(header) {
27
+ var _a, _b;
28
+ return (_b = (_a = header.contains) == null ? void 0 : _a[0]) == null ? void 0 : _b.source;
29
+ }
30
+ function parseTableHeaders(input) {
31
+ if (!Array.isArray(input)) return [];
32
+ const headers = [];
33
+ for (const item of input) {
34
+ if (!item || typeof item !== "object" || Array.isArray(item)) continue;
35
+ const raw = item;
36
+ const label = typeof raw.label === "string" ? raw.label : "";
37
+ const containsRaw = Array.isArray(raw.contains) ? raw.contains : [];
38
+ const contains = containsRaw.flatMap((entry) => {
39
+ if (!entry || typeof entry !== "object" || Array.isArray(entry)) return [];
40
+ const e = entry;
41
+ return [
42
+ {
43
+ key: typeof e.key === "string" ? e.key : void 0,
44
+ source: parseSource(e.source)
45
+ }
46
+ ];
47
+ });
48
+ headers.push({ label, contains });
49
+ }
50
+ return headers;
51
+ }
52
+ function asDataRows(input) {
53
+ if (!Array.isArray(input)) return [];
54
+ return input.filter(
55
+ (row) => !!row && typeof row === "object" && !Array.isArray(row)
56
+ );
57
+ }
58
+ function buildLiveTableRowsFromSources({
59
+ headers,
60
+ datasetRows,
61
+ chartRows,
62
+ tableDataRows = []
63
+ }) {
64
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
65
+ const sourcedHeaders = headers.filter((header) => Boolean(getSourceFromContains(header)));
66
+ if (!sourcedHeaders.length) return [];
67
+ const needsDataset = sourcedHeaders.some((h) => {
68
+ var _a2;
69
+ return ((_a2 = getSourceFromContains(h)) == null ? void 0 : _a2.type) === "dataset";
70
+ });
71
+ const needsChart = sourcedHeaders.some((h) => {
72
+ var _a2;
73
+ return ((_a2 = getSourceFromContains(h)) == null ? void 0 : _a2.type) === "chart";
74
+ });
75
+ const needsStatic = sourcedHeaders.some((h) => {
76
+ var _a2;
77
+ return ((_a2 = getSourceFromContains(h)) == null ? void 0 : _a2.type) === "static";
78
+ });
79
+ const rowCount = Math.max(
80
+ needsDataset ? datasetRows.length : 0,
81
+ needsChart ? chartRows.length : 0,
82
+ needsStatic ? tableDataRows.length : 0,
83
+ 0
84
+ );
85
+ const rows = [];
86
+ for (let index = 0; index < rowCount; index += 1) {
87
+ const row = {};
88
+ for (const header of sourcedHeaders) {
89
+ const contains = (_a = header.contains) == null ? void 0 : _a[0];
90
+ const source = getSourceFromContains(header);
91
+ if (!contains || !source) continue;
92
+ if (source.type === "chart") {
93
+ const chartField = stripDataPrefix(source.field);
94
+ const outputKey2 = contains.key || buildQualifiedChartColumnKey(chartField);
95
+ row[outputKey2] = ((_b = chartRows[index]) == null ? void 0 : _b[chartField]) ?? ((_c = chartRows[index]) == null ? void 0 : _c[source.field]) ?? null;
96
+ continue;
97
+ }
98
+ if (source.type === "static") {
99
+ const staticField = stripDataPrefix(source.field);
100
+ const outputKey2 = contains.key || buildQualifiedStaticColumnKey(staticField);
101
+ row[outputKey2] = ((_d = tableDataRows[index]) == null ? void 0 : _d[staticField]) ?? ((_e = tableDataRows[index]) == null ? void 0 : _e[source.field]) ?? ((_f = tableDataRows[index]) == null ? void 0 : _f[outputKey2]) ?? null;
102
+ continue;
103
+ }
104
+ const bareField = stripDataPrefix(source.field);
105
+ const outputKey = contains.key || buildQualifiedDatasetColumnKey(source.datasetId, bareField);
106
+ const qualifiedKey = buildQualifiedDatasetColumnKey(source.datasetId, bareField);
107
+ const legacyQualified = buildQualifiedDatasetColumnKey(source.datasetId, source.field);
108
+ row[outputKey] = ((_g = datasetRows[index]) == null ? void 0 : _g[qualifiedKey]) ?? ((_h = datasetRows[index]) == null ? void 0 : _h[legacyQualified]) ?? ((_i = datasetRows[index]) == null ? void 0 : _i[bareField]) ?? ((_j = datasetRows[index]) == null ? void 0 : _j[source.field]) ?? null;
109
+ }
110
+ rows.push(row);
111
+ }
112
+ return rows;
113
+ }
114
+ function formatJsonToReadable(value) {
115
+ if (!value) return void 0;
116
+ let obj = null;
117
+ if (typeof value === "object" && !Array.isArray(value)) {
118
+ obj = value;
119
+ } else if (typeof value === "string") {
120
+ const trimmed = value.trim();
121
+ if (!trimmed.startsWith("{") || !trimmed.endsWith("}")) return void 0;
122
+ try {
123
+ obj = JSON.parse(trimmed);
124
+ } catch {
125
+ return void 0;
126
+ }
127
+ }
128
+ if (!obj) return void 0;
129
+ return Object.entries(obj).map(([key, val]) => `${key} : ${String(val)}`).join(", ");
130
+ }
131
+ function formatTableCell(header, row) {
132
+ var _a;
133
+ const contains = (_a = header.contains) == null ? void 0 : _a[0];
134
+ const source = getSourceFromContains(header);
135
+ const bareField = ((source == null ? void 0 : source.field) ?? "").replace(/^data\./, "");
136
+ const keyField = (contains == null ? void 0 : contains.key) || ((source == null ? void 0 : source.type) === "dataset" ? `${bareField}__${source.datasetId}` : (source == null ? void 0 : source.type) === "chart" ? `${bareField}__chart` : (source == null ? void 0 : source.type) === "static" ? `${bareField}__static` : "");
137
+ if (!keyField) return { text: "-" };
138
+ const rawValue = row[keyField];
139
+ const modelValue = formatJsonToReadable(rawValue);
140
+ const cellValue = modelValue ?? (rawValue == null ? void 0 : typeof rawValue === "string" || typeof rawValue === "number" || typeof rawValue === "boolean" ? String(rawValue) : JSON.stringify(rawValue));
141
+ const text = cellValue ?? "-";
142
+ if (keyField.toLowerCase() === "findings") {
143
+ return { text, badge: text === "Optimal" ? "success" : "error" };
144
+ }
145
+ return { text };
146
+ }
147
+ function normalizeTableModel(widget) {
148
+ const headers = parseTableHeaders(widget.headers);
149
+ if (!headers.length) return null;
150
+ if (headers.some((header) => !getSourceFromContains(header))) return null;
151
+ const rows = buildLiveTableRowsFromSources({
152
+ headers,
153
+ datasetRows: asDataRows(widget.tablePreviewRows),
154
+ chartRows: asDataRows(widget.data),
155
+ tableDataRows: asDataRows(widget.tableData)
156
+ });
157
+ const columns = headers.map((header, index) => {
158
+ var _a, _b, _c, _d;
159
+ return {
160
+ key: ((_b = (_a = header.contains) == null ? void 0 : _a[0]) == null ? void 0 : _b.key) || `col-${index}`,
161
+ label: header.label || ((_d = (_c = header.contains) == null ? void 0 : _c[0]) == null ? void 0 : _d.key) || `Column ${index + 1}`
162
+ };
163
+ });
164
+ return {
165
+ columns,
166
+ cells: rows.map((row) => headers.map((header) => formatTableCell(header, row)))
167
+ };
168
+ }
169
+ export {
170
+ asDataRows,
171
+ buildLiveTableRowsFromSources,
172
+ buildQualifiedChartColumnKey,
173
+ buildQualifiedDatasetColumnKey,
174
+ buildQualifiedStaticColumnKey,
175
+ formatTableCell,
176
+ getSourceFromContains,
177
+ normalizeTableModel,
178
+ parseTableHeaders,
179
+ stripDataPrefix
180
+ };
181
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sources":["../../../../src/components/table/lib/table.ts"],"sourcesContent":["/** Client CustomWidget TableWidget — sources, zip-by-index rows, MCP preview fallback. */\n\nexport type TableColumnSource =\n | { type: 'dataset'; datasetId: string; field: string }\n | { type: 'chart'; field: string }\n | { type: 'static'; field: string };\n\nexport interface TableHeaderContains {\n key?: string;\n source?: TableColumnSource;\n}\n\nexport interface TableHeader {\n label: string;\n contains?: TableHeaderContains[];\n}\n\nexport type DataRow = Record<string, string | number | boolean | null | undefined>;\n\nexport interface TableCellModel {\n text: string;\n badge?: 'success' | 'error';\n}\n\nexport interface CustomTableModel {\n columns: { key: string; label: string }[];\n cells: TableCellModel[][];\n}\n\nexport function stripDataPrefix(field: string): string {\n return field.startsWith('data.') ? field.slice('data.'.length) : field;\n}\n\nexport function buildQualifiedDatasetColumnKey(datasetId: string, field: string): string {\n return `${field}__${datasetId}`;\n}\n\nexport function buildQualifiedChartColumnKey(field: string): string {\n return `${field}__chart`;\n}\n\nexport function buildQualifiedStaticColumnKey(field: string): string {\n return `${field}__static`;\n}\n\nfunction parseSource(raw: unknown): TableColumnSource | undefined {\n if (!raw || typeof raw !== 'object' || Array.isArray(raw)) return undefined;\n const o = raw as Record<string, unknown>;\n const field = typeof o.field === 'string' ? stripDataPrefix(o.field.trim()) : '';\n if (!field) return undefined;\n if (o.type === 'chart' || o.type === 'static') return { type: o.type, field };\n if (o.type === 'dataset') {\n const datasetId = typeof o.datasetId === 'string' ? o.datasetId.trim() : '';\n if (!datasetId) return undefined;\n return { type: 'dataset', datasetId, field };\n }\n return undefined;\n}\n\nexport function getSourceFromContains(header: TableHeader): TableColumnSource | undefined {\n return header.contains?.[0]?.source;\n}\n\nexport function parseTableHeaders(input: unknown): TableHeader[] {\n if (!Array.isArray(input)) return [];\n const headers: TableHeader[] = [];\n for (const item of input) {\n if (!item || typeof item !== 'object' || Array.isArray(item)) continue;\n const raw = item as Record<string, unknown>;\n const label = typeof raw.label === 'string' ? raw.label : '';\n const containsRaw = Array.isArray(raw.contains) ? raw.contains : [];\n const contains: TableHeaderContains[] = containsRaw.flatMap((entry) => {\n if (!entry || typeof entry !== 'object' || Array.isArray(entry)) return [];\n const e = entry as Record<string, unknown>;\n return [\n {\n key: typeof e.key === 'string' ? e.key : undefined,\n source: parseSource(e.source),\n },\n ];\n });\n headers.push({ label, contains });\n }\n return headers;\n}\n\nexport function asDataRows(input: unknown): DataRow[] {\n if (!Array.isArray(input)) return [];\n return input.filter(\n (row): row is DataRow => !!row && typeof row === 'object' && !Array.isArray(row),\n ) as DataRow[];\n}\n\n/** Client `buildLiveTableRowsFromSources` — zip sources by row index, not a join. */\nexport function buildLiveTableRowsFromSources({\n headers,\n datasetRows,\n chartRows,\n tableDataRows = [],\n}: {\n headers: TableHeader[];\n datasetRows: DataRow[];\n chartRows: DataRow[];\n tableDataRows?: DataRow[];\n}): DataRow[] {\n const sourcedHeaders = headers.filter((header) => Boolean(getSourceFromContains(header)));\n if (!sourcedHeaders.length) return [];\n\n const needsDataset = sourcedHeaders.some((h) => getSourceFromContains(h)?.type === 'dataset');\n const needsChart = sourcedHeaders.some((h) => getSourceFromContains(h)?.type === 'chart');\n const needsStatic = sourcedHeaders.some((h) => getSourceFromContains(h)?.type === 'static');\n\n const rowCount = Math.max(\n needsDataset ? datasetRows.length : 0,\n needsChart ? chartRows.length : 0,\n needsStatic ? tableDataRows.length : 0,\n 0,\n );\n\n const rows: DataRow[] = [];\n for (let index = 0; index < rowCount; index += 1) {\n const row: DataRow = {};\n for (const header of sourcedHeaders) {\n const contains = header.contains?.[0];\n const source = getSourceFromContains(header);\n if (!contains || !source) continue;\n\n if (source.type === 'chart') {\n const chartField = stripDataPrefix(source.field);\n const outputKey = contains.key || buildQualifiedChartColumnKey(chartField);\n row[outputKey] =\n chartRows[index]?.[chartField] ?? chartRows[index]?.[source.field] ?? null;\n continue;\n }\n\n if (source.type === 'static') {\n const staticField = stripDataPrefix(source.field);\n const outputKey = contains.key || buildQualifiedStaticColumnKey(staticField);\n row[outputKey] =\n tableDataRows[index]?.[staticField] ??\n tableDataRows[index]?.[source.field] ??\n tableDataRows[index]?.[outputKey] ??\n null;\n continue;\n }\n\n const bareField = stripDataPrefix(source.field);\n const outputKey = contains.key || buildQualifiedDatasetColumnKey(source.datasetId, bareField);\n const qualifiedKey = buildQualifiedDatasetColumnKey(source.datasetId, bareField);\n const legacyQualified = buildQualifiedDatasetColumnKey(source.datasetId, source.field);\n row[outputKey] =\n datasetRows[index]?.[qualifiedKey] ??\n datasetRows[index]?.[legacyQualified] ??\n datasetRows[index]?.[bareField] ??\n datasetRows[index]?.[source.field] ??\n null;\n }\n rows.push(row);\n }\n return rows;\n}\n\nfunction formatJsonToReadable(value: unknown): string | undefined {\n if (!value) return undefined;\n let obj: Record<string, unknown> | null = null;\n if (typeof value === 'object' && !Array.isArray(value)) {\n obj = value as Record<string, unknown>;\n } else if (typeof value === 'string') {\n const trimmed = value.trim();\n if (!trimmed.startsWith('{') || !trimmed.endsWith('}')) return undefined;\n try {\n obj = JSON.parse(trimmed) as Record<string, unknown>;\n } catch {\n return undefined;\n }\n }\n if (!obj) return undefined;\n return Object.entries(obj)\n .map(([key, val]) => `${key} : ${String(val)}`)\n .join(', ');\n}\n\n/** Client `getCellValue` — stringify + Findings badge. */\nexport function formatTableCell(header: TableHeader, row: DataRow): TableCellModel {\n const contains = header.contains?.[0];\n const source = getSourceFromContains(header);\n const bareField = (source?.field ?? '').replace(/^data\\./, '');\n const keyField =\n contains?.key ||\n (source?.type === 'dataset'\n ? `${bareField}__${source.datasetId}`\n : source?.type === 'chart'\n ? `${bareField}__chart`\n : source?.type === 'static'\n ? `${bareField}__static`\n : '');\n if (!keyField) return { text: '-' };\n\n const rawValue = row[keyField];\n const modelValue = formatJsonToReadable(rawValue);\n const cellValue =\n modelValue ??\n (rawValue == null\n ? undefined\n : typeof rawValue === 'string' || typeof rawValue === 'number' || typeof rawValue === 'boolean'\n ? String(rawValue)\n : JSON.stringify(rawValue));\n const text = cellValue ?? '-';\n\n if (keyField.toLowerCase() === 'findings') {\n return { text, badge: text === 'Optimal' ? 'success' : 'error' };\n }\n return { text };\n}\n\nexport function normalizeTableModel(widget: {\n headers?: unknown;\n data?: unknown;\n tableData?: unknown;\n tablePreviewRows?: unknown;\n}): CustomTableModel | null {\n const headers = parseTableHeaders(widget.headers);\n if (!headers.length) return null;\n if (headers.some((header) => !getSourceFromContains(header))) return null;\n\n const rows = buildLiveTableRowsFromSources({\n headers,\n datasetRows: asDataRows(widget.tablePreviewRows),\n chartRows: asDataRows(widget.data),\n tableDataRows: asDataRows(widget.tableData),\n });\n\n const columns = headers.map((header, index) => ({\n key: header.contains?.[0]?.key || `col-${index}`,\n label: header.label || header.contains?.[0]?.key || `Column ${index + 1}`,\n }));\n\n return {\n columns,\n cells: rows.map((row) => headers.map((header) => formatTableCell(header, row))),\n };\n}\n"],"names":["_a","outputKey"],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ declare const _default: {
2
+ "id": "table",
3
+ "tag": "ui9000-table",
4
+ "title": "Evidence Table",
5
+ "description": "Snapshot table. Columns + rows; dataset source uses tablePreviewRows, chart uses data, static uses tableData. No live select.",
6
+ "chartTypeKeys": [],
7
+ "source": "ui9000-widgets Stage 2 close-out",
8
+ "stack": "lit",
9
+ "lazyImport": "@ui9000/widgets/lazy/table",
10
+ "entry": "@ui9000/widgets/table",
11
+ "usageConditions": {
12
+ "host": "mcp-chat",
13
+ "notFor": "fusedash-editor",
14
+ "mapsExcluded": true
15
+ },
16
+ "allowedActions": [
17
+ "select",
18
+ "resize"
19
+ ],
20
+ "tier": "engine",
21
+ "intents": [
22
+ "evidence",
23
+ "summary"
24
+ ],
25
+ "dataRoles": [
26
+ {
27
+ "id": "rows",
28
+ "required": true,
29
+ "description": "Tabular rows with named columns (evidence snapshot)."
30
+ }
31
+ ],
32
+ "eligibility": [
33
+ {
34
+ "when": "profile.hasTabularRows && profile.rowCount >= 1",
35
+ "reason": "Table shows a snapshot of rows and columns."
36
+ }
37
+ ],
38
+ "disqualify": [
39
+ {
40
+ "when": "!profile.hasTabularRows",
41
+ "reason": "Without rows a table is empty; use text or entity-detail."
42
+ }
43
+ ],
44
+ "accessibility": {
45
+ "nameFrom": "title or first column header",
46
+ "keyboard": [
47
+ "Tab into table container"
48
+ ],
49
+ "shadowBoundary": "Do not use aria-labelledby across the host; set aria-label on the host element."
50
+ },
51
+ "evalCases": [
52
+ {
53
+ "id": "table-picks-rows",
54
+ "intent": "evidence",
55
+ "profile": {
56
+ "hasTabularRows": true,
57
+ "rowCount": 12
58
+ },
59
+ "expect": "eligible",
60
+ "reasonIncludes": "snapshot"
61
+ },
62
+ {
63
+ "id": "table-rejects-empty",
64
+ "intent": "evidence",
65
+ "profile": {
66
+ "hasTabularRows": false
67
+ },
68
+ "expect": "disqualified",
69
+ "reasonIncludes": "empty"
70
+ }
71
+ ],
72
+ "propsSchema": {
73
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
74
+ "type": "object",
75
+ "properties": {
76
+ "data": {
77
+ "type": "object",
78
+ "description": "CustomTableModel or FuseDash widget with headers"
79
+ }
80
+ },
81
+ "required": [
82
+ "data"
83
+ ]
84
+ }
85
+ }
86
+ ;
87
+
88
+ export default _default;
@@ -0,0 +1,63 @@
1
+ const id = "table";
2
+ const tag = "ui9000-table";
3
+ const title = "Evidence Table";
4
+ const description = "Snapshot table. Columns + rows; dataset source uses tablePreviewRows, chart uses data, static uses tableData. No live select.";
5
+ const chartTypeKeys = [];
6
+ const source = "ui9000-widgets Stage 2 close-out";
7
+ const stack = "lit";
8
+ const lazyImport = "@ui9000/widgets/lazy/table";
9
+ const entry = "@ui9000/widgets/table";
10
+ const usageConditions = { "host": "mcp-chat", "notFor": "fusedash-editor", "mapsExcluded": true };
11
+ const allowedActions = ["select", "resize"];
12
+ const tier = "engine";
13
+ const intents = ["evidence", "summary"];
14
+ const dataRoles = [{ "id": "rows", "required": true, "description": "Tabular rows with named columns (evidence snapshot)." }];
15
+ const eligibility = [{ "when": "profile.hasTabularRows && profile.rowCount >= 1", "reason": "Table shows a snapshot of rows and columns." }];
16
+ const disqualify = [{ "when": "!profile.hasTabularRows", "reason": "Without rows a table is empty; use text or entity-detail." }];
17
+ const accessibility = { "nameFrom": "title or first column header", "keyboard": ["Tab into table container"], "shadowBoundary": "Do not use aria-labelledby across the host; set aria-label on the host element." };
18
+ const evalCases = [{ "id": "table-picks-rows", "intent": "evidence", "profile": { "hasTabularRows": true, "rowCount": 12 }, "expect": "eligible", "reasonIncludes": "snapshot" }, { "id": "table-rejects-empty", "intent": "evidence", "profile": { "hasTabularRows": false }, "expect": "disqualified", "reasonIncludes": "empty" }];
19
+ const propsSchema = { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "data": { "type": "object", "description": "CustomTableModel or FuseDash widget with headers" } }, "required": ["data"] };
20
+ const metadata = {
21
+ id,
22
+ tag,
23
+ title,
24
+ description,
25
+ chartTypeKeys,
26
+ source,
27
+ stack,
28
+ lazyImport,
29
+ entry,
30
+ usageConditions,
31
+ allowedActions,
32
+ tier,
33
+ intents,
34
+ dataRoles,
35
+ eligibility,
36
+ disqualify,
37
+ accessibility,
38
+ evalCases,
39
+ propsSchema
40
+ };
41
+ export {
42
+ accessibility,
43
+ allowedActions,
44
+ chartTypeKeys,
45
+ dataRoles,
46
+ metadata as default,
47
+ description,
48
+ disqualify,
49
+ eligibility,
50
+ entry,
51
+ evalCases,
52
+ id,
53
+ intents,
54
+ lazyImport,
55
+ propsSchema,
56
+ source,
57
+ stack,
58
+ tag,
59
+ tier,
60
+ title,
61
+ usageConditions
62
+ };
63
+ //# sourceMappingURL=metadata.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,16 @@
1
+ import { LitElement, PropertyValues } from 'lit';
2
+ export declare class Ui9000Text extends LitElement {
3
+ static styles: import('lit').CSSResult[];
4
+ dataJson: string;
5
+ private _text;
6
+ connectedCallback(): void;
7
+ willUpdate(changed: PropertyValues): void;
8
+ render(): import('lit-html').TemplateResult<1>;
9
+ }
10
+ export declare function registerText(): void;
11
+ declare global {
12
+ interface HTMLElementTagNameMap {
13
+ 'ui9000-text': Ui9000Text;
14
+ }
15
+ }
16
+ //# sourceMappingURL=ui9000-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui9000-text.d.ts","sourceRoot":"","sources":["../../../../src/components/text/element/ui9000-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AA0CjE,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,4BAA+B;IAGrD,QAAQ,SAAQ;IAGhB,OAAO,CAAC,KAAK,CAAuB;IAE3B,iBAAiB,IAAI,IAAI;IAKzB,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAMzC,MAAM;CAMhB;AAED,wBAAgB,YAAY,IAAI,IAAI,CAInC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
@@ -0,0 +1,90 @@
1
+ import { LitElement, html, css } from "lit";
2
+ import { property, state, customElement } from "lit/decorators.js";
3
+ import { surfaceStyles } from "../../../element/surface-styles.js";
4
+ import { parseJsonAttr } from "../../../utils/chart-helpers.js";
5
+ import { normalizeTextContent } from "../../image/lib/url.js";
6
+ import { renderMarkdown } from "../lib/markdown.js";
7
+ var __defProp = Object.defineProperty;
8
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
9
+ var __decorateClass = (decorators, target, key, kind) => {
10
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
11
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
12
+ if (decorator = decorators[i])
13
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
14
+ if (kind && result) __defProp(target, key, result);
15
+ return result;
16
+ };
17
+ const textStyles = css`
18
+ .text-pane {
19
+ padding: 8px;
20
+ text-align: left;
21
+ }
22
+ .text-pane .md p {
23
+ margin: 0 0 10px;
24
+ }
25
+ .text-pane .md h1,
26
+ .text-pane .md h2,
27
+ .text-pane .md h3 {
28
+ margin: 0 0 8px;
29
+ font-weight: 600;
30
+ }
31
+ .text-pane .md a {
32
+ color: var(--ui9000-color-primary, #473dd9);
33
+ }
34
+ .text-pane .md pre {
35
+ margin: 0 0 10px;
36
+ padding: 8px;
37
+ overflow: auto;
38
+ background: var(--ui9000-color-background, #f3f4f6);
39
+ border-radius: 6px;
40
+ }
41
+ `;
42
+ function asText(raw) {
43
+ if (typeof raw === "string") return raw.trim() || null;
44
+ if (raw && typeof raw === "object" && "text" in raw) {
45
+ return normalizeTextContent(raw);
46
+ }
47
+ return null;
48
+ }
49
+ let Ui9000Text = class extends LitElement {
50
+ constructor() {
51
+ super(...arguments);
52
+ this.dataJson = "{}";
53
+ this._text = null;
54
+ }
55
+ connectedCallback() {
56
+ super.connectedCallback();
57
+ this._text = asText(parseJsonAttr(this.dataJson, this.dataJson));
58
+ }
59
+ willUpdate(changed) {
60
+ if (changed.has("dataJson")) {
61
+ this._text = asText(parseJsonAttr(this.dataJson, this.dataJson));
62
+ }
63
+ }
64
+ render() {
65
+ if (!this._text) {
66
+ return html`<p class="blocked" role="status">No text</p>`;
67
+ }
68
+ return html`<div class="root text-pane" aria-label="Text">${renderMarkdown(this._text)}</div>`;
69
+ }
70
+ };
71
+ Ui9000Text.styles = [surfaceStyles, textStyles];
72
+ __decorateClass([
73
+ property({ type: String, attribute: "data" })
74
+ ], Ui9000Text.prototype, "dataJson", 2);
75
+ __decorateClass([
76
+ state()
77
+ ], Ui9000Text.prototype, "_text", 2);
78
+ Ui9000Text = __decorateClass([
79
+ customElement("ui9000-text")
80
+ ], Ui9000Text);
81
+ function registerText() {
82
+ if (!customElements.get("ui9000-text")) {
83
+ customElements.define("ui9000-text", Ui9000Text);
84
+ }
85
+ }
86
+ export {
87
+ Ui9000Text,
88
+ registerText
89
+ };
90
+ //# sourceMappingURL=ui9000-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui9000-text.js","sources":["../../../../src/components/text/element/ui9000-text.ts"],"sourcesContent":["import { css, html, LitElement, type PropertyValues } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\nimport { surfaceStyles } from '../../../element/surface-styles.js';\nimport { parseJsonAttr } from '../../../utils/chart-helpers.js';\nimport { normalizeTextContent } from '../../image/lib/url.js';\nimport { renderMarkdown } from '../lib/markdown.js';\n\nconst textStyles = css`\n .text-pane {\n padding: 8px;\n text-align: left;\n }\n .text-pane .md p {\n margin: 0 0 10px;\n }\n .text-pane .md h1,\n .text-pane .md h2,\n .text-pane .md h3 {\n margin: 0 0 8px;\n font-weight: 600;\n }\n .text-pane .md a {\n color: var(--ui9000-color-primary, #473dd9);\n }\n .text-pane .md pre {\n margin: 0 0 10px;\n padding: 8px;\n overflow: auto;\n background: var(--ui9000-color-background, #f3f4f6);\n border-radius: 6px;\n }\n`;\n\nfunction asText(raw: unknown): string | null {\n if (typeof raw === 'string') return raw.trim() || null;\n if (raw && typeof raw === 'object' && 'text' in raw) {\n return normalizeTextContent(raw as { text?: unknown });\n }\n return null;\n}\n\n@customElement('ui9000-text')\nexport class Ui9000Text extends LitElement {\n static override styles = [surfaceStyles, textStyles];\n\n @property({ type: String, attribute: 'data' })\n dataJson = '{}';\n\n @state()\n private _text: string | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this._text = asText(parseJsonAttr<unknown>(this.dataJson, this.dataJson));\n }\n\n override willUpdate(changed: PropertyValues): void {\n if (changed.has('dataJson')) {\n this._text = asText(parseJsonAttr<unknown>(this.dataJson, this.dataJson));\n }\n }\n\n override render() {\n if (!this._text) {\n return html`<p class=\"blocked\" role=\"status\">No text</p>`;\n }\n return html`<div class=\"root text-pane\" aria-label=\"Text\">${renderMarkdown(this._text)}</div>`;\n }\n}\n\nexport function registerText(): void {\n if (!customElements.get('ui9000-text')) {\n customElements.define('ui9000-text', Ui9000Text);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui9000-text': Ui9000Text;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAQA,MAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0BnB,SAAS,OAAO,KAA6B;AAC3C,MAAI,OAAO,QAAQ,SAAU,QAAO,IAAI,UAAU;AAClD,MAAI,OAAO,OAAO,QAAQ,YAAY,UAAU,KAAK;AACnD,WAAO,qBAAqB,GAAyB;AAAA,EACvD;AACA,SAAO;AACT;AAGO,IAAM,aAAN,cAAyB,WAAW;AAAA,EAApC,cAAA;AAAA,UAAA,GAAA,SAAA;AAIL,SAAA,WAAW;AAGX,SAAQ,QAAuB;AAAA,EAAA;AAAA,EAEtB,oBAA0B;AACjC,UAAM,kBAAA;AACN,SAAK,QAAQ,OAAO,cAAuB,KAAK,UAAU,KAAK,QAAQ,CAAC;AAAA,EAC1E;AAAA,EAES,WAAW,SAA+B;AACjD,QAAI,QAAQ,IAAI,UAAU,GAAG;AAC3B,WAAK,QAAQ,OAAO,cAAuB,KAAK,UAAU,KAAK,QAAQ,CAAC;AAAA,IAC1E;AAAA,EACF;AAAA,EAES,SAAS;AAChB,QAAI,CAAC,KAAK,OAAO;AACf,aAAO;AAAA,IACT;AACA,WAAO,qDAAqD,eAAe,KAAK,KAAK,CAAC;AAAA,EACxF;AACF;AA1Ba,WACK,SAAS,CAAC,eAAe,UAAU;AAGnD,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,WAAW,QAAQ;AAAA,GAHlC,WAIX,WAAA,YAAA,CAAA;AAGQ,gBAAA;AAAA,EADP,MAAA;AAAM,GANI,WAOH,WAAA,SAAA,CAAA;AAPG,aAAN,gBAAA;AAAA,EADN,cAAc,aAAa;AAAA,GACf,UAAA;AA4BN,SAAS,eAAqB;AACnC,MAAI,CAAC,eAAe,IAAI,aAAa,GAAG;AACtC,mBAAe,OAAO,eAAe,UAAU;AAAA,EACjD;AACF;"}
@@ -0,0 +1,4 @@
1
+ export { Ui9000Text, registerText } from './element/ui9000-text.js';
2
+ export { renderMarkdown } from './lib/markdown.js';
3
+ export { default as textMetadata } from './metadata.json';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/text/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { registerText } from "./element/ui9000-text.js";
2
+ import { Ui9000Text } from "./element/ui9000-text.js";
3
+ import { renderMarkdown } from "./lib/markdown.js";
4
+ import { default as default2 } from "./metadata.json.js";
5
+ export {
6
+ Ui9000Text,
7
+ registerText,
8
+ renderMarkdown,
9
+ default2 as textMetadata
10
+ };
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,2 @@
1
+ export { normalizeTextContent } from '../../image/lib/url.js';
2
+ //# sourceMappingURL=content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../src/components/text/lib/content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { TemplateResult } from 'lit';
2
+ /** Client TextWidget markdown view — headings, lists, emphasis, code, http(s) links. */
3
+ export declare function renderMarkdown(source: string): TemplateResult;
4
+ //# sourceMappingURL=markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../../src/components/text/lib/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAkDhD,wFAAwF;AACxF,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CA0F7D"}