@rosettadash/web-components 0.1.1 → 0.1.3

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 (351) hide show
  1. package/browser/media.js +461 -39
  2. package/browser/media.js.map +3 -3
  3. package/package.json +332 -36
  4. package/src/domain/i18n/app-language-select/index.d.ts +3 -0
  5. package/src/domain/i18n/app-language-select/index.js +3 -0
  6. package/src/domain/i18n/app-language-select/index.js.map +1 -0
  7. package/src/domain/i18n/app-language-select/parse-locale-options.d.ts +7 -0
  8. package/src/domain/i18n/app-language-select/parse-locale-options.js +39 -0
  9. package/src/domain/i18n/app-language-select/parse-locale-options.js.map +1 -0
  10. package/src/domain/i18n/app-language-select/rd-app-language-select.d.ts +38 -0
  11. package/src/domain/i18n/app-language-select/rd-app-language-select.js +138 -0
  12. package/src/domain/i18n/app-language-select/rd-app-language-select.js.map +1 -0
  13. package/src/domain/i18n/index.d.ts +2 -0
  14. package/src/domain/i18n/index.js +6 -0
  15. package/src/domain/i18n/index.js.map +1 -0
  16. package/src/domain/index.d.ts +6 -0
  17. package/src/domain/index.js +18 -0
  18. package/src/domain/index.js.map +1 -0
  19. package/src/domain/person-invite/index.d.ts +2 -0
  20. package/src/domain/person-invite/index.js +2 -0
  21. package/src/domain/person-invite/index.js.map +1 -0
  22. package/src/domain/person-invite/rd-person-invite.d.ts +17 -0
  23. package/src/domain/person-invite/rd-person-invite.js +33 -0
  24. package/src/domain/person-invite/rd-person-invite.js.map +1 -0
  25. package/src/domain/role-assign/index.d.ts +2 -0
  26. package/src/domain/role-assign/index.js +2 -0
  27. package/src/domain/role-assign/index.js.map +1 -0
  28. package/src/domain/role-assign/rd-role-assign.d.ts +21 -0
  29. package/src/domain/role-assign/rd-role-assign.js +36 -0
  30. package/src/domain/role-assign/rd-role-assign.js.map +1 -0
  31. package/src/domain/role-gate/index.d.ts +2 -0
  32. package/src/domain/role-gate/index.js +2 -0
  33. package/src/domain/role-gate/index.js.map +1 -0
  34. package/src/domain/role-gate/rd-role-gate.d.ts +19 -0
  35. package/src/domain/role-gate/rd-role-gate.js +31 -0
  36. package/src/domain/role-gate/rd-role-gate.js.map +1 -0
  37. package/src/domain/time-preset/index.d.ts +2 -0
  38. package/src/domain/time-preset/index.js +2 -0
  39. package/src/domain/time-preset/index.js.map +1 -0
  40. package/src/domain/time-preset/rd-time-preset.d.ts +23 -0
  41. package/src/domain/time-preset/rd-time-preset.js +34 -0
  42. package/src/domain/time-preset/rd-time-preset.js.map +1 -0
  43. package/src/index.d.ts +5 -5
  44. package/src/index.js +13 -13
  45. package/src/index.js.map +1 -1
  46. package/src/layout/collapsible/index.d.ts +2 -0
  47. package/src/layout/collapsible/index.js +2 -0
  48. package/src/layout/collapsible/index.js.map +1 -0
  49. package/src/layout/collapsible/rd-collapsible.d.ts +21 -0
  50. package/src/layout/collapsible/rd-collapsible.js +50 -0
  51. package/src/layout/collapsible/rd-collapsible.js.map +1 -0
  52. package/src/layout/flex/index.d.ts +2 -0
  53. package/src/layout/flex/index.js +2 -0
  54. package/src/layout/flex/index.js.map +1 -0
  55. package/src/layout/flex/rd-flex-layout.d.ts +17 -0
  56. package/src/layout/flex/rd-flex-layout.js +24 -0
  57. package/src/layout/flex/rd-flex-layout.js.map +1 -0
  58. package/src/layout/grid/index.d.ts +2 -0
  59. package/src/layout/grid/index.js +2 -0
  60. package/src/layout/grid/index.js.map +1 -0
  61. package/src/layout/grid/rd-grid-layout.d.ts +17 -0
  62. package/src/layout/grid/rd-grid-layout.js +24 -0
  63. package/src/layout/grid/rd-grid-layout.js.map +1 -0
  64. package/src/layout/index.d.ts +9 -0
  65. package/src/layout/index.js +27 -0
  66. package/src/layout/index.js.map +1 -0
  67. package/src/layout/modal/index.d.ts +2 -0
  68. package/src/layout/modal/index.js +2 -0
  69. package/src/layout/modal/index.js.map +1 -0
  70. package/src/layout/modal/rd-modal-layout.d.ts +20 -0
  71. package/src/layout/modal/rd-modal-layout.js +40 -0
  72. package/src/layout/modal/rd-modal-layout.js.map +1 -0
  73. package/src/layout/scroll-region/index.d.ts +2 -0
  74. package/src/layout/scroll-region/index.js +2 -0
  75. package/src/layout/scroll-region/index.js.map +1 -0
  76. package/src/layout/scroll-region/rd-scroll-region.d.ts +17 -0
  77. package/src/layout/scroll-region/rd-scroll-region.js +26 -0
  78. package/src/layout/scroll-region/rd-scroll-region.js.map +1 -0
  79. package/src/layout/tabs/index.d.ts +2 -0
  80. package/src/layout/tabs/index.js +2 -0
  81. package/src/layout/tabs/index.js.map +1 -0
  82. package/src/layout/tabs/rd-tabs-layout.d.ts +23 -0
  83. package/src/layout/tabs/rd-tabs-layout.js +34 -0
  84. package/src/layout/tabs/rd-tabs-layout.js.map +1 -0
  85. package/src/lib/element-utils.js +3 -0
  86. package/src/lib/element-utils.js.map +1 -1
  87. package/src/lib/rosetta-atom-element.d.ts +23 -0
  88. package/src/lib/rosetta-atom-element.js +104 -0
  89. package/src/lib/rosetta-atom-element.js.map +1 -0
  90. package/src/lib/shadow-base.js +3 -0
  91. package/src/lib/shadow-base.js.map +1 -1
  92. package/src/lib/shadow-resources.js +7 -2
  93. package/src/lib/shadow-resources.js.map +1 -1
  94. package/src/logic/index.d.ts +2 -0
  95. package/src/logic/index.js +6 -0
  96. package/src/logic/index.js.map +1 -0
  97. package/src/logic/timer/index.d.ts +2 -0
  98. package/src/logic/timer/index.js +2 -0
  99. package/src/logic/timer/index.js.map +1 -0
  100. package/src/logic/timer/rd-timer.d.ts +18 -0
  101. package/src/logic/timer/rd-timer.js +24 -0
  102. package/src/logic/timer/rd-timer.js.map +1 -0
  103. package/src/visual/chart/bar/index.d.ts +2 -0
  104. package/src/visual/chart/bar/index.js +2 -0
  105. package/src/visual/chart/bar/index.js.map +1 -0
  106. package/src/visual/chart/bar/rd-bar-chart.d.ts +21 -0
  107. package/src/visual/chart/bar/rd-bar-chart.js +83 -0
  108. package/src/visual/chart/bar/rd-bar-chart.js.map +1 -0
  109. package/src/visual/chart/line/index.d.ts +2 -0
  110. package/src/visual/chart/line/index.js +2 -0
  111. package/src/visual/chart/line/index.js.map +1 -0
  112. package/src/visual/chart/line/rd-line-chart.d.ts +22 -0
  113. package/src/visual/chart/line/rd-line-chart.js +105 -0
  114. package/src/visual/chart/line/rd-line-chart.js.map +1 -0
  115. package/src/visual/chart/pie/index.d.ts +2 -0
  116. package/src/visual/chart/pie/index.js +2 -0
  117. package/src/visual/chart/pie/index.js.map +1 -0
  118. package/src/visual/chart/pie/rd-pie-chart.d.ts +15 -0
  119. package/src/visual/chart/pie/rd-pie-chart.js +23 -0
  120. package/src/visual/chart/pie/rd-pie-chart.js.map +1 -0
  121. package/src/visual/detail/index.d.ts +2 -0
  122. package/src/visual/detail/index.js +2 -0
  123. package/src/visual/detail/index.js.map +1 -0
  124. package/src/visual/detail/rd-detail-panel.d.ts +16 -0
  125. package/src/visual/detail/rd-detail-panel.js +24 -0
  126. package/src/visual/detail/rd-detail-panel.js.map +1 -0
  127. package/src/visual/display/3d-bar-chart/index.d.ts +2 -0
  128. package/src/visual/display/3d-bar-chart/index.js +2 -0
  129. package/src/visual/display/3d-bar-chart/index.js.map +1 -0
  130. package/src/visual/display/3d-bar-chart/rd-three-bar-chart.d.ts +16 -0
  131. package/src/visual/display/3d-bar-chart/rd-three-bar-chart.js +24 -0
  132. package/src/visual/display/3d-bar-chart/rd-three-bar-chart.js.map +1 -0
  133. package/src/visual/display/3d-geo-globe/globe-view.d.ts +86 -0
  134. package/src/visual/display/3d-geo-globe/globe-view.js +235 -0
  135. package/src/visual/display/3d-geo-globe/globe-view.js.map +1 -0
  136. package/src/visual/display/3d-geo-globe/index.d.ts +3 -0
  137. package/src/visual/display/3d-geo-globe/index.js +3 -0
  138. package/src/visual/display/3d-geo-globe/index.js.map +1 -0
  139. package/src/visual/display/3d-geo-globe/rd-three-geo-globe.d.ts +36 -0
  140. package/src/visual/display/3d-geo-globe/rd-three-geo-globe.js +330 -0
  141. package/src/visual/display/3d-geo-globe/rd-three-geo-globe.js.map +1 -0
  142. package/src/visual/display/3d-gltf-model/index.d.ts +2 -0
  143. package/src/visual/display/3d-gltf-model/index.js +2 -0
  144. package/src/visual/display/3d-gltf-model/index.js.map +1 -0
  145. package/src/visual/display/3d-gltf-model/rd-three-gltf-model.d.ts +16 -0
  146. package/src/visual/display/3d-gltf-model/rd-three-gltf-model.js +24 -0
  147. package/src/visual/display/3d-gltf-model/rd-three-gltf-model.js.map +1 -0
  148. package/src/visual/display/3d-scatter/index.d.ts +2 -0
  149. package/src/visual/display/3d-scatter/index.js +2 -0
  150. package/src/visual/display/3d-scatter/index.js.map +1 -0
  151. package/src/visual/display/3d-scatter/rd-three-scatter-plot.d.ts +16 -0
  152. package/src/visual/display/3d-scatter/rd-three-scatter-plot.js +24 -0
  153. package/src/visual/display/3d-scatter/rd-three-scatter-plot.js.map +1 -0
  154. package/src/visual/display/3d-scene/index.d.ts +2 -0
  155. package/src/visual/display/3d-scene/index.js +2 -0
  156. package/src/visual/display/3d-scene/index.js.map +1 -0
  157. package/src/visual/display/3d-scene/rd-three-scene-point-cloud.d.ts +16 -0
  158. package/src/visual/display/3d-scene/rd-three-scene-point-cloud.js +24 -0
  159. package/src/visual/display/3d-scene/rd-three-scene-point-cloud.js.map +1 -0
  160. package/src/visual/display/geo-map/geo-map-types.d.ts +32 -0
  161. package/src/visual/display/geo-map/geo-map-types.js +10 -0
  162. package/src/visual/display/geo-map/geo-map-types.js.map +1 -0
  163. package/src/visual/display/geo-map/index.d.ts +5 -0
  164. package/src/visual/display/geo-map/index.js +5 -0
  165. package/src/visual/display/geo-map/index.js.map +1 -0
  166. package/src/visual/display/geo-map/parse-center.d.ts +5 -0
  167. package/src/visual/display/geo-map/parse-center.js +28 -0
  168. package/src/visual/display/geo-map/parse-center.js.map +1 -0
  169. package/src/visual/display/geo-map/parse-markers.d.ts +2 -0
  170. package/src/visual/display/geo-map/parse-markers.js +32 -0
  171. package/src/visual/display/geo-map/parse-markers.js.map +1 -0
  172. package/src/visual/display/geo-map/providers/create-adapter.d.ts +2 -0
  173. package/src/visual/display/geo-map/providers/create-adapter.js +11 -0
  174. package/src/visual/display/geo-map/providers/create-adapter.js.map +1 -0
  175. package/src/visual/display/geo-map/providers/google-maps-adapter.d.ts +2 -0
  176. package/src/visual/display/geo-map/providers/google-maps-adapter.js +63 -0
  177. package/src/visual/display/geo-map/providers/google-maps-adapter.js.map +1 -0
  178. package/src/visual/display/geo-map/providers/leaflet-adapter.d.ts +2 -0
  179. package/src/visual/display/geo-map/providers/leaflet-adapter.js +78 -0
  180. package/src/visual/display/geo-map/providers/leaflet-adapter.js.map +1 -0
  181. package/src/visual/display/geo-map/providers/maplibre-adapter.d.ts +2 -0
  182. package/src/visual/display/geo-map/providers/maplibre-adapter.js +71 -0
  183. package/src/visual/display/geo-map/providers/maplibre-adapter.js.map +1 -0
  184. package/src/visual/display/geo-map/providers/provider-utils.d.ts +8 -0
  185. package/src/visual/display/geo-map/providers/provider-utils.js +28 -0
  186. package/src/visual/display/geo-map/providers/provider-utils.js.map +1 -0
  187. package/src/visual/display/geo-map/rd-geo-map.d.ts +48 -0
  188. package/src/visual/display/geo-map/rd-geo-map.js +219 -0
  189. package/src/visual/display/geo-map/rd-geo-map.js.map +1 -0
  190. package/src/visual/display/index.d.ts +7 -0
  191. package/src/visual/display/index.js +21 -0
  192. package/src/visual/display/index.js.map +1 -0
  193. package/src/visual/index.d.ts +34 -0
  194. package/src/visual/index.js +102 -0
  195. package/src/visual/index.js.map +1 -0
  196. package/src/visual/input/checkbox/index.d.ts +2 -0
  197. package/src/visual/input/checkbox/index.js +2 -0
  198. package/src/visual/input/checkbox/index.js.map +1 -0
  199. package/src/visual/input/checkbox/rd-checkbox-input.d.ts +19 -0
  200. package/src/visual/input/checkbox/rd-checkbox-input.js +32 -0
  201. package/src/visual/input/checkbox/rd-checkbox-input.js.map +1 -0
  202. package/src/visual/input/date-range/index.d.ts +2 -0
  203. package/src/visual/input/date-range/index.js +2 -0
  204. package/src/visual/input/date-range/index.js.map +1 -0
  205. package/src/visual/input/date-range/rd-date-range-filter.d.ts +24 -0
  206. package/src/visual/input/date-range/rd-date-range-filter.js +42 -0
  207. package/src/visual/input/date-range/rd-date-range-filter.js.map +1 -0
  208. package/src/visual/input/number/index.d.ts +2 -0
  209. package/src/visual/input/number/index.js +2 -0
  210. package/src/visual/input/number/index.js.map +1 -0
  211. package/src/visual/input/number/rd-number-input.d.ts +22 -0
  212. package/src/visual/input/number/rd-number-input.js +36 -0
  213. package/src/visual/input/number/rd-number-input.js.map +1 -0
  214. package/src/visual/input/select/index.d.ts +2 -0
  215. package/src/visual/input/select/index.js +2 -0
  216. package/src/visual/input/select/index.js.map +1 -0
  217. package/src/visual/input/select/rd-select-input.d.ts +24 -0
  218. package/src/visual/input/select/rd-select-input.js +37 -0
  219. package/src/visual/input/select/rd-select-input.js.map +1 -0
  220. package/src/visual/input/text/index.d.ts +2 -0
  221. package/src/visual/input/text/index.js +2 -0
  222. package/src/visual/input/text/index.js.map +1 -0
  223. package/src/visual/input/text/rd-text-input.d.ts +21 -0
  224. package/src/visual/input/text/rd-text-input.js +35 -0
  225. package/src/visual/input/text/rd-text-input.js.map +1 -0
  226. package/src/visual/input/textarea/index.d.ts +2 -0
  227. package/src/visual/input/textarea/index.js +2 -0
  228. package/src/visual/input/textarea/index.js.map +1 -0
  229. package/src/visual/input/textarea/rd-textarea-input.d.ts +20 -0
  230. package/src/visual/input/textarea/rd-textarea-input.js +34 -0
  231. package/src/visual/input/textarea/rd-textarea-input.js.map +1 -0
  232. package/src/visual/kpi/index.d.ts +2 -0
  233. package/src/visual/kpi/index.js +2 -0
  234. package/src/visual/kpi/index.js.map +1 -0
  235. package/src/visual/kpi/rd-kpi-card.d.ts +18 -0
  236. package/src/visual/kpi/rd-kpi-card.js +26 -0
  237. package/src/visual/kpi/rd-kpi-card.js.map +1 -0
  238. package/src/visual/media/index.d.ts +2 -0
  239. package/src/visual/media/index.js +6 -0
  240. package/src/visual/media/index.js.map +1 -1
  241. package/src/visual/media/live-capture/index.d.ts +2 -0
  242. package/src/visual/media/live-capture/index.js +2 -0
  243. package/src/visual/media/live-capture/index.js.map +1 -0
  244. package/src/visual/media/live-capture/rd-live-capture.d.ts +16 -0
  245. package/src/visual/media/live-capture/rd-live-capture.js +23 -0
  246. package/src/visual/media/live-capture/rd-live-capture.js.map +1 -0
  247. package/src/visual/media/video-source/rd-video-source.d.ts +5 -0
  248. package/src/visual/media/video-source/rd-video-source.js +101 -18
  249. package/src/visual/media/video-source/rd-video-source.js.map +1 -1
  250. package/src/visual/media/youtube-embed/index.d.ts +3 -0
  251. package/src/visual/media/youtube-embed/index.js +3 -0
  252. package/src/visual/media/youtube-embed/index.js.map +1 -0
  253. package/src/visual/media/youtube-embed/parse-youtube-id.d.ts +10 -0
  254. package/src/visual/media/youtube-embed/parse-youtube-id.js +56 -0
  255. package/src/visual/media/youtube-embed/parse-youtube-id.js.map +1 -0
  256. package/src/visual/media/youtube-embed/rd-youtube-embed.d.ts +35 -0
  257. package/src/visual/media/youtube-embed/rd-youtube-embed.js +121 -0
  258. package/src/visual/media/youtube-embed/rd-youtube-embed.js.map +1 -0
  259. package/src/visual/news/article-detail/index.d.ts +2 -0
  260. package/src/visual/news/article-detail/index.js +2 -0
  261. package/src/visual/news/article-detail/index.js.map +1 -0
  262. package/src/visual/news/article-detail/rd-news-article-detail.d.ts +16 -0
  263. package/src/visual/news/article-detail/rd-news-article-detail.js +24 -0
  264. package/src/visual/news/article-detail/rd-news-article-detail.js.map +1 -0
  265. package/src/visual/news/language-select/index.d.ts +2 -0
  266. package/src/visual/news/language-select/index.js +2 -0
  267. package/src/visual/news/language-select/index.js.map +1 -0
  268. package/src/visual/news/language-select/rd-news-language-select.d.ts +23 -0
  269. package/src/visual/news/language-select/rd-news-language-select.js +37 -0
  270. package/src/visual/news/language-select/rd-news-language-select.js.map +1 -0
  271. package/src/visual/news/region-select/index.d.ts +2 -0
  272. package/src/visual/news/region-select/index.js +2 -0
  273. package/src/visual/news/region-select/index.js.map +1 -0
  274. package/src/visual/news/region-select/rd-news-region-select.d.ts +23 -0
  275. package/src/visual/news/region-select/rd-news-region-select.js +37 -0
  276. package/src/visual/news/region-select/rd-news-region-select.js.map +1 -0
  277. package/src/visual/news/results-table/index.d.ts +2 -0
  278. package/src/visual/news/results-table/index.js +2 -0
  279. package/src/visual/news/results-table/index.js.map +1 -0
  280. package/src/visual/news/results-table/rd-news-results-table.d.ts +16 -0
  281. package/src/visual/news/results-table/rd-news-results-table.js +33 -0
  282. package/src/visual/news/results-table/rd-news-results-table.js.map +1 -0
  283. package/src/visual/news/search-box/index.d.ts +2 -0
  284. package/src/visual/news/search-box/index.js +2 -0
  285. package/src/visual/news/search-box/index.js.map +1 -0
  286. package/src/visual/news/search-box/rd-news-search-box.d.ts +19 -0
  287. package/src/visual/news/search-box/rd-news-search-box.js +42 -0
  288. package/src/visual/news/search-box/rd-news-search-box.js.map +1 -0
  289. package/src/visual/news/type-select/index.d.ts +2 -0
  290. package/src/visual/news/type-select/index.js +2 -0
  291. package/src/visual/news/type-select/index.js.map +1 -0
  292. package/src/visual/news/type-select/rd-news-type-select.d.ts +23 -0
  293. package/src/visual/news/type-select/rd-news-type-select.js +37 -0
  294. package/src/visual/news/type-select/rd-news-type-select.js.map +1 -0
  295. package/src/visual/plugin/metric-chip/index.d.ts +2 -0
  296. package/src/visual/plugin/metric-chip/index.js +2 -0
  297. package/src/visual/plugin/metric-chip/index.js.map +1 -0
  298. package/src/visual/plugin/metric-chip/rd-metric-chip.d.ts +16 -0
  299. package/src/visual/plugin/metric-chip/rd-metric-chip.js +23 -0
  300. package/src/visual/plugin/metric-chip/rd-metric-chip.js.map +1 -0
  301. package/src/visual/plugin/status-badge/index.d.ts +2 -0
  302. package/src/visual/plugin/status-badge/index.js +2 -0
  303. package/src/visual/plugin/status-badge/index.js.map +1 -0
  304. package/src/visual/plugin/status-badge/rd-status-badge.d.ts +16 -0
  305. package/src/visual/plugin/status-badge/rd-status-badge.js +19 -0
  306. package/src/visual/plugin/status-badge/rd-status-badge.js.map +1 -0
  307. package/src/visual/skeleton/index.d.ts +2 -0
  308. package/src/visual/skeleton/index.js +2 -0
  309. package/src/visual/skeleton/index.js.map +1 -0
  310. package/src/visual/skeleton/rd-loading-skeleton.d.ts +15 -0
  311. package/src/visual/skeleton/rd-loading-skeleton.js +20 -0
  312. package/src/visual/skeleton/rd-loading-skeleton.js.map +1 -0
  313. package/src/visual/svg/icon/index.d.ts +2 -0
  314. package/src/visual/svg/icon/index.js +2 -0
  315. package/src/visual/svg/icon/index.js.map +1 -0
  316. package/src/visual/svg/icon/rd-svg-icon.d.ts +18 -0
  317. package/src/visual/svg/icon/rd-svg-icon.js +20 -0
  318. package/src/visual/svg/icon/rd-svg-icon.js.map +1 -0
  319. package/src/visual/svg/inline/index.d.ts +2 -0
  320. package/src/visual/svg/inline/index.js +2 -0
  321. package/src/visual/svg/inline/index.js.map +1 -0
  322. package/src/visual/svg/inline/rd-svg-inline.d.ts +17 -0
  323. package/src/visual/svg/inline/rd-svg-inline.js +20 -0
  324. package/src/visual/svg/inline/rd-svg-inline.js.map +1 -0
  325. package/src/visual/table/index.d.ts +2 -0
  326. package/src/visual/table/index.js +2 -0
  327. package/src/visual/table/index.js.map +1 -0
  328. package/src/visual/table/rd-data-table.d.ts +26 -0
  329. package/src/visual/table/rd-data-table.js +46 -0
  330. package/src/visual/table/rd-data-table.js.map +1 -0
  331. package/src/visual/wasm/media/index.d.ts +1 -0
  332. package/src/visual/wasm/media/index.js +2 -0
  333. package/src/visual/wasm/media/index.js.map +1 -0
  334. package/src/visual/wasm/module/index.d.ts +2 -0
  335. package/src/visual/wasm/module/index.js +2 -0
  336. package/src/visual/wasm/module/index.js.map +1 -0
  337. package/src/visual/wasm/module/rd-wasm-module.d.ts +16 -0
  338. package/src/visual/wasm/module/rd-wasm-module.js +24 -0
  339. package/src/visual/wasm/module/rd-wasm-module.js.map +1 -0
  340. package/src/visual/wasm/worker-host/index.d.ts +2 -0
  341. package/src/visual/wasm/worker-host/index.js +2 -0
  342. package/src/visual/wasm/worker-host/index.js.map +1 -0
  343. package/src/visual/wasm/worker-host/rd-wasm-worker-host.d.ts +16 -0
  344. package/src/visual/wasm/worker-host/rd-wasm-worker-host.js +24 -0
  345. package/src/visual/wasm/worker-host/rd-wasm-worker-host.js.map +1 -0
  346. package/src/wasm/wasm-media/rd-wasm-media.d.ts +10 -0
  347. package/src/wasm/wasm-media/rd-wasm-media.js +182 -41
  348. package/src/wasm/wasm-media/rd-wasm-media.js.map +1 -1
  349. package/styles/runtime.css +1609 -0
  350. package/styles/styles.css +1 -0
  351. package/styles/tokens.css +9 -0
