@fusedashlabs/widgets 0.4.5 → 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 (352) hide show
  1. package/CHANGELOG.md +17 -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/metadata.json.d.ts +53 -0
  47. package/dist/components/bar-chart/metadata.json.js +21 -0
  48. package/dist/components/bar-chart/metadata.json.js.map +1 -1
  49. package/dist/components/button/element/ui9000-button.d.ts +15 -0
  50. package/dist/components/button/element/ui9000-button.d.ts.map +1 -0
  51. package/dist/components/button/element/ui9000-button.js +56 -0
  52. package/dist/components/button/element/ui9000-button.js.map +1 -0
  53. package/dist/components/button/index.d.ts +3 -0
  54. package/dist/components/button/index.d.ts.map +1 -0
  55. package/dist/components/button/index.js +9 -0
  56. package/dist/components/button/index.js.map +1 -0
  57. package/dist/components/button/metadata.json.d.ts +99 -0
  58. package/dist/components/button/metadata.json.js +63 -0
  59. package/dist/components/button/metadata.json.js.map +1 -0
  60. package/dist/components/chart-renderer/metadata.json.d.ts +1 -0
  61. package/dist/components/chart-renderer/metadata.json.js +3 -0
  62. package/dist/components/chart-renderer/metadata.json.js.map +1 -1
  63. package/dist/components/checkbox/element/ui9000-checkbox.d.ts +16 -0
  64. package/dist/components/checkbox/element/ui9000-checkbox.d.ts.map +1 -0
  65. package/dist/components/checkbox/element/ui9000-checkbox.js +71 -0
  66. package/dist/components/checkbox/element/ui9000-checkbox.js.map +1 -0
  67. package/dist/components/checkbox/index.d.ts +3 -0
  68. package/dist/components/checkbox/index.d.ts.map +1 -0
  69. package/dist/components/checkbox/index.js +9 -0
  70. package/dist/components/checkbox/index.js.map +1 -0
  71. package/dist/components/checkbox/metadata.json.d.ts +99 -0
  72. package/dist/components/checkbox/metadata.json.js +63 -0
  73. package/dist/components/checkbox/metadata.json.js.map +1 -0
  74. package/dist/components/custom-widget/element/ui9000-custom-widget.d.ts +1 -2
  75. package/dist/components/custom-widget/element/ui9000-custom-widget.d.ts.map +1 -1
  76. package/dist/components/custom-widget/element/ui9000-custom-widget.js +12 -35
  77. package/dist/components/custom-widget/element/ui9000-custom-widget.js.map +1 -1
  78. package/dist/components/custom-widget/index.js +1 -1
  79. package/dist/components/custom-widget/lib/content.d.ts +1 -12
  80. package/dist/components/custom-widget/lib/content.d.ts.map +1 -1
  81. package/dist/components/custom-widget/lib/markdown.d.ts +1 -3
  82. package/dist/components/custom-widget/lib/markdown.d.ts.map +1 -1
  83. package/dist/components/custom-widget/lib/normalize.js +2 -2
  84. package/dist/components/custom-widget/lib/table.d.ts +1 -54
  85. package/dist/components/custom-widget/lib/table.d.ts.map +1 -1
  86. package/dist/components/custom-widget/metadata.json.d.ts +2 -1
  87. package/dist/components/custom-widget/metadata.json.js +4 -1
  88. package/dist/components/custom-widget/metadata.json.js.map +1 -1
  89. package/dist/components/date-input/element/ui9000-date-input.d.ts +16 -0
  90. package/dist/components/date-input/element/ui9000-date-input.d.ts.map +1 -0
  91. package/dist/components/date-input/element/ui9000-date-input.js +71 -0
  92. package/dist/components/date-input/element/ui9000-date-input.js.map +1 -0
  93. package/dist/components/date-input/index.d.ts +3 -0
  94. package/dist/components/date-input/index.d.ts.map +1 -0
  95. package/dist/components/date-input/index.js +9 -0
  96. package/dist/components/date-input/index.js.map +1 -0
  97. package/dist/components/date-input/metadata.json.d.ts +99 -0
  98. package/dist/components/date-input/metadata.json.js +63 -0
  99. package/dist/components/date-input/metadata.json.js.map +1 -0
  100. package/dist/components/entity-detail/element/ui9000-entity-detail.d.ts +17 -0
  101. package/dist/components/entity-detail/element/ui9000-entity-detail.d.ts.map +1 -0
  102. package/dist/components/entity-detail/element/ui9000-entity-detail.js +91 -0
  103. package/dist/components/entity-detail/element/ui9000-entity-detail.js.map +1 -0
  104. package/dist/components/entity-detail/index.d.ts +4 -0
  105. package/dist/components/entity-detail/index.d.ts.map +1 -0
  106. package/dist/components/entity-detail/index.js +11 -0
  107. package/dist/components/entity-detail/index.js.map +1 -0
  108. package/dist/components/entity-detail/lib/normalize.d.ts +17 -0
  109. package/dist/components/entity-detail/lib/normalize.d.ts.map +1 -0
  110. package/dist/components/entity-detail/lib/normalize.js +34 -0
  111. package/dist/components/entity-detail/lib/normalize.js.map +1 -0
  112. package/dist/components/entity-detail/metadata.json.d.ts +110 -0
  113. package/dist/components/entity-detail/metadata.json.js +63 -0
  114. package/dist/components/entity-detail/metadata.json.js.map +1 -0
  115. package/dist/components/event-timeline/element/ui9000-event-timeline.d.ts +17 -0
  116. package/dist/components/event-timeline/element/ui9000-event-timeline.d.ts.map +1 -0
  117. package/dist/components/event-timeline/element/ui9000-event-timeline.js +78 -0
  118. package/dist/components/event-timeline/element/ui9000-event-timeline.js.map +1 -0
  119. package/dist/components/event-timeline/index.d.ts +4 -0
  120. package/dist/components/event-timeline/index.d.ts.map +1 -0
  121. package/dist/components/event-timeline/index.js +11 -0
  122. package/dist/components/event-timeline/index.js.map +1 -0
  123. package/dist/components/event-timeline/lib/normalize.d.ts +10 -0
  124. package/dist/components/event-timeline/lib/normalize.d.ts.map +1 -0
  125. package/dist/components/event-timeline/lib/normalize.js +25 -0
  126. package/dist/components/event-timeline/lib/normalize.js.map +1 -0
  127. package/dist/components/event-timeline/metadata.json.d.ts +124 -0
  128. package/dist/components/event-timeline/metadata.json.js +63 -0
  129. package/dist/components/event-timeline/metadata.json.js.map +1 -0
  130. package/dist/components/evidence-panel/element/ui9000-evidence-panel.d.ts +17 -0
  131. package/dist/components/evidence-panel/element/ui9000-evidence-panel.d.ts.map +1 -0
  132. package/dist/components/evidence-panel/element/ui9000-evidence-panel.js +84 -0
  133. package/dist/components/evidence-panel/element/ui9000-evidence-panel.js.map +1 -0
  134. package/dist/components/evidence-panel/index.d.ts +4 -0
  135. package/dist/components/evidence-panel/index.d.ts.map +1 -0
  136. package/dist/components/evidence-panel/index.js +11 -0
  137. package/dist/components/evidence-panel/index.js.map +1 -0
  138. package/dist/components/evidence-panel/lib/normalize.d.ts +19 -0
  139. package/dist/components/evidence-panel/lib/normalize.d.ts.map +1 -0
  140. package/dist/components/evidence-panel/lib/normalize.js +33 -0
  141. package/dist/components/evidence-panel/lib/normalize.js.map +1 -0
  142. package/dist/components/evidence-panel/metadata.json.d.ts +114 -0
  143. package/dist/components/evidence-panel/metadata.json.js +63 -0
  144. package/dist/components/evidence-panel/metadata.json.js.map +1 -0
  145. package/dist/components/form/element/ui9000-form.d.ts +21 -0
  146. package/dist/components/form/element/ui9000-form.d.ts.map +1 -0
  147. package/dist/components/form/element/ui9000-form.js +115 -0
  148. package/dist/components/form/element/ui9000-form.js.map +1 -0
  149. package/dist/components/form/index.d.ts +4 -0
  150. package/dist/components/form/index.d.ts.map +1 -0
  151. package/dist/components/form/index.js +11 -0
  152. package/dist/components/form/index.js.map +1 -0
  153. package/dist/components/form/lib/normalize.d.ts +14 -0
  154. package/dist/components/form/lib/normalize.d.ts.map +1 -0
  155. package/dist/components/form/lib/normalize.js +36 -0
  156. package/dist/components/form/lib/normalize.js.map +1 -0
  157. package/dist/components/form/metadata.json.d.ts +94 -0
  158. package/dist/components/form/metadata.json.js +63 -0
  159. package/dist/components/form/metadata.json.js.map +1 -0
  160. package/dist/components/histogram-chart/metadata.json.d.ts +47 -0
  161. package/dist/components/histogram-chart/metadata.json.js +21 -0
  162. package/dist/components/histogram-chart/metadata.json.js.map +1 -1
  163. package/dist/components/image/element/ui9000-image.d.ts +17 -0
  164. package/dist/components/image/element/ui9000-image.d.ts.map +1 -0
  165. package/dist/components/image/element/ui9000-image.js +74 -0
  166. package/dist/components/image/element/ui9000-image.js.map +1 -0
  167. package/dist/components/image/index.d.ts +4 -0
  168. package/dist/components/image/index.d.ts.map +1 -0
  169. package/dist/components/image/index.js +13 -0
  170. package/dist/components/image/index.js.map +1 -0
  171. package/dist/components/image/lib/url.d.ts +14 -0
  172. package/dist/components/image/lib/url.d.ts.map +1 -0
  173. package/dist/components/{custom-widget/lib/content.js → image/lib/url.js} +4 -3
  174. package/dist/components/image/lib/url.js.map +1 -0
  175. package/dist/components/image/metadata.json.d.ts +95 -0
  176. package/dist/components/image/metadata.json.js +63 -0
  177. package/dist/components/image/metadata.json.js.map +1 -0
  178. package/dist/components/kpi-widget/metadata.json.d.ts +47 -0
  179. package/dist/components/kpi-widget/metadata.json.js +21 -0
  180. package/dist/components/kpi-widget/metadata.json.js.map +1 -1
  181. package/dist/components/map-chart/metadata.json.d.ts +54 -2
  182. package/dist/components/map-chart/metadata.json.js +23 -2
  183. package/dist/components/map-chart/metadata.json.js.map +1 -1
  184. package/dist/components/multi-select/element/ui9000-multi-select.d.ts +16 -0
  185. package/dist/components/multi-select/element/ui9000-multi-select.d.ts.map +1 -0
  186. package/dist/components/multi-select/element/ui9000-multi-select.js +77 -0
  187. package/dist/components/multi-select/element/ui9000-multi-select.js.map +1 -0
  188. package/dist/components/multi-select/index.d.ts +3 -0
  189. package/dist/components/multi-select/index.d.ts.map +1 -0
  190. package/dist/components/multi-select/index.js +9 -0
  191. package/dist/components/multi-select/index.js.map +1 -0
  192. package/dist/components/multi-select/metadata.json.d.ts +99 -0
  193. package/dist/components/multi-select/metadata.json.js +63 -0
  194. package/dist/components/multi-select/metadata.json.js.map +1 -0
  195. package/dist/components/network-graph/metadata.json.d.ts +53 -2
  196. package/dist/components/network-graph/metadata.json.js +23 -2
  197. package/dist/components/network-graph/metadata.json.js.map +1 -1
  198. package/dist/components/number-input/element/ui9000-number-input.d.ts +16 -0
  199. package/dist/components/number-input/element/ui9000-number-input.d.ts.map +1 -0
  200. package/dist/components/number-input/element/ui9000-number-input.js +71 -0
  201. package/dist/components/number-input/element/ui9000-number-input.js.map +1 -0
  202. package/dist/components/number-input/index.d.ts +3 -0
  203. package/dist/components/number-input/index.d.ts.map +1 -0
  204. package/dist/components/number-input/index.js +9 -0
  205. package/dist/components/number-input/index.js.map +1 -0
  206. package/dist/components/number-input/metadata.json.d.ts +99 -0
  207. package/dist/components/number-input/metadata.json.js +63 -0
  208. package/dist/components/number-input/metadata.json.js.map +1 -0
  209. package/dist/components/select/element/ui9000-select.d.ts +16 -0
  210. package/dist/components/select/element/ui9000-select.d.ts.map +1 -0
  211. package/dist/components/select/element/ui9000-select.js +73 -0
  212. package/dist/components/select/element/ui9000-select.js.map +1 -0
  213. package/dist/components/select/index.d.ts +3 -0
  214. package/dist/components/select/index.d.ts.map +1 -0
  215. package/dist/components/select/index.js +9 -0
  216. package/dist/components/select/index.js.map +1 -0
  217. package/dist/components/select/metadata.json.d.ts +99 -0
  218. package/dist/components/select/metadata.json.js +63 -0
  219. package/dist/components/select/metadata.json.js.map +1 -0
  220. package/dist/components/table/element/styles.d.ts +2 -0
  221. package/dist/components/table/element/styles.d.ts.map +1 -0
  222. package/dist/components/table/element/styles.js +105 -0
  223. package/dist/components/table/element/styles.js.map +1 -0
  224. package/dist/components/table/element/ui9000-table.d.ts +17 -0
  225. package/dist/components/table/element/ui9000-table.d.ts.map +1 -0
  226. package/dist/components/table/element/ui9000-table.js +113 -0
  227. package/dist/components/table/element/ui9000-table.js.map +1 -0
  228. package/dist/components/table/index.d.ts +4 -0
  229. package/dist/components/table/index.d.ts.map +1 -0
  230. package/dist/components/table/index.js +14 -0
  231. package/dist/components/table/index.js.map +1 -0
  232. package/dist/components/table/lib/table.d.ts +55 -0
  233. package/dist/components/table/lib/table.d.ts.map +1 -0
  234. package/dist/components/table/lib/table.js.map +1 -0
  235. package/dist/components/table/metadata.json.d.ts +88 -0
  236. package/dist/components/table/metadata.json.js +63 -0
  237. package/dist/components/table/metadata.json.js.map +1 -0
  238. package/dist/components/text/element/ui9000-text.d.ts +16 -0
  239. package/dist/components/text/element/ui9000-text.d.ts.map +1 -0
  240. package/dist/components/text/element/ui9000-text.js +90 -0
  241. package/dist/components/text/element/ui9000-text.js.map +1 -0
  242. package/dist/components/text/index.d.ts +4 -0
  243. package/dist/components/text/index.d.ts.map +1 -0
  244. package/dist/components/text/index.js +11 -0
  245. package/dist/components/text/index.js.map +1 -0
  246. package/dist/components/text/lib/content.d.ts +2 -0
  247. package/dist/components/text/lib/content.d.ts.map +1 -0
  248. package/dist/components/text/lib/markdown.d.ts +4 -0
  249. package/dist/components/text/lib/markdown.d.ts.map +1 -0
  250. package/dist/components/text/lib/markdown.js.map +1 -0
  251. package/dist/components/text/metadata.json.d.ts +98 -0
  252. package/dist/components/text/metadata.json.js +63 -0
  253. package/dist/components/text/metadata.json.js.map +1 -0
  254. package/dist/components/text-input/element/ui9000-text-input.d.ts +16 -0
  255. package/dist/components/text-input/element/ui9000-text-input.d.ts.map +1 -0
  256. package/dist/components/text-input/element/ui9000-text-input.js +70 -0
  257. package/dist/components/text-input/element/ui9000-text-input.js.map +1 -0
  258. package/dist/components/text-input/index.d.ts +3 -0
  259. package/dist/components/text-input/index.d.ts.map +1 -0
  260. package/dist/components/text-input/index.js +9 -0
  261. package/dist/components/text-input/index.js.map +1 -0
  262. package/dist/components/text-input/metadata.json.d.ts +99 -0
  263. package/dist/components/text-input/metadata.json.js +63 -0
  264. package/dist/components/text-input/metadata.json.js.map +1 -0
  265. package/dist/element/dispatch-ui9000.d.ts +11 -0
  266. package/dist/element/dispatch-ui9000.d.ts.map +1 -0
  267. package/dist/element/dispatch-ui9000.js +21 -0
  268. package/dist/element/dispatch-ui9000.js.map +1 -0
  269. package/dist/element/surface-styles.d.ts +2 -0
  270. package/dist/element/surface-styles.d.ts.map +1 -0
  271. package/dist/element/surface-styles.js +84 -0
  272. package/dist/element/surface-styles.js.map +1 -0
  273. package/dist/index.d.ts +18 -2
  274. package/dist/index.d.ts.map +1 -1
  275. package/dist/index.js +99 -2
  276. package/dist/index.js.map +1 -1
  277. package/dist/lazy/approval-bar.d.ts +4 -0
  278. package/dist/lazy/approval-bar.d.ts.map +1 -0
  279. package/dist/lazy/approval-bar.js +5 -0
  280. package/dist/lazy/approval-bar.js.map +1 -0
  281. package/dist/lazy/button.d.ts +4 -0
  282. package/dist/lazy/button.d.ts.map +1 -0
  283. package/dist/lazy/button.js +5 -0
  284. package/dist/lazy/button.js.map +1 -0
  285. package/dist/lazy/checkbox.d.ts +4 -0
  286. package/dist/lazy/checkbox.d.ts.map +1 -0
  287. package/dist/lazy/checkbox.js +5 -0
  288. package/dist/lazy/checkbox.js.map +1 -0
  289. package/dist/lazy/custom-widget.js +5 -0
  290. package/dist/lazy/custom-widget.js.map +1 -0
  291. package/dist/lazy/date-input.d.ts +4 -0
  292. package/dist/lazy/date-input.d.ts.map +1 -0
  293. package/dist/lazy/date-input.js +5 -0
  294. package/dist/lazy/date-input.js.map +1 -0
  295. package/dist/lazy/entity-detail.d.ts +4 -0
  296. package/dist/lazy/entity-detail.d.ts.map +1 -0
  297. package/dist/lazy/entity-detail.js +5 -0
  298. package/dist/lazy/entity-detail.js.map +1 -0
  299. package/dist/lazy/event-timeline.d.ts +4 -0
  300. package/dist/lazy/event-timeline.d.ts.map +1 -0
  301. package/dist/lazy/event-timeline.js +5 -0
  302. package/dist/lazy/event-timeline.js.map +1 -0
  303. package/dist/lazy/evidence-panel.d.ts +4 -0
  304. package/dist/lazy/evidence-panel.d.ts.map +1 -0
  305. package/dist/lazy/evidence-panel.js +5 -0
  306. package/dist/lazy/evidence-panel.js.map +1 -0
  307. package/dist/lazy/form.d.ts +4 -0
  308. package/dist/lazy/form.d.ts.map +1 -0
  309. package/dist/lazy/form.js +5 -0
  310. package/dist/lazy/form.js.map +1 -0
  311. package/dist/lazy/image.d.ts +4 -0
  312. package/dist/lazy/image.d.ts.map +1 -0
  313. package/dist/lazy/image.js +5 -0
  314. package/dist/lazy/image.js.map +1 -0
  315. package/dist/lazy/index.d.ts +16 -1
  316. package/dist/lazy/index.d.ts.map +1 -1
  317. package/dist/lazy/index.js +120 -0
  318. package/dist/lazy/index.js.map +1 -1
  319. package/dist/lazy/multi-select.d.ts +4 -0
  320. package/dist/lazy/multi-select.d.ts.map +1 -0
  321. package/dist/lazy/multi-select.js +5 -0
  322. package/dist/lazy/multi-select.js.map +1 -0
  323. package/dist/lazy/number-input.d.ts +4 -0
  324. package/dist/lazy/number-input.d.ts.map +1 -0
  325. package/dist/lazy/number-input.js +5 -0
  326. package/dist/lazy/number-input.js.map +1 -0
  327. package/dist/lazy/select.d.ts +4 -0
  328. package/dist/lazy/select.d.ts.map +1 -0
  329. package/dist/lazy/select.js +5 -0
  330. package/dist/lazy/select.js.map +1 -0
  331. package/dist/lazy/table.d.ts +4 -0
  332. package/dist/lazy/table.d.ts.map +1 -0
  333. package/dist/lazy/table.js +5 -0
  334. package/dist/lazy/table.js.map +1 -0
  335. package/dist/lazy/text-input.d.ts +4 -0
  336. package/dist/lazy/text-input.d.ts.map +1 -0
  337. package/dist/lazy/text-input.js +5 -0
  338. package/dist/lazy/text-input.js.map +1 -0
  339. package/dist/lazy/text.d.ts +4 -0
  340. package/dist/lazy/text.d.ts.map +1 -0
  341. package/dist/lazy/text.js +5 -0
  342. package/dist/lazy/text.js.map +1 -0
  343. package/dist/lib/labelled-control.d.ts +12 -0
  344. package/dist/lib/labelled-control.d.ts.map +1 -0
  345. package/dist/lib/labelled-control.js +14 -0
  346. package/dist/lib/labelled-control.js.map +1 -0
  347. package/package.json +126 -1
  348. package/dist/components/custom-widget/lib/content.js.map +0 -1
  349. package/dist/components/custom-widget/lib/markdown.js.map +0 -1
  350. package/dist/components/custom-widget/lib/table.js.map +0 -1
  351. /package/dist/components/{custom-widget → table}/lib/table.js +0 -0
  352. /package/dist/components/{custom-widget → text}/lib/markdown.js +0 -0
@@ -0,0 +1,63 @@
1
+ const id = "number-input";
2
+ const tag = "ui9000-number-input";
3
+ const title = "Number input";
4
+ const description = "Number input control. Fail-closed without a label.";
5
+ const chartTypeKeys = [];
6
+ const source = "ui9000-widgets Stage 2 close-out";
7
+ const stack = "lit";
8
+ const lazyImport = "@ui9000/widgets/lazy/number-input";
9
+ const entry = "@ui9000/widgets/number-input";
10
+ const usageConditions = { "host": "mcp-chat", "notFor": "fusedash-editor", "mapsExcluded": true };
11
+ const allowedActions = ["resize"];
12
+ const tier = "engine";
13
+ const intents = ["form"];
14
+ const dataRoles = [{ "id": "value", "required": false, "description": "Control value." }];
15
+ const eligibility = [{ "when": "profile.allControlsLabelled && profile.controlCount >= 1", "reason": "Form controls are eligible when every control has a label." }];
16
+ const disqualify = [{ "when": "!profile.allControlsLabelled", "reason": "Unlabelled control is refused." }, { "when": "profile.controlCount === 0", "reason": "No controls to render." }];
17
+ const accessibility = { "nameFrom": "label", "keyboard": ["Tab into the labelled control"], "shadowBoundary": "Do not use aria-labelledby across the host; set aria-label on the host element." };
18
+ const evalCases = [{ "id": "number-input-picks-labelled", "intent": "form", "profile": { "allControlsLabelled": true, "controlCount": 1 }, "expect": "eligible", "reasonIncludes": "label" }, { "id": "number-input-rejects-unlabelled", "intent": "form", "profile": { "allControlsLabelled": false, "controlCount": 1 }, "expect": "disqualified", "reasonIncludes": "Unlabelled" }];
19
+ const propsSchema = { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "data": { "type": "object", "properties": { "label": { "type": "string" }, "name": { "type": "string" }, "value": {} } } }, "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 } from 'lit';
2
+ export declare class Ui9000Select extends LitElement {
3
+ static styles: import('lit').CSSResult;
4
+ dataJson: string;
5
+ label: string;
6
+ name: string;
7
+ value?: string;
8
+ render(): import('lit-html').TemplateResult<1>;
9
+ }
10
+ export declare function registerSelect(): void;
11
+ declare global {
12
+ interface HTMLElementTagNameMap {
13
+ 'ui9000-select': Ui9000Select;
14
+ }
15
+ }
16
+ //# sourceMappingURL=ui9000-select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui9000-select.d.ts","sourceRoot":"","sources":["../../../../src/components/select/element/ui9000-select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAMvC,qBACa,YAAa,SAAQ,UAAU;IAC1C,OAAgB,MAAM,0BAAiB;IAEQ,QAAQ,SAAQ;IACnC,KAAK,SAAM;IACX,IAAI,SAAM;IACQ,KAAK,CAAC,EAAE,MAAM,CAAC;IAEpD,MAAM;CAyBhB;AAED,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,YAAY,CAAC;KAC/B;CACF"}
@@ -0,0 +1,73 @@
1
+ import { LitElement, html } from "lit";
2
+ import { property, customElement } from "lit/decorators.js";
3
+ import { surfaceStyles } from "../../../element/surface-styles.js";
4
+ import { parseLabelledField } from "../../../lib/labelled-control.js";
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __decorateClass = (decorators, target, key, kind) => {
8
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
9
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
10
+ if (decorator = decorators[i])
11
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
12
+ if (kind && result) __defProp(target, key, result);
13
+ return result;
14
+ };
15
+ let Ui9000Select = class extends LitElement {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.dataJson = "{}";
19
+ this.label = "";
20
+ this.name = "";
21
+ }
22
+ render() {
23
+ const field = parseLabelledField(this.dataJson, {
24
+ label: this.label,
25
+ name: this.name,
26
+ value: this.value
27
+ });
28
+ if (!field) return html`<p class="blocked" role="alert">Label required</p>`;
29
+ const options = field.options.length ? field.options : [field.value].filter(Boolean);
30
+ return html`
31
+ <div class="root">
32
+ <label for=${field.name}>${field.label}</label>
33
+ <select
34
+ class="field"
35
+ id=${field.name}
36
+ name=${field.name}
37
+ .value=${field.value}
38
+ @change=${(e) => {
39
+ this.value = e.target.value;
40
+ }}
41
+ >
42
+ ${options.map((opt) => html`<option value=${opt} ?selected=${opt === field.value}>${opt}</option>`)}
43
+ </select>
44
+ </div>
45
+ `;
46
+ }
47
+ };
48
+ Ui9000Select.styles = surfaceStyles;
49
+ __decorateClass([
50
+ property({ type: String, attribute: "data" })
51
+ ], Ui9000Select.prototype, "dataJson", 2);
52
+ __decorateClass([
53
+ property({ type: String })
54
+ ], Ui9000Select.prototype, "label", 2);
55
+ __decorateClass([
56
+ property({ type: String })
57
+ ], Ui9000Select.prototype, "name", 2);
58
+ __decorateClass([
59
+ property({ type: String, attribute: false })
60
+ ], Ui9000Select.prototype, "value", 2);
61
+ Ui9000Select = __decorateClass([
62
+ customElement("ui9000-select")
63
+ ], Ui9000Select);
64
+ function registerSelect() {
65
+ if (!customElements.get("ui9000-select")) {
66
+ customElements.define("ui9000-select", Ui9000Select);
67
+ }
68
+ }
69
+ export {
70
+ Ui9000Select,
71
+ registerSelect
72
+ };
73
+ //# sourceMappingURL=ui9000-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui9000-select.js","sources":["../../../../src/components/select/element/ui9000-select.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { surfaceStyles } from '../../../element/surface-styles.js';\nimport { parseLabelledField } from '../../../lib/labelled-control.js';\n\n@customElement('ui9000-select')\nexport class Ui9000Select extends LitElement {\n static override styles = surfaceStyles;\n\n @property({ type: String, attribute: 'data' }) dataJson = '{}';\n @property({ type: String }) label = '';\n @property({ type: String }) name = '';\n @property({ type: String, attribute: false }) value?: string;\n\n override render() {\n const field = parseLabelledField(this.dataJson, {\n label: this.label,\n name: this.name,\n value: this.value,\n });\n if (!field) return html`<p class=\"blocked\" role=\"alert\">Label required</p>`;\n const options = field.options.length ? field.options : [field.value].filter(Boolean);\n return html`\n <div class=\"root\">\n <label for=${field.name}>${field.label}</label>\n <select\n class=\"field\"\n id=${field.name}\n name=${field.name}\n .value=${field.value}\n @change=${(e: Event) => {\n this.value = (e.target as HTMLSelectElement).value;\n }}\n >\n ${options.map((opt) => html`<option value=${opt} ?selected=${opt === field.value}>${opt}</option>`)}\n </select>\n </div>\n `;\n }\n}\n\nexport function registerSelect(): void {\n if (!customElements.get('ui9000-select')) {\n customElements.define('ui9000-select', Ui9000Select);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui9000-select': Ui9000Select;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAOO,IAAM,eAAN,cAA2B,WAAW;AAAA,EAAtC,cAAA;AAAA,UAAA,GAAA,SAAA;AAG0C,SAAA,WAAW;AAC9B,SAAA,QAAQ;AACR,SAAA,OAAO;AAAA,EAAA;AAAA,EAG1B,SAAS;AAChB,UAAM,QAAQ,mBAAmB,KAAK,UAAU;AAAA,MAC9C,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK;AAAA,MACX,OAAO,KAAK;AAAA,IAAA,CACb;AACD,QAAI,CAAC,MAAO,QAAO;AACnB,UAAM,UAAU,MAAM,QAAQ,SAAS,MAAM,UAAU,CAAC,MAAM,KAAK,EAAE,OAAO,OAAO;AACnF,WAAO;AAAA;AAAA,qBAEU,MAAM,IAAI,IAAI,MAAM,KAAK;AAAA;AAAA;AAAA,eAG/B,MAAM,IAAI;AAAA,iBACR,MAAM,IAAI;AAAA,mBACR,MAAM,KAAK;AAAA,oBACV,CAAC,MAAa;AACtB,WAAK,QAAS,EAAE,OAA6B;AAAA,IAC/C,CAAC;AAAA;AAAA,YAEC,QAAQ,IAAI,CAAC,QAAQ,qBAAqB,GAAG,cAAc,QAAQ,MAAM,KAAK,IAAI,GAAG,WAAW,CAAC;AAAA;AAAA;AAAA;AAAA,EAI3G;AACF;AAjCa,aACK,SAAS;AAEsB,gBAAA;AAAA,EAA9C,SAAS,EAAE,MAAM,QAAQ,WAAW,QAAQ;AAAA,GAHlC,aAGoC,WAAA,YAAA,CAAA;AACnB,gBAAA;AAAA,EAA3B,SAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAJf,aAIiB,WAAA,SAAA,CAAA;AACA,gBAAA;AAAA,EAA3B,SAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GALf,aAKiB,WAAA,QAAA,CAAA;AACkB,gBAAA;AAAA,EAA7C,SAAS,EAAE,MAAM,QAAQ,WAAW,OAAO;AAAA,GANjC,aAMmC,WAAA,SAAA,CAAA;AANnC,eAAN,gBAAA;AAAA,EADN,cAAc,eAAe;AAAA,GACjB,YAAA;AAmCN,SAAS,iBAAuB;AACrC,MAAI,CAAC,eAAe,IAAI,eAAe,GAAG;AACxC,mBAAe,OAAO,iBAAiB,YAAY;AAAA,EACrD;AACF;"}
@@ -0,0 +1,3 @@
1
+ export { Ui9000Select, registerSelect } from './element/ui9000-select.js';
2
+ export { default as selectMetadata } from './metadata.json';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { registerSelect } from "./element/ui9000-select.js";
2
+ import { Ui9000Select } from "./element/ui9000-select.js";
3
+ import { default as default2 } from "./metadata.json.js";
4
+ export {
5
+ Ui9000Select,
6
+ registerSelect,
7
+ default2 as selectMetadata
8
+ };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,99 @@
1
+ declare const _default: {
2
+ "id": "select",
3
+ "tag": "ui9000-select",
4
+ "title": "Select",
5
+ "description": "Select control. Fail-closed without a label.",
6
+ "chartTypeKeys": [],
7
+ "source": "ui9000-widgets Stage 2 close-out",
8
+ "stack": "lit",
9
+ "lazyImport": "@ui9000/widgets/lazy/select",
10
+ "entry": "@ui9000/widgets/select",
11
+ "usageConditions": {
12
+ "host": "mcp-chat",
13
+ "notFor": "fusedash-editor",
14
+ "mapsExcluded": true
15
+ },
16
+ "allowedActions": [
17
+ "resize"
18
+ ],
19
+ "tier": "engine",
20
+ "intents": [
21
+ "form"
22
+ ],
23
+ "dataRoles": [
24
+ {
25
+ "id": "value",
26
+ "required": false,
27
+ "description": "Control value."
28
+ }
29
+ ],
30
+ "eligibility": [
31
+ {
32
+ "when": "profile.allControlsLabelled && profile.controlCount >= 1",
33
+ "reason": "Form controls are eligible when every control has a label."
34
+ }
35
+ ],
36
+ "disqualify": [
37
+ {
38
+ "when": "!profile.allControlsLabelled",
39
+ "reason": "Unlabelled control is refused."
40
+ },
41
+ {
42
+ "when": "profile.controlCount === 0",
43
+ "reason": "No controls to render."
44
+ }
45
+ ],
46
+ "accessibility": {
47
+ "nameFrom": "label",
48
+ "keyboard": [
49
+ "Tab into the labelled control"
50
+ ],
51
+ "shadowBoundary": "Do not use aria-labelledby across the host; set aria-label on the host element."
52
+ },
53
+ "evalCases": [
54
+ {
55
+ "id": "select-picks-labelled",
56
+ "intent": "form",
57
+ "profile": {
58
+ "allControlsLabelled": true,
59
+ "controlCount": 1
60
+ },
61
+ "expect": "eligible",
62
+ "reasonIncludes": "label"
63
+ },
64
+ {
65
+ "id": "select-rejects-unlabelled",
66
+ "intent": "form",
67
+ "profile": {
68
+ "allControlsLabelled": false,
69
+ "controlCount": 1
70
+ },
71
+ "expect": "disqualified",
72
+ "reasonIncludes": "Unlabelled"
73
+ }
74
+ ],
75
+ "propsSchema": {
76
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
77
+ "type": "object",
78
+ "properties": {
79
+ "data": {
80
+ "type": "object",
81
+ "properties": {
82
+ "label": {
83
+ "type": "string"
84
+ },
85
+ "name": {
86
+ "type": "string"
87
+ },
88
+ "value": {}
89
+ }
90
+ }
91
+ },
92
+ "required": [
93
+ "data"
94
+ ]
95
+ }
96
+ }
97
+ ;
98
+
99
+ export default _default;
@@ -0,0 +1,63 @@
1
+ const id = "select";
2
+ const tag = "ui9000-select";
3
+ const title = "Select";
4
+ const description = "Select control. Fail-closed without a label.";
5
+ const chartTypeKeys = [];
6
+ const source = "ui9000-widgets Stage 2 close-out";
7
+ const stack = "lit";
8
+ const lazyImport = "@ui9000/widgets/lazy/select";
9
+ const entry = "@ui9000/widgets/select";
10
+ const usageConditions = { "host": "mcp-chat", "notFor": "fusedash-editor", "mapsExcluded": true };
11
+ const allowedActions = ["resize"];
12
+ const tier = "engine";
13
+ const intents = ["form"];
14
+ const dataRoles = [{ "id": "value", "required": false, "description": "Control value." }];
15
+ const eligibility = [{ "when": "profile.allControlsLabelled && profile.controlCount >= 1", "reason": "Form controls are eligible when every control has a label." }];
16
+ const disqualify = [{ "when": "!profile.allControlsLabelled", "reason": "Unlabelled control is refused." }, { "when": "profile.controlCount === 0", "reason": "No controls to render." }];
17
+ const accessibility = { "nameFrom": "label", "keyboard": ["Tab into the labelled control"], "shadowBoundary": "Do not use aria-labelledby across the host; set aria-label on the host element." };
18
+ const evalCases = [{ "id": "select-picks-labelled", "intent": "form", "profile": { "allControlsLabelled": true, "controlCount": 1 }, "expect": "eligible", "reasonIncludes": "label" }, { "id": "select-rejects-unlabelled", "intent": "form", "profile": { "allControlsLabelled": false, "controlCount": 1 }, "expect": "disqualified", "reasonIncludes": "Unlabelled" }];
19
+ const propsSchema = { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "data": { "type": "object", "properties": { "label": { "type": "string" }, "name": { "type": "string" }, "value": {} } } }, "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,2 @@
1
+ export declare const tableStyles: import('lit').CSSResult;
2
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/table/element/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,yBAmGvB,CAAC"}
@@ -0,0 +1,105 @@
1
+ import { css } from "lit";
2
+ const tableStyles = css`
3
+ :host {
4
+ display: block;
5
+ width: 100%;
6
+ height: 100%;
7
+ min-height: 0;
8
+ overflow: hidden;
9
+ box-sizing: border-box;
10
+ color: var(--ui9000-color-text, #111827);
11
+ font-family: var(--ui9000-font-family, system-ui, sans-serif);
12
+ }
13
+
14
+ .table-root {
15
+ display: flex;
16
+ flex-direction: column;
17
+ width: 100%;
18
+ height: 100%;
19
+ min-height: 0;
20
+ overflow: hidden;
21
+ box-sizing: border-box;
22
+ }
23
+
24
+ .table-scroll {
25
+ flex: 1 1 auto;
26
+ min-height: 0;
27
+ width: 100%;
28
+ overflow: auto;
29
+ scrollbar-width: thin;
30
+ }
31
+
32
+ .table {
33
+ width: 100%;
34
+ border-collapse: separate;
35
+ border-spacing: 0;
36
+ table-layout: fixed;
37
+ }
38
+
39
+ .table thead {
40
+ position: sticky;
41
+ top: 0;
42
+ z-index: 2;
43
+ background: var(--ui9000-color-surface, #ffffff);
44
+ }
45
+
46
+ .table thead th {
47
+ position: sticky;
48
+ top: 0;
49
+ z-index: 2;
50
+ background: var(--ui9000-color-surface, #ffffff);
51
+ background-clip: padding-box;
52
+ color: var(--ui9000-color-text, #111827);
53
+ font-weight: 600;
54
+ font-size: 13px;
55
+ letter-spacing: 0.01em;
56
+ text-transform: capitalize;
57
+ box-shadow: 0 1px 0 var(--ui9000-color-grid, #e5e7eb);
58
+ }
59
+
60
+ .table th,
61
+ .table td {
62
+ padding: 10px 12px;
63
+ vertical-align: middle;
64
+ overflow: hidden;
65
+ text-overflow: ellipsis;
66
+ white-space: nowrap;
67
+ border-bottom: 1px solid var(--ui9000-color-grid, #e5e7eb);
68
+ color: var(--ui9000-color-text-muted, #6b7280);
69
+ font-size: 14px;
70
+ font-weight: 400;
71
+ line-height: 20px;
72
+ text-align: left;
73
+ }
74
+
75
+ .table tbody tr {
76
+ cursor: pointer;
77
+ }
78
+
79
+ .table tbody tr:last-child td {
80
+ border-bottom: none;
81
+ }
82
+
83
+ .table-badge {
84
+ display: inline-block;
85
+ padding: 2px 8px;
86
+ border-radius: 999px;
87
+ font-size: 12px;
88
+ font-weight: 600;
89
+ line-height: 16px;
90
+ }
91
+
92
+ .table-badge[data-type='success'] {
93
+ color: #0f7b4a;
94
+ background: #d9f5e7;
95
+ }
96
+
97
+ .table-badge[data-type='error'] {
98
+ color: #b42318;
99
+ background: #fde8e6;
100
+ }
101
+ `;
102
+ export {
103
+ tableStyles
104
+ };
105
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/table/element/styles.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const tableStyles = css`\n :host {\n display: block;\n width: 100%;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n box-sizing: border-box;\n color: var(--ui9000-color-text, #111827);\n font-family: var(--ui9000-font-family, system-ui, sans-serif);\n }\n\n .table-root {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n box-sizing: border-box;\n }\n\n .table-scroll {\n flex: 1 1 auto;\n min-height: 0;\n width: 100%;\n overflow: auto;\n scrollbar-width: thin;\n }\n\n .table {\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n table-layout: fixed;\n }\n\n .table thead {\n position: sticky;\n top: 0;\n z-index: 2;\n background: var(--ui9000-color-surface, #ffffff);\n }\n\n .table thead th {\n position: sticky;\n top: 0;\n z-index: 2;\n background: var(--ui9000-color-surface, #ffffff);\n background-clip: padding-box;\n color: var(--ui9000-color-text, #111827);\n font-weight: 600;\n font-size: 13px;\n letter-spacing: 0.01em;\n text-transform: capitalize;\n box-shadow: 0 1px 0 var(--ui9000-color-grid, #e5e7eb);\n }\n\n .table th,\n .table td {\n padding: 10px 12px;\n vertical-align: middle;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-bottom: 1px solid var(--ui9000-color-grid, #e5e7eb);\n color: var(--ui9000-color-text-muted, #6b7280);\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n text-align: left;\n }\n\n .table tbody tr {\n cursor: pointer;\n }\n\n .table tbody tr:last-child td {\n border-bottom: none;\n }\n\n .table-badge {\n display: inline-block;\n padding: 2px 8px;\n border-radius: 999px;\n font-size: 12px;\n font-weight: 600;\n line-height: 16px;\n }\n\n .table-badge[data-type='success'] {\n color: #0f7b4a;\n background: #d9f5e7;\n }\n\n .table-badge[data-type='error'] {\n color: #b42318;\n background: #fde8e6;\n }\n`;\n"],"names":[],"mappings":";AAEO,MAAM,cAAc;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;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;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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,17 @@
1
+ import { LitElement, PropertyValues } from 'lit';
2
+ export declare class Ui9000Table extends LitElement {
3
+ static styles: import('lit').CSSResult;
4
+ dataJson: string;
5
+ private _model;
6
+ connectedCallback(): void;
7
+ willUpdate(changed: PropertyValues): void;
8
+ private onRowClick;
9
+ render(): import('lit-html').TemplateResult<1>;
10
+ }
11
+ export declare function registerTable(): void;
12
+ declare global {
13
+ interface HTMLElementTagNameMap {
14
+ 'ui9000-table': Ui9000Table;
15
+ }
16
+ }
17
+ //# sourceMappingURL=ui9000-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui9000-table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/element/ui9000-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAoB5D,qBACa,WAAY,SAAQ,UAAU;IACzC,OAAgB,MAAM,0BAAe;IAGrC,QAAQ,SAAQ;IAGhB,OAAO,CAAC,MAAM,CAAiC;IAEtC,iBAAiB,IAAI,IAAI;IAKzB,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAMlD,OAAO,CAAC,UAAU;IAMT,MAAM;CA8ChB;AAED,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAC;KAC7B;CACF"}
@@ -0,0 +1,113 @@
1
+ import { LitElement, html } from "lit";
2
+ import { property, state, customElement } from "lit/decorators.js";
3
+ import { dispatchUi9000Select } from "../../../element/dispatch-ui9000.js";
4
+ import { parseJsonAttr } from "../../../utils/chart-helpers.js";
5
+ import { normalizeTableModel } from "../lib/table.js";
6
+ import { tableStyles } from "./styles.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
+ function asTableModel(raw) {
18
+ if (!raw) return null;
19
+ if (typeof raw === "object" && raw && "columns" in raw && "cells" in raw) {
20
+ const model = raw;
21
+ if (Array.isArray(model.columns) && Array.isArray(model.cells)) return model;
22
+ }
23
+ if (typeof raw === "object" && raw && "headers" in raw) {
24
+ return normalizeTableModel(raw);
25
+ }
26
+ return null;
27
+ }
28
+ let Ui9000Table = class extends LitElement {
29
+ constructor() {
30
+ super(...arguments);
31
+ this.dataJson = "{}";
32
+ this._model = null;
33
+ }
34
+ connectedCallback() {
35
+ super.connectedCallback();
36
+ this._model = asTableModel(parseJsonAttr(this.dataJson, null));
37
+ }
38
+ willUpdate(changed) {
39
+ if (changed.has("dataJson")) {
40
+ this._model = asTableModel(parseJsonAttr(this.dataJson, null));
41
+ }
42
+ }
43
+ onRowClick(index) {
44
+ var _a, _b, _c, _d, _e;
45
+ const key = (_b = (_a = this._model) == null ? void 0 : _a.columns[0]) == null ? void 0 : _b.key;
46
+ const first = (_e = (_d = (_c = this._model) == null ? void 0 : _c.cells[index]) == null ? void 0 : _d[0]) == null ? void 0 : _e.text;
47
+ dispatchUi9000Select(this, { id: first || (key ? `${key}-${index}` : String(index)) });
48
+ }
49
+ render() {
50
+ const table = this._model;
51
+ if (!table) {
52
+ return html`<div class="table-root" role="status">No table data</div>`;
53
+ }
54
+ return html`
55
+ <div class="table-root" role="region" aria-label="Evidence table">
56
+ <div class="table-scroll">
57
+ <table class="table">
58
+ <thead>
59
+ <tr>
60
+ ${table.columns.map(
61
+ (col) => html`<th class="table-cell" data-header>${col.label}</th>`
62
+ )}
63
+ </tr>
64
+ </thead>
65
+ <tbody>
66
+ ${table.cells.map(
67
+ (row, index) => html`
68
+ <tr
69
+ class="table-row"
70
+ tabindex="0"
71
+ @click=${() => this.onRowClick(index)}
72
+ @keydown=${(e) => {
73
+ if (e.key === "Enter" || e.key === " ") {
74
+ e.preventDefault();
75
+ this.onRowClick(index);
76
+ }
77
+ }}
78
+ >
79
+ ${row.map(
80
+ (cell) => cell.badge ? html`<td class="table-cell">
81
+ <span class="table-badge" data-type=${cell.badge}>${cell.text}</span>
82
+ </td>` : html`<td class="table-cell">${cell.text}</td>`
83
+ )}
84
+ </tr>
85
+ `
86
+ )}
87
+ </tbody>
88
+ </table>
89
+ </div>
90
+ </div>
91
+ `;
92
+ }
93
+ };
94
+ Ui9000Table.styles = tableStyles;
95
+ __decorateClass([
96
+ property({ type: String, attribute: "data" })
97
+ ], Ui9000Table.prototype, "dataJson", 2);
98
+ __decorateClass([
99
+ state()
100
+ ], Ui9000Table.prototype, "_model", 2);
101
+ Ui9000Table = __decorateClass([
102
+ customElement("ui9000-table")
103
+ ], Ui9000Table);
104
+ function registerTable() {
105
+ if (!customElements.get("ui9000-table")) {
106
+ customElements.define("ui9000-table", Ui9000Table);
107
+ }
108
+ }
109
+ export {
110
+ Ui9000Table,
111
+ registerTable
112
+ };
113
+ //# sourceMappingURL=ui9000-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui9000-table.js","sources":["../../../../src/components/table/element/ui9000-table.ts"],"sourcesContent":["import { html, LitElement, type PropertyValues } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\nimport { dispatchUi9000Select } from '../../../element/dispatch-ui9000.js';\nimport { parseJsonAttr } from '../../../utils/chart-helpers.js';\nimport { normalizeTableModel, type CustomTableModel } from '../lib/table.js';\nimport { tableStyles } from './styles.js';\n\nfunction asTableModel(raw: unknown): CustomTableModel | null {\n if (!raw) return null;\n if (typeof raw === 'object' && raw && 'columns' in raw && 'cells' in raw) {\n const model = raw as CustomTableModel;\n if (Array.isArray(model.columns) && Array.isArray(model.cells)) return model;\n }\n if (typeof raw === 'object' && raw && 'headers' in raw) {\n return normalizeTableModel(raw as { headers?: unknown; data?: unknown; tableData?: unknown; tablePreviewRows?: unknown });\n }\n return null;\n}\n\n@customElement('ui9000-table')\nexport class Ui9000Table extends LitElement {\n static override styles = tableStyles;\n\n @property({ type: String, attribute: 'data' })\n dataJson = '{}';\n\n @state()\n private _model: CustomTableModel | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this._model = asTableModel(parseJsonAttr<unknown>(this.dataJson, null));\n }\n\n override willUpdate(changed: PropertyValues): void {\n if (changed.has('dataJson')) {\n this._model = asTableModel(parseJsonAttr<unknown>(this.dataJson, null));\n }\n }\n\n private onRowClick(index: number): void {\n const key = this._model?.columns[0]?.key;\n const first = this._model?.cells[index]?.[0]?.text;\n dispatchUi9000Select(this, { id: first || (key ? `${key}-${index}` : String(index)) });\n }\n\n override render() {\n const table = this._model;\n if (!table) {\n return html`<div class=\"table-root\" role=\"status\">No table data</div>`;\n }\n return html`\n <div class=\"table-root\" role=\"region\" aria-label=\"Evidence table\">\n <div class=\"table-scroll\">\n <table class=\"table\">\n <thead>\n <tr>\n ${table.columns.map(\n (col) => html`<th class=\"table-cell\" data-header>${col.label}</th>`,\n )}\n </tr>\n </thead>\n <tbody>\n ${table.cells.map(\n (row, index) => html`\n <tr\n class=\"table-row\"\n tabindex=\"0\"\n @click=${() => this.onRowClick(index)}\n @keydown=${(e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.onRowClick(index);\n }\n }}\n >\n ${row.map((cell) =>\n cell.badge\n ? html`<td class=\"table-cell\">\n <span class=\"table-badge\" data-type=${cell.badge}>${cell.text}</span>\n </td>`\n : html`<td class=\"table-cell\">${cell.text}</td>`,\n )}\n </tr>\n `,\n )}\n </tbody>\n </table>\n </div>\n </div>\n `;\n }\n}\n\nexport function registerTable(): void {\n if (!customElements.get('ui9000-table')) {\n customElements.define('ui9000-table', Ui9000Table);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui9000-table': Ui9000Table;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAQA,SAAS,aAAa,KAAuC;AAC3D,MAAI,CAAC,IAAK,QAAO;AACjB,MAAI,OAAO,QAAQ,YAAY,OAAO,aAAa,OAAO,WAAW,KAAK;AACxE,UAAM,QAAQ;AACd,QAAI,MAAM,QAAQ,MAAM,OAAO,KAAK,MAAM,QAAQ,MAAM,KAAK,EAAG,QAAO;AAAA,EACzE;AACA,MAAI,OAAO,QAAQ,YAAY,OAAO,aAAa,KAAK;AACtD,WAAO,oBAAoB,GAA6F;AAAA,EAC1H;AACA,SAAO;AACT;AAGO,IAAM,cAAN,cAA0B,WAAW;AAAA,EAArC,cAAA;AAAA,UAAA,GAAA,SAAA;AAIL,SAAA,WAAW;AAGX,SAAQ,SAAkC;AAAA,EAAA;AAAA,EAEjC,oBAA0B;AACjC,UAAM,kBAAA;AACN,SAAK,SAAS,aAAa,cAAuB,KAAK,UAAU,IAAI,CAAC;AAAA,EACxE;AAAA,EAES,WAAW,SAA+B;AACjD,QAAI,QAAQ,IAAI,UAAU,GAAG;AAC3B,WAAK,SAAS,aAAa,cAAuB,KAAK,UAAU,IAAI,CAAC;AAAA,IACxE;AAAA,EACF;AAAA,EAEQ,WAAW,OAAqB;;AACtC,UAAM,OAAM,gBAAK,WAAL,mBAAa,QAAQ,OAArB,mBAAyB;AACrC,UAAM,SAAQ,sBAAK,WAAL,mBAAa,MAAM,WAAnB,mBAA4B,OAA5B,mBAAgC;AAC9C,yBAAqB,MAAM,EAAE,IAAI,UAAU,MAAM,GAAG,GAAG,IAAI,KAAK,KAAK,OAAO,KAAK,IAAI;AAAA,EACvF;AAAA,EAES,SAAS;AAChB,UAAM,QAAQ,KAAK;AACnB,QAAI,CAAC,OAAO;AACV,aAAO;AAAA,IACT;AACA,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMO,MAAM,QAAQ;AAAA,MACd,CAAC,QAAQ,0CAA0C,IAAI,KAAK;AAAA,IAAA,CAC7D;AAAA;AAAA;AAAA;AAAA,gBAID,MAAM,MAAM;AAAA,MACZ,CAAC,KAAK,UAAU;AAAA;AAAA;AAAA;AAAA,6BAIH,MAAM,KAAK,WAAW,KAAK,CAAC;AAAA,+BAC1B,CAAC,MAAqB;AAC/B,YAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,YAAE,eAAA;AACF,eAAK,WAAW,KAAK;AAAA,QACvB;AAAA,MACF,CAAC;AAAA;AAAA,sBAEC,IAAI;AAAA,QAAI,CAAC,SACT,KAAK,QACD;AAAA,kEACwC,KAAK,KAAK,IAAI,KAAK,IAAI;AAAA,mCAE/D,8BAA8B,KAAK,IAAI;AAAA,MAAA,CAC5C;AAAA;AAAA;AAAA,IAAA,CAGN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMb;AACF;AAxEa,YACK,SAAS;AAGzB,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,WAAW,QAAQ;AAAA,GAHlC,YAIX,WAAA,YAAA,CAAA;AAGQ,gBAAA;AAAA,EADP,MAAA;AAAM,GANI,YAOH,WAAA,UAAA,CAAA;AAPG,cAAN,gBAAA;AAAA,EADN,cAAc,cAAc;AAAA,GAChB,WAAA;AA0EN,SAAS,gBAAsB;AACpC,MAAI,CAAC,eAAe,IAAI,cAAc,GAAG;AACvC,mBAAe,OAAO,gBAAgB,WAAW;AAAA,EACnD;AACF;"}
@@ -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":";;;;"}