@@ -0,0 +1,121 @@
1
+ import { defineRosettaElement, readNumber, readString } from '../../../lib/element-utils.js';
2
+ import { applyShadowMount, ensureShadowBase, loadShadowPairForTag } from '../../../lib/shadow-base.js';
3
+ import { buildYouTubeEmbedUrl, parseYouTubeVideoId, } from './parse-youtube-id.js';
4
+ export const DB_YOUTUBE_EMBED_TAG = 'rd-youtube-embed';
5
+ export class RdYoutubeEmbedElement extends HTMLElement {
6
+ static tagName = DB_YOUTUBE_EMBED_TAG;
7
+ resourcesReady = null;
8
+ static get observedAttributes() {
9
+ return ['video-id', 'url', 'start', 'autoplay', 'mute', 'controls', 'embed-title'];
10
+ }
11
+ connectedCallback() {
12
+ if (!this.shadowRoot) {
13
+ this.attachShadow({ mode: 'open' });
14
+ }
15
+ this.resourcesReady = this.mountShadow();
16
+ void this.resourcesReady.then(() => this.paint());
17
+ }
18
+ attributeChangedCallback() {
19
+ if (this.shadowRoot && this.resourcesReady) {
20
+ void this.resourcesReady.then(() => this.paint());
21
+ }
22
+ }
23
+ setProperty(name, value) {
24
+ this[name] = value;
25
+ if (this.resourcesReady) {
26
+ void this.resourcesReady.then(() => this.paint());
27
+ }
28
+ }
29
+ whenReady() {
30
+ return this.resourcesReady ?? Promise.resolve();
31
+ }
32
+ get videoId() {
33
+ return readString(this.getAttribute('video-id'), '');
34
+ }
35
+ set videoId(value) {
36
+ if (value) {
37
+ this.setAttribute('video-id', value);
38
+ }
39
+ else {
40
+ this.removeAttribute('video-id');
41
+ }
42
+ }
43
+ get url() {
44
+ return readString(this.getAttribute('url'), '');
45
+ }
46
+ set url(value) {
47
+ if (value) {
48
+ this.setAttribute('url', value);
49
+ }
50
+ else {
51
+ this.removeAttribute('url');
52
+ }
53
+ }
54
+ get start() {
55
+ return readNumber(this.getAttribute('start'), 0);
56
+ }
57
+ get autoplay() {
58
+ return this.hasAttribute('autoplay');
59
+ }
60
+ get mute() {
61
+ return this.hasAttribute('mute');
62
+ }
63
+ get controls() {
64
+ return !this.hasAttribute('controls') || this.getAttribute('controls') !== 'false';
65
+ }
66
+ get embedTitle() {
67
+ return readString(this.getAttribute('embed-title'), 'YouTube video');
68
+ }
69
+ set embedTitle(value) {
70
+ if (value) {
71
+ this.setAttribute('embed-title', value);
72
+ }
73
+ else {
74
+ this.removeAttribute('embed-title');
75
+ }
76
+ }
77
+ async mountShadow() {
78
+ const root = this.shadowRoot;
79
+ if (!root || root.querySelector('[data-ref="root"]')) {
80
+ return;
81
+ }
82
+ const pair = await loadShadowPairForTag(DB_YOUTUBE_EMBED_TAG, './rd-youtube-embed.html', './rd-youtube-embed.css');
83
+ applyShadowMount(root, pair);
84
+ }
85
+ resolveVideoId() {
86
+ return parseYouTubeVideoId(this.videoId) ?? parseYouTubeVideoId(this.url);
87
+ }
88
+ paint() {
89
+ const root = this.shadowRoot;
90
+ if (!root) {
91
+ return;
92
+ }
93
+ const iframe = root.querySelector('[data-ref="iframe"]');
94
+ const empty = root.querySelector('[data-ref="empty"]');
95
+ if (!iframe || !empty) {
96
+ return;
97
+ }
98
+ const id = this.resolveVideoId();
99
+ if (!id) {
100
+ iframe.removeAttribute('src');
101
+ iframe.hidden = true;
102
+ empty.hidden = false;
103
+ return;
104
+ }
105
+ iframe.hidden = false;
106
+ empty.hidden = true;
107
+ iframe.title = this.embedTitle;
108
+ iframe.credentialless = true;
109
+ iframe.src = buildYouTubeEmbedUrl(id, {
110
+ start: this.start,
111
+ autoplay: this.autoplay,
112
+ mute: this.mute,
113
+ controls: this.controls,
114
+ });
115
+ }
116
+ }
117
+ export function registerRdYoutubeEmbed() {
118
+ ensureShadowBase(DB_YOUTUBE_EMBED_TAG);
119
+ defineRosettaElement(DB_YOUTUBE_EMBED_TAG, RdYoutubeEmbedElement);
120
+ }
121
+ //# sourceMappingURL=rd-youtube-embed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rd-youtube-embed.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/media/youtube-embed/rd-youtube-embed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export type { NewsArticleDetailProps } from './rd-news-article-detail.js';
2
+ export { registerRdNewsArticleDetail, RD_NEWS_ARTICLE_DETAIL_TAG, RdNewsArticleDetailElement } from './rd-news-article-detail.js';
@@ -0,0 +1,2 @@
1
+ export { registerRdNewsArticleDetail, RD_NEWS_ARTICLE_DETAIL_TAG, RdNewsArticleDetailElement } from './rd-news-article-detail.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/news/article-detail/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { RosettaAtomElement } from '../../../lib/rosetta-atom-element.js';
2
+ export declare const RD_NEWS_ARTICLE_DETAIL_TAG = "rd-news-article-detail";
3
+ export interface NewsArticleDetailProps {
4
+ title?: string;
5
+ emptyMessage?: string;
6
+ className?: string;
7
+ style?: Record<string, string>;
8
+ children?: unknown;
9
+ }
10
+ /** @rosettadash/web-components/visual/news/article-detail — visual.news.article-detail */
11
+ export declare class RdNewsArticleDetailElement extends RosettaAtomElement {
12
+ static readonly tagName = "rd-news-article-detail";
13
+ static get observedAttributes(): string[];
14
+ protected buildMarkup(): string;
15
+ }
16
+ export declare function registerRdNewsArticleDetail(): void;
@@ -0,0 +1,24 @@
1
+ import { defineRosettaElement } from '../../../lib/element-utils.js';
2
+ import { RosettaAtomElement } from '../../../lib/rosetta-atom-element.js';
3
+ export const RD_NEWS_ARTICLE_DETAIL_TAG = 'rd-news-article-detail';
4
+ /** @rosettadash/web-components/visual/news/article-detail — visual.news.article-detail */
5
+ export class RdNewsArticleDetailElement extends RosettaAtomElement {
6
+ static tagName = RD_NEWS_ARTICLE_DETAIL_TAG;
7
+ static get observedAttributes() {
8
+ return ["title", "empty-message"];
9
+ }
10
+ buildMarkup() {
11
+ const title = this.readAttr('title', 'Article');
12
+ const empty = this.readAttr('empty-message', 'Select a headline in News Results');
13
+ return `
14
+ <section class="rd-news-article-detail" data-testid="rd-news-article-detail">
15
+ <header class="rd-detail__header"><span>${this.esc(title)}</span></header>
16
+ <p class="rd-detail__empty">${this.esc(empty)}</p>
17
+ <div data-ref="slot"></div>
18
+ </section>`;
19
+ }
20
+ }
21
+ export function registerRdNewsArticleDetail() {
22
+ defineRosettaElement(RD_NEWS_ARTICLE_DETAIL_TAG, RdNewsArticleDetailElement);
23
+ }
24
+ //# sourceMappingURL=rd-news-article-detail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rd-news-article-detail.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/news/article-detail/rd-news-article-detail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,MAAM,CAAC,MAAM,0BAA0B,GAAG,wBAAwB,CAAC;AAUnE,0FAA0F;AAC1F,MAAM,OAAO,0BAA2B,SAAQ,kBAAkB;IAChE,MAAM,CAAU,OAAO,GAAG,0BAA0B,CAAC;IAErD,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,OAAO,EAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAES,WAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,mCAAmC,CAAC,CAAC;QAClF,OAAO;;kDAEuC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;sCAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;;iBAEpC,CAAC;IAChB,CAAC;;AAGH,MAAM,UAAU,2BAA2B;IACzC,oBAAoB,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type { NewsLanguageSelectProps } from './rd-news-language-select.js';
2
+ export { registerRdNewsLanguageSelect, RD_NEWS_LANGUAGE_SELECT_TAG, RdNewsLanguageSelectElement } from './rd-news-language-select.js';
@@ -0,0 +1,2 @@
1
+ export { registerRdNewsLanguageSelect, RD_NEWS_LANGUAGE_SELECT_TAG, RdNewsLanguageSelectElement } from './rd-news-language-select.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/news/language-select/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { RosettaAtomElement } from '../../../lib/rosetta-atom-element.js';
2
+ export declare const RD_NEWS_LANGUAGE_SELECT_TAG = "rd-news-language-select";
3
+ export interface NewsLanguageSelectProps {
4
+ label?: string;
5
+ placeholder?: string;
6
+ options?: {
7
+ value: string;
8
+ label: string;
9
+ }[];
10
+ value?: string;
11
+ onChange?: (value: string) => void;
12
+ className?: string;
13
+ style?: Record<string, string>;
14
+ children?: unknown;
15
+ }
16
+ /** @rosettadash/web-components/visual/news/language-select — visual.news.language-select */
17
+ export declare class RdNewsLanguageSelectElement extends RosettaAtomElement {
18
+ static readonly tagName = "rd-news-language-select";
19
+ static get observedAttributes(): string[];
20
+ protected buildMarkup(): string;
21
+ protected wireEvents(): void;
22
+ }
23
+ export declare function registerRdNewsLanguageSelect(): void;
@@ -0,0 +1,37 @@
1
+ import { defineRosettaElement } from '../../../lib/element-utils.js';
2
+ import { RosettaAtomElement } from '../../../lib/rosetta-atom-element.js';
3
+ export const RD_NEWS_LANGUAGE_SELECT_TAG = 'rd-news-language-select';
4
+ /** @rosettadash/web-components/visual/news/language-select — visual.news.language-select */
5
+ export class RdNewsLanguageSelectElement extends RosettaAtomElement {
6
+ static tagName = RD_NEWS_LANGUAGE_SELECT_TAG;
7
+ static get observedAttributes() {
8
+ return ["label", "placeholder", "options", "value"];
9
+ }
10
+ buildMarkup() {
11
+ const label = this.readAttr('label');
12
+ const placeholder = this.readAttr('placeholder', 'Select…');
13
+ const value = this.readAttr('value');
14
+ const options = this.parseJsonAttr('options', []);
15
+ const opts = options.map((o) => `<option value="${this.esc(o.value)}"${o.value === value ? ' selected' : ''}>${this.esc(o.label)}</option>`).join('');
16
+ return `
17
+ <section class="rd-news-language-select" data-testid="rd-news-language-select">
18
+ ${label ? `<span class="rd-field__label">${this.esc(label)}</span>` : ''}
19
+ <select class="rd-select" data-ref="select" aria-label="${this.esc(label || 'News filter')}">
20
+ <option value="">${this.esc(placeholder)}</option>${opts}
21
+ </select>
22
+ <div data-ref="slot"></div>
23
+ </section>`;
24
+ }
25
+ wireEvents() {
26
+ this.addEventListener('change', (event) => {
27
+ const target = event.target;
28
+ if (target instanceof HTMLSelectElement && target.matches('[data-ref="select"]')) {
29
+ this.dispatchDetail('value-change', { value: target.value });
30
+ }
31
+ });
32
+ }
33
+ }
34
+ export function registerRdNewsLanguageSelect() {
35
+ defineRosettaElement(RD_NEWS_LANGUAGE_SELECT_TAG, RdNewsLanguageSelectElement);
36
+ }
37
+ //# sourceMappingURL=rd-news-language-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rd-news-language-select.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/news/language-select/rd-news-language-select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,MAAM,CAAC,MAAM,2BAA2B,GAAG,yBAAyB,CAAC;AAarE,4FAA4F;AAC5F,MAAM,OAAO,2BAA4B,SAAQ,kBAAkB;IACjE,MAAM,CAAU,OAAO,GAAG,2BAA2B,CAAC;IAEtD,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,OAAO,EAAC,aAAa,EAAC,SAAS,EAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAES,WAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAA0C,SAAS,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtJ,OAAO;;UAED,KAAK,CAAC,CAAC,CAAC,iCAAiC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;kEACd,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,aAAa,CAAC;6BACrE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,IAAI;;;iBAGjD,CAAC;IAChB,CAAC;IAEkB,UAAU;QAC3B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,MAAM,YAAY,iBAAiB,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACjF,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAGH,MAAM,UAAU,4BAA4B;IAC1C,oBAAoB,CAAC,2BAA2B,EAAE,2BAA2B,CAAC,CAAC;AACjF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type { NewsRegionSelectProps } from './rd-news-region-select.js';
2
+ export { registerRdNewsRegionSelect, RD_NEWS_REGION_SELECT_TAG, RdNewsRegionSelectElement } from './rd-news-region-select.js';
@@ -0,0 +1,2 @@
1
+ export { registerRdNewsRegionSelect, RD_NEWS_REGION_SELECT_TAG, RdNewsRegionSelectElement } from './rd-news-region-select.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/news/region-select/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { RosettaAtomElement } from '../../../lib/rosetta-atom-element.js';
2
+ export declare const RD_NEWS_REGION_SELECT_TAG = "rd-news-region-select";
3
+ export interface NewsRegionSelectProps {
4
+ label?: string;
5
+ placeholder?: string;
6
+ options?: {
7
+ value: string;
8
+ label: string;
9
+ }[];
10
+ value?: string;
11
+ onChange?: (value: string) => void;
12
+ className?: string;
13
+ style?: Record<string, string>;
14
+ children?: unknown;
15
+ }
16
+ /** @rosettadash/web-components/visual/news/region-select — visual.news.region-select */
17
+ export declare class RdNewsRegionSelectElement extends RosettaAtomElement {
18
+ static readonly tagName = "rd-news-region-select";
19
+ static get observedAttributes(): string[];
20
+ protected buildMarkup(): string;
21
+ protected wireEvents(): void;
22
+ }
23
+ export declare function registerRdNewsRegionSelect(): void;
@@ -0,0 +1,37 @@
1
+ import { defineRosettaElement } from '../../../lib/element-utils.js';
2
+ import { RosettaAtomElement } from '../../../lib/rosetta-atom-element.js';
3
+ export const RD_NEWS_REGION_SELECT_TAG = 'rd-news-region-select';
4
+ /** @rosettadash/web-components/visual/news/region-select — visual.news.region-select */
5
+ export class RdNewsRegionSelectElement extends RosettaAtomElement {
6
+ static tagName = RD_NEWS_REGION_SELECT_TAG;
7
+ static get observedAttributes() {
8
+ return ["label", "placeholder", "options", "value"];
9
+ }
10
+ buildMarkup() {
11
+ const label = this.readAttr('label');
12
+ const placeholder = this.readAttr('placeholder', 'Select…');
13
+ const value = this.readAttr('value');
14
+ const options = this.parseJsonAttr('options', []);
15
+ const opts = options.map((o) => `<option value="${this.esc(o.value)}"${o.value === value ? ' selected' : ''}>${this.esc(o.label)}</option>`).join('');
16
+ return `
17
+ <section class="rd-news-region-select" data-testid="rd-news-region-select">
18
+ ${label ? `<span class="rd-field__label">${this.esc(label)}</span>` : ''}
19
+ <select class="rd-select" data-ref="select" aria-label="${this.esc(label || 'News filter')}">
20
+ <option value="">${this.esc(placeholder)}</option>${opts}
21
+ </select>
22
+ <div data-ref="slot"></div>
23
+ </section>`;
24
+ }
25
+ wireEvents() {
26
+ this.addEventListener('change', (event) => {
27
+ const target = event.target;
28
+ if (target instanceof HTMLSelectElement && target.matches('[data-ref="select"]')) {
29
+ this.dispatchDetail('value-change', { value: target.value });
30
+ }
31
+ });
32
+ }
33
+ }
34
+ export function registerRdNewsRegionSelect() {
35
+ defineRosettaElement(RD_NEWS_REGION_SELECT_TAG, RdNewsRegionSelectElement);
36
+ }
37
+ //# sourceMappingURL=rd-news-region-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rd-news-region-select.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/news/region-select/rd-news-region-select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,MAAM,CAAC,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;AAajE,wFAAwF;AACxF,MAAM,OAAO,yBAA0B,SAAQ,kBAAkB;IAC/D,MAAM,CAAU,OAAO,GAAG,yBAAyB,CAAC;IAEpD,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,OAAO,EAAC,aAAa,EAAC,SAAS,EAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAES,WAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAA0C,SAAS,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtJ,OAAO;;UAED,KAAK,CAAC,CAAC,CAAC,iCAAiC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;kEACd,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,aAAa,CAAC;6BACrE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,IAAI;;;iBAGjD,CAAC;IAChB,CAAC;IAEkB,UAAU;QAC3B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,MAAM,YAAY,iBAAiB,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACjF,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAGH,MAAM,UAAU,0BAA0B;IACxC,oBAAoB,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type { NewsResultsTableProps } from './rd-news-results-table.js';
2
+ export { registerRdNewsResultsTable, RD_NEWS_RESULTS_TABLE_TAG, RdNewsResultsTableElement } from './rd-news-results-table.js';
@@ -0,0 +1,2 @@
1
+ export { registerRdNewsResultsTable, RD_NEWS_RESULTS_TABLE_TAG, RdNewsResultsTableElement } from './rd-news-results-table.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/news/results-table/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { RosettaAtomElement } from '../../../lib/rosetta-atom-element.js';
2
+ export declare const RD_NEWS_RESULTS_TABLE_TAG = "rd-news-results-table";
3
+ export interface NewsResultsTableProps {
4
+ title?: string;
5
+ className?: string;
6
+ style?: Record<string, string>;
7
+ children?: unknown;
8
+ }
9
+ /** @rosettadash/web-components/visual/news/results-table — visual.news.results-table */
10
+ export declare class RdNewsResultsTableElement extends RosettaAtomElement {
11
+ static readonly tagName = "rd-news-results-table";
12
+ static get observedAttributes(): string[];
13
+ protected buildMarkup(): string;
14
+ protected wireEvents(): void;
15
+ }
16
+ export declare function registerRdNewsResultsTable(): void;
@@ -0,0 +1,33 @@
1
+ import { defineRosettaElement } from '../../../lib/element-utils.js';
2
+ import { RosettaAtomElement } from '../../../lib/rosetta-atom-element.js';
3
+ export const RD_NEWS_RESULTS_TABLE_TAG = 'rd-news-results-table';
4
+ /** @rosettadash/web-components/visual/news/results-table — visual.news.results-table */
5
+ export class RdNewsResultsTableElement extends RosettaAtomElement {
6
+ static tagName = RD_NEWS_RESULTS_TABLE_TAG;
7
+ static get observedAttributes() {
8
+ return ["title", "rows"];
9
+ }
10
+ buildMarkup() {
11
+ const title = this.readAttr('title', 'News results');
12
+ const rows = this.parseJsonAttr('rows', []);
13
+ const body = rows.map((row) => `<tr data-row-id="${this.esc(String(row['id'] ?? ''))}"><td>${this.esc(row['headline'] ?? '')}</td><td>${this.esc(row['source'] ?? '')}</td><td>${this.esc(row['region'] ?? '')}</td><td>${this.esc(row['published'] ?? '')}</td></tr>`).join('');
14
+ return `
15
+ <section class="rd-news-results-table" data-testid="rd-news-results-table">
16
+ <header class="rd-table__header"><span>${this.esc(title)}</span></header>
17
+ <table class="rd-table"><thead><tr><th>Headline</th><th>Source</th><th>Region</th><th>Published</th></tr></thead><tbody>${body}</tbody></table>
18
+ <div data-ref="slot"></div>
19
+ </section>`;
20
+ }
21
+ wireEvents() {
22
+ this.addEventListener('click', (event) => {
23
+ const row = event.target instanceof HTMLElement ? event.target.closest('tr[data-row-id]') : null;
24
+ if (row instanceof HTMLElement && row.dataset['rowId']) {
25
+ this.dispatchDetail('row-select', { id: row.dataset['rowId'] });
26
+ }
27
+ });
28
+ }
29
+ }
30
+ export function registerRdNewsResultsTable() {
31
+ defineRosettaElement(RD_NEWS_RESULTS_TABLE_TAG, RdNewsResultsTableElement);
32
+ }
33
+ //# sourceMappingURL=rd-news-results-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rd-news-results-table.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/news/results-table/rd-news-results-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,MAAM,CAAC,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;AASjE,wFAAwF;AACxF,MAAM,OAAO,yBAA0B,SAAQ,kBAAkB;IAC/D,MAAM,CAAU,OAAO,GAAG,yBAAyB,CAAC;IAEpD,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,OAAO,EAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAES,WAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAA4C,MAAM,EAAE,EAAE,CAAC,CAAC;QACvF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjR,OAAO;;iDAEsC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;kIACkE,IAAI;;iBAErH,CAAC;IAChB,CAAC;IAEkB,UAAU;QAC3B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACvC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjG,IAAI,GAAG,YAAY,WAAW,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAGH,MAAM,UAAU,0BAA0B;IACxC,oBAAoB,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type { NewsSearchBoxProps } from './rd-news-search-box.js';
2
+ export { registerRdNewsSearchBox, RD_NEWS_SEARCH_BOX_TAG, RdNewsSearchBoxElement } from './rd-news-search-box.js';
@@ -0,0 +1,2 @@
1
+ export { registerRdNewsSearchBox, RD_NEWS_SEARCH_BOX_TAG, RdNewsSearchBoxElement } from './rd-news-search-box.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/news/search-box/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { RosettaAtomElement } from '../../../lib/rosetta-atom-element.js';
2
+ export declare const RD_NEWS_SEARCH_BOX_TAG = "rd-news-search-box";
3
+ export interface NewsSearchBoxProps {
4
+ label?: string;
5
+ placeholder?: string;
6
+ value?: string;
7
+ onSearch?: (query: string) => void;
8
+ className?: string;
9
+ style?: Record<string, string>;
10
+ children?: unknown;
11
+ }
12
+ /** @rosettadash/web-components/visual/news/search-box — visual.news.search-box */
13
+ export declare class RdNewsSearchBoxElement extends RosettaAtomElement {
14
+ static readonly tagName = "rd-news-search-box";
15
+ static get observedAttributes(): string[];
16
+ protected buildMarkup(): string;
17
+ protected wireEvents(): void;
18
+ }
19
+ export declare function registerRdNewsSearchBox(): void;
@@ -0,0 +1,42 @@
1
+ import { defineRosettaElement } from '../../../lib/element-utils.js';
2
+ import { RosettaAtomElement } from '../../../lib/rosetta-atom-element.js';
3
+ export const RD_NEWS_SEARCH_BOX_TAG = 'rd-news-search-box';
4
+ /** @rosettadash/web-components/visual/news/search-box — visual.news.search-box */
5
+ export class RdNewsSearchBoxElement extends RosettaAtomElement {
6
+ static tagName = RD_NEWS_SEARCH_BOX_TAG;
7
+ static get observedAttributes() {
8
+ return ["label", "placeholder", "value"];
9
+ }
10
+ buildMarkup() {
11
+ const label = this.readAttr('label');
12
+ const placeholder = this.readAttr('placeholder', 'Search news…');
13
+ const value = this.readAttr('value');
14
+ return `
15
+ <section class="rd-news-search-box" data-testid="rd-news-search-box">
16
+ ${label ? `<span class="rd-field__label">${this.esc(label)}</span>` : ''}
17
+ <div class="rd-search__row">
18
+ <input type="search" class="rd-input" data-ref="query" placeholder="${this.esc(placeholder)}" value="${this.esc(value)}" aria-label="${this.esc(label || 'Search news')}" />
19
+ <button type="button" class="rd-button" data-ref="search">Search</button>
20
+ </div>
21
+ <div data-ref="slot"></div>
22
+ </section>`;
23
+ }
24
+ wireEvents() {
25
+ const emit = () => {
26
+ const query = this.querySelector('[data-ref="query"]')?.value ?? '';
27
+ this.dispatchDetail('search', { query });
28
+ };
29
+ this.addEventListener('click', (event) => {
30
+ if (event.target instanceof HTMLElement && event.target.matches('[data-ref="search"]'))
31
+ emit();
32
+ });
33
+ this.addEventListener('keydown', (event) => {
34
+ if (event.key === 'Enter')
35
+ emit();
36
+ });
37
+ }
38
+ }
39
+ export function registerRdNewsSearchBox() {
40
+ defineRosettaElement(RD_NEWS_SEARCH_BOX_TAG, RdNewsSearchBoxElement);
41
+ }
42
+ //# sourceMappingURL=rd-news-search-box.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rd-news-search-box.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/news/search-box/rd-news-search-box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAY3D,kFAAkF;AAClF,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAC5D,MAAM,CAAU,OAAO,GAAG,sBAAsB,CAAC;IAEjD,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,OAAO,EAAC,aAAa,EAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAES,WAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO;;UAED,KAAK,CAAC,CAAC,CAAC,iCAAiC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;gFAEA,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,aAAa,CAAC;;;;iBAIhK,CAAC;IAChB,CAAC;IAEkB,UAAU;QAC3B,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAmB,oBAAoB,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACtF,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACvC,IAAI,KAAK,CAAC,MAAM,YAAY,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBAAE,IAAI,EAAE,CAAC;QACjG,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACzC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO;gBAAE,IAAI,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;;AAGH,MAAM,UAAU,uBAAuB;IACrC,oBAAoB,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type { NewsTypeSelectProps } from './rd-news-type-select.js';
2
+ export { registerRdNewsTypeSelect, RD_NEWS_TYPE_SELECT_TAG, RdNewsTypeSelectElement } from './rd-news-type-select.js';
@@ -0,0 +1,2 @@
1
+ export { registerRdNewsTypeSelect, RD_NEWS_TYPE_SELECT_TAG, RdNewsTypeSelectElement } from './rd-news-type-select.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/news/type-select/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { RosettaAtomElement } from '../../../lib/rosetta-atom-element.js';
2
+ export declare const RD_NEWS_TYPE_SELECT_TAG = "rd-news-type-select";
3
+ export interface NewsTypeSelectProps {
4
+ label?: string;
5
+ placeholder?: string;
6
+ options?: {
7
+ value: string;
8
+ label: string;
9
+ }[];
10
+ value?: string;
11
+ onChange?: (value: string) => void;
12
+ className?: string;
13
+ style?: Record<string, string>;
14
+ children?: unknown;
15
+ }
16
+ /** @rosettadash/web-components/visual/news/type-select — visual.news.type-select */
17
+ export declare class RdNewsTypeSelectElement extends RosettaAtomElement {
18
+ static readonly tagName = "rd-news-type-select";
19
+ static get observedAttributes(): string[];
20
+ protected buildMarkup(): string;
21
+ protected wireEvents(): void;
22
+ }
23
+ export declare function registerRdNewsTypeSelect(): void;
@@ -0,0 +1,37 @@
1
+ import { defineRosettaElement } from '../../../lib/element-utils.js';
2
+ import { RosettaAtomElement } from '../../../lib/rosetta-atom-element.js';
3
+ export const RD_NEWS_TYPE_SELECT_TAG = 'rd-news-type-select';
4
+ /** @rosettadash/web-components/visual/news/type-select — visual.news.type-select */
5
+ export class RdNewsTypeSelectElement extends RosettaAtomElement {
6
+ static tagName = RD_NEWS_TYPE_SELECT_TAG;
7
+ static get observedAttributes() {
8
+ return ["label", "placeholder", "options", "value"];
9
+ }
10
+ buildMarkup() {
11
+ const label = this.readAttr('label');
12
+ const placeholder = this.readAttr('placeholder', 'Select…');
13
+ const value = this.readAttr('value');
14
+ const options = this.parseJsonAttr('options', []);
15
+ const opts = options.map((o) => `<option value="${this.esc(o.value)}"${o.value === value ? ' selected' : ''}>${this.esc(o.label)}</option>`).join('');
16
+ return `
17
+ <section class="rd-news-type-select" data-testid="rd-news-type-select">
18
+ ${label ? `<span class="rd-field__label">${this.esc(label)}</span>` : ''}
19
+ <select class="rd-select" data-ref="select" aria-label="${this.esc(label || 'News filter')}">
20
+ <option value="">${this.esc(placeholder)}</option>${opts}
21
+ </select>
22
+ <div data-ref="slot"></div>
23
+ </section>`;
24
+ }
25
+ wireEvents() {
26
+ this.addEventListener('change', (event) => {
27
+ const target = event.target;
28
+ if (target instanceof HTMLSelectElement && target.matches('[data-ref="select"]')) {
29
+ this.dispatchDetail('value-change', { value: target.value });
30
+ }
31
+ });
32
+ }
33
+ }
34
+ export function registerRdNewsTypeSelect() {
35
+ defineRosettaElement(RD_NEWS_TYPE_SELECT_TAG, RdNewsTypeSelectElement);
36
+ }
37
+ //# sourceMappingURL=rd-news-type-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rd-news-type-select.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/news/type-select/rd-news-type-select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,MAAM,CAAC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAa7D,oFAAoF;AACpF,MAAM,OAAO,uBAAwB,SAAQ,kBAAkB;IAC7D,MAAM,CAAU,OAAO,GAAG,uBAAuB,CAAC;IAElD,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,OAAO,EAAC,aAAa,EAAC,SAAS,EAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAES,WAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAA0C,SAAS,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtJ,OAAO;;UAED,KAAK,CAAC,CAAC,CAAC,iCAAiC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;kEACd,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,aAAa,CAAC;6BACrE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,IAAI;;;iBAGjD,CAAC;IAChB,CAAC;IAEkB,UAAU;QAC3B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,MAAM,YAAY,iBAAiB,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACjF,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAGH,MAAM,UAAU,wBAAwB;IACtC,oBAAoB,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,CAAC;AACzE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type { MetricChipProps } from './rd-metric-chip.js';
2
+ export { registerRdMetricChip, RD_METRIC_CHIP_TAG, RdMetricChipElement } from './rd-metric-chip.js';
@@ -0,0 +1,2 @@
1
+ export { registerRdMetricChip, RD_METRIC_CHIP_TAG, RdMetricChipElement } from './rd-metric-chip.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/plugin/metric-chip/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { RosettaAtomElement } from '../../../lib/rosetta-atom-element.js';
2
+ export declare const RD_METRIC_CHIP_TAG = "rd-metric-chip";
3
+ export interface MetricChipProps {
4
+ chipLabel?: string;
5
+ chipValue?: string;
6
+ className?: string;
7
+ style?: Record<string, string>;
8
+ children?: unknown;
9
+ }
10
+ /** @rosettadash/web-components/visual/plugin/metric-chip — visual.plugin.metric-chip */
11
+ export declare class RdMetricChipElement extends RosettaAtomElement {
12
+ static readonly tagName = "rd-metric-chip";
13
+ static get observedAttributes(): string[];
14
+ protected buildMarkup(): string;
15
+ }
16
+ export declare function registerRdMetricChip(): void;